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. BoboShu

    BoboShu

    Joined:
    Nov 20, 2014
    Posts:
    38
    unity5.6.0f3
    AnimatorTrack has error on UnityEngine.Experimental.Director
     
  2. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hello,
    The new Slate version 1.7.0 supporting Unity 5.6 is already submitted and pending review by the asset store team.
    Anyone who wants though, can send an email to support_AT_paradoxnotion.com along with your order ID to get it now, so that you don't have to wait for it to appear on the asset store.
    Thank you.
     
    Crossway likes this.
  3. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    The new SLATE version 1.7.0 has recently gone live on the asset store!
    Following are the changes.

    Dynamic Shot Controller
    Probably one of the most requested features was to integrate cinemachine, or create something similar right within Slate. I opted for the second, so that the system is tightly connected to Slate and all stay within one product.
    So from Slate version 1.7.0, there is now the ability for shots to be dynamically directed using the Dynamic Shot Controller feature! The feature is introduced as a beta in this version.

    The Dynamic Shot Controller, can be used to dynamically control the position and/or rotation of the shot based on a Position and/or Aim Constraint. Currently there is one type of constraint each for Position and Aim.
    Offset Tracking (position), is used to constrain (aka mount) the shot at an offset from a target transform and move along with it either in World or Local space.
    Composition (aim), is used to maintain a specified local location and interest area of a target transform, within a desired frame on screen.

    It is of course possible to only enable Aim Constraint and freely keyframe position of the Shot, or vice-verse, as well as use the existing "SteadyCam" effect on top of this.
    DynamicShotController.png

    Bellow is a simple usage (of the above settings) and without keyframes involved.
    The white rectangle is the desired frame.
    The green point is the target offseted location from the target transform.
    The green rectangle is the final desired area of interest to stay within frame.
    The shot is also position constraint to the target with an offset in World space.
    DynamicShotController2.gif

    Probably needless to say, but this is totally previewable in the editor.
    I am personally quite happy with how it turned out, but certainly looking forward to your thoughts and suggestions once you try this. Once again, this is a beta feature, so maybe there are some issues (hopefully not!)

    Track Locking
    Tracks and groups are now possible to be locked and thus any clip modifications or selectability will be impossible for those tracks. Both locking and disabling tracks/groups, now has icons and useful overlay graphics.
    DisabledLocked.png

    Animator Track Changes
    There have been some improvements to the Animator Track and clips. Specifically:
    • The Animator Track will now use the first Animator component found within the hierarchy of the actor (or the actor itself of course). Thus it's possible to use the Animator from children of the actor without referencing the child directly.
    • A new Animatable Parameter named "Steer Local Rotation" has been added in Animator Clips, which can be used to rotate the actor while using it's root motion. This is how the character in the above gif animation example is rotating. This can be very useful for walk/run or other similar animations.
    • Parameters of Animator Runtime Controller (if any assigned), are now stored and restored when the cutscene is finished.
    • "Playback Speed" parameter has now been added in Animator Clips.
    Other Changes

    New:

    • Unity 5.6 support.
    • Added new StopMode called "SkipRewindNoUndo". This is a combination of Skip and Rewind modes, but it also rewinds the cutscene without undoing any changes it affected, thus keeping them as finalized.
    • Shot Clips now display their name within the clip, if that name is not the default.
    • Dragging clips are now snapped to nearby clips at a 0.1 interval.
    • New created keyframes tangent mode, is now set based on the neighbor keyframes (previous/next).
    • Tracks can now be duplicated.
    • Added option to "Ignore FOV Changes" in Director Camera. Useful for VR, so that the device FOV is used.
    Mods:
    • Director Camera options no longer make use of PlayerPrefs and are now serialized in the Director Camera instance. Please note that this will reset your options! Even if they are few, please re-check them once you update.
    • Moving Sections with Shift key down (ripple mode), now also shifts keyframes in Properties Tracks (if not locked).
    • UI based clips (subtitles, fades etc) will now work independent of whether or not a Camera Track exists in the cutscene.
    • Using Depth Of Field (from Unity's Cinematic Image Effects), now requires a Scripting Define Symbol to be added in the Unity Player setting ("SLATE_USE_DOF").
    • Alembic support is now a separate downloadable extension. This is done for size, easier library management and conflicts avoidance.
    • MP4 and GIF offline rendering formats are now deprecated.
    • "Auto First Key" preference option is now deprecated.
    Fixes:
    • Fixed Instantiate Object working unexpectidly when the "Optional Parent" is set.
    • Split Clip command will now create keyframes at split point, only for already animated parameters (those that have at least 1 keyframe).
    • Fixed crash when Legacy Animation clip Playback Speed was negative :_)
    • Some other minor things.

    Enjoy!
     
    Last edited: Apr 10, 2017
  4. Martin_Charriere

    Martin_Charriere

    Joined:
    Dec 27, 2013
    Posts:
    8
    Hi thanks for the great update !

    After using Slate quite a lot in production these last weeks I have a couple of things that I think could help make SLATE even better I though I'd share it here

    When selecting ang moving several clip/tracks at the same time, for the time beeing it's impossible to move them out of the SLATE window range. I often need to select and move several clip at the same time and I have to resize the window to have them all showing completely in the SLATE window. Making it impossible to move them precisely, especially if they are long. I would like to be able to move the clips even if the end of one of the clip is not visible in the SLATE window. This is actually pretty annoying ahah.

    Second thing is when resizing/retiming a clip. I often want to extend a clip from its base. When doing so, at the moment, the keyframes of the clip are dragged with the clip. I would like them to stay in place. I only would like my keyframes to move if i move the clip, not when i extend it from the base.

    Last thing is about moving keyframes from differents clips together. It would be really useful to be able to move keyframe from different clip at the same time. It is possible to select them together but impossible to move them together. Also Snap doesnt work when selecting and dragging multiple (or one but with the click and drag selection) if i move a keyframe by clicking on it and moving it it snaps. If i click and drage to select the keyframe and then move the selection, there is no snapping

    I think these are core feature that everyone use in day to day basis and would be great improvement to the tool.

    Little bug too with editing keyframes values. When typing a new value in the graph view in the slate window and NOT in autokey. I select z value for example and type in a new value , the value displays in the Y field, same if I click and drag. I drag on the Z value, but the Y value is modified.

    Thanks for all the effort you put in the development ! Cheers
     
    Last edited: Apr 20, 2017
  5. alteredmatter

    alteredmatter

    Joined:
    Sep 14, 2016
    Posts:
    26
    Hi @nuverian, looks like a nice update.

    There are some additions there that we really needed, like the new 'Skip Rewind No Undo' skip method. :)


    One question regarding subtitles. What would be the best way to add them in SLATE? Normally I'm using a single audio clip and I would need separate sentences, so I guess the best option is to add different Overlay Text objects one after the other?

    I'm doing this right now, but I'm having problems changing the font of this text. I guess the font is specified in the DirectorGUI component in the Director Camera Root object, right?

    The problem is that adding the font in the Overlay Text Font doesn't seem to do anything, the text is drawn with the default font. I've looked at it both in the preview screen and in Play mode but it's always using the default one. However, If I add our font in the Subtitles Font, I can add subtitles to an Audio Clip and the font is the one I added.

    Is there something I'm missing?


    Also, regarding the DirectorGUI component, we've been having some kind of weird bug with it. If we enable it and hit Play in the Unity editor, Unity or Slate seems to delete the Director Camera Root object from the scene, playing the cutscene with a new Render Camera object (I suppose, because no other object appears on the hierarchy, and the cutscene is played without all the configuration and camera effects that were added to the Render Camera).

    If we start the scene with the DirectorGUI disabled, the component is enabled once the scene starts and everything runs fine (this happens now in version 1.7.0. I think in the previous version the scene started and the DirectorGUI component was left disabled, not showing any GUI element in the screen such as fade in transitions and so).

    This is happening with this DirectorCamera configuration:
    Math Main When Active : true
    Set Main When Active : true
    Auto Handle Active State : true
    everything else : false



    In addition, unfortunately we're still having the same crashes I told you about on the Xbox One (sometimes when a cutscene starts, sometimes when it ends, ...). I'd like to write this here as well in case someone has encountered a similar issue or could have some idea about what is causing them. Is there anyone else that has had or is having crashes in their games using SLATE on consoles or other devices?

    We're on Unity 5.4.2f2, using SLATE 1.7.0 now. We'll soon upgrade to Unity 5.6, so I'll write again if I see some improvements.
     
    Last edited: Apr 19, 2017
  6. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,240
    I just upgraded to the latest version of SLATE, and now I get a compiler error:

    Assets/ParadoxNotion/SLATE Cinematic Sequencer/Utility/UTJ/FrameCapturer/RecorderBase.cs(17,27): error CS0101: The namespace `Slate' already contains a definition for `ImageSequenceRecorder'

    What should I do? (Unity 5.5.3 on Mac 10.11.5)
     
  7. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,240
    Two other questions:

    1) I've set up a cross dissolve between two camera shots--but is there any way to have the camera position keep changing between the shots? I've got the camera moving forward in shot 1 and moving forward at the same speed in shot 2, but it pauses during the cross dissolve.

    2) I"ve got a character animation set to Ping-pong, but SLATE plays it as a regular looping animation. Any way to force ping-pong playback of a clip?
     
  8. alteredmatter

    alteredmatter

    Joined:
    Sep 14, 2016
    Posts:
    26
    Hi @gecko,

    I also had this warning when upgrading the asset. I believe it's something like the 'ImageSequenceRecorder' type is now defined in a new script or the script is now located in a different folder, but the previous one is left untouched.

    In my case, what I did is delete the whole ParadoxNotion folder and reimport the whole asset again, and no problems. In case you don't want to do that, I guess that removing the old file and just keeping the new one would suffice? I think it's only this that is happening, but better wait for the official answer so I don't screw up your files. :)
     
    Last edited: Apr 21, 2017
  9. nuverian

    nuverian

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

    Thanks a lot for your suggestions!

    - I just fixed the first one so that multiselected clips can now be moved outside of the editor range. I agree that this is now much better :)

    - It is a bit tricky, but I will try to somehow allow to scale a clip on the left side, while keeping it's keyframes fixed in time. I am mostly concerned about how to toggle this behaviour on/off, since control and shift keys are already used for other things, but it will probably be done with some shortcut like holding down a key while scaling the clip.

    - I will fix this so that snapping works even when moving multiple keys with the rect selection. About moving multiple keys from multiple clips at the same time, it is very tricky on how it can be done. I will try some ideas out and see how it works, but for this last suggestion I can't promise anything for certain :)

    Regarding the UI bug you mentioned about editing keyframe values, I can't replicate this here, but I have some idea as of why this is happening, which I will investigate.

    Thanks again for your suggestions and reports. I am glad you like Slate!
    Cheers!

    Hey!

    For subtitles that are not tied to an audio clip, I suggest that you use the "Captions" clip instead of the "Overlay Text" clip, since "Captions" clip is exactly what this was made for :)
    The "Captions" clip (and subtitles from AudioClips) both use the "Subtitle Font" in the DirectorGUI.
    The Overlay Text clip only, is using the "Overlay Text Font" in DirectorGUI. I just tested both and working fine using the custom provided font.
    Can you please confirm that using Captions is indeed using your custom font provided in "Subtitles Font" of DirectorGUI?

    I can confirm that if you enter PlayMode with DirectorGUI pre-enabled, it indeed causes DirectorRoot to be destroyed. This is of course a bug, which is now fixed! Thanks for pointing that out.

    Last but not least, about the xBox issue you are facing, I have replied to your email.
    Please let me know.

    Thanks!

    Hey,
    As @alteredmatter said, please do a clean install by deleting the existing Slate installation folder and re-import new version a-new.

    Let me address your questions:

    1) Right now it's not possible to have the previous camera still being animated while crossfade is happening, because the clips can't overlap (thus any keyframed animation stops by the end of the clip). But, for the next version, I am changing the way transitions work a bit and shot clips will be able to overlap between one another and thus what you are after will be possible.
    CrossBlendShots.png

    2) I suppose you are referring to the legacy animation system? If so, I will need to make some changes so that the wrap mode used in the AnimationClip is used. These are rather easy changes if you want to do them yourself now. If so, please open up PlayAnimationClip.cs and replace the lines of the closer at line #89, with the following:
    Code (CSharp):
    1.             if (length > animLength){
    2.                 if (animationClip.wrapMode == WrapMode.PingPong){
    3.                     state.wrapMode = WrapMode.PingPong;
    4.                     state.time = Mathf.PingPong(state.time - clipOffset, animationClip.length);
    5.                 } else {
    6.                     state.wrapMode = WrapMode.Loop;
    7.                     state.time = Mathf.Repeat(state.time - clipOffset, animationClip.length);
    8.                 }
    9.             }

    Let me know if that will work for you.
    Thanks!
     
  10. Martin_Charriere

    Martin_Charriere

    Joined:
    Dec 27, 2013
    Posts:
    8
    Awesome ! You rock !
     
    nuverian likes this.
  11. alteredmatter

    alteredmatter

    Joined:
    Sep 14, 2016
    Posts:
    26
    Hi, thanks for the answer.

    1) I've tried selecting a bunch of different fonts for the OverlayText, and it works fine with all these other ones. So I guess the problem is related to the specific font I was trying to use first.

    I've tried to use the Captions component, and all the fonts works fine here (even the one that doesn't work with OverlayText). However, right now I prefer using the OverlayText, as it gives more options to customize the text, such as size and position. Also, the Captions text is shown as italic by default, something I don't want to do.

    2) OK, I've tried the DirectorGUI fix you've sent me and it's working fine now!
     
    nuverian likes this.
  12. Ammattilainen

    Ammattilainen

    Joined:
    May 2, 2016
    Posts:
    4
    The plugin says that there's vr support, does it mean I can edit cinematics in vr? Or just view them?
     
    Last edited: Apr 26, 2017
  13. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Thanks for letting me know!


    Hello,
    By VR support, it means that cinematics are possible to view and will work with a VR headset for VR games/applications. Not editing. This is mentioned because there is special setup and considerations needed for that and most if not all other similar products I know of don't really support this.

    Thanks.
     
  14. blamejane

    blamejane

    Joined:
    Jul 8, 2013
    Posts:
    233
    I have a Cutscene which is the child element in a prefab. The prefab is instantiated at runtime. I have the following script attached to the cutscene, and use it to play the cutscene at runtime. I am unable to get the cutscene to play however, when using cutscene.Play() (see the PlayScene class method below).

    The _cutscene reference is updated in the Start method and is not null. However by the time PlayScene is called the _cutscene is null. Can you see something I'm doing wrong...

    Code (CSharp):
    1.  
    2. using UnityEngine;
    3. using UnityEngine.Events;
    4. using Slate;
    5.  
    6. // Interface for the ModelView
    7.  
    8. public interface IArmDetailCutSceneModelView
    9. {
    10.     void PlayScene();
    11.     void Dispose();
    12. }
    13.  
    14. // Implementation of the ModelView
    15.  
    16. public class ArmDetailCutSceneModelView : MonoBehaviour, IArmDetailCutSceneModelView
    17. {
    18.     public Cutscene _cutscene;
    19.     public UnityEvent onFinish;
    20.  
    21.     void Start()
    22.     {
    23.  
    24.         _cutscene = this.GetComponent<Cutscene> ();
    25.  
    26.         if (_cutscene == null)
    27.             Debug.Log("Cutscene is not provided");
    28.  
    29.     }
    30.  
    31.  
    32.     public void PlayScene()
    33.     {
    34.         // TEST 1 - Result is NullReferenceException
    35.         if (_cutscene == null)
    36.             Debug.Log("Cutscene is NULL");        // <-- This is printed to the console
    37.         else
    38.             Debug.Log("Cutscene is GOOD");
    39.  
    40.         _cutscene.Play();                       // <-- This causes NullReferenceException
    41.  
    42. /*
    43.         // TEST 2 - Works
    44.         Slate.Cutscene.Play(this.gameObject.name);     // <-- This one works
    45. */
    46. /*
    47.         // TEST 3 - Does not work log = "Cutscene already playing"
    48. //        var cutscene = GetComponent<Cutscene> ();
    49. //        cutscene.Play ();                            // <-- This call logs "Cutscene already playing"
    50. */
    51.  
    52.     }
    53.  
    54.     public void Dispose()
    55.     {
    56.         Destroy (this.gameObject);
    57.     }
    58.  
    59.  
    60. }
    61.  
    62.  
     
    Last edited: May 2, 2017
  15. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hey,
    Hmm that seems very weird. The code seems fine as well.
    Are you sure you are not destroying the Cutscene, or setting the "_cutscene" to null through any other code? :)
    Maybe you call your Dispose() just before or after PlayScene() and as such the cutscene is destroyed as well since you destroy the gameobject it is attached one ?
    Because otherwise this really should work.
     
  16. blamejane

    blamejane

    Joined:
    Jul 8, 2013
    Posts:
    233
    I'm definitely not destroying or calling Dispose on the cutscene. When I use Test 3 case, where I get the Cutscene component and then call cutscene.Play, the class Cutscene.cs line 313 logs "Cutscene is already Running". I ask why is cutscene running, it certainly doesn't look like it's running (visually I see nothing). This would be because the cutscene is setup to run/play on instantiation/startup, or because isActive is true for some reason. Where is isActive initialized? I will look into that.

    I also tried setting Director don't destroy on load, which (of course) didn't help. I also add the director game object as a child of the prefab to see if keeping the cutscene and directory together would help; again, it doesn't.

    EDIT: Something is definitely weird, I set the editor panel to debug and then checked the Cutscene isActive parameter is never True, so something is corrupt.

    EDIT 2: My bad, I was retrieving the cutscene interface component from the loaded prefab, not from the instantiated prefab.

    Basically...

    Code (CSharp):
    1.        
    2. _armDetailCutScene = _chair.GetComponentInChildren<IArmDetailCutSceneModelView> ();
    rather than...

    Code (CSharp):
    1.  
    2. _armDetailCutScene = chairPrefab.GetComponentInChildren<IArmDetailCutSceneModelView> ();
    3.  
     
    Last edited: May 3, 2017
  17. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Thanks for letting me know and I am glad you found the cause :)
     
  18. nutbomb

    nutbomb

    Joined:
    May 10, 2013
    Posts:
    4
    Hi thanks for your great tool !

    After using Slate quite a lot in my on-rail shooting games,could you please tell me how to apply headbob effect
    on an existing fly-by camera keyframe track? i tried to increasing the camera shot "steady cam effect" to 1, but that's not what i want, could you show me a way to achieve a headbob or handhold camera effect based on a existing keyed fly-by camera track?
     
  19. nuverian

    nuverian

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

    Thanks! I am glad you like Slate :)

    The following solution is not ideal, nor procedural like the SteadyCam effect, but it's one way to add more animation to an existing animated camera shot, that hopes it works for you for this case.

    1) Create a new gameobject (name it something like "Parent") and parent your existing Shot Camera to it.
    Bobing1.png

    2) Drag and drop "Parent" in editor to create a new Actor Group and add a Properties Track to animate it's position.
    Make the movement you want (for example up-down) and make it PingPong through the Gear button of the parameter.
    Bobing2.png

    In the end result, this up-down motion will be appended to your existing keyframed shot animation.

    Please let me know if that works for you.
    Thank you.
     
  20. vamky

    vamky

    Joined:
    Aug 9, 2014
    Posts:
    70
    Hi, Can we have a camera override option on sub cutscene? So when enabled and play sub cutscene, the camera shot track of the sub cutscene will kick in and temporally take over.
     
  21. irwit

    irwit

    Joined:
    Sep 30, 2014
    Posts:
    55
    Hi.

    Ive just bought your tool, installed, but theres no tools menu. I watched a video on youtube, it was in korean, showing how to use your tool and he has the tools menu in the top. How do I get this to show?

    Many thanks

    Will
     
  22. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hey,
    I will take a look at this feature and let you know on any updates :)
    Thanks for the suggestion.

    Hello,
    Are there any compile errors shown in the console by any chance?
    If not, have you tried restarting Unity? If yes, can you please post those errors here?
    Thank you.
     
  23. Phan-Nhung

    Phan-Nhung

    Joined:
    Dec 25, 2012
    Posts:
    15
    Hi nuverian,
    I'm a newbie in Unity and not good in programing.
    I have a project which is using Mix Mode Light. So the character I set layer to get Shadow and Tag name to control in my script.
    But when using Slate, I don't know how to set Tag/ Layer name of character when it Clone.
    Please help me.
    Thank you.
     
  24. nuverian

    nuverian

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

    Can you please clarify what you mean? Do you mean when cloning an object from within Slate with the included "Instantiate GameObject" clip, or about making a custom clip?
    What gameobject you want to set the Tag/Layer to and how do you clone it?

    Let me know.
    Thanks.
     
  25. Phan-Nhung

    Phan-Nhung

    Joined:
    Dec 25, 2012
    Posts:
    15
    Thank you for reply.
    When I used Slate , it auto clone my character with the same Tag/ Layer name.
    My character has animation, so I just want to change the Mesh Render(Skin Mesh Render) Tag name of "Instantiate GameObject" ( in "Cutscene" scirpt or my script is OK ) while Playing Slate.
     
  26. popMark

    popMark

    Joined:
    Apr 14, 2013
    Posts:
    114
    Hi @nuverian

    Still really liking slate. I'm using the animator track and I want to add another animation clip with an avatar mask, any suggestions about how to go about it? I'm up for major code modifications if needed
     
  27. vamky

    vamky

    Joined:
    Aug 9, 2014
    Posts:
    70
    Hi!

    How do you do a slow down and pause effect on the cutscene actors? For example, I want to make a fighting game sequence that one of the character will do a super attack, then both character slow down their motion but vfx will play at normal speed then character's motion will resume normal speed.
     
  28. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hey,
    Sorry for the late reply.
    I have attached for you here a new custom action clip which you can use to set the actor (or an actor's child) tag and/or layer. You can of course add this action clip at the start of the cutscene or add multiple of them if you want to set the tag/layer of multiple children of the actor.

    Let me know if that works for what you are after.
    Thanks.

    Hey,
    Sorry for the late reply and thanks a lot! I am glad to hear that.
    The ability to add multiple animator tracks with avatar mask is of course already planned, but will come only for Unity 2017+ since that will presumably be the first version in which Unity publicly exposes the API required to properly use layers for their new Playables API (which naturally Slate is using as well).
    Without this proper API by Unity, there are possibly a lot of ugly hacks required to achieve the same.
    So once Unity 2017 is released (or even sooner if you need so) I will implement this feature officially :)

    Hello,
    You can use the "Animate Time Scale" director clip to achieve a slow motion effect, but that will of course slow the whole game. Thus I have attached for you here (and will exist in next version) an new action clip "Animate Playback Speed", which will basically animate the playback speed of the cutscene only without affecting time scale and thuse anything else not affected by the cutscene itself.
    Once you import the package, the new action clip will be possible to be added in a Director Action Track and be found under the category "Utilities".
    Let me know if that works for you.
    Thanks.
     

    Attached Files:

    Phan-Nhung likes this.
  29. vamky

    vamky

    Joined:
    Aug 9, 2014
    Posts:
    70
    Wow, that's awesome! Thank you!
     
    nuverian likes this.
  30. emosia

    emosia

    Joined:
    Feb 19, 2013
    Posts:
    11
    Hi, how are you?
    I have a question about animator track. The root motion doesn't work if I enable a disabled object with an "enable actor" node before animation. It works well otherwise. You can see screenshot if you don't understand what I mean. Weirdly enough, it sometimes work if the node is at the start of timeline. However, it definitely doesn't work if it is not at the start.
    Also, I can't make it work the preview future of CaronteFX plugin with the latest updates. Do you plan to update it?
    And one last thing, is it possible to use 3D audio in audio track with specific position inputs? There is not really a point to make it 3D without moving them.
    Thank you for your answers in advance :)
     

    Attached Files:

    Last edited: May 31, 2017
  31. me-not-you

    me-not-you

    Joined:
    Jul 14, 2015
    Posts:
    6
    Hi Guys,

    I just wanted to know if there is any way of animating the parameters of the new post process stack? I can't seem to access the values as it references a .asset file via a script so it's not resident in the scene.

    Cheers.
     
  32. flashframe

    flashframe

    Joined:
    Feb 10, 2015
    Posts:
    789
    You'd might need to create a custom animation clip, but you can modify the variables of a scriptable object (which is how the processing stack settings are stored) just like any other object in Unity. You just have to be careful, since changes to scriptable objects don't reset when you stop the game, so you'd probably want to create a copy first.

    If you want a head start, someone already created an editor for the Processing Stack, so you could hook that into Slate.

    https://github.com/keijiro/PostProcessingUtilities
     
    nuverian likes this.
  33. Phan-Nhung

    Phan-Nhung

    Joined:
    Dec 25, 2012
    Posts:
    15
    Thank you so much
     
    nuverian likes this.
  34. me-not-you

    me-not-you

    Joined:
    Jul 14, 2015
    Posts:
    6

    Thanks I'll give this a shot, looks pretty sweet.
     
  35. nuverian

    nuverian

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

    Sorry for the late reply.
    There is indeed such a limitation right now where if the actor is pre-disabled at the start of the cutscene, the root motion will not work. That is because the root motion is pre-baked to allow for a continuous root motion even between different clips (instead of having to set the offset for each clip independently) . I can PM you a code quick fix if you want for a work around this limitation. Just let me know if you want so.

    Regarding CaronteFX, I've just updated to the latest version of CaronteFX to confirm, and everything seems to still be working with the current Slate integration and previews. I've tested out the CaronteFX included example scenes. Can you please let me know what seems to not be working correctly?

    Regarding using 3D Audio, there is an option added in the Audio Tracks added on an Actor Group to "Use Audio Source On Actor". By enabling that option, the audio source component already attached on the actor will be used instead of an automatically created one. Please let me know if you mean something different :)

    Thanks!

    The new post-process stack is definitely great, but it made it a bit difficult to directly animate it's properties due to how it works. As such an intermediate "bridge" script would be required to be created and attached to the camera for the purpose of animating, very similar to what @flashframe suggested (Thanks!), or a custom Slate Clip to be created for that purpose, which I would gladly help you with!

    The next version of Slate by the way, will already be integrated with Unity's new post-processing stack as far the Camera Shot Clip's depth of field parameters go (Focal Point and Focal Range), which means that it will be possible to easy animate the post-processing stack Depth of Field, simply by animating the parameters already found on the Camera Shot Clip.

    Thanks!


    You are very welcome!
     
  36. emosia

    emosia

    Joined:
    Feb 19, 2013
    Posts:
    11
    I would love to get the quick fix about the root motion issue. I created some workarounds like putting objects in a parent and enable them, but they are not reliable.
    About the CaronteFX, I have seen your gif on this forum and you can slide and preview the animation on the editor. Although I am using CaronteFX track and put my animation on it, it doesn't work. Am I doing this wrong?
    Finally thanks for the 3D audio tip, something I didn't know about.
    Thank you...
     
  37. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hey,
    Sorry for the late reply! I have just PMed you the fix to the root motion problem you are facing.
    Please let me know if that works for you.
    Regarding CaronteFX, are you using "CR Animation Asset" or "Text Asset" for the animations?
    Do the included example CaronteFX animation scenes like work for you correctly in that you are able to preview them?

    Let me know.
    Thanks!
     
  38. Martin_Charriere

    Martin_Charriere

    Joined:
    Dec 27, 2013
    Posts:
    8
    Hello,

    I encounter an issue when selecting a property on Animate Properties clip.

    I have a game object containing 11 prefabs in my hierachy. I set the gameobject (the parent) as the Actor of the Action track.

    I then added a new Animate Properties track. When I click on Add property, Unity freeze and I need to shut it down though task manager.

    If I select the child (the prefab) directly as the actor of the track and then add a clip, when a clic on Add Property, it works fine altghough the loading time of the popup window is already long. For information my prefab contains a lot of elements. (about 150)

    Do you have any idea why it freezes ?

    It also seems like the Animate property clip does not take in account the actual position of the gameobject. Which is a bit annoying is there a way to animate the selected property from their initial transform values ?

    Thanks in advance !

    Martin
     

    Attached Files:

    Last edited: Jun 19, 2017
  39. nuverian

    nuverian

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

    I successfully reproduced this. Unity does not crash, but it rather takes forever to recover due to huge amounts of error logs popped when the actor has thousand of children objects as a total. Then finally, the errors logged are similar to this:
    "Failed to insert item. Name: Position, Command: 18245"
    "Failed to insert item. Name: Rotation, Command: 18246"
    etc...

    Digging a bit deeper into this, it looks like to be a Unity issue with showing a GenericMenu (which is used to show the popup menu for property selection). Apparently the Unity GenericMenu seems to not be able to handle and show as context that many thousands of total elements within. I will need to ask Unity about this, and most probably will need to create a custom popup to avoid this. :/

    Regarding your last question, in the new version of Slate soon, the AnimateProperties clip will have BlendIn and BlendOut parameters like other clips do. Thus introducing a BlendIn for example, will make the animated properties be blended from their existing values, into the keyframed ones, pretty much like you suggest here.
    Introducing a BlendOut on the other hand, will make them blend FROM keyframed values, back to their original.
    This feature is already implemented and I am pretty happy about it especially because no other sequencer I know of does this ;-)

    (Once again, I will try to squeeze in a custom popup in the next version, since the Unity's Generic Menu seems to have issues with thousands of elements.)

    Thanks!
     
  40. Martin_Charriere

    Martin_Charriere

    Joined:
    Dec 27, 2013
    Posts:
    8
    Awesome! Thanks, yeah it looks as if you need to deal with a lot of constraints from Unity editor ahah not always very solid on their side it seems. Anyway thanks a lot can't wait to try the new version ;)
     
    nuverian likes this.
  41. BoboShu

    BoboShu

    Joined:
    Nov 20, 2014
    Posts:
    38
    unity 2017.1.0f3
    namespace `UnityEngine.Experimental error
     
  42. RobertOne

    RobertOne

    Joined:
    Feb 5, 2014
    Posts:
    258
    i just bought slate.. its awesome! i havent digged threw all possibilities and functionalities but so far its damn nice!
    i have two questions:
    how can i disable the motion gizmos? you know, the black dots. i always move them around accidentally and destroy my animation.
    can i export a animation i made with slate to a.. animation? so for example i animate a cube and move him around and so on and after that i wanna export this animation so i could use it in mecanim and potentially export it to a project that dont have slate?
     
  43. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hello,
    The last version currently on the asset store now supports Unity 2017.
    Thanks!


    Hello and thanks a lot for your positive feedback! :)

    Right now the motion trail gizmos (3D Curve Editor) only shows when you have the relevant clip selected in the editor, or the Properties Track fold open. So if you either deselect the clip or close the Properties Track fold, the 3D Curve Editor will be disabled. If you are suggesting a toggle button to show/hide the 3D Curve Editor even while the relevant clip is selected or Properties Track open, I can certainly add this in the next version :)

    Regarding saving/exporting animations made in Slate to Unity's native AnimationClip file, this is something that is not possible now, but already on the road map. I can put this up higher in the priority list if this is something you need though :)

    Let me know.
    Thanks again!
     
  44. yotingo

    yotingo

    Joined:
    Jul 10, 2013
    Posts:
    44
    Hi,

    I've run into a problem. On scene start, the Render Camera and Director Camera Root are both destroyed. I have a simple scene and see nothing that would be causing this to happen.

    Is there an option in Slate that destroys the Director Camera Root when the game starts? Why is it disappearing?

    Edit - I'm not sure if it is related but I receive the following error message when the scene starts:
    "Some objects were not cleaned up when closing the scene."
     
    Last edited: Jul 19, 2017
  45. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Hello, I see your editor is on sale, Great, but I have a question because as we know there is now unity 2017 with Cutscene editor, why I should use your slate not unity internal editor? :) Just asking because it is hard to decide now (I think more people will ask about it ) Next question is your editor work with Unity 2017? :) Thanks
     
    jdraper3 likes this.
  46. jdraper3

    jdraper3

    Joined:
    May 28, 2015
    Posts:
    117
    I bought slate but haven't had a chance to test it yet. If someone who has used both could maybe share a few details of how it compares to the new unity timeline editor, that'd be great! :)
     
  47. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hello,
    If the "Director Camera" option named "DontDestroyOnLoad" is set to true in it's inspector, the "Director Camera Root" gameobject will automatically be moved to a new scene that is created in runtime by Unity, which scene is also named after "DontDestroyOnLoad". So it might seem like it's being destroyed, but it is rather moved to another scene, which is just how Unity handles objects that are set to DontDestroyOnLoad.
    DontDestroyOnLoad.png

    Can you please confirm that this is indeed the case?
    Thank you.


    Hello guys,

    Yes, Slate works fine with Unity 2017 as of latest Slate version that is currently on the Asset Store!
    As for why use Slate even though Unity now has Timeline editor, here are some bullet points I can quickly think of :)
    • Slate comes with dozens of built-in Action Clips to animate things like Time, Lighting, Fog, Raise Cutscene Events, animate Screen Fade, Show Overlay Images, Subtitles, animate Character Blend Shapes and Expressions or animate Head Look At direction, Animate Material colors/textures/properties and so on (as well as of course any other component property like Timeline does), all with realtime editor preview. On top of these, Slate already integrates with several third party assets like LipSync, Spine, FinalIK, Playmaker, NodeCanvas, Dialogue System For Unity and more.
      Unity Timeline does not really have any of the above built-in (at least right now), and even though you can potentially create such custom clips by yourself using Timeline's API if you feel like so, it will be a lot of work :) .
    • Slate has an actual Camera Track/System which makes creating keyframed shots very fast, while Timeline right now, only relies on using Cinemachine along with it for creating procedural animated shots as far as cameras go, and creating non-procedural, or partially-procedural shots, while possible, it is convoluted due to the requirement of creating separate tracks for each shot you want to animate. In Slate, this is not the case and everything is packed within a single Camera Track and it's clips where each clip represent one shot altogether which also contains the shot animation.
      On the other hand recent versions of Slate can also do procedural animated shots similar to Cinemachine, even though Cinemachine is still somewhat more advanced in some aspects at the moment.
    • Audio Track Clips in Slate are previewed/played in the editor while scrubbing and their volume or pan for example can also be animated with ease directly within the clip. In Timeline audio is not preview-able now and to animate volume for example, you need a separate track.
    • Slate has a 3D Curve Editor to edit transformation-based animation curves and keyframes directly within the Scene View, similar to what software like Cinema4D, or AFX have to Motion Trails.
    • Slate has an embedded DopeSheet directly within the cutscene editor to manipulate keyframes faster and in context of the current editing time of the cutscene, while in Timeline a DopeSheet is only available through a separate Animation Window, which I find somewhat non-intuitive.
    • Slate is designed in a way so that a Cutscene can potentially be reused and be played-back at any different position/orientation with all transformation-based keyframed animation adjusted accordingly, simply by moving the Cutscene root gameobject, but without requiring the animated objects to be children of that cutscene.
    • Slate also has quite a number of other useful workflow features which Timeline does not at the moment, like Ripple Move Action Clips, Scale/Retime single or multiple selected Action Clips, non Auto-Key Mode option, Cutscene Sections, Virtual Actor References, or Camera Shot Thumbnails to name a few.
    All in all, Timeline definitely has a different design direction than Slate has eitherway and it's own advantages of course, but even when (and if) Timeline implements features that I personally think it currently lacks, Slate will still be around and I will continue working on it to offer a different approach, workflow and feature-set for creating in-game cutscene or cinematics in Unity with ease. :)

    Just like @TonyLi said some time ago in this thread, even though Unity now has a "new" UI system, NGUI is still around and a lot of people are still using it. Both can achieve UI. They just do it differently. ;)

    If you have any specific comparison questions, or need any clarifications, just let me know.
    Thanks!
     
    Last edited: Jul 25, 2017
    TeagansDad and jdraper3 like this.
  48. jdraper3

    jdraper3

    Joined:
    May 28, 2015
    Posts:
    117
    Thanks for the info! Based on that, I'll stick with Slate for now. Even though It doesnt integrate with cinemachine, the workflow looks a lot better imo.
     
  49. yotingo

    yotingo

    Joined:
    Jul 10, 2013
    Posts:
    44
    Hi, thanks for the reply!

    "Don'tDestroyOnLoad" is not checked in the inspector.

    Here is the scene:


    And here it is in Play Mode:


    The Director Camera Root and Render Camera both disappear for no apparent reason. Perhaps it is related to the error message?

    "Some objects were not cleaned up when closing the scene. (Did you spawn new GameObjects from OnDestroy?)"

    The error shows when I press Play.
     
  50. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    647
    Thank you nuverian :0 I bought your Slate few minutes ago, You have rightI think you unity timeline for a long time wont get free components to make a lot of thinks with that. For now I saw only basic actions. My last question is. Is your slate actualy support new Unity UI already? You said some time ago you are working on that ;)