목표
장비 착용, 해제 구현
장비 미 착용 시 전투 (복싱), 장비 착용 시 전투 (검방) 애니메이션 구현
(작업 기간 2023.08.20 ~ 08. 22 (3일 소요))
1. 장비 착용, 해제
- 게임 매니저 (싱글톤) 에서 관리하는 bool 값 변수를 사용하여 장비 소유 여부, 착용 여부 체크
ㄴ 아이템 획득 (PickUpActionController) 스크립트에서 장비 획득 시 true로 활성
- 액션 시 움직임 및 다른 액션 입력이 되지 않도록 코루틴을 활용하여 제어 bool 값 사용
ㄴ 입력 받는 Update 문에 if(!isAction)을 사용하여 입력 방지
ㄴ 움직임 별로 애니메이션 시간이 다르므로매개변수로 조정
- 장비 소유시 장착 액션 사용가능
2. 기본 액션 구현
- 통상 움직임 상태에서 공격 버튼 (F키)를 누를 시 전투 모드 활성화
ㄴ 장비 착용 혹은 아이템 획득 액션 시 전투 모드 비활성화
- 전투 모드 활성화 시 카메라 정면을 바라보도록 캐릭터 고정
ㄴ 단, 화면 이동과 동시에 움직임 입력시 캐릭터도 회전 (공격 도중 이동은 제한)
(게임들에서 사용하는 공격 시 화면 회전을 이용한 피격범위 증가, 공격 속도 증가 테크닉의 사용을 위함)
(이동 버튼을 누르지 않고 공격만 사용 시 카메라 회전으로 액션 관찰 가능)
(완전 고정으로 할 시 오히려 불편한 조작감 또한 있었음)
- 랜덤 함수를 활용하여 랜덤 공격 모션 사용
ㄴ 무기 장비 여부에 따라 액션이 다르다.
3. 콤보 액션 구현
- GetCurrentAnimatorStateInfo(0).IsTag("")를 사용하여 현재 연속 공격이 가능한 액션일 경우 공격 버튼 추가 입력시 콤보 액션 진행
ㄴ 플레이어가 1회 공격을 원할 때 콤보액션이 나가지 않도록 Action(0.2f)를 주어 직관성 증가
- 콤보 액션 시 자연스러운 연결을 위해 1회 공격 애니메이션 중간부터 이어지도록 세팅
4. 결과물
'유니티 게임 개발 > 3D Portfolio' 카테고리의 다른 글
[유니티] 3D Portfolio #6 전투 시스템 제작 (0) | 2023.08.29 |
---|---|
[유니티] 3D Portfolio #5 자동문 제작 (0) | 2023.08.25 |
[유니티] 3D Portfolio #3 아이템, 인벤토리 구현 (0) | 2023.08.18 |
[유니티] 3D Portfolio #2 UI, 미니맵 구현, 비동기 씬 로딩 구현 (0) | 2023.08.10 |
[유니티] 3D Portfolio #1 캐릭터 움직임, 카메라 구현 (0) | 2023.08.02 |