Unity WebGL 오디오 기능 사용 가이드
개요
Unity는 FMOD를 사용하여 오디오를 관리하지만, WebGL 플랫폼에서는 기능이 제한적입니다. 이 문서에서는 Unity WebGL에서 오디오를 사용하는 방법과 지원되는 API를 소개합니다.
자동 재생 정책
Google Chrome의 새로운 자동 재생 정책으로 인해 오디오 및 동영상이 자동으로 재생되지 않을 수 있습니다. 웹사이트를 클릭하거나 탭하지 않으면 게임이 로드된 후에도 배경 음악이 재생되지 않습니다. 이 정책에 대한 자세한 정보는 Chrome의 자동 재생 정책 문서를 참조하세요.
지원되는 클래스
Unity WebGL에서 사용할 수 있는 오디오 API 클래스는 다음과 같습니다:
클래스 | 지원 상태 |
---|---|
AudioSource | 일부 API 지원 |
AudioListener | 모든 API 지원 |
AudioClip | 일부 API 지원 |
SystemInfo.supportsAudio | 항상 true |
Microphone | 지원되지 않음 |
AudioSource API 설명
Unity WebGL은 다음과 같은 AudioSource 기능을 지원합니다:
설정 | 설명 |
---|---|
Clip | 재생할 오디오 클립 결정 |
dopplerLevel | 도플러 스케일 설정 |
ignoreListenerPause | AudioListener.pause를 무시 |
ignoreListenerVolume | AudioSource의 볼륨을 무시 |
isPlaying | 재생 중이면 true 반환 |
loop | 클립 반복 허용 |
maxDistance | 감쇠가 멈출 최대 거리 설정 |
minDistance | 소리 감쇠가 시작되는 최소 거리 설정 |
mute | AudioSource 음소거 |
pitch | AudioSource의 피치 설정 (양수 값만 지원) |
volume | AudioSource의 볼륨 설정 (0.0–1.0) |
Play | 클립 재생 |
Stop | 클립 재생 중지 |
AudioClip API 설명
Unity WebGL에서 지원되는 AudioClip API는 다음과 같습니다:
프로퍼티 | 설명 |
---|---|
length | 초 단위의 AudioClip 길이 |
loadState | 오디오 데이터의 현재 로드 상태 반환 |
samples | 샘플 단위의 AudioClip 길이 |
loadType | 클립의 로드 타입 |
오디오 압축
WebGL과 함께 압축된 오디오를 사용하려면 다음 옵션 중 하나를 사용해야 합니다:
압축 방식 | 설명 |
---|---|
CompressedInMemory | 애플리케이션 메모리에 압축된 상태로 로드 |
DecompressOnLoad | 애플리케이션 메모리에 로드할 때 압축을 해제 |
오디오와 브라우저 보안
브라우저 보안 정책으로 인해 최종 사용자가 마우스 클릭, 터치 또는 키 입력을 통해 상호작용해야 오디오 재생이 허용됩니다. 초기 로딩 화면에서 상호작용을 요구하여 오디오 재생을 시작할 수 있도록 하십시오.
활용 예제
- 배경 음악 추가: 게임이 로드될 때 클릭이 발생하면 배경 음악이 재생되도록 기다리기.
- 사운드 효과: 플레이어의 액션에 반응하여 특정 사운드 효과를 재생.
- 인터랙티브 오디오: 버튼 클릭 시 오디오 클립을 재생하여 사용자 경험 향상.
이 문서는 Unity WebGL에서 오디오를 사용하는 기본적인 내용과 몇 가지 유용한 팁을 제공하였습니다. 추가적인 학습이나 예제를 원하시면 Unity 공식 문서나 커뮤니티 포럼을 방문해 보시길 권장합니다.