Playable は複雑な動作をさせるために、ツリー構造でお互いに接続することによってカスタマイズを可能にする、ランタイムオブジェクトです。
Playable は複雑で柔軟なデータを評価するツリーを作成するために使用できます。それらは (Playable.Connect を介して) お互いに接続することができ、各ツリーの Playable はその子の "weight" や "influence" を設定できます。 Playable のツリーが作成されると、DirectorPlayer コンポーネントと一緒に用いて "played" できます (DirectorPlayer.Play を参照してください) 。
Playable (または Playable ツリー) は DirectorPlayer に関連付けられ、プレーヤーは 1 つずつ Playable を移動していきます。ツリーで Playable に遭遇するたびに PrepareFrame メソッドを呼び出します。これにより、Playable が「次の評価のために準備」することを許可します。つまり、各 Playable が (新しく入力を追加するか、いくつかを削除することで) 子を変更できる PrepareFrame ステージです。これにより、ランタイム時に Playable は Playable ツリーで新しい子の枝を "生成" できるようにします。これは Playable ツリーが静的な構造ではないことを意味し、時間をかけて適応させて変更できます。
AnimationPlayable は Playable のよい使用例です。彼らは一緒に AnimationPlayableMixer を介して接続する既存の AnimationClip を許可します。これは Locomotion ブレンドツリーのように アニメーションの動作をプログラムして作成するために使用できます。 AnimationPlayable ツリーが作成されると Animator.Play メソッドを介して Animator コンポーネントに渡すことができます。
inputCount | Playable の Input の数。この数にはどこにも接続していない Slot が含まれています。これは同じ GetInputs().Length を呼び出すよりもはるかに高速です。 |
outputCount | Playable の出力の数。この数にはどこにも接続していない Slot が含まれています。これは同じ数字の GetOutputs().Length を呼び出すよりもはるかに高速です。 |
state | この Playable の現在の PlayState 。これは現在、Playable が再生中か、一時停止中かどうかを示します。 |
time | この Playable の現在のローカルタイム |
ClearInputs | 接続されていたすべての入力を安全に切断し、入力の配列の長さを 0 に変更します。 |
Dispose | IDisposable の実装。 Playable によって割り当てられたリソースをリリースするためにこのメソッドを呼び出します。 |
GetInput | 指定したインデックスに接続されている Playable を返します。 |
GetInputs | Playable の入力リストを返します。 |
GetInputWeight | 指定したインデックスの Playable のウェイトを取得します。 |
GetOutput | 指定されている出力のインデックスに接続している Playable を返します。 |
GetOutputs | この Playable で接続されている出力のリストを取得します。 |
ProcessFrame | デルタタイムで Playable を評価します。 |
SetInputWeight | 入力のウェイトを設定します。 |
Connect | 2 つの Playable を一緒に接続します。 |
Disconnect | Playable からの入力を切断します。 |
OnSetPlayState | PlayState が変更されたときに呼び出されるコールバック |
OnSetTime | 現在の時刻が変更されたときにコールバックが呼び出されます。 |
PrepareFrame | 次のフレームのために Playable ツリーを準備します。 PrepareFrame はツリーが評価される前に呼び出されます。 |