Contents
접기
728x90
오늘의 목표
- Master Audio를 활용한 마스터 볼륨 / 효과음 / 배경음악 조절
- ESC 키로 Settings 창 On/Off 토글
- 나중에 다른 설정 기능 또는 그래픽 등 다른 설정도 넣을 수 있게 구조 설계
Master Audio 기반 오디오 슬라이더 만들기
구현 요소
항목 | 설명 |
Master | 전체 볼륨 (MasterAudio.MasterVolumeLevel) |
SFX | 효과음 볼륨 (SFX Bus로 묶어서 제어) |
BGM | 배경음악 Playlist 볼륨 |
UI 구성
- Canvas > SettingsUI 패널 아래에 슬라이더 3개 생성
- MasterSlider, SFXSlider, BGMSlider
- AudioController.cs에 슬라이더들을 연결
SFX 그룹 만들기
- Master Audio의 Group을 SFX Bus에 할당
- MasterAudio.SetBusVolumeByName("SFX", value)로 조절 가능
작업 순서
1) AudioController.cs 작성
- MasterAudio를 이용해 Master/SFX/BGM 슬라이더 연결
- PlayerPrefs로 저장 및 불러오기 구현
- Singleton 구조로 만들어 재사용 용이
2) UI 슬라이더 구성
- UI > Canvas > SettingsUI 내에 슬라이더 3종 생성
- MasterVolume
- SFX Volume
- BGM Volume
- 슬라이더에 AudioController 연결
3) Settings UI On/Off 기능 구현
- 빈 오브젝트에 SettingsManager.cs 작성
- ESC 키 누르면 SettingsUI 활성화/비활성화 토글
- 추후 그래픽 설정 등도 이 안에 통합할 수 있도록 구조 설계
구조 정리
UICanvas
└── SettingsUI
└── SoundPanel
├── MasterVolumePanel (슬라이더)
├── SFXVolumePanel (슬라이더)
└── BGMVolumePanel (슬라이더)
SoundManager (빈 오브젝트)
└── AudioController.cs
SettingsManager.cs (ESC로 토글 제어)
트러블슈팅
- Playlist Controller is not initialized 오류 → MasterAudio의 순서 문제
→ 실행 순서 조절하기 위해 Awake 안에서 처리하던 BGM Start로 변경
느낀 점 / 다음 할 일
- UI 구조는 확장성을 고려해서 설계하는 게 중요
- MasterAudio를 쓰니 오디오 제어는 정말 편했다
- 다음엔 그래픽 설정 / 자막 ON/OFF 등도 추가 예정!
오늘 정리
항목 | 완료 여부 | 설명 |
MasterAudio 슬라이더 조절 | ✅ | Master / SFX / BGM 각각 분리 |
PlayerPrefs 저장 | ✅ | 게임 재실행 시에도 유지 |
ESC 키로 Settings UI 열기 | ✅ | SettingsManager에서 감지 |
전체 구조 설계 | ✅ | 추후 확장성 고려 (그래픽 설정 등 추가 예정) |
728x90
'GameDevelop > Unity팀프로젝트' 카테고리의 다른 글
Unity Dialogue System | 컷씬 대사와 상호작용 대사는 따로 관리해야 할까? (1) | 2025.07.21 |
---|---|
[Unity] Dialogue System으로 NPC 대화 시스템 구현 (0) | 2025.07.18 |
Unity 맵 전환 시 배경전환 기능 추가 & 맨 뒷 배경이 안보이는 문제 트러블슈팅 (0) | 2025.07.16 |
중간발표 후 피드백 기록 (2) | 2025.07.15 |
Unity 타일맵 구조 정리 & 작업 일지 (Middle4 타일맵 구성) (0) | 2025.07.11 |