• Runtimes
  • [UE4] Suggestions and improvements.

Related Discussions
...

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

Improvements and features

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/VCqgbmy

  • If 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.