コード例 #1
0
    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;
        }
    }
コード例 #2
0
 public void Stop()
 {
     animatorCtrl.Run(false);
     animatorCtrl.Jump(false);
     runner.StopAgent();
 }