Wwise SDK 2023.1.8
|
Wwise 2023.1ではWwiseのインタラクティブオーディオパイプラインの中核となる機能が拡張され、ユーザのオーディオビジョンを実現するために、さらなるアフォーダンスを目指して改善されています。Wwise Authoring API(WAAPI)がWwiseのワークフローをサポートするようになり、Wwiseのユーザインターフェースが展開し続ける中、編集ワークフローの焦点を絞る機能が複数導入されています。同時にSpatial Audioも引き続き改善され、科学からはじまるアプローチでランタイムの詳細スペーシャル情報として適用され、ユーザビリティ向上と共に提供されます。これらの変更のほか、基礎となるビルディングブロックがあり、Wwiseは統合されたインタラクティブオーディオソリューションを求める人をサポートし続けます。
2021.1でオブジェクトベースパイプラインが導入されて3D AudioのネイティブサポートがWwiseに追加されたほか、Spatial Audioの精度を活用できるプラットフォームのミックスを策定して応用するワークフローが構築されました。精度の高いポジショニング情報をサウンドに与えてルーティングすることができるため、ヘッドフォン用のバイノーラル化も含め、どのようなチャンネルコンフィギュレーションにも正確にミックスを応用することができます。Wwise 2023.1において適応力や互換性は強化され続け、これまでのWindows、Xbox、PlayStationに加え、AppleやAndroidデバイスもSpatialization対応のプラットフォームとなりました。
各種デバイスやプラットフォームに適応することのできるゲーム向けスペーシャルインタラクティブオーディオコンテンツを制作し配信するための標準方式をWwiseユーザ向けに提供し続けるために、Audiokineticは今年Dolbyとパートナーシップを組みました。WwiseとDolbyの今後の計画についてはプレスリリースをご参照ください。
System Audio DeviceにAppleプラットフォーム向け3D Audioサポートを追加しました。ランタイムにMacやiOSデバイスでApple Spatial Audioを利用できるようになりました。
System Audio DeviceにAndroidプラットフォーム向け3D Audioサポートを追加しました。Android Spatializerが含まれるAndroidデバイスにおいて、ランタイムに3D Audioを利用できるようになりました。
プレイヤーが没入するワールドの情報から、より動的な音響リアリズムを導き出したいという思いは増え続けています。Wwise Spatial Audioの目的は、これらのワールドから音が発生しているとプレイヤーに感じさせることです。これを達成するためにSpatial Audioはテクノロジー、クリエイティビティ、アクセサビリティを組み合わせます。具体的には実際の音響現象の知識に基づく精密なテクノロジー、ゲーム内エクスペリエンスに求められる美的要件に合わせてクリエイティブに環境オーディオ面を操作する能力、そして誰でもSpatial Audio機能を使いこなせる改善を提供し続けます。
継続的なレイトレーシング、ルームコンテインメント、ポータル反射の改善、Room Aux Sendモデルの改定、Reverb Zone、Reflect Decorrelationなどが導入され、スペーシャル音響のニーズにリアルタイムで対応しやすくなりました。これらの機能が引き続き最新のシミュレーションテクノロジーや音響シミュレーション精度を提供します。同時にこれらの機能はWwiseユーザのために成長させたいという私たちの努力を裏付けるものであり、ユーザのニーズ、能力、クリエイティブビジョンに合わせて厳密に調整されたリアルなエクスペリエンスを目指すユーザたちの姿勢を応援します。
レイキャスティング(Ray casting)はゲームジオメトリによるサウンドへの環境的な影響を駆動するための情報を提供します。Wwiseがリスナー周りの空間的な側面を理解することで、Spatial Audioを使用するサウンドをWwiseで正確に表現できます。オブジェクトやジオメトリが存在する場合のサウンドに適用されるオブストラクション、オクルージョン、トランスミッション(透過)、ディフラクション(回折)に対しレイが情報を伝えます。以前の実装においてはリスナー動作が事前に定義された閾値を超えた場合のみ、多数のプライマリーレイがキャストされました。このようなレイが同一フレームでキャストされる時、このフレームにおいて負荷が急増するため、CPUピークが発生することがありました。調整困難な動作閾値の設定も必要でした。一方現在は各フレームでキャストされるプライマリーレイの数が大幅に減り、負荷が複数のフレームに分散され、CPUピークが回避されます。このアプローチで継続的なレイキャスティング時の全体的な負荷は最適化され、動作閾値が不要となり、実装が簡素化されると共にパフォーマンスが向上します。
Spatial Audioではサウンドが存在するルームを把握することにより、リスナーとの関係を計算します。ゲームオブジェクト(エミッター)の入っているルームを自動的にアサインする際の判断能力が改善されました。あるルームが別のルーム内に完全に収まっており、外側のルームと共有する面がない場合は、正しいルームを自動的に迷いなく判別することができます。一方、ルームが部分的に別のルーム内にある場合や2つのルームに共通する面が1つ以上ある場合は、これまでどのルームにサウンドをアサインするべきかの判断が困難でした。今回各ルームのプライオリティ番号(優先順位)の割り当てが可能となり、このプライオリティシステムでサウンドを正しいルームにアサインすることができるようになりました。あるオブジェクトが同時に複数のルーム内にある場合(1つのルーム内に別のルームがある場合など)、必ずプライオリティの高い方のルームにサウンドがアサインされ、両者のプライオリティが同等の場合は内側のルーム(レイキャスティング結果に基づく)にアサインされます。さらにあるゲームオブジェクトに自動的にアサインされたルームを上書きする方法を、APIが提供するようになりました。ユーザが明示的にこのルームの関連付けを解除するまで、自動的にアサインされたルームは、指定されたルームに置き換えられます。
反射がポータルを通って自然に伝播するようになりました。これまで、エミッターとリスナーが別のルームにある場合は両者を結ぶパスが断片的に求められていました。この考え方ではポータルまでの値、ポータルからポータルへの値、そしてポータルからリスナーまでの値が複数のパスをつなぎ合わせて構築されていたため、処理が複雑でした。今回、ポータルエッジレセプタを利用して全体的なパスを探索する確率的エンジンをSpatial Audioに採用し、ポータルを通る自然な反射の伝播など、通常のジオメトリと同様の伝播が可能になりました。
改定されたRoom Aux Sendモデルでは回折、透過損失、オクルージョン、オブストラクションの信号フローを更新し、エミッターからすべての隣接するルームへ、リスナーまでのダイレクトサウンドパスを通して直接送ることができるようになりました。このためサウンドは各ルームにおけるリバーブへの寄与を維持した状態で環境内を通り、最終ミックスに適切に寄与することができます。サウンドがエミッターから隣接するルームに送られるようになったため、エミッターとリスナーが同じルームにありながら開いたポータル付近にある場合、サウンドは付近のルームを励起させます。この変更によりエミッターのセンド値に適用されるフィデリティレベルが向上し、ルームごとに回折を計算することが可能となりました。これまで減衰はエミッターとリスナーの距離に基づいていましたが、パス長さに応じた減衰と一致するようになり、最終的なサウンドの一貫性を確保できます。
Reverb Zoneは空間や空間同士のつながりを定義する、既存のルームやポータルという方式をさらに広げます。Reverb Zoneを使用してルーム内の空間をポータル接続を使わず個別に指定することが可能です。最近の複雑化された環境では、ワールド内で論理的にルームとして切り分けていない空間でカスタムリバーブが必要となることがよくあり、ポータルを使用して区分けすることが不自然あるいは不可能な場合もあります。Reverb Zoneでは壁を設置することも一切設けないことも可能で、サウンド伝播の枠組みに緊密に統合されています。つまりリバーブの寄与、回折、反射などが適宜レンダリングされます。
ルーム内でエミッターが再生されます。 | |
サウンドはポータルから外に向かい伝播しますが、このポータルはReverb Zoneにつながっています。 | |
サウンドは外に伝播し続け、Reverb Zoneの親ルームまで伝播します。外に出たサウンドはさらに、ジオメトリによって定義された障害物の周りを回折します。 |
Reverb Zoneの使用例として、屋根があり壁のない空間や屋外の森林地帯など、共通の空間内で複数のリバーブエフェクトが必要な場合が考えられます。標準的なGame-Defined Auxiliary Sendsと比較してReverb Zoneには多くの利点があります。Reverb Zoneは改定されたRoom Aux Sendモデルの一部であり(前のセクションを参照)、Reverb Zoneとほかのルームとのリバーブチェインが構成され、Reverb Zoneの3D範囲に合わせてスペーシャリゼーションが適用され、Wwise Spatial Audioでシミュレーションされる回折や透過などの音響現象がReverb Zoneにも適用されます。
Reverb Zoneはルームでありながら、Parent RoomとTransition Region Widthという2つのプロパティが追加されています。Reverb ZoneとParent Roomの間に親子関係の階層が形成されるため、まるで同じルームであるかのように両者間で音が伝播し、両者を接続するポータルは必要ありません。親ルームは複数のReverb Zoneを持つことができますが、Reverb Zoneの親は1つだけです。Reverb Zoneがそれ自身の親になることはできず、ポータルはReverb Zoneの同じ階層内にあるルームを接続することはできません。Reverb Zoneの外側に自動的にルームが作成され、一般的にこのルームがReverb Zoneの親ルームとして使われますが、それは外側のルームが開放された空間をモデル化していることが多いためです。Transition Region WidthはReverb Zoneとその親の間のリージョンであり、Reverb Zoneジオメトリの周りにあります。これが適用されるのは、三角形透過損失が0に設定されている場所のみです。
UnrealやUnityのインテグレーションにReverb Zoneコンポーネントや関連する関数が含まれています。
Reflectプラグインは位相ずれを軽減するためにDirect Sound Max DelayとDecorrelation Strengthの2つの方法を提供するようになりました。Direct Sound Max Delayは反射音と直接音の間で発生する位相ずれ効果を抑制する一方、 Decorrelation Strengthは反射された信号をスクランブルするフィルターを制御し、スクランブル前の信号と同じように聞こえるものの、ダイレクト信号とミックスした時にコムフィルタ効果を防止できる程度に異なる信号にします。Decorrelationフィルタを使用してステレオフィールドを広げることもできます。
ルームやポータルでオブストラクションを使いやすくするためのいくつかの改善が、Spatial Audioで行われました。
AkComponentにはCollision ChannelとRefresh Intervalのプロパティがあります。これまでこれらのプロパティは、同じSpatial Audioルーム内のエミッターとリスナーの間のオブストラクション値やオクルージョン値の計算にしか使われませんでした。ルームがない時はオクルージョンを適用し、ルームがある時はオブストラクションを適用します。
AkPortalComponentにもCollision ChannelとRefresh Intervalのプロパティがあります。これまでこれらのプロパティは、ポータルにオブストラクション値やオクルージョン値を適用するために使われ、これはポータルを通るすべてのサウンドに影響を与えてきました。
今回の改善で、AkComponentやAkPortalComponentのRefresh Intervalプロパティをゼロ以外の値に指定した時、AkComponentとそのリスナーの間のオブストラクション(両者が異なるルームにいる場合でも)、同じルーム内のAkComponentとAkPortalComponentの間のオブストラクション、そして同じルーム内のAkPortalComponentとその他のAkPortalComponentとの間のオブストラクションが計算されるようになりました。発せられるサウンドに適用されるフィルター量がこの計算で正確に知らされます。この機能をSpatial Audioの回折や透過が関係するシナリオで使用することができますが、オブストラクションチェックのためのCollision Channelには、回折や透過のためにSpatial Audioに送られるジオメトリが含まれないことを確認してください。
AkPortalComponent Collision ChannelやRefresh Intervalのこれまでの動作は、オクルージョンを通して利用することができます。詳細パネルで初期オクルージョン値を設定したり、ブループリントの関数を使用して希望するタイミングでオクルージョン値を設定したりすることが可能です。これをドアの開閉に応じたサウンドのモジュレーションに使用することができます。
1つのオブジェクトに追加することのできるエフェクト数が4個から255個に増えました。ダイナミックエフェクトやレンダリングされたエフェクトのクリエイティブな適用を制限する必要がなくなります。エフェクトのプロパティにアクセスしてエフェクトの挿入、編集、測定が可能なすべてのビューにおいて、この変更が反映されます。
Loudness Normalizationの過程で短時間サウンドのラウドネス測定をより柔軟に細かく制御するために、ラウンドネスのTargetプロパティとそれに伴うMomentary Maxというタイプが追加されました。音楽やシネマティックスなどの長いオーディオプログラム素材に便利なIntegrated測定と、サウンドエフェクトなど単発で単体のオーディオ要素に最適なMomentary Maxの、2つの選択肢が提供されます。異なるサウンドカテゴリーのラウドネスノーマライゼーションを破壊することなく微調整しやすくなり、インタラクティブなミックスを一貫した基準に基づいて構築することができます。
Project Migrationダイアログに、プロジェクト移行時にソースコントロールを使用する場合の自動チェックアウトオプションが追加されました。
以下のセクションで利用可能なスペースの最大限の活用、分かりやすさの向上、迅速な実装対応など、ユーザインターフェースの各種改善について説明します。
Audio Device Editorにセカンダリエディタが追加され、ここからAudio Device MeterやEffect Editorのタブにアクセスできるようになりました。この変更によりエフェクトやエフェクトプロパティ間の移動の際にオーディオデバイスとの関連性が保たれ、メーターはプライマリエディタから専用の編集タブに移されました。またこれによりクロスプラットフォーム対応のMastering SuiteのShareSetsの切り替えを、Objectタブから離れることなく行えるようになりました。
オーディオバスのセカンダリエディタにMeterタブが追加され、"Open in New Window"(Alt+F11)ボタンで切り離すことができます。Meterタブは自動的にピン留めされるため、ほかの4つのMeterインスタンスと関連性はありません。このようにしてMeterの数を増やすことで、オーディオ階層のさまざまな部分を監視する機会が広がります。
ソースエディタにおいて試聴やマーカー操作を細かく制御できるようになりました。上部タイムラインルーラーの任意の位置をクリックし、カーソルの位置を決めます。続いてカーソルをソース内の好きな位置にドラッグすると正確な時間が同時に表示されます。さらにミュージックセグメントエディタでALTキーを押下しながらマーカー、カーソル、またはキューの上にマウスを置くと時間が表示され、タイムライン上でドラッグすることができます。
サーチツールの結果を矢印キーで移動することができるようになりました。検索結果リストで選択したオブジェクトが、リサイクルされるObjectタブと同様にTransport Controlにも反映されるため試聴することができます。検索結果リストのオブジェクトを右クリックすることで、表示中のObjectタブから移動することなくショートカットメニューにアクセスすることができ、選択対象に対しキーボードショートカットを使用することもできます。
LayoutsメニューにUser Layoutが4つ追加され、あなたのカスタマイズしたビュー構成を保存できるようになりました。デフォルトのレイアウトを変更せず、あなたの具体的なワークフローに対応した独自レイアウトを作成することができます。
セカンダリエディタで横向きに表示できるように、Effectエディタのすべてのレイアウトが最適化されました。またエディタの最大の高さはセカンダリエディタの高さを手動で変更しない限り、エフェクトの最大の高さに合わせて設定されるようになりました。
エフェクトの追加や削除のためのボタンをEffectリストに追加し、特定のスロットにエフェクトを挿入するための新しいショートカットメニューを追加しました。Effect ShareSetsをリストにドラッグ&ドロップできるようになり、またリストの項目も複数選択してエフェクトのコピー&ペーストや削除ができるようになりました。さらに空白スペースの最適化を行い、ユーザインターフェース要素の表示をすっきりさせました。
Blend TrackやRTPCのグラフ表示に細かい変更を加え、オブジェクト名を重ねて表示させながらグラフ表示の場所を最適化させました。さまざまなフォントサイズに合わせたグラフの最適化も行いました。
3Dグラフィックスのバックエンドを刷新してDirectX 9の実装を置き換え、Game Object 3D Viewer、3D Meter、そしてAudio Object 3D Viewerの表示に採用しました。この変更によりハードウェアの互換性が改善されたほか、ファーストパーソンナビゲーションやズームが改善され、Game Object 3D Viewerのリストで選択した項目の遷移がスムーズになるなど、ユーザエクスペリエンスの各種更新が行われました。
SoundcasterのGame Syncリストが、長さに合わせてのサイズ調整できるようになりました。
Capture Log、Audio Object 3D Viewer、 Game Object 3D Viewerの表示オプションがダイアログではなくビュー内に配置されるようになりました。これらのビューを結合するとアクセスが容易になります。
リモート接続時の同期を改善し、将来のライブ編集の向上に向けた基礎的な準備をすすめました。Profile and Edit (Sync All Modified Objects)を選択した場合、リモートインスタンスにロードされたすべてのオブジェクトが接続時に同期され、接続中にサウンドバンクがロードされた時にも同期されます。
これまで未対応であったネットワーク環境でWwiseに接続できるようになりました。
Wwise 2021.1.14とWwise 2022.1.9でもファイルの保存時に改行コードをLF(デフォルト)とCRLFの2種類から選択できるようになりました。
Wwiseでは、選択した改行オプションが次のファイルすべてに適用されます。
.wproj
.wsettings
.wwu
Wwise_IDS.h
.xml
, .json
, .txt
ProjectInfo.xml
、 ProjectInfo.json
PlatformInfo.xml
、 Platform.json
SoundbanksInfo.xml
、 SoundbanksInfo.json
PluginInfo.xml
、 PluginInfo.json
このオプションはProject SettingsのGeneralタブにあります。
Wwise 2022.1.5にも含まれているWwise Browserは、Wwise Unreal IntegrationのWwise Pickerに置き換わりました。WwiseやUnrealのアセットステータスが表示されるほか、プロジェクトステータスの異なる面に注目するために適用できるサウンドバンク、Uassets、タイプのフィルタもあります。新しい右クリックショートカットメニューを使い、Unrealからのプロジェクト内の移動や、トランスポートコントロールの操作などを実行することができます。詳細は Managing Assets with the Wwise Browser を参照してください。
Wwise 2022.1.6のWwise Browserにアセットの差分検出が追加されました。Wwise Browser自体またはコマンドレットと同期されていないアセットの差分を検出できるようになりました。詳細については、Reconciling Wwise UAssetsを参照してください。
モジュールを使用すると、自動的に同期を実行できます。
Wwiseコミュニティからのフィードバックや提案に基づき、Auto-defined SoundBankワークフローの安定性を全体的に改善しました。
Wwise Unityインテグレーションに"Enter Play Mode"オプションが含まれるようになり、エディタからプレイモードに入るまでの時間が短縮されました。
マーカーコールバック通知の構造体である AkMarkerCallbackInfo
が、ラベルテキストサイズを通知するようになりました。開発者はこの情報を使ってWAVファイルマーカー内にカスタムデータを埋め込み、ゲームイベントをトリガーできます。
TTS(テキスト読み上げ)ソースプラグインの開発を促進するため、SDKはソフトウェアプラグインとゲームがデータをやりとりできるようにしました。
AK::SoundEngine::SendPluginCustomGameData()を通じてゲームから送信されたデータを、プラグインがAK::IAkSourcePluginContext::GetPluginCustomGameData()を使って受信できます。
ソースプラグインがマーカー通知を作成できるようになりました。Marker Generatorソースプラグインの例 を参照してください。
ソースプラグイン内で、 AK::IAkPluginServiceMarkers::CreateMarkerNotificationService()
を使って AK::IAkPluginServiceMarkers::IAkMarkerNotificationService
のインスタンスを作成できます。次に、 AK::IAkPluginServiceMarkers::IAkMarkerNotificationService::SubmitMarkerNotifications()
を通じて、 AkAudioMarker
構造体を使用してゲームにマーカー通知が送信されます。
AK Channel RouterがミキサープラグインからObject Processor Effectプラグインに変わりました。 AK Channel Routerプラグインを使用し、チャンネル構成の異なる複数のバスを1つのバスにルーティングしてミックスすることができるようになり、チャンネル数が多く標準以外のルーティングを必要とする出力デバイスに特に便利です。このエフェクトをバスに挿入し、その子バスのいずれかにChannel Router Setting Metadataを追加することで、この子バスが出力するチャンネルを設定することができます。このプラグインはBus ConfigurationをAudio Objectsに設定したバスのみに挿入することができます。このプラグインをMaster Audio Busに追加することはできません。
Motionプラグインを使用してiOS、tvOS、macOSでハプティックスエフェクトやバイブレーションエフェクトを提供できるようになりました。
この開発中の機能は、サウンドメディアを追加または変更した後にSoundBankを再生成しなくても結果が聞こえるようにすることで、ゲームに接続する際のイテレーション時間の削減を図ります。オーディオソース、AK Convolutionプラグインで使用されるインパルス応答ファイル、およびMIDIファイルに対してこの機能を実行できます。Audio File Importerダイアログなどの一般的なワークフローを使って新しいSound SFXやMusic Segmentを作成することも、WAVファイルをProject Explorerにドラッグ&ドロップすることもできます。
Live Media Transferは実験段階にあり、デフォルトで無効になっています。 この機能はUser Preferencesで有効にできます。メディアの更新に割り当てる最大メモリの設定で、この機能のメモリ使用量を制限することも可能です。
ディスクやゲームパッケージ内のファイルは、新しいメディアや変更されたメディアによって置き換えられることはなく、ゲームが終了されるまでメモリ内で保持されます。Wwiseプロジェクトで追加または変更されてゲームで使用中のメディアのみが転送されます。
Advanced ProfilerのLoaded Mediaタブでは、Live Media Transferによって使用されたメモリ量を追跡できます。SoundBank Name列では、この機能によって転送されたメディア名に「From Authoring」が付加されています。
Live Media Transferで使用されたメモリ容量は、Advanced ProfilerのMemoryタブ内に表示されるUsedの値、およびPerformance MonitorのTotal Used Memoryにも加えられます。このメモリ使用量の増加は一時的なもので、パッケージゲームによって使用されるメモリ量は減少します。
既知の不具合
この実験的機能の使用中に他にも問題が発生した場合は報告してください。今後のリリースに向けて改善します。