Могу ли я заставить своего врага бежать к игроку быстрее в этом коде? (Единство) - PullRequest
0 голосов
/ 06 мая 2020
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);
        }
    }


}

Код, показанный выше, я использую, чтобы заставить врага следовать за игроком, когда он находится в пределах досягаемости. Могу ли я сделать своего врага go быстрее, не разрушая весь этот скрипт и не создавая нового, у которого другое мышление?

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

В методе START вы можете установить новую скорость для вашего агента Navme sh, и этот персонаж будет ходить или бегать в направлении игрока.

0 голосов
/ 06 мая 2020

Установите максимальную скорость для вашего ниндзя (NavMeshAgent.speed). Вот документация для получения дополнительной информации: https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent-speed.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...