TIL

25.03.10 TIL

gaon99 2025. 3. 10. 20:50

1. 오늘 학습 키워드

 

개인 프로젝트 / 오류 수정 및 점프패널, 이속 아이템, 스태미너 사용


2. 오늘 학습 한 내용을 나만의 언어로 정리하기

 

아이템 슬롯을 제작했는데, 이를 하나의 슬롯을 UI로 관리하도록 만들었다.

 

토대는 모두 제작을 하였으나, 지속적인 NullExceptionError가 떴다.

 

처음에 나는 이 문제가 Inventory에 슬롯의 수 만큼 ItemSlot[] 배열을 제작하여, 해당 인덱스값에 맞춰서

슬롯이 알아서 할당이 되도록 코드를 작성하였으나, 슬롯에 할당이 되지 않는 것을 확인했다.

 

그로 인해, Icon 즉 image가 null이 되었고, 이 이미지를 참조를 하려해서, 에러가 떴다. 라고 나는 생각을 하였다.

 

그래서 이를 고치기 위해 인벤토리의 배열에 슬롯이 계속 넣기위해 계속 시도 해보았으나, 실패했고.

 

그래서 다음 차례인 디버깅을 하였다. 당연히 원인은 똑같았고, image가 null 이기에 Null예외 오류가 뜬 것이다.

 

그래서 내가 뭘 빼먹은게 있나,, 하고 강의를 돌려보고, 강의 자료도 계속 찾아보다, itemslot의 프리팹에 스크립트를 넣어

해당 오브젝트를 할당해야하는데, 이를 빼먹었더니, 14개의 슬롯 중 하나만 들어간것이였다.

 

그래서.. 인스펙터창에서 슬롯에 아이콘과 텍스트를 할당했더니, 뭐.. 해결했다.

 

그 이후 점프 패널을 제작하려고 했다.

 

점프 패널은 그냥 rigidbody 물리엔진에서 Forcemode.Impulse 를 사용하면 쉽게 되는 문제다.

 

하지만 패널을 사용해도 점프가 되지 않았고, 이 문제는 내가 player의 mass, 즉 중력을 20으로 높여뒀기에. 힘이 부족한 것 이였다

 

JumpForce를 10배를 곱해주니, 높게 뜨는 점프 패드를 제작할 수 있었다.

 

다음은 아이템인데, 아이템은 강의에서도 제작하는 법이 꽤나 잘 나와있기에, 응용을 해서 제작했다.

 

에셋을 살펴보니 버섯 프리팹이 있길래 이를 활용하여, 버섯을 섭취시에, 이동속도 효과를 부여했고,

 

이도 처음에는 이동속도가 변하지 않았다. 현재 오류 수정중인데, 우선 일정 시간 이후에 이동속도가 감소되는 로직을 생각하여, 코루틴을 활용했다. 다만 코루틴을 사용하기 위해선, StartCoroutine(Method()) 이렇게 사용을 해야하나,

그냥 메서드만 작성을 했더니, 이동속도 변화가 없었다.

 

그래서 다시 작성을 해주었더니 시간 이후 이동속도 감소가 되지않았고, 시간이 마무리가 되어. 내일 마무리 하려고한다.


3. 학습하며 겪었던 문제점 & 에러

수 많은 null 예외 참조와, 점프 패드 힘, 초기 개발?에 입문하는 사람들이 할 만한 실수를 그냥 한 것 같다.


4. 내일 학습 할 것은 무엇인지

우선 일정 시간 이후 이동 속도가 원래대로 돌아오는 것을 다시 손봐야하고, 플레이어가 안착시에, 일정 구역으로 이동하는 발판도 생성해보려고한다. 그리고 마지막 날 이기에 Readme도 함께 작성 할 예정이다.

'TIL' 카테고리의 다른 글

25.03.13 TIL  (0) 2025.03.13
25.03.11 TIL  (0) 2025.03.11
25.03.06 TIL  (0) 2025.03.06
25.03.04 TIL  (0) 2025.03.04
25.02.28 TIL  (0) 2025.02.28