Slate Forums › Support › Interactive Cinematic cutscenes.
Tagged: Dumps PDF, DumpsGenious, Exam, Exam Questions, Study Material
Hello, I’m trying to create cutscenes in which I can :
1. Pause the Cutscene
2. Allow any idle animations on Cutscene characters to keep idling while the cutscene is paused
3. Resume the cutscene
I can pause and resume just fine, but idle animations freeze on their paused frame. It should look something like this:
https://youtu.be/aYetr5LQ-OY?t=1210
Notice that the characters will keep idling while the dialogue is onscreen, and the cutscene won’t advance until after the user presses a confirm button to advance the dialogue.
If it matters, my current dialogue solution is actually “Dialogue System”, which is on the Unity Asset Store.
https://assetstore.unity.com/packages/tools/ai/dialogue-system-for-unity-11672
Hey,
I totaly understand what you are after here. Because animations in Slate are always in-sync with the time of the cutscene thus to be as deterministic as possible playback wise though, this is not really possible to do out-of-the-box. In Slate, animations are “sampled” at a specific time, instead of just “play and forget”.
This could maybe be achieved with a custom “Play Animation” Slate clip (or an option in the existing “Play Animation” Slate clip), even though I can foresee that this will probably create some side effects like for example out-of-synd when the cutscene speed changes, or even with Root Motion. If I am to add an option (like “Out Of Sync Play”) I could probably ignore Root Motion and animation playback speed when that option is enabled.
I will definetely need to investigate further how this could be achieved without any unexpected behaviours. I will take a look at this right after Eastern (in Monday) and will let you know what I may come up with as a solution.
Thanks!
Join us on Discord: https://discord.gg/97q2Rjh
I’m interested in this too, it’s similar to what’s used in the 3d Zelda games. If I had to take a guess, I would say that each box in the dialogue system is actually activating a mini cutscene, as opposed to the whole thing being one giant cutscene that gets paused and resumed. Otherwise it wouldn’t be possible to have parts where the player can choose what to say and have different animations play (like in the Persona example).
Perhaps what Slate needs is simply a way to automatically loop a sequence but starting the loop from a specific time? Maybe in the place where you tell Slate what to do when the cutscene ends (loop, pingpong, hold, etc.) there could be an option to start the loop from time X? Something like “Start Loop At: X”.
My thought is that you would put your idle clips at the end of the Slate cutscene and then when the cutscene reaches the end, you’d set the sequence to start the loop from the time where the idle animation begins instead of from the beginning at time 00:00. You’d just have to make sure that your idle animations are seamless and don’t need blending to start over. When the player presses the button, it ends that cutscene and starts the next one.
I don’t think that dozens of short clips is the answer, since you’ll most likely have hiccups as you go from one to another, and sequencing them all to work together would be very troublesome if you can’t have them all on one timeline.
It is the answer because that’s how those games do it. Those games have branching dialogue sequences with multiple choices, which means they don’t have everything on a single timeline.
About the hiccups, if anything, the hiccups would be smaller due to the individual cutscenes being smaller, but if its still a problem that’s something Gavalakis can look into improving. Sequencing them all to work together isn’t particularly troublesome either– You’d simply use your dialogue system to make the desired cutscene play when a text box starts, the same way you would an animation clip or audio clip or whatever.
Also note that there doesn’t have to be a mini cutscene for each individual dialogue box. In those games if you look closely, they often let the same sequence play over the course of multiple dialogue boxes, Ocarina of Time and Majora’s Mask definitely do this.
Just throwing in my support and hope for this implementation too!
Blending animations in and out of Slate’s animator tracks to the underlying Mechanim controllers without any noticable resets or glitches would be a great first step.
Ultimately though we’d hope to embed a looping cutscene within a parent cutscene that, when exited via player input, blended out of the loop and back into the parent cutscene seamlessly, regardless of playback position in the loop.
Those games have branching dialogue sequences with multiple choices, which means they don’t have everything on a single timeline.
You’re right regarding branching paths. I was more interested in starting with just the basic dialogue sequences, and laying out linear narrative using a timeline. Either the dialogue triggers could live on the timeline, or the dialogue system’s commands could just command the timeline to pause and resume as the user goes from one linear dialogue node to the next. Both are reasonable.
hello! it’s been some time since this post was last updated but I have ran into the same situation where I’m trying to display some speech/dialog boxes for a dialogue system, pause the cutscene while the player is reading through the dialog, and resume the cutscene once the dialog has completed. Has there been any changes/updates to Slate that would enable this?
Hello,
You can use the Cutscene API to pause and then resume the cutscene as appropriate. For example, you could call Pause on the cutscene when the dialogue speech is shown, and then call Resume on the cutscene as soon as the dialogue speech is finished. The Cutscene class has a lot of other methods as well that are very helpful for controlling the cutscene.
Please let me know if that works for you.
Thanks!
Join us on Discord: https://discord.gg/97q2Rjh
That’s just standard pausing and resuming cutscenes, this thread is talking about pausing the cutscene but still allowing animations to continue playing. There’s still no way to do that with Slate?
The only way I have found that works is by using the legacy Mecanim track instead of the Animation track, but it’s not ideal
Hello,
Unfortunately this is not possible with the Animator or Animation tracks for the reasons explained earlier. I haven’t added an alternative option/feature for this since I didnt get that many requests about it, but sure I can look at it. I moved it up in the TODO list and see what I can come up with 🙂
Thanks.
Join us on Discord: https://discord.gg/97q2Rjh
+1 i would like to have this feature too.
Thanks !