inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

냅또님의 게시글

냅또 냅또

@napddo

수강평 작성수
-
평균평점
-

게시글 1

질문&답변

Dead 애니메이션 출력 오류입니다.

감사합니다! 해결 완료 했습니다. 추가적으로, 현재 수업자료의 EntityBaseLayerBehaviour.cs에는 kIsDead 변수와 animator.SetBool(kIsDead, entity.IsDead); 부분이 제외되어 있어 Dead 애니메이션이 실행되지 않는 것도 있더라구요.. 해당 코드 추가했을 때 Dead 애니메이션이 무한히 반복되는 부분은 해결하지 못했었는데 CanTransitionToSelf option을 꺼주니 바로 해결되었습니다! 감사합니다 :) public class EntityBaseLayerBehaviour : StateMachineBehaviour { private readonly static int kSpeedHash = Animator.StringToHash("speed"); private readonly static int kIsRollingHash = Animator.StringToHash("isRolling"); private readonly static int kIsDead = Animator.StringToHash("isDead"); // 해당 코드 추가 private Entity entity; private NavMeshAgent agent; private EntityMovement movement; // OnStateEnter is called before OnStateEnter is called on any state inside this state machine override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (entity != null) return; entity = animator.GetComponent (); agent = animator.GetComponent (); movement = animator.GetComponent (); } // OnStateUpdate is called before OnStateUpdate is called on any state inside this state machine override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (agent) animator.SetFloat(kSpeedHash, agent.desiredVelocity.sqrMagnitude / (agent.speed * agent.speed)); if (movement) animator.SetBool(kIsRollingHash, movement.IsRolling); animator.SetBool(kIsDead, entity.IsDead); // 해당 코드 추가 }

좋아요수
0
댓글수
3
조회수
231