🧠 오늘의 핵심 정리
- 팀 프로젝트 2일차 진행, 체감 대비 결과물이 적어서 아쉬웠던 하루
- NPC 대화 시스템 완성 (텍스트 / 초상화 분기)
- Raycast 기반 상호작용 안내 UI(E 표시) 구현
- 애니메이션 클립 교체 방식으로 캐릭터 변경 기능 추가
- UI 스케일 문제, 애니메이션 이름 오타 등 트러블 슈팅 경험
👥 팀 프로젝트 2일차
오늘 하루 종일 바쁘게 작업한 것 같은데, 막상 돌아보니 결과물이 많지는 않았다.
내일은 팀원 한 분이 바쁠 예정이라, 인벤토리 작업을 이어받아 마무리해야 할 것 같다.
체감과 결과물의 차이가 느껴져서 조금 아쉬웠던 하루.
🗣️ NPC 대화 시스템 완성
어제부터 만들던 NPC 상호작용을 오늘 마무리했다.
TalkManager를 통해 NPC 대사를 관리하고, isNpc 여부에 따라 UI를 분기했다.
- NPC일 경우 → 대사 + 좌측 초상화 표시
- 오브젝트일 경우 → 텍스트만 출력
대사는 "대사:초상화인덱스" 형태로 관리해서 파싱 후 연결했다.
핵심 로직 발췌
// isNpc 여부에 따라 UI 분기
if (isNpc)
{
talkText.text = talkData.Split(':')[0];
portraitImg.sprite = talkManager.GetPortrait(id, int.Parse(talkData.Split(":")[1]));
portraitImg.color = new Color(1, 1, 1, 1);
}
else
{
talkText.text = talkData;
portraitImg.color = new Color(1, 1, 1, 0);
}
🅴 상호작용 안내 UI(E 표시)
플레이어 전방 Raycast에 오브젝트가 감지되면, 해당 오브젝트 위에 상호작용 안내 UI(E)가 나타나도록 구현했다.
감지 대상이 바뀌면 이전 UI는 끄고, 새로운 대상에만 켜지도록 처리했다.
// 대상 변경 시 Canvas 토글
if (currentTarget != scanObject)
{
if (currentTarget != null)
ToggleCanvas(currentTarget, false);
currentTarget = scanObject;
ToggleCanvas(currentTarget, true);
}
예전부터 꼭 만들어보고 싶었던 기능이라, 구현하고 나니 만족도가 높았다.
🧑 캐릭터 변경 기능
캐릭터를 바꾸는 기능을 처음으로 시도해봤다.
전체 애니메이터를 갈아끼우는 방식이 아니라, AnimatorOverrideController를 사용해 애니메이션 클립만 교체하는 방식을 사용했다.
UI가 아직 없어서, 번호키 1 / 2 / 3 입력으로 캐릭터를 전환하도록 구현했다.
// 번호키로 캐릭터 타입 변경
if (Input.GetKeyDown(KeyCode.Alpha1)) SwitchToTypeA();
if (Input.GetKeyDown(KeyCode.Alpha2)) SwitchToTypeB();
if (Input.GetKeyDown(KeyCode.Alpha3)) SwitchToTypeC();
🧨 트러블 슈팅
- 캐릭터 이동 시 이전 캐릭터 애니메이션이 나오는 문제 → 클립 이름 오타 원인이었음
- E UI를 World Space Canvas로 변경하니 크기가 너무 작아짐
- TextMeshPro로도 해결되지 않아 CC0 키보드 이미지 UI로 교체
중간중간 삽질은 있었지만, 결국 원하는 형태로 마무리할 수 있어서 다행이었다.
📌 오늘의 회고
결과물만 보면 아쉬운 하루였지만, NPC 대화 / 상호작용 UI / 캐릭터 변경처럼 게임다운 요소들을 하나씩 붙여나간 날이었다.
내일은 인벤토리 작업을 이어받게 될 것 같아서, 오늘보다 더 집중해서 마무리해보고 싶다.
🔜 내일 할 일
- 인벤토리 기능 이어받아 구현 및 정리
- 오늘 만든 기능들 버그 재확인
- 캐릭터 변경 UI 방식 고민
'내일배움캠프 본캠프' 카테고리의 다른 글
| [내일배움캠프 25일차 TIL] 효과음·BGM 적용 + 이스터에그 추가 (0) | 2025.11.03 |
|---|---|
| [내일배움캠프 24일차 TIL] 기획 변경과 캐릭터 타입 유지 (0) | 2025.10.31 |
| [내일배움캠프 22일차 TIL] 팀 프로젝트 (0) | 2025.10.29 |
| [내일배움캠프 21일차 TIL] 개인과제 제출 (0) | 2025.10.28 |
| [내일배움캠프 20일차 TIL] 씬 이동과 데이터 관리에서의 시행착오 (0) | 2025.10.27 |