稍微有点时间看了一下,我之前是把Spline的运行时重构了一波,好像是没这问题。你可以参考下我的改动。
unreal_netfly

- Nov 27, 2021
- Joined Mar 5, 2019
- In 你好 有一些问题请教
- In 你好 有一些问题请教
您好,Spine Widget最初的功能实现的确是我开发的。后来因为换了工作,就没有再继续跟进这个插件了。我猜测可能是替换逻辑存在一些严谨性判断。我印象里好像是先更换skeleton data,再更新Atlas就不会造成崩溃。这个估计要和Spine的开发商去沟通一下,让他们把这部分的逻辑进行补全。
:rofl: The official documentation has not been updated in time, and the API has changed to this:
Update: I have completed the refactoring of Spine Widget, and an updated version will be released soon. Before that, I have some other refactoring work to do. :grinteeth:
Updated spine widget support and updated plugin support 4.24 8)
https://github.com/GitHub-NetFly/spine-runtimes/commits/3.8hi, sorry I didn't upgrade my engine version before. I used 4.24.2. After upgrading 4.24.3, I found the same error. My own project does not use the official plugin. The version I use is customized by myself, so there is no such problem. I will report this error to the official developers.
- Nate wrote
unreal_netfly, thanks for all your help! :cooldoge:
:dizzy: Haha,I'm happy to help.
After testing, I found that version 3.8 is compatible with version 4.24, and there is no error message.
I provide a test video here for your reference.
https://drive.google.com/open?id=1smhyoIsHbelNUFyR2zexdBjiiT_qm8x5
Obviously, your plugin is misplaced. You need to put the plugin in the project root directory. like this:
After the addition is complete, if your engine version and the plug-in binary version are inconsistent. You also need to regenerate the VS solution and open the Sln file to recompile the Spine plugin.
After opening VS, make sure you can see the following directories
Then compile
Upon completion, your Spine plugin will work normally.
It took me about 2-3 weeks to refactor Spine's UE4 runtime, making it more suitable for UE4 developers.
I also changed some workflows, such as the format of the resource, combining the Render Component and the Animation Component.
I also merged with the UE4 GamePlay Ability system, added new nodes, and supported the replacement of features such as Skeleton, which makes it easy to implement effects such as Combo.
The work that has not been done yet is the support of SpineWidget, because there is still work to be done, so the SpineWidget has not been rewritten.
I hope these changes can help the community improve the UE4 runtime. I am here to release my version.
https://github.com/GitHub-NetFly/spine-runtimes/commit/fbe8224afcc9a24f6ae29e27054dbe5b5348e834- Edited
- Nate wrote
These are the worst kinds of problems.
The best we can do is keep an eye out for it, if we can get it to happen for us only then can we dig into what is happening and fix it. If you find any more clues about what might trigger it, please let us know!
Ok, what is currently known is that there is a chance to trigger when dragging TimeLine, no 100% trigger condition has been found. :rofl:
- Nate wrote
Thanks, we got the file and tried to reproduce the problem, but unfortunately haven't been able to get it to happen.
The problem is random, in most cases it will be triggered when dragging the TimeLine, restarting the editor will be normal :tear:
- Nate wrote
What happens on frame 25? I see many keys set on that frame, but I can't tell if that frame is hiding all attachments or if there is a bug. If you don't hide all attachments on that frame, could you post or email your
.spine
file so we can see the problem? contact@esotericsoftware.com We will keep your file confidential. We don't need any images.I don't have the original project of this project in my hand. Because I am not in the company, I sent you another project by mail. This project has also appeared many times the same problem, but the trigger condition is not clear, usually copy and paste, or This problem is triggered when dragging the TimeLine.
By the way, this problem did not occur in version 3.7.
- badlogic wrote
This was a bug in AnimationState.cpp which is now fixed in both the 3.8 and 3.9-beta branches. Please update your spine-cpp from the 3.8 branch.
Thank you for reporting!
Ok, I will update my code to see if the problem goes away.
- Erikari wrote
Hello! it looks like you're switching over many images in your project.
If you have many of them in your images folder, try uncheckingLimit scanning
to see if this allows Spine to load them properly: Images - Spine User Guide: Images nodeOk, let me try
When I use the latest version of Spine Editor, there is a chance that the viewport will render incorrectly when dragging the timeline.
I have provided a demo video in the attachment.
2019-08-09 10-32-12.zip- Edited
- Nate wrote
Thanks for the project files. Interesting you are only changing attachments (images), not animating the bones much. The animations don't leave an attachment behind in the
Preview
view in Spine, or in the Skeleton Viewer, which uses the reference runtime implementation (spine-libgdx). That leaves 2 possibilities: 1) a bug in spine-cpp or spine-ue4, or 2) a problem with how you are applying the animations. In the code you sent (unless I'm missing something), the only place you set an animation isSpineboyCppPawn
setswalk
. How are you setting the punch animations in your video? Note that calling AnimationStateclearTrack
or AnimationStateclearTracks
can leave an attachment behind.The logic of the attack animation exists in the blueprint script of UE4, not written in Cpp code. After clicking the play button, press the 1 key to play the animation.
badlogic wroteThis is a bug in the UE4 renderer. I've created an issue here: [ue4] Renderer retains mesh of last animation frame · #1435
Thank you for your reply, I will continue to pay attention to this issue.
- Edited
After upgrading the project to version 3.8, we found that the character animation will leave the last frame on the screen, and there is no Clear, I wonder if this is an editor bug? Or is there a problem with our production process? Our current temporary solution is to hide the last frame of the first animation in the first frame of the second animation, so that the problem will disappear. I want to know what caused this? In the 3.7 version, there is no such problem.
I have provided the test project and the original animation file in the attachment.
https://drive.google.com/open?id=1TpWKVJz_BPQ5dRD0_ZIRYL8UkbmnDd64