프로그래밍 농장

Death Parkour 1~2일차 [ Unity 게임개발 ] 본문

Unity

Death Parkour 1~2일차 [ Unity 게임개발 ]

Tennessee201 2022. 8. 31.
728x90

유니티를 학습하면서 배운 다양한 기능들을 실제 프로젝트개발에 적용 및 응용하고자 해당 프로젝트를 진행하게 되었다. 


게임명 : Death Parkour ( 데스 파쿠르 )

게임 설명 : 외딴 섬의 감옥에서 파쿠르를 하며 감시를 피해 탈출하는 형식의 액션게임 

게임 개발툴 : Unity


- 게임 Map 전경 

 

 


게임 주요 기능 

 

- Camera 

: 카메라는 Main Camera : Cinematic / 플레이어 3인칭시점 : Cinematic Virtual 을 두고, 마우스로 상하좌우 시점을 조절하여 자연스러운 플레이 방식을 구현하였다.


- 파쿠르

- 플레이어는 주변 지형지물을 활용한 파쿠르를 하며 이는 각 지형지물(오브젝트)에 맞는 동작을 수행하도록한다. 

: Animator의 활용 및 자연스러운 연계가 중요 .

: 파쿠르가 가능 한 오브젝트별 빈오브젝트를 두어 해당 위치에 Trigger 될 경우 해당 Animation을 수행하며 위치이동 .

: 기본적인 플레이어 이동구조는 이동속도에 따라 Idle /Walk / Run 세가지를 BlendTree로 두고, 여기로 Input에 따라 Jump 및 DoubleJump를 수행 


- Enemy ( 터렛, 감시자 )

- 맵 곳곳에 배치된 터렛의 일정 스캔범위내에 플레이어가 접근하게되면, 터렛이 플레이어를 향해 포를 조준하며 탄환을 발사한다. 

: 해당기능은 Raycast를 총 2번 쏘는 방식으로 구현하였다. 

: 첫번쨰 Raycast (Debug : Red) 는 플레이어가 범위내 접근하였을때 Aim(조준) 하여 잡은 위+치이다. 

: 두번쨰 Raycast( Debug : Blue)는 최초 Raycast발사 후, 1초 뒤 잡은 현재 플레이어의 위치이다. 

-> 두번째 Raycast를 통해 획득한 플레이어의 위치가 첫번째 Raycast를 통해 잡은 플레이어의 위치반경내에 있을경우 피격처리를 수행하며, 각 위치별 Damage에 차등을 두었다. 

: 총알 발사에 대한 알림은 탄피 및 탄환 -> 전부 Particle 처리  /  RaycastHit을 통한 피격대상 접근방식 .  (굳이 오브젝트풀링 구현하거나, 탄환 오브젝트 구현 필요 無 

잘 안보이지만 3초 간격으로 조준 및 발사 Raycast를 쏘는것을 확인할수있다.


 

개발 노트 ( 진행사항 ) 

08/30 (화)   개발시작   


 - Map / Turret / Player Asset 다운 

 - 플레이어 이동구현

 - 터렛 범위 내 접근시 조준 및 발사 기능구현 ( Raycast )


-> error : 최초 RayCast 발사시 플레이어 위치 일정반경을 잡고 두번째 Raycast 발사시 해당 범위내에 있을시 피격처리로 수정 要
08/31 (수) 플레이어 파쿠르 구현더블점프 


-> error : 더블점프후 착지후 1회 점프 추가로 수행하는 문제  :(해결) Input.Jump(space).false로 Input 입력을 초기화 해주어야했음. 

-> error:  더블점프이상을 금지한후, (JumpCnt = 0~1) 벽이나 경사에 제대로 플레이어가 못올라간 경우 계속 InAir 애니메이션을 수행하는 문제  (해결) 플레이어의 CharacterController의 Radius (=Collider) 사이즈를 피격가능한 최소치로 줄여서 미세한 벽이나 경사에도 상호작용할수있도록 하였다. 
09/01 (목) 플레이어 파쿠르 구현 - 백플립 / 매달리기

-> error : IsHanging boolean 체크로 매달리려고 할시, CharactorController 트리거 체크는 되지만, 매달리는 애니메이션으로 가지않는 문제  : (해결) 애니메이션 조건처리에서 조건이 Grounded가 우선이어서 바로 착지함.

 

728x90

'Unity' 카테고리의 다른 글

Death Parkour 4일차 [ Unity 게임개발 ]  (0) 2022.09.03
Death Parkour 3일차 [ Unity 게임개발 ]  (0) 2022.09.02
빌드 파일 크기 축소 [Unity]  (0) 2022.08.26
유니티 정리예정 포스팅글 내용  (0) 2022.08.24
UGUI [Unity]  (0) 2022.08.22