본문 바로가기
Game Lab

[Week19] FMOD 빌드 시 주의할 점, condition 설정에 대한 오해

by 토리총 2026. 7. 13.

 

 

 


[FMOD] BGM 무한 루프 안 되던 이슈 정리

상황

  • BGM용 Single Instrument(BGMS001.wav) 트랙을 계속 반복 재생시키고 싶었음
  • 설정을 다 맞춰놨는데도 소리가 아예 안 남
  • 알고 보니 원인이 두 군데 겹쳐 있었음

이슈 1. 루프 카운트가 12로 제한되어 있었음

  • Sound 패널 상단에 루프 관련 필드(▷12)가 있었는데, 이게 "반복 횟수 지정" 버튼인 줄 몰랐음
  • FMOD에서 루프 카운트는 0 = 원샷, N = N번 반복 후 정지, -1(무한) = 계속 반복 으로 동작함
  • 12로 되어 있으면 12번만 돌고 멈추는 거였음

해결

  • 루프 카운트를 무한(∞ / -1)으로 변경
  • 하단 Loop 버튼도 켜져 있어야 루프 리전 자체가 동작함 (둘 다 확인 필요)
  • Async는 이미 켜져 있었는데, 이건 타임라인 스크럽 위치와 무관하게 재생되도록 하는 옵션이라 BGM 트랙엔 필수로 켜둬야 함

이슈 2. Conditions 때문에 소리 자체가 안 트리거됨

  • Conditions 패널에 BGMVolume 파라미터 조건을 걸어두고 Inverted를 켜둔 상태였음
  • 범위는 0~1 전체를 선택해둔 상태였음

문제

  • Inverted는 "지정한 범위를 벗어난 값일 때만 트리거"로 뒤집는 옵션임
  • 범위를 0~1 전체로 잡아놓고 뒤집어버리면 "0~1을 벗어난 값"을 요구하는 셈 → 그런 값은 나올 수가 없어서 인스트루먼트가 영원히 트리거 안 됨
  • 루프 설정을 다 맞게 고쳐도 애초에 재생 자체가 시작을 안 하니 "반복이 안 되는 것"처럼 보였던 거였음

해결

  • 해당 Condition을 Clear로 삭제함
  • Conditions는 "재생할지 말지"를 정하는 트리거 게이트라서, 지금 목적(볼륨만 조절)엔 애초에 필요 없는 기능이었음

내가 오해했던 부분

오해 1: Conditions ≠ Automation

  • Conditions: 파라미터 값이 특정 범위일 때 인스트루먼트를 "재생할지 말지" 정하는 게이트
  • Automation: 파라미터 값에 따라 볼륨 같은 속성을 "연속적으로" 바꿔주는 곡선

→ "특정 상황엔 볼륨 줄이고, 아니면 원래대로" 같은 연출은 Automation으로 하는 게 맞고, Conditions는 전혀 다른 용도였음. 처음에 이 둘을 헷갈려서 Conditions에 조건을 걸어버린 게 문제의 시작이었음

오해 2: Condition을 지우면 파라미터 전달 방식도 바뀌는 줄 알았음

  • Condition을 지워도 BGMVolume이라는 파라미터 자체는 그대로 살아있음 (Automation이 그 파라미터를 참조하고 있으니까)
  • 프로그래머에게 전달하는 내용(파라미터 이름 + 값의 의미)은 Condition 유무와 무관하게 동일함
  • Condition은 그저 "재생 여부를 막는 추가 조건"이었을 뿐, 파라미터가 게임 엔진에서 전달되는 통로 자체와는 무관했음

최종 정리

구분 역할 이번 이슈에서 필요 여부

Async 스크럽과 무관하게 재생 (BGM 필수) 필요 (이미 ON)
Loop 버튼 + 루프 카운트 실제 반복 재생 여부/횟수 무한(∞)으로 설정
Automation 파라미터 값 → 볼륨 등 속성 변화 필요 (BGMVolume 0→기본, 1→감소)
Conditions 파라미터 값 → 재생 여부(게이트) 이번 목적엔 불필요, 삭제

 

"BGMVolume" 파라미터, 0 = 기본 볼륨, 1 = 감소된 볼륨


 

Pitch Parameter 테스트 성공

 

 

 

 

 

그리고 깨달은 loop 더 쉽게 설정하는 방법..

바로 loop region.

굳이 돌아돌아 가느라고 생각지 못했는데 그냥 루프리전 설정하면 됐다.

이제라도 알았으니 다행이다.