Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

SLATE (Complete Gameplay Cutscenes & Cinematics Sequencer)

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

  1. wanjg

    wanjg

    Joined:
    Apr 5, 2017
    Posts:
    6
    Happy New Year~Thx~memeda~
     
  2. Cygon4

    Cygon4

    Joined:
    Sep 17, 2012
    Posts:
    382
    For VR projects it would be very useful if Slate could just drive around an arbitrary camera rig rather than switching between different cameras.

    Something like in this mockup:

    director-camera-mockup.png


    Explanation:

    In VR mode, the active camera's localPosition and localRotation always match the physical position of the player in the real world. So if the player is sitting, localPosition.y will be set to ~1.2 and if the player is standing, localPosition.y will be set to ~1.8 with no chance to change it.

    In order to put the camera at a certain place, the camera needs a parent node to counter the physical player position (so if the camera is parented to a node with localPosition.y == -1.2, then it would cancel the player's position). So to be able to drive the camera around as before, a rig like this is needed:

    camerarig.png

    The actual 'Camera' component would be at the third level, 'EyeCamera'. Currently, Slate is driving me a bit crazy switching between cameras and losing the HeadCalibration each time and I'm still trying to hack it to do what I need :)
     
  3. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647

    Thank you ! For us most important are standard features like playing sound etc, because Master Audio supports a for exaple language localization what is perfect for cutscene dialogs, cause you could just put play audio on timeline of SLATE and set translation in master audio. :)
     
  4. Nakah

    Nakah

    Joined:
    Feb 10, 2017
    Posts:
    1
    Hey Nuverian,

    i´m a new user and a complete newbie in unity. I tried to install the FinalIK and CaronteFX extensions for Slate but it doesn´t work or i dont get it to work properly. I get some Messages from Unity (2017.3)

    Nakah

    upload_2018-1-11_20-20-14.png
     
  5. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087

    Hey,

    Hmm. But the 'Render Camera' which is used for cutscenes, is already a child object of the 'Camera Director Root' gameobject and as such, the VR device position/rotation, is already compensated. Slate only drives the 'Camera Director Root', while the child 'Render Camera' transform, is driven by the VR device.
    Can you please explain a bit more on the need of the 3rd transform?

    With that said, the ability to drive an existing arbitrary camera rig (thus no camera switching) is already in the roadmap and will most probably work similar to to your images (option in Director Camera inspector) ;)

    Thanks for letting me know :)
    I will try work on the integration within this week and see what I come up with depending on the API that Master Audio provides!

    Hello and welcome!
    Hmm. It looks like that you don't have CaronteFX package imported in your project. If you do, please let me know which version of CaronteFX you are using.
    Do you get similar errors for FinalIK as well?
    Let me know.
    Thank you.
     
  6. Cygon4

    Cygon4

    Joined:
    Sep 17, 2012
    Posts:
    382
    Cool :)

    I tried to explain it in my first paragraph under 'Explanation', but I'll try to explain it differently!

    If the camera is directly parented to the "Director Camera Root," a VR user will always be viewing the cutscenes from between 1.2 to 1.8 meters above the "Director Camera Root" (depending on whether the player is standing or sitting).

    The intermediate transform I have between camera and "Director Camera Root" is supposed to compensate for this.

    When my game begins, the player is asked to sit/stand in a neutral position. This position will then become the position at which the camera would be at (0, 0, 0) looking straight (the player can also re-center at will anytime).

    The intermediate transform is then set to the inverse of the VR camera's position/rotation, so when the player sits/stands in neutral position, the viewpoint ends up back exactly in the spot where the "Director Camera Root" is.​

    I tried to make do with the provided camera settings, but I haven't managed to wrestle Slate into doing what I wanted (create no cameras of its own and reuse the single, active game camera), so I modified my sources to pick up an existing camera rig when a cutscene begins.

    I attached a patch that shows my modifications from Slate 1.7.3, if interested :D
     

    Attached Files:

    nuverian likes this.
  7. nuverian

    nuverian

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

    Thanks for the follow up with further explanation as well as the patch :)
    So, considering I understood correctly, you want the player to always view the cutscene at 0,0,0 regardless of whether the player is sitting or standing? If that is the case, I think that you could manually reset the position with the VR device API when the cutscene starts, so that you bring the device position at 0,0,0 of the Director Camera Root, but I will have to test this out on my Oculus to confirm if what I think is possible.

    In any case though, The ability to drive a custom rig is something that is interesting to add anyway :)
    Thanks!
     
  8. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
  9. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Check ESTV :: A Dragon's Tail - Episode 1, proudly made using Slate.
     
    Last edited: Jan 23, 2018
  10. flashframe

    flashframe

    Joined:
    Feb 10, 2015
    Posts:
    789
    Hi @nuverian

    Is there a way to zoom in horizontally in the curve editor in the inspector window? I can zoom in vertically, but it always shows every keyframe horizontally. So if we have long clips in the timeline, the keyframes are too close together to edit the curve handles, even if I maximise the width of the inspector window.

    Thanks!
     
  11. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    @nuverian Thank you, So We are waiting for this master audio synchronization ;) WE are workin on https://www.facebook.com/EndOfTheSunGame/ End of the sun game. This is plot based walking simualtor adventure game placed in slavic fantasy world, soon we will publish some more screenshots etc.WE will use your system to our cutscenes, I saw you post some othr game trailers, so I could let you know when out trailer will be ready, not very soon, but it will be for sure something big, maybe help you in marketing too ;) Regards, Thanks for work!
     
  12. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hey!

    Zooming horizontally within the inline curve editor box in the inspector of the clip, is not possible right now and the curve editor will always have it's width set to the inspector editor itself.

    If you want to edit the curves more "freely", I would thus recommend to do so within the Slate timeline editor, rather than within the inspector of the clips, since within the timeline editor, you are able to freely zoom both horizontally as well as of course vertically.
    CurveEditor.gif
    Hold ALT + Right Mouse Button Drag for horizontal zoom.
    Hold ALT + Shift + Right Mouse Button Drag for vertical zoom.

    With that said, I will take another look at the possibility of allowing horizontal zoom also within the inline curve editor within the inspector.

    Thanks!

    Hey,
    Awesome! I am glad to know that you will be using Slate for your game :) Looking forward to see anything you create!
    I will make a post here as soon as the MasterAudio integration is done by the way ;)
    Thanks!
     
  13. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Vondox likes this.
  14. flashframe

    flashframe

    Joined:
    Feb 10, 2015
    Posts:
    789
    Oh man, I feel spectacularly stupid. I've spent over a year using Slate and hadn't realised there was a way to view the curves in the timeline editor. I thought that was only available for Properties Tracks. How did I miss the little curve icon? Have a feeling this will speed up my workflow considerably. Thank you!
     
  15. Etrain

    Etrain

    Joined:
    Nov 3, 2013
    Posts:
    11
    Hi! Let me start by saying Slate is terrific; It's a comprehensive and powerful tool that is so close to being what I hoped Unity's Timeline would be. In fact, we've tried Timeline, uSequencer, Cinema Director and although each has its merits, Slate is the closest to bridging them all into one product. Hats off for what you've achieved in such a competitive space!

    That said, it still does fall short of my needs in a few key areas:

    1. Cinemachine support. I know Slate comes with an alternative solution, but this is critical as we're using cinemachine as our gameplay camera rig, and are hoping to integrate seamless cutscenes that can transition to/from cameras without any blackout or hard cuts. Is seamless transitions to cinemachine cameras right now possible with Slate's camera system? I think that now Cinemachine is Unity-developed and admittedly more mature/robust than Slate's system, this integration should be high on the list of priorities.
    2. Animation layers. Like Timeline, the ability to add override animation tracks would be very welcome.
    3. Avatar masks on Animation tracks.
    4. Animation weight. Not sure if this is possible, but it would be great if we could define the weight of each animation track or clip, as if it were like layers in an Animator Controller.

    Thanks again for such a great product and I hope you consider these features in the future!
     
  16. Alic

    Alic

    Joined:
    Aug 6, 2013
    Posts:
    137
    I'll also add that I would buy and use slate as a timeline sequencer if it allowed me to drive cinemachine with it.
     
  17. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hello from here as well :)
    Only as a follow up to our emails and for letting others reading the forums know:
    1) Cinemachine support is under consideration, even though Slate includes an alternative solution which is tightly integrated into the rest of the Slate framwork.
    2, 3 & 4) All of these will be featured in the next version.

    Thank you!

    Hello,
    Slate already includes an alternative solution to semi-procedural camera work based on frame composition, rails and other constrains for example. If you let me know what part of cinemachine you'd like more specifically see integrated, I would be able to better justify the integration and focus on those parts when the time comes.

    Thanks in advance.
     
    Etrain likes this.
  18. namdo

    namdo

    Joined:
    Feb 23, 2015
    Posts:
    200
    I have a question. Is it possible to play a section then stop at the end of the section, press a button to play the next section and when it finishes that section it stops and so on and so forth.

    Think like an RPG where you press a button to advance at the end of a conversation.
     
  19. flashframe

    flashframe

    Joined:
    Feb 10, 2015
    Posts:
    789
    Yes, you can call:

    Code (CSharp):
    1. PlaySection("SectionName");
    There's also an overload that let's you specify a callback, which you can use to get a notification when the cutscene reaches the end of the section. Or you can subscribe to the OnSectionReached event, which does the same thing. Then all you have to do is write the code to wait for input move to the next section.
     
    nuverian likes this.
  20. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Hello, Could you please add Enviro component to your slate? :) It would be problably easy for you and many people use enviro. What woul be great is:

    1.Smooth control of time of enviro (what makes light etc autoamtically move)
    2. Cloud speed
    3.Change of weather preset :)

    probably it will be for you few minutes, and many more option that use enviro and lipsynch;)

    Also I have a question because it seems taht emotion for lipsynch dont work good, it dont change it, I use bones blend emotion type with lipsynch, speech works, but emotions no.

    Also it would be great to have Change material properties option but for child objects too ;) For now I cant change renderer properties because it looks for renderer only on main object ;) It would be good to change material color etc also in recursive way on all renderers on actor ;)


    How is going with creation of components for Master Audio to be able to dont keep all language version in ram ? :) Also I saw you work on dialogue localization set up that great ;)

    One mroe question: How to customize captions, or cinematic borders is that hard coded or is it in any gui??

    I started using your system a few days ago we are now creating cutscenes for End of The sun. It is really great tool :) Improvements I talk about make it even better ;)


    p.S Add also components like to skiping cutscene on action like trigger etc.

    Regards
     
    Last edited: Feb 27, 2018
  21. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hello,
    Yes, it is possible by exactly what @flashframe said is his answer :)

    Hello,

    Thanks. I am glad you like Slate and using it in production for your game :)

    Regarding Enviro, I've just contacted the developer for the possibility of a collaboration for the integration :)

    MasterAudio integration has unfortunately fallen behind in schedule due to working on the Slate core new features itself, but as soon as the new version is up, I will take another look at that.

    I will try to squeeze in that new version the ability for the Animate Material clips (as well as other clips as well), to work with the first renderer found within the actor's hierarchy, rather than only the root actor gameobject itself. I am afraid though that doing this recursively for all renderers within the actor's hierarchy, will not make it, due to the many different problems this can create when previewing the cutscene in the editor :)

    The captions font can be changed in the DirectorGUI inspector, but other than the font itself, the rest of the style settings are hardcoded into the DirectorGUI class. You can however override the GUI and provide your own way of displaying the captions, the letterbox as well as the rest of the GUI related things, as briefly explained here. If you want more information on that, or even an example usage code, just let me know :)

    Regarding LipSync, unfortunately standalone Emotions only work with BlendShape based setups right now, because as far as I remember, LipSync although is great, didn't have a viable way of previewing/sampling standalone emotions for bone based setups, but I will look at the code once again and see if I can find a workaround.

    Finally, I have also attached for you here a unitypackage with two new quick action components (StopOnClick and StopOnTrigger). They are actually quite easy to create :)

    Let me know if I missed something.

    Also, if possible for you at all, please use the Official Slate Forums, since this way it's easier to follow conversations, but also handle support more efficiently!

    Thanks!
     

    Attached Files:

  22. zelmund

    zelmund

    Joined:
    Mar 2, 2012
    Posts:
    437
    hi
    can anyone explaine how to insert mecanim animation in timeline graph?
     
  23. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    What about lipsync it is possible to show emotion using bones too ;) esspecially that emotion works with bones. In my opinion blendshapes are uneffiecent way of work, most of big studios use Bones, becasue it is easier to change it etc, belndshapes have to be edited in other software everytime ;) It would be great if you could implement that, please let me know on private message if you can implement that, if not, our programmer will try to do that. Thanks ;)
     
  24. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Also I wrote you mesage with questions on private but will copy it here, maybe help other:

    I want to get soem Fade efects even If I skip cutscene, for example I want to made fade cutscene at the end even if player will skip it, is there any way for that? I was thinking about runing next cutscene with only fade

    Maybe it woudl be good to add some Play cutscene on cutscene End? Then it would be posible to play next cutscene for example small fade etc, even if player skip main cutscene ;)

    I created cutsene and made prefab from it, I put there actor from Project (not from scene) as prefab. Now when I open again scene, or add this cutscene as prefab to other scene, very often happens that this actor prefab is missing in actor group and I have to assign it again and again. Am I missing something?
     
  25. Danirey

    Danirey

    Joined:
    Apr 3, 2013
    Posts:
    548
    Hi all,

    @nuverian , it's great to be here again and see that the community is as active as always. It says a lot of your support(and products of course)!

    I'm back again with my project and start updating all stuff. I've only one question for you. Any chance to use cinemachine with SLATE? I know it is just matter of activate and deactivate virtual cameras, so i assume that we can work with them as usual, right?

    Just note that in my opinion, SLATE is still on top of the Unity Timeline in terms of usability. Nicely done!

    Cheers!
     
  26. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    @nuverian Can you estimate time when you will be able to fix lipsynch support also for bones blendshapes?
     
  27. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Also I tried to contact you by e-mail and Private messsage, there is a lot of lacs in documntations, Now I also have problem to set up animator track with Look at character, It just dont work for me even I f I turn off head movements in animation, Is there any special way to use it with humanoid animation? For me it just dont work :(
     
  28. MikeChr

    MikeChr

    Joined:
    Feb 2, 2018
    Posts:
    43
    Hi.
    I crossposted this question with paradoxnotion.com site. Hope this is not a problem.
    I have a question concerning the extension of Slate to include a different type of time measurement in the timebar. I wish to present time as bars in the musical notation sense. By setting a beats per minute and beats per measure, the timebar will present beat and measure bars. I wish for track components to line up with these. Does anyone have an opinion about the possibility of making this work? I am an accomplished software developer with decades of Java experience. I am not certain that the package gives me access to the c# timebar / timeline code or if the editor is compiled and packaged in a library.
    Thanks for your time.
    Mike
     
  29. flashframe

    flashframe

    Joined:
    Feb 10, 2015
    Posts:
    789
    I'm sure @nuverian will give you an official response, but until then I'd say in theory yes it's possible since Slate uses a float value for time. It's already possible to switch between "frames" and "seconds" in the editor window. Setting to frames has the effect you are describing, by setting a target frames-per-second and then drawing guidelines and snapping objects to that interval.

    It would obviously require some customisation to the source code, which is included in the package and is editable. The only caveat being that if you modify it and then want to update to a later version of Slate, your changes will be overwritten.

    My personal experience with Slate is that it is very well written and easy to modify.
     
  30. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    @nuverian to make head look at component work I have to move track with this component above animator track, Please add it to documentation, I lost few hours to figure it out...
     
    Last edited: Mar 9, 2018
  31. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    @Everyone. Please try to use the official Slate forums for faster support.
    Thank you.
    @zelmund Once after you have created an Actor Group, by for example drag&drop your gameobject in the Slate window, simply click the "+" icon in the header of that Actor Group created and select "Add Track/Animator Track".

    @kubaskia I have replied to your email regarding some of your questions. Please let me know in email or open a thread in the official forums if you are still encountering any issues. It's really hard to track and correctly support multiple questions in this monolithic big thread.
    - The fact that LipSync bone-based emotions do not work in Slate, is because LipSync does not provide any API for controlling the bone- based emotions the same way that is possible to do with blend-shape based emotions. I could make the bone-based emotions work in runtime only (no preview), but having a preview the same way as it is possible with blend-shape ones, I think it's not possible because there is simply no API to do that in LipSync that I know of. I might be able to come around another solution, but it's really a limitation in LipSync unfortunately. If the LipSync developer provides a uniform realtime preview for both bone and shape based emotions, I will immediately update the integration to leverage that capability.
    - I have updated the documentation to mention that the Head Look At, should be added above the Animator Track. Remember that in practice, everything that further animates the actor, should be above the Animator Track.
    Thanks!

    @Danirey Welcome back and Thanks! :) Slate already includes a similar system for semi-procedural composited shots called "Dynamic Shot Controller" which can be enabled from within each "Shot Clip" within a Camera Track, but is it some other kind of functionality that you are after regarding the integration with Cinemachine? If yes, can you please provide a bit more information regarding what type of control you are after between Slate and Cinemachine?
    Thanks!

    @MikeChr While there is not API to control this, it should be possible to do by changing the source code, but just like flashframe mentioned, it would then be hard to update to newer versions when the times comes.
    Would you please create a thread in the official Slate forums with a bit more information on what you want to achieve? We can then keep the discussion there flowing until a solution is found for your use case :)
    Thanks!

    @flashframe Thanks! :)
     
  32. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    @nuverian I will contact Lipsynch dev to implement such a feature. But what I could said that your system support realtime prview of emotion (on bones based) if we just play lipsynch data audio.

    Sure I will contact you in future by e-mail, sorry but we are using almost 20 big systems from asset store(including your slate) and it is impossible for us to reggister on forum of every system etc. Its faster to contact by e-mail, or unity forum PW. One login, one password. I hope you dont mind If I will contact you by e-mail.
     
    Last edited: Mar 13, 2018
  33. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hello,
    Thanks for the follow up.
    Of course. Feel free to contact me by email for support. That is totally a valid option :)
    Thanks!
     
  34. namdo

    namdo

    Joined:
    Feb 23, 2015
    Posts:
    200
    Can you please explain how I can override the GUI. I dont want to have to keep changing the font size every time I write subtitles. I only want to change it once.

    I know I read here that you can subsribe to an event or something like that but I dont how that works. Can you please give me an example
     
  35. nuverian

    nuverian

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

    I have replied to your post in the Slate forums. Please let me know there.
    Thanks!
     
  36. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    For everyone that has missed it, the new version of Slate v1.8, has recently gone live on the Asset Store:
    The changes include the following:
    • New: Major Framework Refactoring.
    • New: Animator Track Layers (only v2017).
    • New: Animator Track Masks (only v2017).
    • New: Animator IK Control Clips for IK animation (only v2017).
    • New: Video Track. (only v2017).
    • New: Motion Trails editing now shows keyframes in scene view GUI.
    • New: Offline Rendering now supports MP4 and Audio again.
    • New: Camera Shots can now overlap for finer blending control.
    • New: Animated Properties are now automatically sorted by name.
    • New: “Pitch” control in Audio Clips.
    • New: Nested member (field/properties) are now possible to be animated.
    • Mod: Offline Rendering is now an extension (free) to make the main package lighter.
    • Fix: Cutscene Ping Pong wrap mode.
    • Fix: RectTransform now shows in animated property menu for proper selection.
    • Fix: “Raise Unity Event” clip inspector.
    As always. Have fun!
     
    Crossway likes this.
  37. LividTheDream

    LividTheDream

    Joined:
    Sep 29, 2012
    Posts:
    17
    Hi,

    Firstly, I'm loving using Slate. It's really easy to use!

    I just have one question... I'm spawning an actor in the cutscene. But how do I go about attaching a particle system (or other object) to it, so that I can have them follow the object and also control when they're active and not? There are options to set transform parent and so on, but those require a reference to an existing object.

    Also, I've noticed when I play a cutscene in editor ( game not running ) that has a clip which activates a gameobject it will leave it activated once I stop playing it, which becomes annoying as I need to deactivate all the relevant objects again before saving the scene.

    It would also be useful to have the following things exposed ( I can do it by modifying the code myself but obviously that makes updating a nuisance! ):
    • Increase the allowed playback speed of an animation from 2 to something larger, say 5.
    • A function to return an actor group by name, so that we can programmatically modify things like the reference mode at run time if needed. My need for that is that if I have reference mode to Use Original, scrubbing the timeline doesn't animate it, so I want to have it saved to use instance hide original and change to use original when I play.

    Thanks!
     
    Last edited: Apr 22, 2018
  38. nuverian

    nuverian

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

    Thanks a lot. I am glad you enjoy Slate and find it easy to use! :)

    - Right now, instantiating a gameobject from within the cutscene, does indeed have the limitation that it is impossible to reference that instanced gameobject from right within the cutscene. This will hopefully be resolved, once "Cutscene Parameters" and "Expressions" (ala After Effects), are introduced possibly in the next version.
    With "Cutscene Parameters" + "Expressions" it will be possible to also have an Actor Group for an instanced gameobject actor that was instanced from within the cutscene itself. At least I hope it will :)

    Thus, right now, it's best to instantiate actors that you want to also animate or interact with in the cutscene, from within the cutscene itself, but rather have the actor pre-instanced and enable/disable him as one of the solutions.

    - Hmm. Activating a gameobject even in editor should always correctly revert it's active state to it's original. If it does not, then it's a bug. :) I tried replicating this but wasn't able to do so.
    What version of Slate are you using? Can you please post a screenshot of the cutscene in question? Are you using "Use Instance Hide Original"?

    - Regarding your requests:
    • I've increased the max playback speed to 5. Thankfully that's easy :)
    • I have already added a function for that a few days back. Here is the code (to be added in Cutscene.cs) if you want to use it now:
    Code (CSharp):
    1.         ///Providing a path to the element in the order of Group->Track->Clip, like for example ("MyGroup/MyTrack/MyClip"), returns that element.
    2.         public T FindElement<T>(string path) where T:IDirectable{ return (T)FindElement(path); }
    3.         ///Providing a path to the element in the order of Group->Track->Clip, like for example ("MyGroup/MyTrack/MyClip"), returns that element.
    4.         public IDirectable FindElement(string path){
    5.             var split = path.Split('/');
    6.             var result = groups.FirstOrDefault(g => g.name.ToLower() == split[0].ToLower()) as IDirectable;
    7.             if (result != null){
    8.                 for (var i = 1; i < split.Length; i++){
    9.                     result = result.FindChild(split[i]);
    10.                     if (result == null){
    11.                         break;
    12.                     }
    13.                 }
    14.             }
    15.  
    16.             if (result == null){
    17.                 Debug.LogWarning(string.Format("Cutscene element path to '{0}', was not found", path));
    18.             }
    19.  
    20.             return result;
    21.         }

    Let me know on the above.
    Thanks!
     
  39. flashframe

    flashframe

    Joined:
    Feb 10, 2015
    Posts:
    789

    Hey @nuverian!

    Could you give a little more detail about the major framework refactoring? I'm using version 1.7 and have made some customisation to some of the core Slate scripts. Just wanted to have an idea of what has changed before updating and having to redo those edits.

    Thanks!
     
  40. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hey @flashframe !
    The framework refactoring done in the latest version are not things that would be instantly visible or would affect the current workflow of the tool in any major way, but would rather make future development easier/better in some certain aspects of the tool (more specifically regarding the Animated Parameters). Thus, if none of the other cool :p features that made it into the latest version are important to your project and you would rather keep your own custom code changes, then the refactoring itself would not be a reason to update.
    If you do chose to update though, then the API has not really changed, thus you could redo your custom code changes easily. If by the way you think that your changes are things that could be "nice to have" officially in Slate, just let me know what those things are if you want ;)

    Thanks!
     
  41. flashframe

    flashframe

    Joined:
    Feb 10, 2015
    Posts:
    789
    Hi @nuverian! Great thanks for the response. I think I'll stick with 1.7 (probably until we release, which is getting close!!)

    Most of the modifications I've made are very specific to our project and my camera system etc, so wouldn't be any use to anyone else.

    But I did add a few more keyboard shortcuts to the Cutscene editor window, to speed up editing cutscenes and make the experience a bit more like editing in After Effects. These all work well for my process and how I use Slate, but might not work well with everything Slate can support, but I'll list them in case you want to consider adding some of them:

    Right/Left arrows...............: Step back/forward 1 * snap interval
    (+ Shift)...............................: Step back/forward 10 * snap interval

    Alt + 8..................................: Add section at current time
    Alt + A.................................: Select all clips (useful when you can't box-select all clips at once because they don't fit on screen)

    Control + Click....................: Set cutscene end time to where you clicked. (Can't remember if I added this one or if it already existed, but I like it better than dragging the end caret)

    If ActionClip is selected:
    [ ].........................................: Move start/end of selected clip to current time (without resizing clip)
    (+CMD)................................: Move start/end point of current clip to current time (resizes clip)

    I / K......................................: Select nearest action clip up / down
    J / L.....................................: Select nearest action clip left / right

    Delete/Backspace..............: Delete selected action clip
    CMD + D..............................: Split selected clip at current time
    CMD + X..............................: Cut selected clip
    CMD + C..............................: Copy selected clip
    CMD + V..............................: Pasted clip form clipboard (obviously these ones only work if the track you are pasting to is of the same type - but it's useful when copy/pasting on the same track)


    If Cutscene Group selected:
    Up / Down arrows..............: Select previous / next group
    (+ Shift)...............................: Reorder groups


     
    Last edited: May 3, 2018
    nuverian likes this.
  42. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Hello is slate support unity 2018.1 already? How is going thing with turning on emotions with lipsynch when using bones blend shape?
     
  43. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,079
    My game is strongly based on Slate now. Cooooool asset I can't imagine what should I do without it! please keep this asset alive otherwise I'll be dead.

    Thanks for everything.
     
  44. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    ----
    I am sorry for the late replies everyone, but I don't visit Unity forums as frequently anymore since the Official Slate Forums exists for some time now :)
    ----


    Thank you for the list!
    I do indeed like some of the shortcuts you've made here and I will add them to a future version as well :)

    Slate does work with 2018 functional-wise, except that due to some Unity API changes (yet again), some of the icons can't be loaded and result into a null reference error due to missing icons. Of course that is something to be fixed soon.
    Regarding LipSync bone-based emotion and as per our discussion through emails (considering that I understood who you are correctly :) ), that is already in the works.
    Thanks!

    Thank you very much for your positive feedback! I am really glad to hear you are enjoying and using Slate in your project! Feel free to share anything you've made if you like with us :)
    Thanks again!
     
    ksam2 likes this.
  45. Etrain

    Etrain

    Joined:
    Nov 3, 2013
    Posts:
    11
    Last edited: Jun 7, 2018
    479813005, Danirey and nuverian like this.
  46. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Danirey and Etrain like this.
  47. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Hello. I contacted you by mail few times, but with no reply so writing here, When will be avaliable full dupport for lip synch bone based emotions? :)
     
  48. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,079
    Hello.
    About PlayMaker support there is a bad limitation. What if I have two FSM on my model? I need to set a bool variable to true on my second FSM. But slate doesn't ask which one of your FSM should I change.
     
    Last edited: Jun 28, 2018
  49. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hey,
    I have recently replied to your email. Thank you and sorry for the delay!

    Hey,
    Indeed, since 90% of the component types are really meant to be used once on the same gameobject, Slate is fetching the first found component of requested type that can be found on the gameobject instead of always requiring you to select the specific component. With that said, I could alter the playmaker clips so that an optional FSM name can also be provided as a way to distinguish between multiple FSMs attached on the same gameobject.
    Let me know what you think.
    Thanks.
     
    ksam2 likes this.
  50. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Sorry but I didnt recieve your mail, please send it again if you can.;)
     
    Last edited: Jul 3, 2018