Timeline Mixer Documentation
TimelineMixer.AnimationTrackProcessor Class Reference

Processes animation tracks and connects them to the correct mixer on the playable graph. Use the TrackProcessor attribute to set the track type the processor will be in charge of. This track processor is VERY specialized, and should not be used as a basic example. More...

Inheritance diagram for TimelineMixer.AnimationTrackProcessor:
[legend]

Public Member Functions

AnimatorControllerPlayable CreateAnimatorControllerPlayable (Animator animator, PlayableGraph graph, ref PlayableConnectionInfo info)
 Clones the RuntimeAnimatorController created by the AnimatorController, splices it into TimelineMixers graph, and removes the Animator Component reference to prevent conflicts. Even though the Animator holds no reference you can still use Animator methods on it as normal to set parameters, this doesn't change. More...
 
List< AnimationClipPlayable > GetAnimationClipPlayablesWithEvents (Playable rootPlayable)
 Part of a bug workaround, clips with events need to be reset a certain way to prevent retroactive firing of events. More...
 
PlayableNode GetExternalSystemMixerNode (Animator animator)
 Allows you to get the node for the AnimationMixer that the AnimatorControllers are connected to. This mixer is intended for external systems, if you want to integrate your animation playables, use this to retrieve the mixer. More...
 
- Public Member Functions inherited from TimelineMixer.TrackProcessor
virtual void DisconnectTrack (PlayableNode timelineNode, int trackIndex, ref PlayableConnectionInfo info)
 Use this to cleanly disconnect tracks from their mixers and destroys any intermediary Playables. If you have added a lot of mixers or other playables between the timeline and output destroy them here. This is used when rebinding a timeline track at runtime. More...
 

Private Member Functions

void TraverseGraph (Playable playable, List< AnimationClipPlayable > clipsWithEvents)
 Recursively find all AnimationClipPlayable nodes and check if they have events, store in a list More...
 

Additional Inherited Members

- Protected Member Functions inherited from TimelineMixer.TrackProcessor
void ConnectPlayable (PlayableNode mixerNode, PlayableNode timelineNode, int trackIndex, ref PlayableConnectionInfo info)
 Connects the Timeline Playable to a mixer or passthrough and stores information about connections in the PlayableConnectionInfo More...
 

Detailed Description

Processes animation tracks and connects them to the correct mixer on the playable graph. Use the TrackProcessor attribute to set the track type the processor will be in charge of. This track processor is VERY specialized, and should not be used as a basic example.

Member Function Documentation

◆ CreateAnimatorControllerPlayable()

AnimatorControllerPlayable TimelineMixer.AnimationTrackProcessor.CreateAnimatorControllerPlayable ( Animator  animator,
PlayableGraph  graph,
ref PlayableConnectionInfo  info 
)
inline

Clones the RuntimeAnimatorController created by the AnimatorController, splices it into TimelineMixers graph, and removes the Animator Component reference to prevent conflicts. Even though the Animator holds no reference you can still use Animator methods on it as normal to set parameters, this doesn't change.

Parameters
animatorThe Animator component we will use to clone the animator controller
graphThe graph that will house the new
Returns

◆ GetAnimationClipPlayablesWithEvents()

List< AnimationClipPlayable > TimelineMixer.AnimationTrackProcessor.GetAnimationClipPlayablesWithEvents ( Playable  rootPlayable)
inline

Part of a bug workaround, clips with events need to be reset a certain way to prevent retroactive firing of events.

Returns

◆ GetExternalSystemMixerNode()

PlayableNode TimelineMixer.AnimationTrackProcessor.GetExternalSystemMixerNode ( Animator  animator)
inline

Allows you to get the node for the AnimationMixer that the AnimatorControllers are connected to. This mixer is intended for external systems, if you want to integrate your animation playables, use this to retrieve the mixer.

Parameters
animator
Returns

◆ TraverseGraph()

void TimelineMixer.AnimationTrackProcessor.TraverseGraph ( Playable  playable,
List< AnimationClipPlayable >  clipsWithEvents 
)
inlineprivate

Recursively find all AnimationClipPlayable nodes and check if they have events, store in a list

Parameters
playable
clipsWithEvents