Table of Contents

ManualMotionDispatcher

ManualMotionDispatcherを用いることで、複数のモーションを手動で更新することが可能になります。

var dispatcher = new ManualMotionDispatcher();

Schedulerにdispatcher.Schedulerを指定することで、モーションの更新処理を作成したdispatcherで行うように設定することができます。

// Schedulerに作成したManualMotionDispatcherのSchedulerを指定
var handle = LMotion.Create(value, endValue, 2f)
    .WithScheduler(dispatcher.Scheduler)
    .BindToUnityLogger();

dispatcher.Update(double deltaTime)を用いて更新処理を行うことができます。

dispatcher.Update(0.1);

ManualMotionDispatcher.Default

グローバルに利用可能なManualMotionDispatcherが必要な場合はManualMotionDispatcher.Defaultが利用できます。

ManualMotionDispatcher.Default.Update(0.1);

MotionScheduler.ManualManualMotionDispatcher.Default.Schedulerと同じです。

Warning

ManualMotionDispatcher.Defaultを利用する場合、Domain Reloadをオフに設定するとモーションの状態が初期化されないため予期しない動作を起こすことがあります。これを避けるためには、起動時にReset()で明示的に初期化を行います。

void Awake()
{
    ManualMotionDispatcher.Default.Reset();
}