-
Notifications
You must be signed in to change notification settings - Fork 1
Timeline Editor
Arno Hartholt edited this page Nov 21, 2025
·
1 revision
Utilizing Unity’s Timeline to derive sequences of scripted events. Timeline enables control over various objects in the scene, including UI elements and virtual human behaviors.
RIDE Core package: Runtime/Timeline
References:
- https://docs.unity3d.com/Packages/com.unity.timeline@1.2/manual/tl_gloss.html
- https://docs.unity3d.com/Packages/com.unity.timeline@1.2/manual/index.html
Notes:
- Customized Timeline has been implemented for RIDE with following scripts:
- RideTimelineTrack.cs: Defines track behavior and configures clip on creation/modification.
- RideTimelineTrackMixer.cs: Manages clips when the track is playing. Similar to the ‘Update()’ loop.
- RideTimelineClip.cs: Defines callbacks and parameters for custom clips. Every clip must derive from this class.
- RideTimelineManager.cs: Manager script that stores cached data and provides helper methods. Scripts should go through the manager to play/stop Timelines.
- Scene setup:
- Every Timeline director objects for a character must be placed under a single parent object. These parent objects must also have the same order as the Characters in the scene.
-
- Note: Example image above shows that order of the characters matches the order of the Timeline parent objects.
- The following hierarchy is recommended for organizing the Timelines
\<TimelineParent\>
\<CharacterName\>
\<ModuleName\>
\<MasterTimelines/ParagraphTimelines\>
\<UtteranceTimelines\>
- Application loop:
- Timeline Track and Clip is built via Editor
- RideTimelineTrack::CreateTrackMixer() is called when there is a change in the track and renames clips on the track.
- Start application/editor.
- Every clip calls CreatePlayable() → Creates matching Behaviors.
- Mixer calls ProcessFrame() every tick while the Timeline is running.
- Mixer processes the Behaviour and calls TimelineManager to execute the Behaviour.
- Mixer may stop Timeline from progressing if clip has been marked as waitUntilFinished.
- Timeline Manager executes the behavior and starts coroutine to determine if Behaviour has finished running.
- Timeline Track and Clip is built via Editor
- NVBG clips may overlap and require manual review.
- Characters are auto-filled with the one set in the Main module.
- Audio waveform only appears when the entire clip is visible in the track editor.
- Length of animation clips does not reflect the length of the animation.