📆 오늘의 TIL (Today I Learned)
1. 퀵 슬롯 시스템 개선
- 문제 해결:
- 아이템 데이터를 UI 퀵 슬롯과 연결하고, 자동으로 슬롯 UI를 업데이트하도록 시스템을 설계.
- 비어 있는 슬롯 선택 시 장착 해제가 발생하는 문제를 조건문으로 방지.
- 학습:
- 이벤트 구독을 활용하여 장착 상태를 UI에 실시간 반영.
- Action<WeaponData> 이벤트를 활용해 데이터를 동적으로 처리.
2. 사운드 매니저 구현
- Singleton 기반 SoundManager:
- AudioSource를 활용하여 발사, 장전, 무기 장착 등 상황별 사운드 재생.
- PlayOneShot과 PlayClipAtPoint를 사용하여 위치 기반 및 일반 사운드 구현.
- 문제 해결:
- 오디오 소스가 누락된 경우 디버깅 로그를 활용해 문제를 빠르게 해결.
- 확장 가능성:
- 각 무기마다 고유의 사운드를 추가해 다양성 구현.
3. 미니맵 시스템 구축
- 미니맵 구현 과정:
- Render Texture를 사용하여 미니맵을 제작.
- 플레이어 아이콘 및 적 아이콘을 미니맵에 표시.
- 문제 해결:
- 플레이어 아이콘이 잘못된 위치로 이동하는 문제를 RectTransform의 중심 기준으로 수정.
- 확장성을 고려해 좌표를 동적으로 계산하여 플레이어와 적 아이콘의 위치를 반영.
- 추가 기능:
- 적 아이콘 추가 및 플레이어 중심 고정.
- 줌 인/아웃 기능과 맵 확장을 고려한 설계.
4. Unity 워크플로우 팁
- 오브젝트를 바닥에 스냅:
- Ctrl + Shift 드래그(Windows) 또는 Command + Shift 드래그(Mac)로 오브젝트를 바닥에 빠르게 정렬.
- Render Texture 활용:
- Render Texture를 카메라 출력에 연결하여 다양한 UI 연출 가능.
💡 오늘의 배움
- 확장성을 고려한 설계: 단순히 현재 요구사항만 해결하지 않고, 확장성을 위해 데이터를 동적으로 처리하는 방식으로 설계.
- 디버깅과 문제 해결 능력 향상: 디버그 로그를 통해 문제를 빠르게 파악하고, 코드의 흐름을 명확히 이해.
- Unity의 유용한 단축키와 기능 활용: 워크플로우를 최적화하여 작업 속도를 개선.
🚀 앞으로의 개선점
- 적 아이콘 및 동적 레이어 관리 추가.
- 미니맵 확대/축소 및 드래그 기능 구현.
- 사운드 믹서를 통해 사운드 볼륨 제어 및 그룹화.
'TIL(Today I Learned) > 오늘 무엇을 배웠을까' 카테고리의 다른 글
TIL(Today I Learned) - 44 (0) | 2024.11.21 |
---|---|
TIL(Today I Learned) - 43 (0) | 2024.11.21 |
TIL(Today I Learned) - 41 (0) | 2024.11.15 |
TIL(Today I Learned) - 40 (0) | 2024.11.14 |
TIL(Today I Learned) - 39 (0) | 2024.11.13 |