[Unity] Animatior 시스템 사용 시 고려 사항
처음 이것을 알았을 때 애니메이션의 제어는 모두 이 시스템이었다. 스크립트는 입력에 완전히 반응하려고 했지만 몇 가지 이유가 있었다.
즉각성이 없다
위 그림의 Attack을 True 으로 설정합니다.csharp
anim.SetTrigger("Attack");
AnimatorStateInfo info = anim.GetCurrentAnimatorStateInfo(0);
State는 Attack의 State가 되어야 하지만 Animator State Info의 값은 원래의 State입니다. 블렌딩 등 여러 가지 이유가 바로 바뀌지 않기 때문입니다.따라서 즉각적인 판단이 필요한 것은 아니다.
예를 들어'점프할 때는 아무것도 할 수 없고, 똑같이 할 때는 점프할 수 없다'는 말이 실현되면 입력할 때는 점프를 눌렀지만 실제로는 점프 상태가 아니어서 다른 일은 할 수 있고 그 일을 할 때는 점프한다.
입력을 해제하지 않음
일단 진짜 trigger가 설정된 State가 되면 가짜로 돌아간다.하지만 그 스테이트가 되기 전까지는 진짜였다고 해도 과언이 아니다. 그게 문제다.
예를 들어 점프할 때 공격하지 못할 경우 점프하는 state로 Attack을 누르면 점프하는 state가 Attack의 State가 되지 않아 아무 일도 일어나지 않지만 착지 후 Idle로 돌아오기 때문에 Attack의 state로 바뀐다. 그리고 이때 Attack의 Trigger는 항상 진짜여서 공격한다.
최후
유니티의 애니메이션 시스템은 아직 완전히 이해되지 않았지만 현재 이해된 범위 내에서는 스크립트에 의존할 수밖에 없다.
Reference
이 문제에 관하여([Unity] Animatior 시스템 사용 시 고려 사항), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kerrot/items/e4189b2c091427c35186
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
anim.SetTrigger("Attack");
AnimatorStateInfo info = anim.GetCurrentAnimatorStateInfo(0);
일단 진짜 trigger가 설정된 State가 되면 가짜로 돌아간다.하지만 그 스테이트가 되기 전까지는 진짜였다고 해도 과언이 아니다. 그게 문제다.
예를 들어 점프할 때 공격하지 못할 경우 점프하는 state로 Attack을 누르면 점프하는 state가 Attack의 State가 되지 않아 아무 일도 일어나지 않지만 착지 후 Idle로 돌아오기 때문에 Attack의 state로 바뀐다. 그리고 이때 Attack의 Trigger는 항상 진짜여서 공격한다.
최후
유니티의 애니메이션 시스템은 아직 완전히 이해되지 않았지만 현재 이해된 범위 내에서는 스크립트에 의존할 수밖에 없다.
Reference
이 문제에 관하여([Unity] Animatior 시스템 사용 시 고려 사항), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kerrot/items/e4189b2c091427c35186
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([Unity] Animatior 시스템 사용 시 고려 사항), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kerrot/items/e4189b2c091427c35186텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)