Unity - 최종 프로젝트 FPS게임 만들기 -7-
오늘 작업 내용
UI 제작 및 연결
MinigameUI 제작 및 연결
- AlphabetMatching 미니게임을 UI로 띄우는 MinigameUI를 제작 및 연결하였다.
- ResourceManager를 통해 MinigameUI 프리팹을 로드하고 UIManager를 통해 관리하였다.
- 트러블 슈팅
- MinigameUI 프리팹의 이름이 Mini'G'ameUI로 Addressable과 달라서 로드되지 않는 오류 발생
- 이름 수정 후 로드되지 않는 오류 해결
- 하지만 중복으로 Instantiate 되는 이슈 발생
- LoadedUI 리스트에 MinigameUI가 저장되지 않았음.
- LoadedUI에 MinigameUI가 추가되도록 수정하고 LoadedUI 체크 후 존재하면 재사용하도록 하여 중복 Instantiate 이슈 해결
- MinigameUI 애니메이션 문제 해결
- Animator를 ModalWindowAnimator를 오버라이드하여 사용했는데, 이 과정에서 스크립트와 제대로 연결되지 않아서 애니메이션이 재생되지 않았다.
Interaction UI (World Space)
- Interaction UI 프리팹 제작, Canvas RenderMode를 World Space로 변경
- Ray가 오브젝트에 닿았을 때, 닿은 오브젝트의 위치를 가져와서 그 위치에 Offset만큼 더한 위치에 생성하도록 했다.
- 하지만 매번 의도한 위치에 생성되지 않는 이슈가 발생하였고 이를 해결하였다.
- 트러블 슈팅
- 따라서 Ray가 닿은 오브젝트의 위치가 아닌, 오브젝트와 Ray가 닿은 위치를 가져와서 그 위치에 생성하도록 했다.
- 실제 상호작용 가능한 오브젝트와 연동 및 테스트까지 완료했다.