Мне нужно анимировать персонажа с помощью 5 анимаций, движущихся в разные стороны и афк, но я столкнулся с ошибкой, что анимации в unity не работают, я пытался соединить их через дерево Blend, но безуспешно. С кодом идеи всё в порядке, проблема скорее всего в дереве Blend. Я пытался что-то сделать 3 часа, но не получилось.
Мне нужно анимировать персонажа с помощью 5 анимаций, движущихся в разные стороны и афк, но я столкнулся с ошибкой, что анимации в unity не работают, я пытался соединить их через дерево Blend, но безуспешно. С кодом идеи всё в порядке, проблема скорее всего в дереве Blend. Я пытался что-то сделать 3 часа, но не получилось. [code]using UnityEngine;
public class PlayerVisual : MonoBehaviour { private Animator animator; public float moveSpeed = 5f;
public string IsWalkingW = "IsWalkingW"; public string IsWalkingS = "IsWalkingS"; public string IsWalkingA = "IsWalkingA"; public string IsWalkingD = "IsWalkingD";
public enum AnimationMode { BlendTree, SingleAnimation } public AnimationMode currentMode = AnimationMode.BlendTree;
void Start() { animator = GetComponent(); if (animator == null) { Debug.LogError("Animator component not found on this GameObject!"); } }
Vector3 movement = new Vector3(horizontal, 0, vertical) * moveSpeed * Time.deltaTime; transform.Translate(movement); }
private void UpdateSingleAnimation() { if (Input.GetKeyDown(KeyCode.W)) { PlayAnimation(IsWalkingW, true); } else if (Input.GetKeyUp(KeyCode.W)) { PlayAnimation(IsWalkingW, false); } if (Input.GetKeyDown(KeyCode.S)) { PlayAnimation(IsWalkingS, true); } else if (Input.GetKeyUp(KeyCode.S)) { PlayAnimation(IsWalkingS, false); } if (Input.GetKeyDown(KeyCode.A)) { PlayAnimation(IsWalkingA, true); } else if (Input.GetKeyUp(KeyCode.A)) { PlayAnimation(IsWalkingA, false); } if (Input.GetKeyDown(KeyCode.D)) { PlayAnimation(IsWalkingD, true); } else if (Input.GetKeyUp(KeyCode.D)) { PlayAnimation(IsWalkingD, false); } }
private void PlayAnimation(string animationName, bool isWalking) { animator.SetBool(animationName, isWalking); } } [/code] Я ожидал, что все получится с первого раза, но в жизни все не так.