Bugs and Feature Requests

Slate Forums Support Bugs and Feature Requests

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #1570
    anders
    Participant

    Hey Gavalakis!

    After months of using Slate, it remains my favourite Unity cutscene editor and couldn’t be more grateful for what it has enabled me to do with relative ease. It really is an incredible product! 😀

    That said, I’d be remiss if there still wasn’t a few things I’d like to see in a future release to help ease development, so here it goes!

    Bugs:

    • Set Transform Parent doesn’t maintain the world position of the object you’re trying to parent. As soon as the new parent is set (without any of the resets enabled), the object jumps to an offset position relative to the new parent, rather than simply maintaining its current world position, as you’d expect.
    • Disabling an animator track, then dragging it below Layer 0, will set its layer to -1. This track stays Layer -1 even if re-enabled and moved back on top of Layer 0. Workaround has been to add another Animation layer, which re-indexes each layer correctly.
    • Euler angles are used when storing the transform positions for the Animate Limb IK/Animate Look At IK (and probably others) instead of Quaternions. This leads to some undesirable tweens and blends at runtime.
    • When group selecting multiple tracks and keys with click and drag, keys in Properties tracks are not selectable and must be selected in a separate effort. This is a pain for mass offsetting actions and keys in a cutscene.
    • When zooming out in the timeline editor (aka scroll with mouse wheel), there is no clamp so eventually if you keep zooming out Unity will hang and not be recoverable. Admittedly, this is user error too 😛
    • Animation Events do not seem to fire at runtime when using an animation with events on slate Animator tracks.

    Feature requests:

    • Blending the animator component of an actor in and out of cutscenes to allow for seamless transitions from the Mecanim Controller to the Slate-controlled Mecanim track. For example, if our character has an idle running at runtime by default, we’d like to be able to blend this idle into Slate’s animations when the cutscene starts. Unity’s Timeline manages this quite well and this would be our #1 feature request by a mile.
    • Scene rotation widget when editing editor-generated transforms (without a gameobject) for IK tracks etc. Right now, rotations can only be done from the inspector value fields.
    • An option/shortcut combo to Extend the start of a clip without moving the keyframes from their time in the cutscene. Right now, when you drag to extend the start of a clip, the keyframes move with the track, offsetting them in the cutscene timeline. A Ctrl + Click + Drag option would be desirable here to leave the key frames in their original time in the cutscene, but still extend the track.
      Y-axis zoom to vertically shrink/expand all the tracks in the timeline editor. Ctrl + Scroll would be a good shortcut.
    • Ability to set a separate instance prefab from the actor when using the setting ‘Use Instance Hide Original’ on an Actor Group. For example, we have a player and actor prefab for our character. The player in the scene we want to hide at the start of a cutscene, and in their place, drop in a different prefab just for cutscenes.
    • Ability to quickly select the Actor’s Gameobject when scrubbing a cutscene. When viewing a non-playing cutscene, double clicking on an Actor Group in slate selects them in the hierarchy, but when you’re previewing/scrubbing a cutscene, this behavior is unfortunately disabled.
    • A global or at least cutscene global toggle to Enable/Disable the visualization of the virtual mesh gizmo. Alternatively, just turn off ALL the virtual meshes (from other cutscenes) whenever previewing a cutscene, so the scene is “clean”. It’s a great feature until it gets in the way and you have to go through each cutscene and actor group one by one to switch off the gizmo just to preview some shots cleanly.
    • Ability to paste a copied keyframe at the current timeline scrub position, rather than where the cursor is, when snapping is enabled. Basically, if I’m within a small deadzone of the scrubber caret when pasting a key, I expect the key to snap to precisely be on the scrubber’s position. In fact, I don’t think keyframes snap at all to the nearest interval when pasting, which I personally think should happen.
    • Clips to stop, pause, resume or change the playback/stop mode of a different cutscene that was initiated or playing before the current cutscene. (Currently using Raise Unity Event to do this, but it’s not as intuitive as a dedicated clip)

    Thanks again and I look forward to any future releases!

    Cheers,
    Anders.

    #1573
    Gavalakis
    Keymaster

    Hey!

    Thanks a lot for your very positive feedback! I really appreciate it and I am very glad you enjoy Slate! 🙂
    Please let me address some of your bugs and requests.

    – Hmm. I just re-tried Set Transform parent, and without any “resets” enabled, the object maintains it’s original world position :/
    – When disabling Animator Track and the layer index is a known issue which I try to fix. A faster workaround right now, would be to temporary re-order any animator track layer to make the index refresh. Still…a bug that needs fixing.
    – Indeed, I opted for Euler angles due to being human understandable to alter in the inspector manually. Are those undesirable rotations only caused in runtime? If so I think I know what the problem is (that can still be resolved by storing Euler Angles as of now).
    – Rect selecting Property Track keys ALONG with clips or other Property Track keys, is unfortunately super hard to implement with lots of refactors required. The current “way” of offseting everything (clips and property track keys) together, is by creating a “Section” at the time required to offset, and then SHIFT+Click and Drag that Section to offset everything after it.
    – Yeah. Maybe I will need to add a max zoom out even if that would be 1 hour duration 🙂
    – Animation Events not firing is mostly an issue in how Unity’s Playables API works when a Animator Controller is not assigned to the Animator Component, but to make Animation Events fire, you can create an Animator Controller (even if a dummy empty one) and assign it to the Animator. This way, the Animator will be “tricked” and the events will fire normally 🙂

    – Animator blending in/out of cutscene, is indeed in the roadmap 🙂
    – Rotation gizmos is something I would like, but for that, I will have to change the rotations from being a Vector3 to a Quaternion, like you said, but in this case though, changing rotation from within inspector will not be possible since quaternions x,y,z,w don’t really make any sense in manual editing.
    – Extending the start of the clip without moving keys is a good idea :). Ctlr+Click+Drag is currently bound to changing the Blend In/Out of the clip, while Shift+Click+Drag is bound to Retiming the clip. I will have to come up with another shortcut!
    – Regarding vertical zoom, are you referring to Property Tracks specifically?
    – Regarding using a separate prefab. Hmm. You can use the prefab directly as the Actor of the cutscene (along with the “Use Instance Hide Original” option). This will instantiate the prefab for the duration of the cutscene and destroy that instance when the cutscene is stopped. Did I misunderstood the use case?
    – Quick selecting the actor, can also be done by double clicking any Clip 😉
    – I have just made it so that the Actor Gizmos are only displayed for the currently cutscene being edited. Thanks for suggestion.
    – I have also just added a “Paste Key At Scrub Time” option on the right click menu. Works for both single or multiple pasting of keys.
    – Can you please elaborate a bit further on your last suggestion? 🙂

    Thanks!

    Join us on Discord: https://discord.gg/97q2Rjh

    #1574
    anders
    Participant

    Thank you for the detailed response!!

    – Hmm. I just re-tried Set Transform parent, and without any “resets” enabled, the object maintains it’s original world position :/

    Ok upon further debugging it appears to only happen when the object with a Set Parent Transform action also has an Animator component with root motion active in the cutscene too.

    – Indeed, I opted for Euler angles due to being human understandable to alter in the inspector manually. Are those undesirable rotations only caused in runtime? If so I think I know what the problem is (that can still be resolved by storing Euler Angles as of now).

    Yes, this is only an issue at runtime. The animations behave as expected in the editor.

    – Rect selecting Property Track keys ALONG with clips or other Property Track keys, is unfortunately super hard to implement with lots of refactors required. The current “way” of offseting everything (clips and property track keys) together, is by creating a “Section” at the time required to offset, and then SHIFT+Click and Drag that Section to offset everything after it.

    I always forget about this! Also we’ve found using Action Track and Set Property to be a better solution than a dedicated Property track. I’d almost say it’d be worthwhile deprecating the Property track for a future release and point people towards action tracks.

    – Yeah. Maybe I will need to add a max zoom out even if that would be 1 hour duration ?

    That’d be great! It’s a habit of mine to just scroll continuously when I’m thinking and it’s caught me out a few times!

    – Animation Events not firing is mostly an issue in how Unity’s Playables API works when a Animator Controller is not assigned to the Animator Component, but to make Animation Events fire, you can create an Animator Controller (even if a dummy empty one) and assign it to the Animator. This way, the Animator will be “tricked” and the events will fire normally ?

    Cool Ok I’ll give this a go!

    – Animator blending in/out of cutscene, is indeed in the roadmap ?

    Is this roadmap public? Would love to see where you intend to take the product!

    – Rotation gizmos is something I would like, but for that, I will have to change the rotations from being a Vector3 to a Quaternion, like you said, but in this case though, changing rotation from within inspector will not be possible since quaternions x,y,z,w don’t really make any sense in manual editing.

    That’s fair, I’m a visual editor who’d prefer to move an object than set a value, but I understand not everyone is like that.
    Can you use Unity’s transform logic here? Store as Quaternion, but present and make editable as Euler?

    – Extending the start of the clip without moving keys is a good idea :). Ctlr+Click+Drag is currently bound to changing the Blend In/Out of the clip, while Shift+Click+Drag is bound to Retiming the clip. I will have to come up with another shortcut!

    That’s true. Rather than key shortcuts, what if each of these behaviours were cursor-changing tools akin to professional video editing software? Adobe Premiere, for example, has the default behaviour where the cursor extends/contracts clips, but then it has tools like Slide where it keeps the position of the clip in place, but offsets the timing of the footage within. With that logic, Slate could have the default behaviour, but then a button and shortcut to activate a Slide tool that offsets just the keyframes and not the clip itself. Another tool could do what Shift + Drag does, which is Retime the keys.

    Obviously this is a lot of rework, but just a thought! I’d also be happy with a simple shortcut too 😉

    – Regarding vertical zoom, are you referring to Property Tracks specifically?

    This is for the entire timeline viewer, preferably each track. For instance, Shift+Scroll in Premiere over the tracks expands and contracts them, adding thumbnails or removing them based on the height of the track. A similar feature in Slate to quickly contract all the tracks of a cutscene so I can, at a glance, check timings or align two clips that would otherwise not be in the same window without significantly expanding the entire editor window.

    Alternatively, or perhaps additionally, a lock-to-top right-click option that locks the track to the top of the editor so you can easily use it as a reference track for timing.

    – Regarding using a separate prefab. Hmm. You can use the prefab directly as the Actor of the cutscene (along with the “Use Instance Hide Original” option). This will instantiate the prefab for the duration of the cutscene and destroy that instance when the cutscene is stopped. Did I misunderstood the use case?

    This isn’t a big issue, so I wouldn’t dwell on it, but our cutscene actors are highly simplified versions of our scene actors, so they have different prefabs. As such, it requires us to switch off the scene actor at the first frame of every cutscene to avoid doubling up characters because we need to instantiate the Cutscene actor. It works and isn’t hard to do, but ideally there’d be an option to Replace [GAMEOBJECT_A] with [GAMEOBJECT_B] for Cutscenes, and then have that revert at the end.

    – Quick selecting the actor, can also be done by double clicking any Clip ?

    Oh man I knew there had to be an easier way! Thanks!

    – I have just made it so that the Actor Gizmos are only displayed for the currently cutscene being edited. Thanks for suggestion.

    – I have also just added a “Paste Key At Scrub Time” option on the right click menu. Works for both single or multiple pasting of keys.

    Perfect! Look forward to these changes.

    – Can you please elaborate a bit further on your last suggestion? ?

    We’d like more control over other Slate cutscenes from within Slate. Whilst there is an embed cutscene feature, it doesn’t (to my knowledge) let you call stop on a cutscene that was already running, for example. Or change a cutscene that was looping to stop looping at the end of its current cycle. Or tell another timeline to play in reverse. That kind of control with Director action clips would be great.

    Hope that makes sense

    Thanks again for your time and effort!

    #1602
    anders
    Participant

    Few more feature requests while I think of them:

    Features:

    – Select multiple clips or tracks using CTRL + CLICK.
    – Animation weight property for each clip and/or track.
    – Shortcut or way to “Slide” a clip to only affect the clip offset when dragging or trimming in the timeline.

    Bugs:

    – Stretch fit clip disregards any existing blends on the clip and gets rid of them. Would be good if the blends stayed in place and the stretch only happened on any non-tethered ends of the clip.

    #1606
    Gavalakis
    Keymaster

    Hello again 🙂

    1. CTLR + CLICK already works for selecting/deselecting multiple clips 🙂
    2. I have just added animation weight property in Animator Track.
    3. If I understood correctly, that would be hard, but I can take a look at this.

    1. Fixed 🙂

    Thanks!

    Join us on Discord: https://discord.gg/97q2Rjh

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.