hi im работает над мини-2-й игрой в единстве, и я просто создаю 2-й символ и некоторую анимацию (Up_Idle, Down_Idle, Right_Idle, Left_Idle/Up_run, Down_run, Right_run, Left_run) проблема эти анимации не работают корректно (например, когда я нажимаю стрелок вверх характе не играет анимации Up_r, но он играет Up_run и left_run анимации в то же время)Ошибка аниматора анимации персонажа не работает
здесь скриншот:
вот код:
using UnityEngine;
using System.Collections;
public class movement : MonoBehaviour
{
public float speedX =1f;
public float speedY =1f;
Animator animator;
void Start()
{
animator = GetComponent <Animator>();
}
void Update()
{
if (Input.GetKey (KeyCode.UpArrow)) {
transform.Translate (new Vector2 (speedX, speedY) * Time.deltaTime);
animator.SetFloat ("Up", 1);
return;
} else {
animator.SetFloat ("Up", 0);
}
if (Input.GetKey (KeyCode.DownArrow)) {
transform.Translate (new Vector2 (-speedX, -speedY) * Time.deltaTime);
animator.SetFloat ("Down", 1);
return;
} else {
animator.SetFloat ("Down", 0);
}
if (Input.GetKey (KeyCode.RightArrow)) {
transform.Translate (new Vector2 (speedX, -speedY) * Time.deltaTime);
animator.SetFloat ("Right", 1);
return;
} else {
animator.SetFloat ("Right", 0);
}
if (Input.GetKey (KeyCode.LeftArrow)) {
transform.Translate (new Vector2 (-speedX, speedY) * Time.deltaTime);
animator.SetFloat ("Left", 1);
return;
} else {
animator.SetFloat ("Left", 0);
}
}
}
Mmm .. Я мало нового для Unity тоже ... но я не вижу всех переходов. Я не знаю, есть ли способ изменить анимацию без перехода ... но вы сказали, что левая анимация работает как-то. Мой совет будет проверять переходы. Но я могу ошибаться. : O –
способ, которым я читаю скриншот: idle up по умолчанию. только аниматор.SetFloat («Вверх», 1); вызовет что-то для run_up. остальные анимации выглядят неприступными. Мои анимации выглядят как ад с большим количеством переходов haha –