Я знаю, как остановить мой NPC на игрока, я просто не могу понять, как я могу заставить их перестать сталкиваться друг с другом, а также с игроком?Unity 3D: C# NPC, сталкивающиеся друг с другом
У NPC есть метка «AI», я пробовал несколько вещей сейчас, но я действительно не могу понять это?
Вот мой код, любая помощь приветствуется.
using UnityEngine;
using System.Collections;
public class AI : MonoBehaviour {
public Transform target;
public int moveSpeed = 5;
public int rotationSpeed = 2;
public Transform myTransform;
public float minDistance = 0.1f;
void Awake()
{
myTransform = transform;
}
void Start()
{
target = GameObject.FindWithTag ("Player").transform;
}
void Update()
{
Vector3 Distance = target.position - myTransform.position;
if(Distance.sqrMagnitude>minDistance*minDistance)
{
myTransform.rotation = Quaternion.Slerp (myTransform.rotation, Quaternion.LookRotation (target.position - myTransform.position), rotationSpeed * moveSpeed * Time.deltaTime);
myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
}
Вы имеете в виду, что они должны быть способны пройти через друг друга? Или вообще избегайте друг друга? –
Я имею в виду дистанцию, установленную на всех NPC, а также расстояние от игрока, когда они приближаются к игроку, все они собираются близко друг к другу, я хочу попытаться получить дистанцию от всех NPC и игроков like 1 Вы можете помочь? :) –