Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on March 30, 2023, between 5 am & 1 pm EST, in the Performance Profiling Dev Blitz Day 2023 - Q&A forum and Discord where you can connect with our teams behind the Memory and CPU Profilers.
    Dismiss Notice

Question Playing a Timeline backwards with Rig Builder

Discussion in 'Animation' started by Camisado32, Mar 16, 2023.

  1. Camisado32

    Camisado32

    Joined:
    Jun 16, 2016
    Posts:
    5
    I am trying to create a set of cinematics that can be played forward and backwards so I am using a Timeline that controls all the characters in the scene. And to make the animations look more natural I have a Rig Builder on each of the characters with Multi-Aim Constraints. Everything works fine playing normally but I am unable to figure out how to get it to work backwards.

    I can just set the play speed with the Playable Director (director.playableGraph.GetRootPlayable(0).SetSpeed(playSpeed)) and everything looks right but that is "unsupported" and floods the log with assert failures.

    Otherwise, I think it is possible to create a Playable Graph to handle this but I have been unable to get it working correctly. Either only the Timeline animation or the Rig Builder seems to work, overriding the other.

    Does anyone have a suggestion for how I might get these to cooperate?
     
  2. Camisado32

    Camisado32

    Joined:
    Jun 16, 2016
    Posts:
    5
    Well... I spent way too long trying to mash the Timeline and Rig Builder Playable Graphs together in every way I could think with no luck. I am guessing that Rig Builder does something special that I can't replicate easily in manual update mode. So I tried leaving them both in GameTime mode, setting the Playable Director graph's speed to 0 and manually setting its time each frame. It seems to work and nothing complains but it feels like a hack and I'm not happy with it. Oh well.