void Update() { // jump やゲームオーバー後などでagentが停止していたり空中にいるなら走りアニメ処理しない。 if (!agent.isOnNavMesh || agent.isStopped) { return; } // 一定以上の速さで移動しているなら走りアニメーションを出す。 var spd = agent.velocity.magnitude; var moving = agent.velocity.magnitude >= runAnimationSpeed; animatorCtrl.Run(moving); // Animatorを使って走り/立ちアニメーション切り替え // 目的地到着したら到着イベント投げる。 if (isNotReached && IsReached()) { onReach.Invoke(); isNotReached = false; } }
public void Stop() { animatorCtrl.Run(false); animatorCtrl.Jump(false); runner.StopAgent(); }