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

Feature Request Ability to "play" selected timeline in Sequences hierarchy to render it without rendering everything

Discussion in 'Timeline' started by akent99, Oct 28, 2022.

  1. akent99

    akent99

    Joined:
    Jan 14, 2018
    Posts:
    588
    I am using Sequences to create an animated cartoon. I have a hierarchy of Master Sequence / Sub-sequences / Shot Sequences. Previewing in Editor mode is great, but it is not 100% reliable because things like physics (hair and cloth bouncing around) and lighting etc are not always identical in Editor mode and Play mode. As a result, final proofing requires rendering via Recorder clips to video files (using Play), then inspecting the video file(s) created. Then make adjustments and re-render again. For me, each shot Sequence/Timeline is typically 10 seconds long (the recorder clip is usually shorter). The whole master sequence might be 10 minutes long to play.

    I want to be able to render one leaf sequence (10 seconds long) via "Play" mode without having to start from the beginning of the Master Sequence and Play-ing the full sequences (10 minutes).

    I do not want to just play a recorder clip -- I want to play the full shot sequence timeline as I often have to insert delays before recorder clips start for physics to settle down. E.g. I always leave 1 to 2 seconds blank at the start of a timeline now with the characters not moving to get hair and cloth physics to look natural at the start of the recorder clip.

    Workaround: I manually reorder the sequences in their parent sequence to put the current sequence I am working on at the front. I then hit Play and try to hit Stop before it moves onto rendering the next sequence. This gets everything out of order, but it does work.

    Feature request: I would like a menu item or similar to say "when I hit play, only play this sequence (Timeline) and not anything else". I would also like to be able to reset it so it goes back to playing everything (current behavior) so I can still re-render the full project (and get a cup of coffee).

    Example solution: Add a new property to Timeline that is a start offset and duration. When it plays, if the offset and duration are set, it only plays that subrange instead of the full Timeline from the beginning (it skips forward to the start offset, then plays for the duration and stops). Then, add in the Sequence window (or similar) ability to say "set master sequence range to this sequence only". It would work out where the sequence is within the master sequence and set the offset and duration properties on the master sequence. Then when the user hits Play, it will still play the master sequence, but it will skip forwards and only play the time range for one sequence out of the whole hierarchy. (10 minutes of rendering time reduces to 10 seconds.)

    Note, the master sequence needs to be played because it might have tracks like loading scenes etc. All those tracks need to be active. So you cannot just set the shot sequence "play on active" flag - you need to play the master sequence timeline.

    There may be other clever approaches like sequences add extra events to the master sequence timeline to avoid adding new properties. I just want to say "I am going to be working on this leaf sequence for a while - Play should only do this subrange".

    Note: I know this will not be perfect. It is possible that other things may not render exactly the same due to side effects of stuff skipped in earlier timelines. But it would definitely help. I am used to dragging sequences around, so make each timeline pretty independent already.
     
    Last edited: Oct 28, 2022
  2. akent99

    akent99

    Joined:
    Jan 14, 2018
    Posts:
    588
    Chatting with @ellka , one idea to experiment with (if I limited myself to 2 levels of sequence hierarchy) would be to have a right click menu pop up on an editorial clip. It then knows the offset of that editorial clip in the master timeline. It enters Play mode, sets the playhead offset to the start of the editorial clip, exits play mode after the duration of the editorial clip. With 3 levels its a bit more running around the sequence hierarchy to work out the offset and duration.