Я работаю в Unity и пытаюсь создать контроллер анимации, который меняет направление воспроизведения игрока, играя другую анимацию при нажатии кнопки.Ошибка анимации единства, приводящая к не изменяющимся параметрами анимации
я получаю эту ошибку "активов/Карты/map1/предприятия/Player/PlayerMovement.cs (6,18): предупреждение CS0649: Поле PlayerMovement.animator' is never assigned to, and will always have its default value
нуля»"
Этой ошибка не останавливает игру от игры, но анимация остается в позиции по умолчанию.
Это код, который у меня есть в качестве контроллера плеера, где я изменяю параметры для контроллера анимации. Он говорит мне, что ошибка в строке 6 пространства 18.
using UnityEngine;
using System.Collections;
public class PlayerMovement : MonoBehaviour {
Animator animator;
public float movementSpeed = 100.0f;
public bool Movement = true;
public int Direction = 0;
// Use this for initialization
void Start() {
animator.GetComponent<Animator>();
}
// Update is called once per frame
void Update() {
if (Movement == true) {
if (Input.GetKey (KeyCode.W)) {
transform.Translate ((Vector2.up) * movementSpeed * Time.deltaTime);
animator.SetInteger("Direction",0);
}
if (Input.GetKey (KeyCode.A)) {
transform.Translate ((-Vector2.right) * movementSpeed * Time.deltaTime);
animator.SetInteger("Direction",270);
}
if (Input.GetKey (KeyCode.S)) {
transform.Translate ((-Vector2.up) * movementSpeed * Time.deltaTime);
animator.SetInteger("Direction",180);
}
if (Input.GetKey (KeyCode.D)) {
transform.Translate ((Vector2.right) * movementSpeed * Time.deltaTime);
animator.SetInteger("Direction",90);
}
else{
animator.SetInteger("Direction",360);
}
}
}
}
это ссылка Imgur на экран выстрелы аниматора гуй единства. Я бы поставил их прямо на этот экран, но у меня нет прав на это.
Это избавило от ошибки, но анимация все равно не изменится. Теперь он дает мне несколько ошибок во время выполнения, говоря, что _Animator не был инициализирован. UnityEngine.Animator: SetInteger (String, Int32) _, который является нечетным, потому что это точный способ, который я использовал в моем сценарии playermovement – MlkShakes
ok позволяет увидеть этот шаг за шагом 1: объект, к которому прикреплен скрипт, делает у него есть компонент аниматора в редакторе? если да, то есть ли в нем анимационный контроллер (тот, который вы показали на картинке)? если да, то давайте посмотрим. 2: ОК, затем удалите весь код в обновлении и сделайте следующее: if (Input.GetKey (KeyCode.W)) {animator.setInteger («Направление», 0);} теперь убедитесь, что у вас есть игровое окно и аниматор окно состояния, открытое одновременно, и проверьте, работает ли эта анимация. – LumbusterTick
все, что у меня настроено правильно. Сделал то, что вы сказали, и анимации пока нет. – MlkShakes