- Uređeno
[UE4] Suggestions and improvements.
Hello there,
I came up with some suggestions about Spine plugin for UE4.
SpineBoneDrive component and SpineBoneFollower component
- Properties UsePosition/UseRotation/UseScale are not used in the cpp code.
- Target property should be "EditInstanceOnly" because you cannot set an instance through the blueprint editor.
- I made a test with the anim "aim" and set the "Target" property with the bone "crosshair"
the result is not good as you can see. https://ibb.co/qNbSFVr
Editor
- The render in editor seems broken, but work perfectly in PIE.
https://ibb.co/QFGMXYP
Improvements and features
- Spine Gameplay Debugger category with animation state, number of tracks and their indexes.
https://docs.unrealengine.com/en-US/Gameplay/Tools/GameplayDebugger/index.html - Integration of spine in the sequencer (manipulate bones, animations, etc...) https://docs.unrealengine.com/en-US/Engine/Sequencer/Overview/index.html
- Better blending when removing track (I made a gif comparison between UE and Unity, Unity is way better)
(Unreal https://ibb.co/1K2w4Jj vs Unity https://ibb.co/P5dV7mw)
I tested the Unity version and is definitely more polish than UE.
- We cannot set the rotation of a bone (in blueprint).
- Most of the example maps doesn't works.
- "Mix data" and "default mix" properties in "Spine Skeleton Data Asset" are not working.
The 2D solution looks fantastic, but need a little bit of more stability and functionality.
Because of a non maintained built-in Paper2D plugin by Epic, Unreal community really looking for a functional 2D solution.
Anyway thank you for your work.
Thanks for taking the time to note down improvement suggestions.
SpineBoneDriver and SpineBoneFollower component: could you send me the scene where the crosshair isn't following the driver properly? Or at least show the hierarchy view?
Mix data & default mix not working: I'll look into it.
Editor & most examples don't work: I can not reproduce this at all. What UE4 version are you using? What OS and GPU are you running this on?
Gameplay debugger, sequencer support, bone rotation in blueprints: good suggestions, we'll look into them!
Blending: that's a matter of setting the mix duration between animation switches and not a bug. Is that a scene you created yourself?
Thanks for the answers.
So, about the BoneDriver and BoneFollower component I found the problem.
The scale of my skeleton actor was (X : 0.5 ; Y : 0.333 ; Z : 0.5) and because of the value 0.333 the location of the crosshair wasn't good.
I don't know if it's a bug or normal behavior when the scale values are uniform.
most examples don't work
When I said they're not working, I mean the behavior of the examples maps not working,
especially the behavior of the maps 03-multiple-tracks-and-events and 05-driving-bones.
Here is my project https://filebin.net/q0kqwc4fbsiunox3/spine-ue4.rar?t=xlhei710 with a map called "MAP_Test".
I fixed the "03-multiple-tracks-and-events" and "05-driving-bones" maps if you want to compare with your github repository project.
Also the blueprints have some comments about the reason why they are not working.
Blending: that's a matter of setting the mix duration between animation switches and not a bug. Is that a scene you created yourself?
Is it related to the default mix array in the skeleton data asset ? If so I tried with this array entry
From => "idle"
To => "aim"
Mix => 0.5
If it's not that, how can I change the setting of the mix duration ?
Editor
The bad render gone when I cleaned the project, so for now it's working and I'll tell you if the error occurs again.
Additional Infos
Unreal version: 4.22
Spine2D plugin version: 3.8
Thanks for the information!
For the BoneDriver/BoneFollower component I've created an issue here: https://github.com/EsotericSoftware/spine-runtimes/issues/1512
For the example maps that are not working I'll check out your changes. Issue here: [ue4] Some example maps misbehave · #1513
For the animation blending issue: the mix durations are specified in the Skeleton Data Asset, as described here: spine-ue4 Runtime Documentation: Skeleton Data Asset. Setting "idle" -> "aim" to 0.5 won't have an effect on the animation you showed in https://ibb.co/1K2w4Jj, as the "idle" animation is not involved. Since you are removing a track entry, you want to specify the "default mix" in the skeleton data asset. Alternatively, when setting an animation on a track, you get a TrackEntry back which you can further manipulate, including the mix duration, see spine-ue4 Runtime Documentation: Track Entries
Hello,
So I tried with the right animations for the skeleton asset mixing data but still not working.
I tried with the TrackEntry and it didn't worked too.
But I noticed when I release the left mouse button the AddEmptyAnimation node with a custom mixduration worked.
My blueprint : https://ibb.co/6vJNh5d
My skeleton asset : https://ibb.co/W0FTybx
The render : https://ibb.co/PF3mYs9
Other bugs I noticed :
When the engine is launch the render component looks blurry and I need to zoom in the component to remove the blurry artifact.
https://ibb.co/VCqgbmyIf the "Target" pin is empty on the "AddEmptyAnimation" node and I compile the blueprint then the editor crash.
That probably happen on others "Add/Set Animation" nodes.
https://gifyu.com/image/kEi4
The blurry-ness is a UE4 setting you can modify. It has to do with texture streaming settings. Disable texture streaming and things will work as they should: https://docs.unrealengine.com/en-US/Engine/Content/Types/Textures/Streaming/index.html#streamingtype
The crash is a bug, I've opened an issue here: https://github.com/EsotericSoftware/spine-runtimes/issues/1517
I'll take a look at the mix duration issue.