ドキュメント

Unity Engine

Unity Engine

アンビソニックオーディオデコーダーの開発

Instructions for implementing an ambisonic decoder plug-in and registering it in Project Settings.
読み終わるまでの所要時間 8 分最終更新 1ヶ月前

アンビソニックデコーダーは、アンビソニックなオーディオ形式をステレオやサラウンドなどの特定の出力形式にデコードするオーディオコンポーネントです。この形式は、プラットフォームがこれをオーバーライドしない限り、スピーカーの設定 (メニューで 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 が使用する必要のある出力チャンネル数をプラグインに通知します。
ambisonicOutChannels
は、
DefaultSpeakerMode
のチャンネル数に自動的に設定されます。
例えば、4 つのチャンネルをもつ一次オアンビソニックオーディオクリップを再生し、スピーカーモードがステレオ (2 チャンネルのみ) の場合
  • アンビソニックデコーダーのプロセスコールバックは、入出力チャンネル数に対して 4 を渡します。
  • ambisonicOutChannels
    フィールドは自動的に 2 に設定されます。
  • プラグインは空間化されたデータを最初の 2 チャンネルに出力し、他の 2 つのチャンネルへの出力をゼロにします。

アンビソニックオーディオデコーダープラグインの開発手順

Unity 用の独自のアンビソニックオーディオデコーダープラグインを開発するには、以下の手順に従います。
  1. ネイティブのオーディオプラグイン SDK を使用してカスタムオーディオプラグインを作成します。
  2. 効果の説明ビットフィールドにフラグを設定します。
    definition.flags |= UnityAudioEffectDefinitionFlags_IsAmbisonicDecoder;
  3. プラグインの設定が完了したら、ファイルをコンパイルします。任意のプラットフォームでコンパイルできることを確認してください。
  4. オプションで、ファイルを .dll ファイルに変換します。
  5. プラグインファイルを Unity プロジェクトの Asset フォルダーに移動します。
Unity でアンビソニックオーディオプラグインを使用する方法の詳細については、アンビソニックオーディオを参照してください。

Unity アンビソニックがサポートする形式

Unity アンビソニックソースのフレームワークは、一次および二次のアンビソニックをサポートします。プラグインインターフェースには、バイノーラルステレオ、クアッド出力をサポートする情報が含まれていますが、どの出力をサポートするかはプラグインによって決定されます。
最初は、アンビソニックデコーダープラグインは一次アンビソニックソースとバイノーラルステレオ出力をサポートします。二次アンビソニックはサポートされません。
利用可能なアンビソニック形式のうち、特定のものに対する専用のフレームワークはありません。クリップの形式がアンビソニックのデコーダープラグインの想定される形式と一致する場合は、アンビソニックオーディオは問題なく作動します。Unity にとって好ましいアンビソニック形式は、B-format で ACN コンポーネント順と SN3D の正規化を伴っているものです。

その他の情報

プラグインの開発方法については、ネイティブオーディオプラグイン SDK およびオーディオスペーシャライザー SDK を参照してください。オーディオプラグイン SDK もダウンロードする必要があります。