| info | 現在のフレームのための FrameData |
| playerData | DirectorPlayer.Play で指定されたツリーの下にカスタムデータが渡されます。 |
デルタタイムで Playable を評価します。
ProcessFrame は Playable でその作業を行う必要があるステージです。 このメソッドは Playable ツリーをプレイするときすべてのフレームに呼ばれます。 ProcessFrame メソッドは 2 つのパラメーター、現在の時刻と時間差を記述する現在の FrameData 構造体とカスタムデータオブジェクトがあります。このカスタムオブジェクトは Playable でその作業を行う必要があるデータです。 Playable から Playable にツリーの下で渡されます。このカスタムオブジェクトは Director.Play メソッドにパラメーターとして渡されます。
public class SomeData
{
public int foobar = 0;
public int increment = 1;
}
public class MyCustomPlayable : Playable
{
public override void ProcessFrame(FrameData info, object customData)
{
var theData = customData as SomeData;
theData.foobar += theData.increment;
}
}
public class SwapSign : Playable
{
public override void ProcessFrame(FrameData info, object customData)
{
var theData = customData as SomeData;
if (theData.foobar > 20)
theData.increment = -1;
if (theData.foobar <= 0)
theData.increment = 1;
}
}
public class GraphIncrementDecrement : MonoBehaviour
{
private SomeData myCustomData;
void Start()
{
var rootPlayable = new MyCustomPlayable()
var childPlayable = new SwapSign();
Playable.Connect(childPlayable, rootPlayable);
GetComponent<DirectorPlayer>().Play(rootPlayable, myCustomData);
}
void Update()
{
Debug.Log("foobar is now:" + myCustomData.foobar);
}
}