Pink Transparent Star

Unity/개념 공부

[ 내일배움캠프 ] TIL.21 - 개인프로젝트 마무리

채유나 2024. 5. 14. 16:11
728x90

 

 

개인 프로젝트를 마무리 하는 날이다.  개인프로젝트의 구현 사항으로는 아래와 같은 구현을 해야하고 필수와 선택 구현을 모두 완료하였다..!

 

필수 구현 선택 구현
- 캐릭터 만들기
- 캐릭터 이동
- 타일맵을 이용하여 방만들기
- 카메라 따라가기
- 카메라 애니메이션 추가
- 이름 입력 시스템 추가
- 캐릭터 선택 시스템
- 시간 표기
- 인게임 이름 바꾸기
- 참석 인원 UI
- 인게임 캐릭터 선택 변경
- NPC 대화

 

첫날 UI를 어떻게 구성을 할지 화면의 와이어 프레임을 작성하였다.

 

와이어 프레임

 

사용하고 싶은 기능 목록

✅ : 구현 완료 / ❎ : 구현 실패

 

✅ UI Toolkit - 동적 생성

✅ Animation Blend

✅ Particle System

✅ Action을 통해 데이터 주고 받기

✅ ScriptableObject NPC 데이터 저장

✅ 시네마틱 카메라

❎ 사운드 추가

 

사용하고 싶은 기능을 대부분 사용하였고 마지막 시간 부족으로 인해 사운드 추가는 하지못하였다..

 

개인 프로젝트를 진행하면서 가장 오래 시간을 사용했던 부분이 있었다.

 

플레이어 정보를 인게임으로 보내는 법, 인게임에서 플레이어의 캐릭터 변경을 어떻게 할것인가?

 

 

 

방법 1 

 

1. 플레이어가 작성 한 이름과 캐릭터의 스프라이트를 데이터 매니저에 저장

2. Resources에서 캐릭터의 종류들의 프리랩과 이름이 매칭되는 것 찾음

3. 게임 창에 캐릭터 생성된 프리팹을 생성시킴

 

처음 생성할 땐 무리가 없는데 인게임에서 캐릭터를 변경할 때 애니메이션과 스프라이트를 찾아 변경해야한다

애니메이션과 스프라이트를 따로 List나 배열에 저장해 한다.

마음에 들지않아 다른 방법을 생각

 

방법2

 

 

생각으로는 스크립트오브젝트에 애니메이터와 스프라이트를 미리 저장해두고 선택한 스크립트 오브젝트의 저장된 걸 애니메이션과 스크립트 없이 생성되어있는 플레이어에 매칭 시켜주면 어떻까.. 라는 생각을 했었지만

 

스크립트 오브젝트에는 애니메이터이 들어가지않았다.. 왜 그러는진 열심히 찾아보고있으나 관련 이유는 아직 찾지 못하였다..!

 

해당 방법을 시작하기도 전에 막혔다.

 

방법3

 

 

 

 

 

 

 

 

728x90