Top.Mail.Ru
Ответы

Исправление ошибки в коде для Юнити.

Помогите, пожалуйста, исправить ошибку в коде в C#. Мне нужно сделать машину состояние для врага в игре. Но когда я сделал так, чтобы Axis не обновлялся, Юнити выдаёт ошибку.

UPD: Из-за этой ошибки мне снесло весь проект. Что можно с этим сделать?

Вот сама программа

using UnityEngine;
using Game.Utils;

public class EnemyAI : MonoBehaviour
{
[SerializeField] private State startingState;
[SerializeField] private float roamingMaxDist = 7f;
[SerializeField] private float roamingMinDist = 3f;
[SerializeField] private float roamingTimeMax = 2f;

private UnityEngine.AI.NavMeshAgent nma;
private State state;
private float roamingTime;
private Vector3 RoamPosition;
private Vector3 Pos;

private enum State {
Idle,
Roaming
}

private void Awake() {
nma = GetComponent<UnityEngine.AI.NavMeshAgent>();
nma.updateRotation = false;
nma.updateAxis = false; // Vot tut oshibka
state = startingState;
Pos = transform.position;
}

private void Update() {
switch (state) {
default:
case State.Idle:
break;
case State.Roaming:
roamingTime -= Time.deltaTime;
if (roamingTime < 0) {
Roaming();
roamingTime = roamingTimeMax;
}
break;
}
}
private void Roaming() {
RoamPosition = getRoamPosition();
nma.SetDestination(RoamPosition);
}

private Vector3 getRoamPosition() {
return Pos + Utils.RandomDirection() * UnityEngine.Random.Range(roamingMinDist, roamingMaxDist);
}
}


У меня снеслись из-за ошибки все объекты в проекте. Как их вернуть?

По дате
По рейтингу
Аватар пользователя
Знаток
2мес
1
 nma.updateAxis = false; 

В navmeshagent нету updateAxis, замени на

1
 nma.updateUpAxis = false;