我可以在这段代码中让我的敌人更快地跑向玩家吗?(Unity)

问题描述 投票:-2回答:1
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class Enemy : MonoBehaviour
{

    public NavMeshAgent Ninja;
    public GameObject Player;
    public float NinjaDistanceRun = 30.0f;

    void Start()
    {
        Ninja = GetComponent<NavMeshAgent>();
    }


    void Update()
    {
        float distance = Vector3.Distance(transform.position, Player.transform.position);

        //Run towards player

        if(distance < NinjaDistanceRun)
        {
            Vector3 dirToPlayer = transform.position - Player.transform.position;

            Vector3 newPos = transform.position - dirToPlayer;

            Ninja.SetDestination(newPos);
        }
    }


}

上图所示的代码就是我用来让敌人在范围内时跟着玩家走的。我可以让我的敌人走得更快,而不把这整个脚本捣毁,并制作一个有不同思路的新脚本吗?

performance unity3d navmesh
1个回答
0
投票

设置忍者的最大速度(NavMeshAgent.speed)。这里是文档中的更多信息。https:/docs.unity3d.comScriptReferenceAI.NavMeshAgent-speed.html。


0
投票

在START方法中,你可以给你的Navmesh代理设置一个新的速度,这个角色就会朝着玩家的方向走或跑。

© www.soinside.com 2019 - 2024. All rights reserved.