using UnityEngine; using UnityEngine.InputSystem; public class AnimationStateController : MonoBehaviour { Animator animator; float velocity = 0.0f; public float acceleration = 0.3f; public float deceleration = 0.5f; int VelocityHash; void Start() { animator = GetComponent(); VelocityHash = Animator.StringToHash("Blend"); } void Update() { var keyboard = Keyboard.current; if (keyboard == null) return; bool forwardPressed = keyboard.wKey.isPressed; bool runPressed = keyboard.leftShiftKey.isPressed; if (forwardPressed) { velocity += Time.deltaTime * acceleration; } if (!forwardPressed && velocity > 0.0f) { velocity -= Time.deltaTime * deceleration; } if (!forwardPressed && velocity < 0.0f) { velocity = 0.0f; } animator.SetFloat(VelocityHash, velocity); } }