카테고리 없음

[Unity] 커비 2일차 개발 일지! 애니메이션에 collider 넣기, animation에 tag로 구별

굴러다니다니 2023. 4. 12. 18:05
728x90

몬스터 sprite를 부모로하는 빈 오브젝트에 boxcollider를 만들어 몬스터의 공격 애니메이션 마다 공격 범위를 지정할 수 있게했다.

딱 공격크기만큼 닿으면 판정된다!

 

마찬가지로 커비의 공격도 평소에는 꺼두고, 공격할때만 collider를 활성화시켜서 공격이 애니메이션 프레임 단위로 가능하다!

spark일때 공격범위와

 

빔 어택일때의 충돌 차이

 

변형하기 쉬우면서 애니메이션 적용이 가능하게 capsule collider를 사용했고, weapon layer로 처리해 적의 script에서 자신이 weapon과 부딪힌다면 사라지게 해두었다.

 

애니메이션에도 tag가 있다는 사실! -> 현재 실행중인 애니메이션 state가 attack이면 움직이지 못하게 하고, 현재 실행중인 애니메이션이  copy (변신중)이면 움직이지 못하게 하고싶어서 animator.getCurrent뭐시기(0).name이 하나하나 or문 걸어가면서 비교했는데, tag걸어줘서 isTag("attack") 식으로 비교했다!

아주 다행히도 잘 되는

현재 실행중인 애니메이션 확인문은 코루틴으로 걸어줬다.

 

적의 공격을 3초마다 반복하게 하고 싶었는데 코루틴으로 빼기에는 연관된 파라미터가 너무 많았어서 그냥 timer로 처리했다.

 

커비의 공격 패턴이 능력따라 다른데, 한번 누르면 beam처럼 취소가 안되는 공격, 누르는 동안 계속 되는 공격으로 나뉘어져서 능력별로 실행하는 함수를 다르게 처리했다.

getkeydown이랑 getkey의 차이로 끝~~

728x90