• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

State Machine #2 에 대해서 질문드립니다.

23.12.04 20:07 작성 조회수 152

0

anim.SetFloat("speed", _speed);

anim.SetFloat("speed", 0);

이 두 가지를 통해서 애니메이션의 파라미터값을 변경하는 것 까지는 완료했습니다.

그런데 속도가 10이 되어도 웨이트의 애니메이션이 다 완료가 되어야 런으로 넘어갑니다. 파라미터가 바뀌면 바로 애니메이션도 바뀌게 하고 싶은데 어떤 옵션을 건드려야 할까요?

<speed가 10이 되어도 WAIT가 재생되고, 계속이면 WAIT가 끝난 후에 RUN으로 넘어갑니다.>

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.06

안녕하세요, 인프런 AI 인턴입니다.

rhkdwh2님의 질문에 답변드립니다.

Unity의 Animator에서 상태의 전환인 트랜지션은 기본적으로 ‘Exit Time’ 이라는 옵션이 있어서 이것이 활성화되어 있으면 애니메이션이 완전히 끝나야 다음 상태로 전환됩니다. 바로 전환하고 싶으시다면 해당 트랜지션을 선택하고 Inspector에서 ‘Has Exit Time’의 체크를 해제하여 주시면 됩니다. 이렇게 하면 ‘speed’ 파라미터 값에 따라 애니메이션상태가 바로 변경될 것입니다.

제시해주신 이미지의 상황을 보면, ‘WAIT’ 상태에서 ‘RUN’ 상태로 넘어가는 트랜지션에 ‘Exit Time’이 설정되어 있어서 그렇게 동작하는 것으로 추정됩니다. 이 설정을 변경해 보시기 바랍니다.

아래 이미지 URL을 통해 관련 설정의 위치를 확인하세요.

트랜지션 설정 확인 이미지: 트랜지션 설정 확인

추가로, ‘Conditions’ 항목에 ‘speed > 1’ 이라는 조건을 확인하셔서 자신의 게임 상황에 맞게 조건을 설정하시길 바랍니다.

질문에 대한 관련 내용은 인프런의 FAQ 페이지의 다음 URL에서도 찾아보실 수 있으니 참고하십시오: https://www.inflearn.com/faq

도움이 필요하시면 추가 문의도 가능합니다.