[Unity] animator 메카님 사용 시, 발동된 Trigger 취소하기2017. 3. 6. 22:49
유니티로 애니메이션 메카님 적용을 하고 버튼 키를 빠르게 이것저것 누르다보면
이미 발동 된 트리거 애니메이션이 키를 놓았음에도 불구하고 그대로 발동될 때가 있다.
한마디로 트리거가 한발작 늦게 발동하는 상태
특정 조건에서
animator.ResetTrigger("animation name");
이 코드를 사용하면 이전에 발동된 특정 트리거를 종료시킬 수있다.
아래는 간단한 예제
(점프 키 입력) 점프 트리거 애니메이션이 씹힌 후,
(앉기 키 입력) 앉기 이후 일어설 때 점프가 다시 발동된다고 가정
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | void Update() { Animator anim_; if(Input.GetKey(KeyCode.Space)) { anim_.SetTrigger("Jump"); } /// 여러개의 입력을 받는다... if(Input.GetKey....) ... .. . /// Jump 애니메이션이 끝나면 curState를 idle로 바꾼다고 가정 if(cueState == myState.idle) { anim_.ResetTrigger("Jump"); } } | cs |
앉기가 끝나고 idle 상태일 때 이전에 발동된 점프 트리거 발동을 취소하는 방법
'Engine > Unity' 카테고리의 다른 글
[unity/C#] 특정 소수점 자리 이하 올림, 버림, 반올림 (2) | 2017.12.01 |
---|---|
[Unity] 유니티 스크립트 함수 호출 순서 (0) | 2017.05.15 |
[Unity] 애니메이션 클립에 스크립트를 추가한 후 해당 함수 오버라이딩하기 (0) | 2017.01.26 |
[Unity/UI] Image Sprite 교체하기 (0) | 2016.12.02 |
유니티에 visual studio2013 연동하는 방법 (0) | 2016.09.01 |