Search Unity

SLATE (Complete Gameplay Cutscenes & Cinematics Sequencer)

Discussion in 'Assets and Asset Store' started by nuverian, Feb 29, 2016.

  1. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    307
    Hello I would to buy your plugin, But I have 2 question

    I'm Using L2 localization plugin, And I need to play different dialogs and then localize it IT works as changer of audio in audio source But I dont want to create many tracks for every single sentence so Can I us it to localize dialogs with your timeline editor (Asking because I see for now only one audio sourdce for whole track)

    Another question, Im using humanoid animation for my characters in cutscenes can I For example play animation of body but in the same time play anim of talking for chest bones? Or is lipsynch work with Unity humanoid type of rig? So Any way I could make character talk in different time independent of Body animations?

    Also Can I easily add subtitles using Unity Gui to my cutscene? (Because I could localize Unity gui in L2 localization asset)


    If this is possible I'll buy your editor right now ;)
     
  2. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    This definitely needs to be fixed, since of course using different tracks per clip is totally inconvenient :)
    I tried reproducing the problem though and I can't seem to find a pattern. Are you able to reproduce this error with certain steps? If so, please let me know.
    Thanks in advance!

    Hey,
    It's always best to completely remove the folder and re-import the package anew every time you update, so you did well to do that! :)
    Thanks for letting me know.


    Let me address those:_)

    1) I don't think that would be possible, sorry :( To the best of my knowledge Unity (and realtime renderers in general) can not provide such information.

    2) Done.

    3) Can you please specify what you mean? I think I know, but just to confirm :)

    4) Sure, I will add a Detach, but it will work by finding the child transform by name, so that it is possible to work the same on different actor.

    5) You can remove the rules simply through the Preferences window (gear) on the top right of the editor and un-check "Show Rule of Thirds".

    Thanks!

    Hey,

    Thanks for your interest in Slate.
    I really believe that audio localization in cutscenes/cinematics should not be done :). The reason is simply because in each language the same thing said, could last different amounts of time and within the context of a cutscene where timing is important to synchronize other things, depending on the languages it will either become a pain to make it work for all of them or maybe even impossible. Due to this I really have not taken into account audio localization.

    Text localization could be done by creating your own custom GUI implementation for things that Slate is able to show, like subtitles are, and within your GUI code, replace the text that is about to be shown with the localized text and then show it. For example, you could use the text field in the PlayAudioClip action to designate the "Key/Code" which will be used to fetch the localized text from.
    DialogueText.png
    By the way, an official UGUI implementation is coming soon (right now OnGUI is used as the default)

    Regarding your animation question, right now only the Animation (legacy) Track supports multiple layers able to play one on top of another, while the Animator Track does not and only supports one layer.
    For this case of course (dialogues), I totally recommend using the integration with LipSync, which you can use on top of an Animator Track playing some animation.
    LipSync.gif

    If you have any questions or need any further clarification on the above, just let me know :)
    Thanks!
     
  3. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    307
    Hello
    Thank you for fast reply.
    Ok I see but it is the easiest way tolocalize dialogues by changing audio source and almost all of Unity Localize systems works this Way, I use in my opinion one of The best (l2 localize) And Could I in any way localize speech in lipsynch so As I see put on lipsynch track voice with localization? It would be great if you have any ideas for that ;) (this ver very important for me to me able to localize dialogs using your animator, If I will be sure I could do this I will buy your asset for sure. I Already made it in cinema director because I was able to Put every sound as different audio source and then just put localization system that change audio clip on runtime I understand that there was a little bit problem with longiude of clips But It could be done. But as I see your Slate give access to adding my own code, So is there posiblity for programmer to write special actions yes?

    Question more about aduio clips, Could I put different sounds to different places in scene with your system?

    What about talk animation,I installed LipSync LITE it is great. But Will your timelin editor work with LITE lipSync too? Because pro is to much for my purposes and it would be great if you ill work with LITE too. Also what about Lipsync cooperation in your plugin How it works Could I choose What Character it affects? And it will use Lipsynch component with Audio source with mixer set in there yes?

    Also How many audio, lipsync etc tracks I coudl use with yout plugin?

    How are cutscene invoked I mean I'm not programmer Can I run cutscene for example by activating it? Is There aslo option to skip cutscene By Key press ?

    Is there options like fade in screen fade out, slowing dow time etc (functions that are typical for cutscenes and are in Cinema Director) Please give me linkt to page where I can find all these type of functions because I cant find it in documentation ;)

    Also one more question because I use humanoid unity system and moccap sessions aimation, so I use Animator and for example I have My character walk animation in one place (looped), Could I make move Animation of This character in your cutscene timeline editor?

    Sorry For a lot of question, but I see no tutorials etc from your plugin so I cant watch anything but I would to know these things before buying something.

    P.S When do you plan to Release support of uGui?

    Thank you ;)
     
    Last edited: Dec 13, 2016
  4. plockhartt17

    plockhartt17

    Joined:
    Nov 14, 2016
    Posts:
    10
    Basically it boils down to the fact that our scenes are huge, and have thousands of gameobjets in them. When we have to position the camera for the director shot in the preview window, because it is rendering everything in that preview as well as in the scene view, the editor becomes locked and unusuable. We also have our own multilayered composite camera system that we'd need to use for cutscenes. Also, we find OnGUIs performance to be terrible, so the Director's camera code comes with an overhead. Thanks for your fast reply to my original post though.

    Can I put forward a suggestion? We have our actor gameObjects that are prefabs of characters from our game, where they have an Animation game object as a child with an animator component. From what I can see, I'd have to have 2 separator actors in the cutscene edtior window, 1 for moving the root transform and 1 that child 'Animation' gameobject so I can trigger Animator events. It would be nice if there was a way to hook up an Animator component for a given actor's action track, without having to change the source to search for components in children.

    All the best
     
  5. hlx

    hlx

    Joined:
    Sep 18, 2012
    Posts:
    57
     
  6. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024

    Hello again,
    As of version 1.6.5 (the one currently on the asset store) there is an option for Audio Tracks to "Use Audio Source On Actor". As such if using an audio source helps for localizing it as you say, then yes, it is possible to use the audio source already assigned/attached on the actor.
    Regarding LipSync Integration, it can also use the audio source already attached on the actor and you can choose to affect any actor you want that is "LipSync ready".
    LipSync Lite will work fine with Slate. No reason not to :)
    Finally, you can use as many LipSync clips as you like in Slate, on the same or on different actors on as many tracks as you like as well.

    Cutscenes can be played with a simple Play() function and can be skipped with another simple SkipSection() or Stop() function. There is also a script included to start a cutscene when the game starts, but not automatic GUI way of skipping them. You can just use a UI Button though and select any cutscene function to invoke OnClick:


    Yes, there are action clips for fading screen, showing text, subtitles, slowing time, animating visibility, material properties and many more.

    You can also of course animate any component property within Slate, such as transform position, rotation and scale are. As such, yes, you could use in-place animations and animate the transform in Slate as desired.

    Support for uGUI will come soon after the next version release (about 1 week)
    Cheers!


    Hello again,
    I understand. Just a small notice regarding camera previews, is that you can make the time they refresh larger or even completely disable camera previews in the preferences just in case they cause a performance hit due to thousands of objects. Also OnGUI will be replaced and not used anymore starting from the next version.

    Regarding your suggestion, sure! I will add an option in the Animator Track (and Animation Track) to either use the Animator component attached directly on the actor gameobject, or one found within the a child of the actor gameobject. This option will be added in the next version.
    Thanks for your suggestion. It is actually very nice :)



    @hlx
    1) I was expecting this answer. Does the command buffer introduced recently could be used ?
    I don't really know right now but I will take a look at this.

    3) Sorry, I forgot to mention that it was related to transform operations. So attaching an object to another one would be more useful if it was done relative to the parent tranformations values.
    The transformations are already relative to the parent for the Attach action clip, since local Position, Rotation and Scale are used. So if these values are left to zero, once the object is attached it will be in the exact same transforms of the parent. Do I miss something? :)

    6) I have frequently issues to force real values when keyframing a camera in the director track while adjusting the render camera interactively in the viewport. I can do it only when setting values with spinner in the camera shot component. Can you reproduce this problem ?
    Can you please describe the problems that you are facing?

    Cheers!
     
  7. emosia

    emosia

    Joined:
    Feb 19, 2013
    Posts:
    10
    Hi,
    I have an issue, possibly came with the new update. There are many yellow dots appearing on the bezier curves which makes it impossible for me to work. The reason is, I am working on a considerably small scale; so it is a mess now. Can i turn it off somehow?
     

    Attached Files:

  8. plockhartt17

    plockhartt17

    Joined:
    Nov 14, 2016
    Posts:
    10
    Hi,

    Is there any way to stop action clips etc from being triggered when the cutscene is skipped? Currently, when you skip, all the action clips are skimmed through and triggered. Is there a way to disable this for specific action clips? For some of our custom action clips, it doesn't make sense that it gets triggered.

    Thanks
     
  9. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    Hello,

    These dots represent the 3D motion path of the animation you are currently editing. You must really be working on an extremely small scale indeed since each of those dots have only a 0.02 radius :)
    There is no option to remove them completely (at least right now), so if you want to remove them please open up CurveEditor3D.cs and comment out or delete line #281 reading "Handles.SphereCap(0, value, Quaternion.identity, 0.02f);"
    I will add an option for that in the next version.

    Let me know if that works for you.
    Thanks

    Hello,
    Due to the deterministic nature of Slate, there is no option to skip an action clip from being triggered so that all frames always look/be the same, but I can understand that in some cases you indeed want to do that for custom action clips.
    For now one way (a bit dirty) to check if a cutscene is skipped (through Stop method), is to do this in your custom action clip OnEnter method.
    Code (CSharp):
    1.             if ( !((Cutscene)root).isActive ){
    2.                 return;
    3.             }
    I will add 'isActive' property to the IDirector interface which 'root' returns in the next version so that there is not need for casting root to Cutscene.

    Please let me know if that works for you, or if you need an alternative.
    Thanks.
     
    plockhartt17 likes this.
  10. emosia

    emosia

    Joined:
    Feb 19, 2013
    Posts:
    10
    Hi, that worked out great nuverian; thanks a lot :)
     
  11. emosia

    emosia

    Joined:
    Feb 19, 2013
    Posts:
    10
    Btw, is there a quick fix for bringing back the curve. It is gone along with the dots. Thank you in advance.
     
  12. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    Hey,

    If you only removed the code line #281 as I posted above, the motion path should still be there just without the dots. Remember that the path is only shown when the relevant clip is also selected (each clip show it's own motion paths if any when it is selected). Another reason that you might not be able to see the paths is if you have by any chance changed the "Motion Paths Color" in the Preferences Panel (gear button) to a color with 0 alpha. Could that be the case?
    Let me know.
    Thank you.
     
  13. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    CaronteFX integration is now available for download!
    CaronteFX is a high fidelity, physics-based animation tool for Unity. If you don't already know CaronteFX I urge you take a look at it.

    CaronteFX1.gif
    Sebastian character from Adam
     
    zyzyx likes this.
  14. plockhartt17

    plockhartt17

    Joined:
    Nov 14, 2016
    Posts:
    10
    Really appreciating the rapid support for the tool with all of the answers you are giving :)
     
  15. Cygon4

    Cygon4

    Joined:
    Sep 17, 2012
    Posts:
    381
    I'm using Slate for my game's intro. My main menu is floating in the scene and the intro cutscene makes the camera fly past some credits until it comes to a stop in front of the main menu.

    What I'd like to achieve is that the cutscene leaves the camera there and the camera stays there, letting the player pick a choice from the main menu.
    • First I tried changing the "Director Camera Root" settings (namely, "Auto Handle Active State"). But these settings get lost each time I restart Unity and they also seem to be saved in PlayerPrefs, which means they're not saved in the project directory and thus don't end up under source control.
    • I then tried placing a camera exactly where the cutscene camera stops. But right when the cutscene ends, there's an ugly jerk of the camera (I think the cutscene camera is moved back to the beginning of its path and renders 1-2 frames there before the game camera becomes active again).
    Is there any way I can achieve what I wanted? I'm thinking about modifying Slate so the "Director Camera Root" settings are serialized in the GameObject, but that would mean additional work when updating to a newer version...
     
  16. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    You are very welcome and thanks as well! :)

    Hey,

    Hmm. I don't understand why your Director Camera settings get lost when you restart Unity. I just re-check to confirm and the settings don't get lost and stay intact. Does any other code in your project reset PlayerPrefs by any chance?
    With that said, I could modify the Director Camera settings to be serialized in the object instead. Maybe that is better anyway.

    Another possible way to achieve what you are after, would be to create a new Camera and position it to look at your menu, assign that camera as "Exit Camera Override" in the Camera Track inspector and finally set the Camera Track Blend Out to anything higher than 0. As such, the cutscene will blend out into that camera and also keep it enabled in the end. :)
    ExitCameraOverride.png

    Please let me know if that works for you. If not, I will think of another solution :)
    Thanks!
     
  17. BigBite

    BigBite

    Joined:
    Feb 20, 2013
    Posts:
    98
    Do you think this will work with the Cinemachine plugin (used to be in the asset store) that is now being integrated into Unity? Also, I don't mean any disrespect, but how will this asset differentiate itself from the new timeline editor that they are working on? (Don't hit me, I'm running on low brain juice and unable to word that better). Both look so similar, they even seem to use some of the same APIs.

    P.S
    Do you have a public roadmap?

    F*k it, Imma buy it anyway, we all know how long it take Unity to release something.

    Can I make, essentially, a movie inside Unity with this tool? I bet the answer is yes.
     
  18. Cygon4

    Cygon4

    Joined:
    Sep 17, 2012
    Posts:
    381
    It's a barebones project with just two cutscenes at the moment. But I'm developing on Linux. Maybe there is an issue with in-edtitor PlayerPrefs saving in the Linux version of Unity.

    In any case, having the option to store the settings inside the GameObject would be super nice for reproducability when I copy the project to my laptop or maybe decide to do a clean checkout, or decide to use Unity's cloud builds :)

    Yes, that does work, to a degree...

    However, I'm using tone mapping with eye adaptation on my camera. When switching from the director camera to my menu camera, the director camera will not have fully adapted to the main menu's brightness yet whereas the menu camera starts fully adapted, so the moment the "Exit Camera Override" happens, there's a sudden jump in brightness :)

    I guess this kind of transition wasn't intended in Slate's design and I don't want to give you a headache with it, so I'm now simply tricking your director camera into using my own camera via this script: CutsceneHelper.cs (PlayCutsceneOnCamera() method, temporarily parents my camera to the "Director Camera Root" GameObject). Gives me my seamless transition and I've also got a chance to lock down the director camera settings there :D

    Thanks!
     
    Last edited: Dec 27, 2016
  19. nutbomb

    nutbomb

    Joined:
    May 10, 2013
    Posts:
    4
    hi, Nuverian
    I was working on a onrail shooting game, i need a timelined cinebox effect to introduce my game background story, but i found that only one camera track can add cinebox effect through the entirely timeline track, not the particular time area for cinebox effect, i just want the camera track effect like this A=add cinema black box effect B=without cinebox effect AAABBAAABBAAAAAABB etc. how can i get that? thank you!
     
  20. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    Hello and sorry for the late reply.

    Once Cinemachine is on the asset store once again, I will definitely create an extension to support it working with Slate, yes :)

    Regarding the differences with Unity's sequencer, I can't really tell for sure since of course the Unity's Sequencer is not available yet. So I don't know what exactly it offers and what does not in comparison to Slate, but from the preview videos up to now, they seem to share a lot of similarities in what and how things can be accomplished with each.

    There is no public roadmap available for Slate yet, but it is something I want to make public soon after Christmas.
    Last but not least least, yes. You can definitely make a movie inside Unity using Slate since that's one of the two reasons it exists (movies/cinematics and in-game cutscenes) :)

    If you have any other questions, please let me know.
    Thanks and marry Christmas!

    Hey,

    Alright, I think I will move the options in the DirectorCamera instance rather than PlayerPrefs in the next version.
    Also, thanks for sharing your script. It seems that more and more people are after the requirement of using one camera for both cutscenes and gameplay and I can understand this to some extend. Thus, this will probably become an option in the next version as well :)

    Thanks!

    Hello,
    Considering I understood correctly, you want a new ActionClip to control the cinebox effect so to appear only at specific time range. If that is the case, here is a new ActionClip for that. Just create a new script called CineBox.cs and copy/paste this code within:
    Code (CSharp):
    1. using UnityEngine;
    2. using System.Collections;
    3.  
    4. namespace Slate.ActionClips{
    5.  
    6.     [Category("Rendering")]
    7.     [Description("Controls the appearence of the Cinematic Letterbox. For this to work correctly, you should set the CineBox effect in the Cutscene CameraTrack to 0, so that the effect is not overriden.")]
    8.     public class CineBox : DirectorActionClip {
    9.  
    10.         [SerializeField] [HideInInspector]
    11.         private float _length = 2;
    12.         [SerializeField] [HideInInspector]
    13.         private float _blendIn = 0.25f;
    14.         [SerializeField] [HideInInspector]
    15.         private float _blendOut = 0.25f;
    16.  
    17.         public override float length{
    18.             get {return _length;}
    19.             set {_length = value;}
    20.         }
    21.  
    22.         public override float blendIn{
    23.             get {return _blendIn;}
    24.             set {_blendIn = value;}
    25.         }
    26.  
    27.         public override float blendOut{
    28.             get {return _blendOut;}
    29.             set {_blendOut = value;}
    30.         }
    31.  
    32.         protected override void OnUpdate(float time){
    33.             DirectorGUI.UpdateLetterbox( GetClipWeight(time) );
    34.         }
    35.     }
    36. }
    37.  

    One last step to make this work though, would be to please open up CameraTrack.cs and comment out or delete line #105 (DirectorGUI.UpdateLetterbox(0);) This is safe to do and I will also do this in the next version so nothing to worry about for this change. :)
    Please let me know if that is indeed what you were after, or if you are having any trouble creating the script, or making the changes.

    Thanks!
     
  21. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    My next step in exploring SLATE will be starting with some more complex than a curve following animation.
    Interested into character animation, want to know if SLATE will be able to pilot any kind of animation such as the generated from Bio Inspired IK or @nuverian need to create custom line for every of them
     
  22. nutbomb

    nutbomb

    Joined:
    May 10, 2013
    Posts:
    4
    YES! nuverian Thank you very much, it works like charming! it is extractly what i want. Thanks for your kind help!
     
  23. anilo

    anilo

    Joined:
    Feb 7, 2013
    Posts:
    31
    Can you post the steps on how you built this using Slate.

    Would be great if you could share the sample app.

    Cheers.
     
  24. anilo

    anilo

    Joined:
    Feb 7, 2013
    Posts:
    31
    Can you point me to some beginner tutorials on how to use Slate to create a simple cutscene?
     
  25. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    Happy new year to everyone!

    Hey,
    I do not own Bio Inspired IK, so I can't tell for sure, but for making FinalIK workflow better with Slate, a custom integration had to be created (which can be downloaded here). This might or might not be the case for Bio Inspired IK, but if there is demand for it, I can certainly take a look at creating an integration for it as well :)
    Let me know.
    Thanks.

    Great! Thanks for letting me know and I am very glad that it works for you! :)

    Hello,

    The animation shown in the gif above was made (not by me) for the Adam film and makes use of CaronteFX for the cloth physics. The project I used for this CaronteFX showcase can be downloaded from the asset store (made available free by Unity). I can't really re-distribute these assets since I don't have the rights to do so.

    SLATE was used here to playback the (existing) character animation as well as the CaronteFX (cloth physics) baked simulations together. For the character (Sebastian) an Animator Track was used, while for the CaronteFX cloth objects, a CaronteFX Track was used for each one of them. The extension that adds support for CaronteFX playback within Slate and thus the CaronteFX Track, can be downloaded here.

    If you own CaronteFX (which once again is what is showcased here), then the steps to playback a baked CaronteFX simulation, would be the following:
    • Drag and Drop the CFX gameobject in the Slate editor, to create an Actor Group.
    • Create a CaronteFX Track along with a CaronteFX Action Clip in that track.
    • In the CaronteFX Action Cip inspector, select the baked animation clip asset created by CaronteFX.
    You can use one of the examples that come with CaronteFX to test things out if you want, like for example the fracture scene shown bellow.
    CaronteFX_Fracture.gif

    If you have any questions about using CaronteFX with Slate, or any other questions regarding Slate, please let me know.
    Thanks!
     
  26. plockhartt17

    plockhartt17

    Joined:
    Nov 14, 2016
    Posts:
    10
    Hi,

    Recently upgraded to Unity 5.5.0 and get an null reference exception with the CurveEditor when trying to animate a Transform's position properties. To get the cutscene editor window to appear I had to add the following check. When is the latest version to be released? I see you mentioned you'd like to get it out around Christmas time.

    Code (CSharp):
    1. public void RecalculateBounds(){
    2.  
    3.                 var method = cEditorType.GetMethod("RecalculateBounds");
    4.  
    5.                 if (method != null)
    6.                 {
    7.                     method.Invoke(cEditor, null);
    8.                 }
    9.                 //cEditorType.GetMethod("RecalculateBounds").Invoke(cEditor, null);
    10.             }
     
  27. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    Hello,
    The current version 1.6.5 (released Dec 08) already supports Unity 5.5.
    Looking from the code your posted, it seems like you haven't updated yet though.
    Can you please confirm that you have updated to the latest version 1.6.5 currently available?
    Thanks.
     
    plockhartt17 likes this.
  28. plockhartt17

    plockhartt17

    Joined:
    Nov 14, 2016
    Posts:
    10
    That's awkward! Yep, I'm on 1.6.0. Thought we had upgraded already, thanks.
     
  29. BoboShu

    BoboShu

    Joined:
    Nov 20, 2014
    Posts:
    38
    i want a cutscene with it own camera setting

    DirectorCamera.cs

    if (_current != null && _current != this){
    //DestroyImmediate(this.gameObject);
    DestroyImmediate(_current.gameObject); //change ByLongbo
    return;
    }

    i setting a custom render camera save into cutscene, old script will create a temp DirectorCamera gameobject. and destroy my custom camera. so i think should destroy old gameobject


    QQ图片20170106162851.png
     
  30. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    No problem :) Thanks for letting know that this was indeed the issue.

    Hello,

    While I understand the reasoning behind your change, unfortunately applying this change officially will have undesired results in some cases. The reason why the code was like that, is so that in conjunction with DontDestroyOnLoad option, when a new scene is loaded the camera from the previews scene is kept. This can be useful in cases where one wants to have a single -set once- camera for everything, although in your case you want exactly the opposite :)
    Maybe this justifies a new option for that. I will take a better look at this, or an alternative solution.

    Thanks!
     
  31. popMark

    popMark

    Joined:
    Apr 14, 2013
    Posts:
    89
    Is there a way/whats the best way of decoupling all the director camera stuff from the rest of the system?

    I use slate mostly (almost entirely) for scripted events and I never need it to take control of my camera, so I always find myself carefully stripping out as little as I can of the director camera stuff to have everything work as I need, but it's a pain every time I update so I was wondering if you had a better solution?

    Also the minimum cutscene length of 1 second is still occasionally an issue for me, 0.1 would be better, I'm normally never less than 0.5
     
    Last edited: Jan 10, 2017
  32. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    Hey,

    Considering I understand correctly, if you disable/delete the Camera Track of a cutscene, then Slate will not affect your main camera, or even use the Director Camera at all.
    Let me know if that is what you are after and if doing this works for you.

    Regarding the minimum cutscene length, I've just changed it to be 0.1 as well.
     
  33. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,019
    We're using SALSA for lipsync. Any suggestions for how to get that to work with my SLATE cutscene? I'd rather not switch to Lipsync Pro at this point in the project.
     
  34. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,019
    Also: Isn't there a way to move the camera around to position it for Shot Camera keyframes? I can't seem to get the handles activated to move it. I can only drag it in the Shot Camera inspector, which is slow and awkward, or using the transform numbers, which is also awkward. Or can I position the scene camera and then apply those transform values to the keyframe? The docs say to double-click the Shot Clip in the timeline but that doesn't seem to activate the handles for me to move the camera around.
     
  35. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    Hey,

    If I remember correctly, SALSA is using the AudioSource component attached on the gameobject in question, to drive the lipsync. If that is correct, in latest version of SLATE, there is now an option added for AudioTracks, to "Use AudioSource on Actor", which option by default is off. Please try turning this option on for the AudioTracks added in your Actor Groups and let me know if that works for you.
    Thanks :)

    If you want to manipulate the shot cameras directly, you can simply select them in your hierarchy and position/rotate them as you normally would any object. By default all camera shots of a cutscene can be found under the cutscene and under the gameobject named "[CAMERA SHOTS]"
    2017-01-13_21h13_45.png
    Let me know if that works for you.
    Thanks.
     
  36. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,019
    Thanks for the help! And SALSA works now--hooray!

    But for the shot cameras, I found those...but they're at a single position, is it possible to move them in the scene for each keyframe?
     
  37. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    I'm glad I could help and to know that SALSA works now :)
    Regarding your question, yes that is possible likeso:
    • Select the "Shot Clip" and set the cutscene time at the keyframe (or simply double click the keyframe).
    • Select the "Shot Camera" gameobject and move/rotate it as desired.
    • If you are working in AutoKey mode ON, the change will be recorded automatically, otherwise, just click the green keyframe button that will appear at the top of the Slate editor once you make the change (eg move/rotate the camera).
    Let me know if that works for you, or if you need more help.
    Thanks.
     
  38. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,019
    Thanks for that explanation, I'll try that.

    Another thing: I need to push the entire cutscene timeline to the right, to make room for something new at the very start of the sequence. Dragging the first section does slide all the animations and audio, but not the Properties keyframes. Is there way to select *everything* and move it left or right on the timeline?
     
  39. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    Hey,
    I have just implemented this, so that dragging sections with Shift key pressed, now also shifts keyframes of Properties Tracks. If you want I can send you the required updated files. Just send me an email to support@paradoxnotion.com and I will do as soon as possible :)
    Thanks.
     
  40. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,019
    Great! I sent an email yesterday.

    Another question: is there any way to get a character to freeze on the final frame in an animation clip? Mine always revert to some previous animation, even though there's nothing assigned as the default clip on the character model.
     
  41. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    Hey,
    Sorry for the late reply due to weekend :).
    Clamping an animation clip is not possible right now, but I can add this if needed.
    You are referring to Animator Track, yes?
    Thanks.
     
  42. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,019
    I'm using the Animation track (legacy animation). If there's an easy way to do that, either with existing functionality or some tweak on your end, I'd really appreciate it.
     
  43. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    Hey,
    For the Animation Track (legacy), the animation of the clips are already clamped if no Base Animation Clip is set or playing.
    Please try selecting the gameobject with the Animation component and set "Play Automatically" to false in it's inspector and let me know if that works for you.
    If it is set to true, then the "Default Clip" if any set in the Animation Component, is used for Base, and thus playing when no other animation clip is playing in any of the gameobject's Animation Tracks in the cutscene.

    Thanks!
     
  44. chiepomme

    chiepomme

    Joined:
    Sep 10, 2013
    Posts:
    3
    Hi! SLATE is the best cutscene editor for me. Thank you for developping!
    Btw, is there any option to disable Render Camera feature?

    I'm creating VR games with SLATE. GoogleVR SDK have their own cameras (Main Camera for raycasting, Left + Right eye cameras), so SLATE's Render Camera feature doesn't work well. However, I love SLATE's timeline and curve editor. I want to use SLATE only for actor animations and sounds, not cameras.
     
  45. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,019
    I did try that, but I'll take another look.

    Another question: We need to disable an Actor track at runtime. Is that possible?
     
  46. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    Hey,
    Thanks a lot! I am really glad you like Slate! :)
    Yes, you can disable the camera features of Slate simply by disabling or completely deleting the Camera Track that is added by default in the Director Group from your cutscene.
    Let me know if that works for you.
    Thanks again.

    Hey,
    Please check and let me know if it works for you. I checked it out before my previous post and the animation of clips, was clamped correctly.
    Regarding your other question, yes that is possible, but there is no ready method available in the cutscene class, thus you will preferably need to create a simple extension like so:
    Code (CSharp):
    1. public static class SlateExtensions {
    2.  
    3.     //Enable/Disable a track of specified name, belonging to an Actor Group of specified actor gameobject.
    4.     public static void SetTrackOfActorActive(this Cutscene cutscene, GameObject targetActor, string targetTrackName, bool active){
    5.        
    6.         if (cutscene.isActive){
    7.             Debug.LogWarning("Enabling/Disabling a track while cutscene is playing is not possible");
    8.             return;
    9.         }
    10.  
    11.         var group = cutscene.groups.Find( g => g.actor == targetActor );
    12.         var track = group.tracks.Find( t => t.name == targetTrackName );
    13.         track.isActive = active;
    14.     }
    15. }
    Let me know if that works for you.
    Thanks!
     
    chiepomme likes this.
  47. chiepomme

    chiepomme

    Joined:
    Sep 10, 2013
    Posts:
    3
    Thank you so much for the reply! It works!
    Could I ask an extra question?
    I noticed that disabling Camera Track removes DirectorGUI.
    So, when I need ScreenFader, which uses DirectorGUI, should I create a custom clip for fade?
     
  48. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,024
    You are very welcome.
    Indeed disabling the CameraTrack also disables the DirectorGUI (and thus GUI effects like ScreenFader, Subtitles etc), which is not a good idea, so I will fix this properly in the next version so that they are not tied together.
    To quickly fix it now though, you can open up Cutscene.cs file and find method named "OnSampleEnable" and "OnSampleDisable" (about line #600) and please change those to be likeso:
    Code (CSharp):
    1.         //When Sample begins
    2.         void OnSampleEnable(){
    3.             SetLayersActive();
    4.             DirectorGUI.current.enabled = true;
    5.         }
    6.  
    7.         //When Sample ends
    8.         void OnSampleDisable(){
    9.             RestoreLayersActive();
    10.             DirectorGUI.current.enabled = false;
    11.         }
    Doing the above change, you will be able to use all UI effects like ScreenFader, while also having the Camera Track disabled/deleted as you required :)

    Let me know if that works for you.
    Thanks.
     
    chiepomme likes this.
  49. chiepomme

    chiepomme

    Joined:
    Sep 10, 2013
    Posts:
    3
    Thanks a lot! How great your support is!
    I'm happy to hear your plan to fix.
    And your code works completely!

    Thanks again!
     
  50. daschatten

    daschatten

    Joined:
    Jul 16, 2015
    Posts:
    147
    Hey,

    i bought Slate yesterday and like it so much :)

    Maybe you can help me with an issue:
    • Disable Director Camera Track (Want to use Cinemachine BaseRig)
    • Render into mp4
      -> Result is a .mp4 file with a size of 1 kb. Enabling Director Camera Track brings back mp4 content, but disables Cinemachine camera handling
    Thanks,
    daschatten