Version: 2023.2
언어: 한국어
앰비소닉 오디오
오디오 클립

앰비소닉 오디오 디코더 개발

앰비소닉 디코더는 앰비소닉 오디오 포맷을 스테레오 또는 서라운드 사운드와 같은 특정 출력 포맷으로 디코딩하는 오디오 컴포넌트입니다. 이 포맷은 플랫폼에서 오버라이드하지 않는 한 스피커 설정(메뉴: Edit > Project Settings > Audio > Default Speaker Mode)을 따릅니다.

Unity는 앰비소닉 오디오를 지원하지만 기본적으로 빌트인 디코더를 제공하지는 않습니다. 대신 타사 디코더를 선택하거나 자체 디코더 플러그인을 사용해야 합니다.

앰비소닉 오디오 디코더 플러그인 설정

오디오 스페이셜라이저를 설정하는 것과 동일한 방법으로 앰비소닉 오디오 디코더를 설정할 수 있습니다. 하지만 AudioPluginInterface.h 파일의 다음 파라미터는 앰비소닉 오디오 디코더 플러그인에만 사용할 수 있습니다.

UnityAudioEffectDefinitionFlags_IsAmbisonicDecoder

플러그인 스캔 단계에서 UnityAudioEffectDefinitionFlags_IsAmbisonicDecoder 플래그는 Unity에 이것이 앰비소닉 디코더 효과임을 알립니다. 플러그인이 앰비소닉 디코더로 작동하도록 활성화하려면 효과에 대한 설명 비트 필드에 플래그를 설정합니다.

`````
definition.flags |= UnityAudioEffectDefinitionFlags_IsAmbisonicDecoder;
`````

Unity는 Project Settings 창에서 플러그인을 옵션으로 나열합니다(메뉴: Edit > Project Settings > Audio > Ambisonic Decoder Plugin).

UnityAudioAmbisonicData 구조체

UnityAudioAmbisonicData 구조체는 Unity가 스페이셜라이저에 전달하는 UnityAudioSpatializerData 구조체와 유사하며, ambisonicOutChannels 정수를 포함합니다.

ambisonicOutChannels 정수

앰비소닉 디코더는 Unity의 오디오 파이프라인 초기에 실행되며, ambisonicOutChannels 변수는 플러그인에 Unity가 사용해야 하는 출력 채널의 수를 알립니다. ambisonicOutChannelsDefaultSpeakerMode의 채널 수로 자동 설정됩니다.

예를 들어 4채널인 1차 앰비소닉 오디오 클립을 재생하며 스피커 모드가 스테레오(2채널)인 경우 다음과 같습니다.

  • 앰비소닉 디코더의 프로세스 콜백은 입력과 출력 채널 수에 대해 4를 전달합니다.

  • ambisonicOutChannels 필드는 2로 자동 설정됩니다.

  • 플러그인은 공간화된 데이터를 처음 2개 채널에 출력하고 나머지 2개 채널은 0으로 출력합니다.

앰비소닉 오디오 디코더 플러그인 개발 단계

다음 단계에 따라 Unity용 앰비소닉 오디오 디코더 플러그인을 직접 개발할 수 있습니다.

  1. 네이티브 오디오 플러그인 SDK를 사용하여 커스텀 오디오 플러그인을 생성합니다.

  2. 효과의 설명 비트 필드에서 플래그를 설정합니다.

    definition.flags |= UnityAudioEffectDefinitionFlags_IsAmbisonicDecoder;
    
  3. 플러그인 설정을 완료하면 파일을 컴파일합니다. 원하는 플랫폼에서 컴파일할 수 있어야 합니다.

  4. 선택적으로 파일을 .dll 파일로 전환합니다.

  5. 플러그인 파일을 Unity 프로젝트의 Asset 폴더에 옮깁니다.

Unity에서 앰비소닉 오디오 플러그인으로 작업하는 자세한 방법은 앰비소닉 오디오를 참조하십시오.

Unity 앰비소닉이 지원하는 포맷

Unity 앰비소닉 소스 프레임워크는 1차 앰비소닉을 지원할 수 있습니다. 플러그인 인터페이스에는 입체 스테레오, 4채널 출력을 지원하기 위한 정보가 포함되지만, 실제 지원되는 출력은 플러그인에 따라 결정됩니다.

초기에는 앰비소닉 디코더 플러그인이 1차 앰비소닉 소스와 입체 스테레오 출력만 지원하며 2차 앰비소닉은 지원하지 않습니다.

프레임워크에는 사용할 수 있는 여러 앰비소닉 포맷 중 특정 포맷에만 해당되는 사항이 없습니다. 클립의 포맷이 앰비소닉 디코더 플러그인이 예상한 포맷과 일치하면 앰비소닉 오디오가 문제 없이 작동할 것입니다. Unity의 기본 앰비소닉 포맷은 ACN 컴포넌트 순서와 SN3D 정규화를 사용하는 B-포맷입니다.

추가 정보

플러그인을 개발하는 자세한 방법은 네이티브 오디오 플러그인 SDK오디오 스페이셜라이저 SDK를 참조하십시오. 또한 오디오 플러그인 SDK를 다운로드해야 합니다.

앰비소닉 오디오
오디오 클립