Unity 애니메이션: Unity 상태기 Animator 가축 애니메이션을 해결합니다.
1558 단어 Unity 관련
사실은 매우 간단하다. 논리적으로 상태기를 리셋하면 코드를 볼 수 있다.
private float v = 0;
private float h = 0;
private Animator m_Animator;
void Start ()
{
m_Animator = getComponent();
//
v = Input.GetAxisRaw("Vertical");
if (v != 0)
return;
h = Input.GetAxisRaw("Horizontal");
if (h != 0)
return;
}
private void FixedUpdate()
{
if (h != 0)
m_Animator.SetFloat("Blend", 0);
if (v != 0)
m_Animator.SetFloat("DirY", 0);
h = Input.GetAxisRaw("Horizontal");
transform.Translate(Vector2.right * h * moveSpeed * Time.fixedDeltaTime, Space.World);
if (h > 0)
{
m_Animator.SetFloat("DirX", dir * h);
}
else if (h < 0)
{
m_Animator.SetFloat("DirX", dir * h);
}
v = Input.GetAxisRaw("Vertical");
transform.Translate(Vector2.up * v * moveSpeed * Time.fixedDeltaTime, Space.World);
if (v > 0)
{
m_Animator.SetFloat("DirY", dir * v);
}
else if (v < 0)
{
m_Animator.SetFloat("DirY", dir * v);
}
}
사실 중간에서 H!=0 직접 리턴;그러나 그러면 조작할 때 항상 불쾌한 느낌이 들기 때문에 여러분들이 직접 시험해 보셔도 됩니다.