Нужна помощь, чтобы заставить врагов смотреть на персонажа или точку атаки.C#

Место общения программистов C#
Anonymous
Нужна помощь, чтобы заставить врагов смотреть на персонажа или точку атаки.

Сообщение Anonymous »

Итак, вот мой код.

Код: Выделить всё

`using UnityEngine;

public class EnemyMovement : MonoBehaviour
{
public GameObject Target;
public GameObject Player;
public float Dis;
public float chaseSpeed = 5f;
public float closeDis = 2f;
public float playerDis;
public float playerChaseDis = 5f;
Rigidbody rb;
Vector3 moveDirection;

public float enemyHeight;
public LayerMask whatIsGround;
bool grounded;
public float groundDrag;

private void Start()
{
rb = GetComponent();
rb.freezeRotation = true;

}

void Update()
{
Dis = Vector3.Distance(transform.position, Target.transform.position);
playerDis = Vector3.Distance(transform.position, Player.transform.position);
if (playerDis = closeDis) ;
transform.position = Vector3.MoveTowards(transform.position,     Target.transform.position, chaseSpeed * Time.deltaTime);
transform.LookAt(Target.transform.position);
`
Я создаю сценарий движения для врагов и хочу, чтобы у них было две цели. Одна из них является точкой атаки, а другая — игроком. Я сделал рабочее движение, при котором враг переключается с точки атаки на игрока, когда игрок подходит слишком близко, но я не могу заставить врага сменить того, на кого он смотрит.
По какой-то причине в части «Обновление пустоты», в разделе IF со строкой «transform.LookAt(Player.transform.position);» точка с запятой в конце всегда выделяется красным, и это не позволяет коду работать. Кто-нибудь знает решение?

Подробнее здесь: https://stackoverflow.com/questions/798 ... tack-point

Вернуться в «C#»