- Edited
Cinematic Sequencer with Spine support
Hello everyone,
I just wanted to let Spine users know (with this shameless post) that Slate - our cinematic/cutscenes sequencer- has official support for Spine in Unity, with added ability to blend animations between each other
Here is a link to the asset if you are interested!
http://u3d.as/ozt
Cheers!
Looks cool! It'd be cool to see a video though. Do you have a video?
Before we tweet it, do you include the Spine Runtimes? Anything listed on the Unity Asset Store has to be licensed under the Unity Asset Store License. The Spine Runtimes have their own license which cannot be discarded and replaced with the Unity Asset Store License, so unfortunately the Spine Runtimes cannot be included inside an asset on the Unity Asset Store. However, you can make Spine support optional and instruct your users to download the Spine Runtimes themselves. Just be careful that it's optional and your asset still works without it. Unity won't let you post an asset that has errors.
You can check the package contents on the page.
It doesn't include the Spine runtime. Looks pretty extensive though.
@[deleted]
Were there any pain points getting Spine to work in your system?
You should probably note what Spine version it is compatible with. Particularly because if you were making Animation.Apply calls, the Animation.Apply API changed in 3.5: It has (required) extra parameters that allow you to optionally apply relative to setup pose.
Nate wroteLooks cool! It'd be cool to see a video though. Do you have a video?
Before we tweet it, do you include the Spine Runtimes? Anything listed on the Unity Asset Store has to be licensed under the Unity Asset Store License. The Spine Runtimes have their own license which cannot be discarded and replaced with the Unity Asset Store License, so unfortunately the Spine Runtimes cannot be included inside an asset on the Unity Asset Store.
However, you can make Spine support optional and instruct your users to download the Spine Runtimes themselves. Just be careful that it's optional and your asset still works without it. Unity won't let you post an asset that has errors.
Thanks.
Don't worry. Nothing Spine related is included in the package, not even the Spine Track. It is an optional downloadable extension from the SLATE website: http://slate.paradoxnotion.com/downloads/
Spine runtimes will need to be downloaded separately by the end user of course.
There is no video right now, but here is a gif of how it looks like
Pharan wroteYou can check the package contents on the page.
It doesn't include the Spine runtime. Looks pretty extensive though.@[deleted]
Were there any pain points getting Spine to work in your system?
You should probably note what Spine version it is compatible with. Particularly because if you were making Animation.Apply calls, the Animation.Apply API changed in 3.5: It has (required) extra parameters that allow you to optionally apply relative to setup pose.
Hey,
There were no pain points no. I think the API is pretty straightforward
It seems that I was using a version that had the Animation.Mix method, but I downloaded the latest Spine-Unity package and see it's no longer there. So, I just updated the extension to use the new Apply method and have it now uploaded on the website. http://slate.paradoxnotion.com/downloads/
Thanks for bringing this to my attention.
It looks super cool! Tweeted! Also it's glad to hear it wasn't hard to implement.
When mixing 2 animations, Spine interpolates between 2 bone rotations using the shortest direction. The 2 animations are often rotating a lot, and sometimes during the mix the shortest direction pops to the other side. This popping during mixing can be jarring.
In Spine 3.5 we use much more sophisticated mixing, where the first frame of the mix the direction of the shortest rotation is recorded, then that direction is used for the entire mix. This makes for rotation mixing without popping. It isn't done when using the Timeline API, only when using the AnimationState API which I assume you don't use. It's a bit complex, but could probably be ported without having to worry about the exact details. If you are interested, here is the code which is used instead of RotateTimeline#Apply
:
spine-runtimes/AnimationState.cs at master
I was going to make this
:mmm: maybe I still will :devil:
Do this work in real time?
i.e. you select a spine object and you can see the current state of the animationstate (tracks, animations ect)? Or does this just allow you to put together cutscenes? i.e. a visual editor for queueing animations?
I was going to do the latter
Nate wroteIt looks super cool! Tweeted! Also it's glad to hear it wasn't hard to implement.
When mixing 2 animations, Spine interpolates between 2 bone rotations using the shortest direction. The 2 animations are often rotating a lot, and sometimes during the mix the shortest direction pops to the other side. This popping during mixing can be jarring.
In Spine 3.5 we use much more sophisticated mixing, where the first frame of the mix the direction of the shortest rotation is recorded, then that direction is used for the entire mix. This makes for rotation mixing without popping. It isn't done when using the Timeline API, only when using the AnimationState API which I assume you don't use. It's a bit complex, but could probably be ported without having to worry about the exact details. If you are interested, here is the code which is used instead of
RotateTimeline#Apply
:
spine-runtimes/AnimationState.cs at master
Thanks for the tweet and for your positive feedback!
In the Slate-Spine integration I really only used Apply() (previously Mix()) and neither Timeline nor AnimationState APIs, since what I wanted to do was just to sample/playback a Spine animation on the skeleton.
Thanks for the extra info. I will take a look at that.
BinaryCats wroteI was going to make this
:mmm: maybe I still will :devil:
Do this work in real time?
i.e. you select a spine object and you can see the current state of the animationstate (tracks, animations ect)? Or does this just allow you to put together cutscenes? i.e. a visual editor for queueing animations?
I was going to do the latter
Hey,
I am a bit confused by your question.
As you can see from the gif, animations are sampled and previewed in real-time.
Can you please clarify what you mean?
Cheers.
I meant, can you view the aniations running on a gameobject in the game (not a premade cutscene). i.e. Select a gameobject with a spine animation running. Can you view those animations in your dopesheet ?
nuverian wroteIn the Slate-Spine integration I really only used Apply() (previously Mix()) and neither Timeline nor AnimationState APIs, since what I wanted to do was just to sample/playback a Spine animation on the skeleton.
Animation apply
just calls Timeline apply
for each timeline, so technically you are using the Timeline API. It works OK, but if people start complaining that applying multiple animations on top of each other causes rotation popping, then you might consider special casing RotateTimeline like AnimationState is doing.