PlayableGraph は、ゲームオブジェクトか コンポーネント にバインドした一群の playable の出力を定義します。さらに、PlayableGraph は一群の playable とそれらの関係を定義します。図 1 はその例です。
PlayableGraph は playable のライフサイクルとその出力に関与します。PlayableGraph を使って playable を作成、接続、破棄できます。
図 1 で、PlayableGraph を表示するときに、名前をより短くするために “Playable” という語はグラフのノードから除かれます。例えば、“AnimationClipPlayable” というノードは “AnimationClip” と表示されます。
playable は IPlayable インターフェースを実装する C# 構造体です。他の playable との関係を定義するために使用されます。同様に、playable の出力は IPlayableOutput を実装する C# 構造体で、PlayableGraph の出力を定義するのに使用されます。
図 2 はもっとも一般的な主要な playable 型です。図 3 は主要な playable の出力型を示しています。
playable と playable の出力の主要な型は、メモリのガベージコレクション への割り当てを避けるために C# 構造体として実装されます。
“Playable” はすべての playable の基底型です。つまり、常に暗示的に playable を “Playable” にキャストできます。その逆はできません。もし “Playable” が明示的に互換性のない型にキャストされると例外が投げられます。さらに、“Playable” は、playable で実行するすべての基本メソッドを定義します。型特有のメソッドにアクセスするには、playable を適切な型にキャストする必要があります。
同じことが “PlayableOutput” にも言えます。“PlayableOutput” はすべての playable の出力の基底型で、基本メソッドを定義します。
ノート: Playable と PlayableOutput では、外からアクセス可能なメソッドがあまり多くありません。その代わり、“PlayableExtensions” と “PlayableOutputExtensions” 静的クラスが拡張メソッドを提供します。
すべての非抽象の playable には、対応する型の playable を作成するパブリックな静的メソッド Create() があります。“Create()” メソッドは常に PlayableGraph を最初のパラメーターとして取ります。そして、グラフは新規に作成された playable を所有します。playable の型によっては、追加のパラメーターが必要な場合があります。非抽象の playable の出力もまた、外からのアクセス可能な Create() メソッドを持ちます。
有効な playable の出力は playable にリンクされていることが必要です。playable の出力が playable にリンクされていない場合、playable の出力は何も行いません。playable の出力を playable にリンクするには PlayableOutput.SetSourcePlayable() メソッドを使用します。リンクした playable は、その特定の playable の出力にとって playable ツリーのルートのような働きをします。
2 つの playable を接続するには、PlayableGraph.Connect() メソッドを使用します。playable の中には入力できないものもあります。
PlayableGraph.Create() 静的メソッドを使用して、PlayableGraph を作成します。
PlayableGraph.Play() メソッドを使用して、PlayableGraph を再生します。
PlayableGraph.Stop() メソッドを使用して、PlayableGraph の再生を停止します。
PlayableGraph.Evaluate() メソッドを使用して、PlayableGraph の特定の時刻の状態を評価します。
PlayableGraph.Destroy() メソッドを使用して PlayableGraph を手動で破棄します。このメソッドは、PlayableGraph で作成したすべての playable と playable の出力を自動的に破棄します。PlayableGraph を破棄するには、この破棄のメソッドを手動で呼び出さなければなりません。そうでない場合は、エラーメッセージが表示されます。
2017–07–04
2017.1 の新機能 NewIn20171