Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

부트캠프 Chapter 05. Unity 게임 개발 숙련 개인 과제

이동: W, A, S, D, SpaceBar

상호작용: F

카메라 변경: Tab

구현 기능

- 이동 - PlayerController.cs

- 체력 및 스테미나 - PlayerCondtion.cs

- 상호작용 - Interaction.cs

- 아이템 - ItemData.cs, ItemObject.cs

- 상호작용 오브젝트 - VendingMachine.cs

- 점프대 - Rocket.cs

- 이동하는 바닥 - MovingBlock.cs(ScriptableObject), MoveBlock.cs(기능 구현)

- 카메라 변경 - CameraPos

사용 에셋

Input System - Input 기능

2D Sprite - Vertical Layout Group 기능 등

Modern Vending Machine - 자판기 오브젝트

Monster_Ghosts_FREE - 캐릭터 오브젝트

구현 기간

25.03.07-03.11

구현 중 발생 문제

1. 추락 시 리스폰할 위치 저장

마지막으로 밟은 위치를 리스폰할 위치로 정하려 했으나 마지막 점프한 위치로 저장되어 이상한 위치에서 리스폰 하게 됨

-> 방식을 바꿔 마지막으로 밟은 블럭의 중심에서 리스폰하도록 설정

-> OnTriggerEnter를 사용했으나 작동이 잘 되지 않았음

-> 해당 블럭의 Collider 안으로 들어가지 못해 발생한 문제였음

-> 별도의 Collider를 추가하고 블럭보다 살짝 위에 있도록 조정하여 해결

2. 스테미나 소모 구현

이동 입력 시 스테미나 소모하도록 구현

-> 다른 방향도 동시에 누를 경우 스테미나가 더 빠른 속도로 감소하는 상황 발생

-> 별도의 입력이기에 스테미나가 감소하는 기능도 여러 번 실행되었기에 발생한 문제

-> InvokeRepeating을 통해 일정 시간마다 이동 입력을 확인하고 이동 중일 경우 감소하는 것으로 해결

3. 자판기 구현

기타 상호작용 아이템들과 유사한 구조로 스크립트를 작성했으나 자판기 설명문이 나오지 않고 오류가 발생

-> 자판기의 하위 오브젝트로 스크립트를 옮기니 문제 해결

4. Cursor 오류

위의 문제들을 해결하니 갑자기 " error CS0104: 'Cursor' is an ambiguous reference between 'UnityEngine.UIElements.Cursor' and 'UnityEngine.Cursor'" 라는 오류가 발생

-> 원인을 찾아보니 입력한 적이 없었던 using UnityEngine.UIElements;이 추가되어있음

-> 해당 스크립트를 지워 해결

5. 이동하는 블럭 문제

1) 플레이어가 블럭에 올라갔을 경우 블럭이 중력의 영향을 받고 떨어짐

-> isKinetic을 활성화하는 것으로 해결

2) isKinetic으로 인해 블럭이 이동 x

-> transform.Translate()를 이용해 이동하는 것으로 해결

3) 플레이어가 블럭에 올라타도 같이 이동 x

-> 충돌 시 플레이어 오브젝트를 블럭 오브젝트의 자식 오브젝트로 취급하여 같이 이동하는 것으로 해결

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages