Files
Hasebe/Assets/Code/OfficeGame/Player/EntityAnimator.cs
T

32 lines
1.0 KiB
C#

using KinematicCharacterController;
using UnityEngine;
namespace Code.OfficeGame.Player
{
public class EntityAnimator : MonoBehaviour
{
private static readonly int VelocityForward = Animator.StringToHash("VelocityForward");
private static readonly int VelocityRight = Animator.StringToHash("VelocityRight");
private KinematicCharacterMotor _motor;
public Animator Animator { get; private set; }
private void Awake()
{
_motor = GetComponent<KinematicCharacterMotor>();
Animator = GetComponentInChildren<Animator>();
}
private void Update()
{
var forwardVelocity =
Vector3.Project(_motor.Velocity, transform.right).magnitude;
Animator.SetFloat(VelocityForward, forwardVelocity);
var rightVelocity =
Vector3.Project(_motor.Velocity, transform.forward).magnitude;
Animator.SetFloat(VelocityRight, rightVelocity);
}
}
}