본문 바로가기

Programming/Unity3D

[팀 프로젝트]캐릭터 애니메이션 연동

 

 캐릭터에서 선언된 값들

 초기화 시켜준다.

추후 더 많은 기능을 추가해야될곳을 미리 주석처리해서 넣을수있도록 확보한다.

캐릭터에서 NavMeshAgent를 사용할수잇게 선언해준다.

기본상태는 Idle로 해준다.

stateMove는 평소에는 모두 이동가능하지만 공격,스킬활용시 이동불가 상태로 만들기 위한 값

 기본적으로 Navi랑 이동상태,키입력은 계속 업뎃 시켜줍니다.

키 입력에 따라 캐릭터 애니메이션을 동작시켜줍니다.

Anicontrol스크립에 SetAni()함수에 Sendmessage로 던져줍니다.

참고로 gameObject로 받아와서 함수에 직접접근하는 방법도 있지만 SendMessage가 비용이 쌉니다 적극 활용합시다.

앞에 anicontrol스크립에서 볼수있듯이 enum으로 선언되어잇는 이름을 던져주면 알아서 그에맞는 동작을 플레이할수있게 만들어 놨습니다.

 각 키입력에따른 이벤트 발생.

추후 UI와 연동해야될부분

 캐릭터가 죽었을때 모든동작은 멈춰있지만 부활을 가정하여.Z값을 줌..추후 빠져야할부분.

부활이 되면 상태는Idle상태로 되고 포지션은 원래 자리로 돌아감.

추후 회의를 거쳐 좀더 다듬어야될부분.

 캐릭터의 상태값을 나타낼 부분

타켓의 거리에따라  Run, Idle로 구분했습니다.

 상태값 초기화,포지션 초기화,둘다 초기화로 각각 함수 제작

 공격할때 각 공격 상태에따라 데미지,사거리,좌표,이펙트등을 콜리더 AttackColliderManager에게 SendMassage로 던져 줍니다.

참고로 SendMassage는 하나의 매개별수밖에 보내질 못하니 이부분을 Class화 해 줍니다.

솔직히 Class보다는 Struct로 해주는게 가성비가 좀더 좋습니다.