Maxwell_n11

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.
Maxwell_n11
  • Сообщения: 3

badlogic

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?
Аватара пользователя
badlogic

Mario
  • Сообщения: 2108

Maxwell_n11

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
Maxwell_n11
  • Сообщения: 3

badlogic

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
Аватара пользователя
badlogic

Mario
  • Сообщения: 2108

Maxwell_n11

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
Maxwell_n11
  • Сообщения: 3

badlogic

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.
Аватара пользователя
badlogic

Mario
  • Сообщения: 2108


Вернуться в Runtimes