BGM 시스템 (기본 / 전투 / 성 지역)
개요
배경음악을 상황에 따라 자동 전환하는 시스템. 우선순위는 성 지역 > 전투 > 기본이며,
두 개의 오디오 슬롯을 크로스페이드해 부드럽게 전환한다.
구성 요소
URetrieveMusicSettings(UDeveloperSettings): Project Settings에서 기본/전투 BGM 에셋과 크로스페이드 시간 지정.URetrieveMusicSubsystem(UWorldSubsystem): 재생/전환/전투 판정의 중심. 슬롯 A/B 크로스페이드.ARetrieveMusicZoneVolume(AActor+UBoxComponent): 성 구역처럼 특정 영역 전용 BGM을 재생하는 볼륨.
동작 규칙
- 성 지역(존): 볼륨 안에 있으면 전투 여부와 무관하게
ZoneBGM이 최우선. - 전투 BGM 진입:
Channel.Enemy.PlayerSpotted로 적이 나(로컬 플레이어)를 포착한 순간.- 공격 발동·무기 장착만으로는 진입하지 않음.
- 전투 BGM 유지/종료: 나를 포착한 몬스터를 교전 집합에 넣고, 0.5초 주기로
파괴됨 /State.Enemy.Dead/State.Enemy.Chase없음인 몬스터를 걷어낸다.- 집합이 비면(= 추적하는 몬스터가 하나도 없으면) 기본 BGM으로 복귀 (최대 0.5초 내).
- 볼륨 연동:
Retrieve Settings > Audio > Music Sound Class가 지정돼 있으면
기존 옵션 메뉴의 음악 볼륨 슬라이더가 BGM에도 그대로 적용됨.
| 상황 | 결과 |
|---|---|
| 적이 나를 포착 | 전투 BGM 진입 |
| 포착한 적이 계속 추적 중 | 전투 BGM 유지 |
| 적이 죽음 / 추적 포기(도망·흥미 잃음) | 해당 적을 집합에서 제거 |
| 추적하는 적이 하나도 안 남음 | 기본 BGM 복귀 |
| 성 볼륨 안에 진입 | 전투 여부 무시하고 성 BGM |
에디터 설정
- Project Settings → Retrieve → Retrieve Music
Default BGM/Combat BGM에셋 지정 (USoundBase: Wave/Cue/MetaSound 모두 가능)Crossfade Duration(기본 1.5초)
- 성 구역에
Retrieve Music Zone Volume배치- Box Extent를 성 구역 전체를 덮도록 조정
Zone BGM에 성 전용 트랙 지정- World Partition 레벨이면
Is Spatially Loaded끄기 권장 (경계에서 언로드로 오버랩 놓침 방지)
- (선택) Retrieve Settings → Audio → Music Sound Class 지정 시 볼륨 슬라이더 연동