프로젝트 일지/Unity

[Unity/TIL] 개인 2DMetaverse 개발 일지 (2) | Supermarket2D 프로젝트

톰마토 2025. 2. 20. 22:56
728x90

Metaverse Supermarket2D 프로젝트

육성 시뮬레이션 느낌을 내고 싶었던 나의 메타버스 프로젝트.

슈퍼마켓 >3<

애정이 많이 가던 2D 메타버스 개인 과제가 끝이 났다..!! 내가 좋아하는 컨셉으로 만들 생각에 에셋 찾는 과정에서부터 너무 재미있었다. 처음에 타일맵을 완성하고서 내가 벌써 2D 게임을 만들 수 있겠다는 생각에 잠시 으쓱했는데, 만들면서 아직 부족함이 많다는 것도 잘 느껴졌다. 튜터님께 질문드렸으니 피드백 기다려야지...

 

깃허브 리드미에 움짤과 함께 기능 개요를 올릴 것이니 블로그에는 자유로운 트러블슈팅 위주로 적겠다!!! 

https://github.com/yndoo/Metaverse_Supermarket2D

 

GitHub - yndoo/Metaverse_Supermarket2D

Contribute to yndoo/Metaverse_Supermarket2D development by creating an account on GitHub.

github.com

 

개발일지

Null 에러 없이 Null 객체 참조하는 현상?

아!!! 매니저에서 들고있던 객체가 씬 전환 이후라던가.. 사라져있으면 다시 넣어줘야 한다. 오늘 이 문제만 몇번을 마주했는데, 그 중 한 예시를 적어보겠다. 처음에는 원인 찾기가 참 어려웠다.... -ㅅ- 

현상

뭔가 수정하다가.. 미니게임 들어갔다 나온 후로 박스 옮기기 미션 보상이 안 들어오는 현상이 나타났다. 

 

미니게임 보상 넣어주는 쪽 코드를 디버깅해보니 MissionManager에서 담아두고 사용하는 resourceController 필드가 미니게임 실행 이후에는 null이다. MissionManager는 싱글톤이라 한 번 담아두고 사용할텐데, 미니게임에서는 resourceController가 사라졌다가 메인 맵 돌아오면 다시 사용하니 길을 잃은 것 같다. 참조를 처음부터 안시켜준 것은 아니라 그런지 에러 메시지도 뜨지 않았다. 길을 잃었다는 표현이 맞는듯..? '가리키고 있던 것이 사라졌다'라는 느낌.

씬 전환 시에 두 씬 간에 공유하는 오브젝트와 그렇지 않은 오브젝트들이 유기적으로 얽혀 있으면 주의해야 한다.

 

resourceController에서 MissionManager에 자신을 알려주는 방식으로 변경하여 해결했다. 그러니까 싱글톤 객체가 아닌 객체(==씬 전환 시 다시 생기는 객체)가 싱글톤 객체에게 자신이 태어날 때마다 알려주는 방식이다.

예시 1
예시 2

UI에 이미지 에셋 사용할 때 사이즈 늘어짐 해결

악!!!! UI에 이미지 넣고싶은데 에셋들이 다 정사각형이라 못생기게 사진이 늘어났다. 포기하고 그냥 네모박스로 만들고 있었는데, 다른 꾸미기 작업을 하다가 'UI 에셋 크기'를 검색해봤다가 갑자기 알게되었따ㅏㅏㅏㅏ!!!! 

Sprite Editor 창의 왼쪽 하단 정보창에서 자른 이미지에 Border를 설정해주면 된다. 그부분은 늘릴 때 늘어나지 않는 부분이 된다!!!! ><

참고 블로그 : https://alpaca-code.tistory.com/114

 

유니티) UI 길이 늘려도 안깨지도록 설정하기(대화창 만들기)

유니티에서 RPG 등을 만들다 보면, 적이나 NPC의 대사를 유저들에게 보여줘야 하는데, 거기서 우리는 보통 대화창을 생각하게 된다. 오늘은 이런 대화창을 만들면서 생기는 어려움을 해결해보겠

alpaca-code.tistory.com

Sprite Editor에서 Border 조절

덕분에 요런 2D 게임 분위기 물씬나는 UI를 완성할 수 있었다.

이갬성 맘에든당ㅎ

 

🎮 게임 플레이 해보기 😍

서툴렀지만 애정이 가득 담긴 프로젝트입니당 

 

https://play.unity.com/en/games/c82c3f9b-e518-42d5-ade6-f78b31d1a8c8/metaversesupermarket2d

 


혼자서도 설계를 해보고싶었지만 유니티로 제대로 프로젝트를 진행한 적이 없어서 감이 안왔다. 결국 거의 그때그때 필요한 기능 계획세우는 정도로 만들었고, 중간중간에 필요에 의한 리팩토링을 살짝 하게되긴 했다.. (안하면 나도 못알아보는 정도의 구조였다.) 

계획?표

육성 시뮬레이션 장르를 너무 좋아해서 그런 느낌을 내고 싶었지만, 기획 능력도 개발 능력도 부족했다. 내배캠 끝나갈때는 개발 능력은 갖추어있겠지? 그때는 꼭 내가 플레이하고 싶은 게임으로 새롭게 도전하고 싶다.

728x90