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.Manual
はManualMotionDispatcher.Default.Scheduler
と同じです。
Warning
ManualMotionDispatcher.Default
を利用する場合、Domain Reloadをオフに設定するとモーションの状態が初期化されないため予期しない動作を起こすことがあります。これを避けるためには、起動時にReset()
で明示的に初期化を行います。
void Awake()
{
ManualMotionDispatcher.Default.Reset();
}