유니티 게임 개발/3D Portfolio
[유니티] 3D Portfolio #6 전투 시스템 제작
노랑꼬리
2023. 8. 29. 13:39
목표
플레이어 무기 콜라이더 제작
적에게 플레이어 접근 시 추적 (테스트 용은 고정위치, 방향만 추적)
적 피격시 부위별 피격 애니메이션 (경직 있음), 사망 애니메이션 재생
플레이어 피격 시 타격 애니메이션 (경직 없음)
(작업 기간 2023.08.26 ~ 08. 29 (4일 소요))
1. 플레이어 무기 콜라이더 제작
- 복싱 전투 (주먹과 발에 콜라이더)
- 검방 (검과 방패에 콜라이더)
2. 적이 플레이어 추적
- 적에게 탐색범위 콜라이더를 부여
ㄴ 탐색 범위 내로 들어올 시 플레이어를 향해 바라봄
ㄴ Quaternion.Slerp() 를 사용하여 부드럽게 추적
- 공격 범위안에 들어오면 공격 수행
ㄴ 레이캐스트로 정면 체크
ㄴ 공격 쿨타임 코루틴으로 부여
3. 적 부위별 피격
- 머리와 몸통 본 오브젝트에 콜라이더 생성 후 스크립트 부여
ㄴ 리지드 바디를 본 오브젝트에 키네틱으로 넣어주어 따로 판별하도록 함
ㄴ 스크립트는 피격 계수와 피격 부위 애니메이션 정보를 가지고 있음
(적 메인 스크립트에서 콜라이더 태그로 판결해도 되나 태그가 번잡해지는 것보다 스크립트에서 처리하는게 좋은 것 같아서 해당 방식 사용)
- 피격 이후 일정 시간 동안은 무적판정
4. 플레이어 피격
- 적 피격과 같은 방식으로 구현
- 애니메이션 부분은 상체 아바타만 적용되는 애니메이션 레이어를 추가로 만들어 블랜딩 값을 Additive로 기존 움직임에 자연스럽게 추가하여줌.
ㄴ오늘코딩 유튜브 참고하여 제작
( https://www.youtube.com/watch?v=gj3gMhMZWoE )
5. 결과물
※ 영상에 나오는 죽어서도 추적하는 오류는 해결되었음