내일배움캠프/TIL

내일배움캠프 18일차 TIL - 개인프로젝트 스파르타타운 만들기 진행상황

서보훈 2024. 10. 10. 19:59

개인프로젝트 - 스파르타 타운 만들기의 필수과제를 모두 제작하여 TIL로 진행상황을 올려봅니다.

 

먼저 폰트와 에셋은 저작권이 없는것으로 제작하였습니다.

https://fonts.google.com/specimen/Jua?subset=korean&lang=ko_Kore

 

Jua - Google Fonts

Jua is a Korean and Latin font

fonts.google.com

https://www.kenney.nl/assets/rpg-urban-pack

 

RPG Urban Pack · Kenney

Download this package (480 assets) for free, CC0 licensed!

www.kenney.nl


캐릭터

캐릭터는 타일맵에 포함되어있던 6종의 캐릭터를 활용하였으며, 각각 프리팹으로 만들어 캐릭터 변경시, 캐릭터 프리팹을 변경하는 방식으로 사용하고 있습니다.

프리팹에는 애니메이터를 각자 가지고있으며 움직일때 캐릭터에 맞는 애니메이션을 출력합니다.

애니메이터는 Input 의 x, y 값을 받아서 작동하며, x 값이 0보다 크거나 작으면 x축 이동 애니메이션 작동

y 값이 0보다 크거나 작으면 y축 이동 애니메이션이 작동합니다.

 

좌우, 상하 사이에서는 애니메이션이 넘어갈 수 없기 때문에 좌측으로 이동중 위나 아래키를 눌러도 좌측 이동 애니메이션이 지속됩니다.

 

이동은 new input system 으로 구현되어있으며, 점프를 입력받는 스페이스바를 차후 NPC와 상호작용하는 입력으로 변경할 예정입니다.

마우스 포지션 입력의 경우 기존 내용에서 마우스 포인터를 바라보도록 만들게 되어있었으나, 상하좌우 이동에 맞는 애니메이션을 구현하면서 사용하지 않게 되었습니다.

 


방만들기

맵은 타일맵 기능을 사용하여 만든 상태이며, 벽을 당담하는 타일에는 Collider를 적용하여 벽을 넘을수 없게 만든 상태입니다.

단, 맵을 변경할 계획을 가지고있기 때문에 맵은 변경될수도 있습니다.

 


캐릭터 선택, 이름입력 시스템

씬을 나누어 먼저 캐릭터선택, 이름입력 씬에서 정보를 만들고 해당 정보를 다음 씬에서 활용하는 방식입니다.

플레이어 데이터는 스크립터블 오브젝트로 관리합니다.

 

캐릭터 선택은 각 캐릭터 사진이 버튼으로 되어있으며, 이 버튼을 누르면 캐릭터의 데이터를 저장하는 스크립터블 오브젝트를 플레이어 데이터 오브젝트로 넘기게 됩니다.

참가하기 버튼을 누르면 입력창에 적은 이름이 저장되며, 입력창에 아무것도 적지 않은경우 기본값으로 넘어가게됩니다.

 

캐릭터 정보를 저장하는 스크립터블 오브젝트는 캐릭터의 프리팹 정보와 스프라이트 정보가 저장됩니다.

프리팹 정보는 인게임에서 플레이어의 캐릭터를 생성하는데 사용되며, 스프라이트 정보는 로그인 화면의 현재 캐릭터를 보여주는데 사용합니다.