프로그래밍 농장

Death Parkour 5일차 [ Unity 게임개발 ] 본문

Unity

Death Parkour 5일차 [ Unity 게임개발 ]

Tennessee201 2022. 9. 5.
728x90

5일차 추가사항 

 

- PlayerFaceCam 수정 및 보완 완료  

- 피격시 UI Canvas 상 피격화면 표시 추가 

 

 

개발 노트 ( 진행사항 ) 

08/30 (화)   개발시작   


 Map / Turret / Player Asset 다운 

 플레이어 이동구현

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


->error :최초 RayCast 발사시 플레이어 위치 일정반경을 잡고 두번째 Raycast 발사시 해당 범위내에 있을시 피격처리로 수정 要  (해결) Turret 레이캐스트 피격 방식 개편 ( Position targeting -> raycast Aim / Fire 찍힌 distance 로 판단 ) -> 이 방식도 일직선에서는 피격안되는 문제있음. -> 최종적으로는 최초 Aim 레이캐스트의 위치반경 Radius를 잡고, Fire 레이캐스트에 잡힌 위치가 해당 Radius 반경에 있을시 피격처리하는 방식으로 구현 해야함. 
08/31 (수) 플레이어 파쿠르 구현 더블점프 


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

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

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

플레이어 HP / MP 추가  & 파쿠르별 소모 MP Table 구체화

플레이어 피격시 카메라 진동 추가 : 
현재 프로젝트의 Camera 구조는 Cinematic + Cinematic Virtual이 PlayerFollowCam에 붙어있음으로, 진동을 수행할 함수에서 Player의 자식오브젝트인 PlayerFollowCam의 localposition으로 접근하여 잡아주어야한다. 

 터렛 범위 내 접근시 조준 및 발사 기능 보완 ( Raycast )
: 
기존 Aim <-> 현재의 Position을 비교하는 방식에서 처음 Aim후 해당 Position반경을 잡은후, 발사시 잡힌 Raycast가 그 안에 있을시 피격 처리하도록 구현

-> error: Hanging 수행시 매달릴 위치보다 위 (공중)에 매달리는 현상  : (해결) Hanging 파쿠르 가능한 위치의 localposition을 기반으로 하여 플레이어의 position을 잡고 애니메이션 수행해야함.

09/03 (토) PlayerFaceCam 추가  : 플레이어의 실시간 FaceCam 및 상태별 표정모션 노출 
->error : PlayerFaceCam 의 ViewPort Rect를 조절하여 UI 원하는 UI위치상에 출력되긴 하나, Sprite안에 원하는대로 맞추어 넣고자 함.  :   UI Mask를 사용하여 PlayerFaceCam을 잘라 넣어보려하였으나 잘안됌.. UI 오브젝트에만 잘리는것같음 -> 일단 HealthBar창을 뚫고 Cam의 Rect를 잡아서 넣어준 상태. 튀어나오고, Screen Size에 대응안돼는 상태임.  : (해결) Raw Image에 다시 PlayerCam을 넣어준후 다시 마스킹으로 잘라주니 원하는대로 동그랗게 Cam화면이 잘려 들어간것을 확인할수있었다.


피격UI 추가 : 
1. UI Canvas에 피격 Sprite 하나 추가후 코루틴으로 피격시마다 알파값 조절.   /  2. Vignette.Intensity에 접근하여 코루틴으로 빨개졋다 서서히 원상태로 돌아오는 방식.   총 두가지 방식을 생각하였으며, 조사결과 상황에 맞는 다양한 피격 UI를 사용하고자 한다면 Sprite로 조절하는것이 맞고 그런것이 아니라면 Vignette로 접근하여도 괜찮다고 하여 UI를 사용.


파쿠르 Animator 추가 및 수정 


Turret 레이캐스트 피격 방식 개편 ( Position targeting -> raycast Aim / Fire 찍힌 distance 로 판단 )
09/05
(월)
 PlayerFaceCam 수정 및 보완 완료  : RawImage 마스킹으로 잘라서 넣어줌 

 피격시 UI Canvas 상 피격화면 표시 추가 : 피격 UI Canvas에 발라주고 코루틴으로 알파값 서서히 감소하도록 구현 

 

728x90