バージョン
menu

Wwise SDK 2025.1.2
2025.1 新機能概要

目次

ユーザエクスペリエンス

Media Pool

Media Poolビューでオーディオファイルを検索、整理し、Wwiseにインポートするために選択できます。これは、Strataライブラリをダウンロードした場合や、サードパーティのサウンドライブラリを扱っている場合に非常に役立ちます。これらのライブラリには大量のファイルが含まれていることが多く、必要なものを見つけるのに時間がかかります。Media Poolのデータベースにライブラリフォルダを追加すると、Wwiseで直接ファイルを検索したり、試聴したりできます。また検索条件としてフィルタを適用し、結果一覧をさらに絞り込むことも可能です。

必要なファイルを見つけたら、Media PoolのTransportエリアで試聴できます。またファイルを試聴しながら再生プロパティを変更し、インポート時にそれらの変更を適用することも可能です。Media Poolで最終的に選択したファイルをWwiseプロジェクトにインポートできるため、Wwiseの1つのビュー内でワークフロー全体を完結できます。このビューを開くには、WwiseメニューバーでProject > Media Pool(Ctrl+P)をクリックします。

Databases

Databasesタブには、Project OriginalsフォルダとUser Databasesフォルダがあり、ここでUser Databasesを作成したり、オーディオファイルを含むフォルダへのパスを定義したりできます。また、User DatabasesをVirtual Folderにグループ分けしてそれぞれに異なる色をアサインし、整理することも可能です。検索結果にフォルダやデータベースを含めたり除外したりするには、チェックボックスを使用します。

Database Settings

Media PoolのDatabase Settingsダイアログでデータベースフォルダを追加したり削除したりできます。またデータベースを再スキャンすると、追跡対象のフォルダのすべてのオーディオファイルを再帰的にスキャンし、メタデータと抽出されたオーディオ特性をキャッシュに追加します。Originalsディレクトリ内のオーディオファイルは定期的にスキャンされます。

Filters

Filtersタブを使用し、フィルタを追加、削除、変更できます。これらのフィルタを含めたり除外したりして検索結果を絞り込みます。Fieldフィルタでは、フィルタ処理を行うフィールド、フィルタ処理のタイプ、フィルタの値をテキストまたは数値で指定できます。また類似する音や、絞り込みの条件とする音の説明を入力し、フィルタを適用することも可能です。詳細については Similar Sound Search をご覧ください。

Search

Selected Fields検索タイプを選択し、Resultsペイン上部の検索バーを使用して特定のオーディオファイルを検索します。入力に合わせてMedia Poolがデータベースファイル内のメタデータを検索し、一致する項目をResultsペインに表示します。

Searchフィールドは以下の演算子に対応しており、結果を正確に特定するために活用できます:

  • Exact Phrase(完全一致の語句):ダブルクォーテーションを使用し、特定の語句を見つけます(例:"footstep medium")。
  • Exclude Words(単語を除外):ハイフンまたは感嘆符を使用し、不要な結果を除外します(例:"footstep !concrete")。
    • 完全一致の語句を除外することも可能です

検索するMetadataフィールドを選択するには、Searchフィールドの右にある歯車アイコンをクリックします。デフォルトでFilenameフィールドが選択されています。

注釈: ベータ版リリースでは、新しいフィールドを追加する時にインデックス処理が最適化されません。そのため大規模なデータベースを扱っている場合や、多数の検索フィールドを追加する場合、ユーザインターフェースが一時的にフリーズすることがあります。これは、今後のリリースで改善される予定です。

必要に応じてAudio Description検索タイプを選択し、検索バーに音の説明を入力することも可能です。詳細については Similar Sound Search をご覧ください。

Results

Resultsペインに、検索とフィルタの条件に基づき、オーディオファイルの一覧が表示されます。最も一致する結果が一覧の上部に表示されます。Resultsのショートカットメニューを使用し、オーディオファイルをAudio File Importerに追加したり、プロジェクトのDefault Work Unitに直接インポートしたりできます。また列の順番を変更し、各種Metadata Field、Search Score、Waveformが表示されるよう設定することも可能です。

Metadata

Metadataペインに、選択したファイルに対して検出されたすべてのメタデータが表示されます。データベースを作成し、ローカルドライブまたはネットワークドライブ上のパスを指定すると、Media Poolが各ファイルのメタデータをキャッシュします。メタデータをキャッシュすることで、ライブラリ内を高速で検索し、結果を正確に絞り込むことができます。Metadata Fieldは、Metadata Fieldを選択する時にショートカットメニューを使用し、列またはフィルタとして追加できます。

Transportプロパティ

Media Poolでファイルを試聴する時にTransportプロパティを使用し、Volume、Pitch、Low-pass Filter、High-pass Filterを変更できます。Loopチェックボックスは、検出されたリージョン内で再生をループさせます。これらの変更は、いずれもファイルのインポート時に反映できます。

Audio Preview/Region Selector

Audio Preview/Region Selectorペインでオーディオのプレビューや再生ができます。またリージョンを選択し、Audio File Importerにファイルを追加できます。ファイルをインポートすると、対応するオブジェクトがプロジェクト内に作成されます。複数のリージョンを選択した場合、リージョンごとにオブジェクトが作成されます。リージョンをマニュアルで選択するには、波形上でクリックしてドラッグするか、オーディオファイル内に埋め込まれたマーカーをクリックします。CtrlまたはShiftを押しながら操作すると、複数のリージョンを選択できます。Auto-select detected regionsボタンを有効にすると、オーディオコンテンツの測定エネルギーに基づき、リージョンが自動的に選択されます。リージョンを編集するには青色の四角をドラッグします。

注釈: Resultsペインで別のファイルを選択すると、選択したリージョンに対するマニュアル編集は保持されません。

リージョンをインポートすると、プロジェクトのOriginalsフォルダにオーディオファイル全体がインポートされ、プロジェクトのObject Destinationにオブジェクトが作成されて選択したリージョンがオーディオファイルソースのトリム開始およびトリム終了として適用されます。複数のリージョンをインポートした場合、各リージョンが保存され、オブジェクト名に番号が付加されます。例えば、同じファイルのリージョンを3つインポートすると、それぞれのリージョンがオブジェクトとして保存され、各オブジェクト名の末尾に「_01」、「_02」、「_03」が付加されます。

FilesまたはRegionsをクリックすると、Audio File Importerに内容が表示され、Object TypeとObject Destinationをさらに細かく指定できます。

Similar Sound Search

Similar Sound Searchでは、テキストによるクエリまたは参照用のオーディオクリップを使用し、Media Poolデータベース内のサウンドを検索できます。これにより、キーワードタグ付けをしたり、大規模なサウンドライブラリ内を時間をかけてマニュアルで移動したりする必要がなくなります。特にサウンドエフェクト用に設計されたもので、従来の検索方法では見つけにくい意外な一致を検出します。例えば「smashing fruit(果物が潰れる音)」とラベル付けしたサウンドが、「footsteps in mud(泥の中を歩く足音)」というクエリに対する一致として見つかるかもしれません。

Similar Sound Searchでは具体的に以下が可能です:

  • テキストからオーディオを検索する:Searchフィールドの右にあるリストでAudio Descriptionを選択し、求めるサウンドの説明を入力します。結果はオーディオコンテンツのみに基づいて抽出されます。
  • オーディオからオーディオを検索する:Resultsペインにある任意のファイルを右クリックし、Find Similarをクリックします。ファイルの音響的特性を参照し、類似する結果を見つけます。

いずれの場合も、Similar Sound Searchは、異なる目的のために録音されたオーディオであっても見つけられる新しい検索方法を提供します。これらの2つの手法は、メタデータに依存する従来のフィルタ処理を強化し、既存のサウンドライブラリの可能性を広げます。

Similar Sound Searchは、非生成型の機械学習モデルを利用してオーディオとテキストを共通の検索空間に配置し、音響的および意味的な類似性によってサウンドをグループ化します。このオプションパッケージは、Audiokinetic LauncherでWwiseに追加できます。

階層の統合と名前変更

Actor-Mixer HierarchyとInteractive Music HierarchyからContainersへ

Interactive Music HierarchyとActor-Mixer Hierarchyを共有のContainers階層下に統合します。これは共通のサウンド、ミュージック、ボイスデザイン階層によりオブジェクトタイプ間の距離を縮めるための第一歩となります。この変更により、従来どおりのコンテナの動作を維持しつつ、オブジェクトタイプ間で類似するワークフローを拡張し共有し続けるという将来的な可能性も広がります。

Actor-MixerからProperty Containerへ

同時にActor-MixerをProperty Containerへと名前変更し、継承可能なプロパティをアサインする手段であることを明確にしました。この変更は、ほかのツールには存在せず、意図された動作とも結び付けづらい用語を把握するのが難しいという、初学者からのフィードバックを受けたものです。

Master-Mixer HierarchyからBussesへ

さらに、Master-Mixer HierarchyをBussesへと名前変更し、階層の内容を明確に示す名前を付けるという考え方をここでも採用しました。新しい最上位のAudio BusはNew Main Audio Busとして作成され、これによりWwiseコードベースから「Master」という用語の最後の使用箇所が排除されます。この共同の取り組みは、配慮に欠け、問題視されている用語をパイプラインから排除することを目指す開発者からの要望を受けたものです。同じ理由から、Master-Mixer ConsoleもBusses Consoleへと名前変更しました。

Audio DevicesからDevicesへ

最後に、Audio DevicesをDevicesへと名前変更しました。名前が短くなり、スペースもなくなりました。

プロジェクトフォルダ構造の移行

古いWwiseバージョンから移行すると、以下の変更が加えられます:

  • 「Audio Devices」は「Devices」に名前変更されます
  • 「Master-Mixer Hierarchy」は「Busses」に名前変更されます
  • 「Actor-Mixer Hierarchy」は「Containers」に名前変更されます
  • 「Interactive Music Hierarchy」はContainers階層内のVirtual Folderに移動され、「Music (Migrated)」に名前変更されます

これらの変更が、プロジェクトおよびワークフローへのWAAPIのインテグレーションに与える影響については、Important Migration Notes 2025.1をご覧ください。

Event Limiting

インスタンスを制限する機能は、ボイスパイプラインの中核をなす、デザインおよび最適化の基本戦略です。この度、Eventを制限する機能が新たに加わりました。Eventは、グローバルまたはゲームオブジェクトのいずれかのスコープで制限できます。制限に達すると、Eventはそれ以上ポストされません。またCooldown Timeを定義することもでき、この時間が経過するとEventは再びポスト可能になります。

Eventインスタンスの制限は、ゲームエンジンが同じEventを同時に多数再生するようリクエストしているが、Wwiseに1つまたは少数のEventのみをポストさせたい場合に便利です。よくあるシナリオとして物理シミュレーションがあり、1回の衝突で、同じImpact Eventをポストするリクエストが数十回送られることがあります。一部のシナリオでは、ゲームエンジン側でEventのポストを制限するシステムを構築することがベストプラクティスとされますが、Wwise内のワークフローの一部としてEvent Limitingを利用できるようになりました。

RTPCのミュート/ソロ

Real Time Parameter Controls(RTPC)の試聴において、使用箇所での影響をミュートおよびソロできるようになりました。またライブ編集ワークフローの一環として、ゲームに接続中にRTPCをミュートやソロにすることも可能です。オーディオと同じように機能し、RTPCが最終的なサウンドに与える影響を簡単に聞くことができます。

Audio File Importerビュー

Audio File Importerが、非モーダルなビューになり、任意のレイアウトにドッキングできるようになりました。また新しいメニュー、ボタン、ドラッグ&ドロップ機能がビューに追加されました。

Property Editorの改善

コミュニティからのフィードバックのおかげで、Property Editorはさらに使いやすく進化し続けています。Wwise 2024.1で縦のProperty Editorを導入し、アクセシビリティ向上への一歩を踏み出しました。

サイズ変更

フォントサイズの調整など、プロパティカテゴリとプロパティレイアウトの視覚的なスタイルを改善しました。また中央の境界線を排除し、代わりにプロパティ列が横方向に自動的にサイズ変更されるようになりました。

Favoritesのデフォルト

Favoritesカテゴリに、各オブジェクトタイプの共通プロパティがデフォルトで含まれるようになりました。これらのプロパティは、従来のProperty Editorで各オブジェクトのGeneral Settingsタブに表示されていたプロパティと類似しているため、以前のWwiseバージョンを使用したことがあれば見覚えがあるかもしれません。

キーボードによるプロパティ間の移動

Tabキーを使用して、1つのプロパティから次のプロパティへとフォーカスを移動できるようになりました。Shift+Tabを使用すると逆方向に移動できます。


展開可能なNotes

Property EditorのNotesフィールドは、実装上の判断に役立つ背景情報を提供したり、用途について明確に伝えたり、チームがWwise Searchを使って特定のオブジェクトを見つけたりするために活用されることがよくあります。Notesフィールドが、展開して内容全体を表示できるようになり、見やすくなりました。

Default Editorの安定性

異なるオブジェクトタイプ間を移動する際、オブジェクトを選択すると常にDefault Editorが表示されるように統一しました。

Editorの操作性に関するアップデート

以下のエディタにおいて、コンテキストメニューを追加し、Groupsを扱う際のユーザエクスペリエンスを向上しました:

  • Switch Container Editor
  • Sequence Container Editor
  • Music Playlist Editor

Multiband Meter

既存のMeter Effectを使用してGame Parameterを出力することで、ダイナミクスを活用し、オーディオ階層全体のプロパティをコントロールできます。Multiband Meterはこれを発展させた新しいEffectで、入力オーディオ信号の全帯域だけでなく、ユーザが設定した4つの個別の周波数帯も測定します。

Sidechaining

Sidechainingをプラグイン群および既存プラグインへの追加機能として導入しました。これにより、オーディオ信号を監視し適用することで、ミックスを動的にコントロールできます。

サイドチェインミックス

サイドチェインミックスを新しいシステムおよびShareSetタイプとしてWwiseに追加しました。これにより、Effectプラグインがボイスグラフとは別にオーディオ信号を送受信できるため、複数の異なるオーディオ信号を組み合わせてオーディオをレンダリングできます。

Sidechain Mix ShareSetは、サイドチェインミックスの特定と定義に使用できます。サイドチェインミックスは、1つ以上のSidechain Send Effectからオーディオ信号を受け取ったり、Sidechain Receive Effectが読み取ったりすることができます。またCompressorやExpanderなど、ほかのEffectに対するSidechain Inputとしても使用できます

Sidechain Send Effect

Sidechain Send EffectをAudio BusまたはAux Busに適用し、Sidechain Mix ShareSetにオーディオ信号を送信できます。

Sidechain Receive Effect

Sidechain Receive EffectをAudio BusまたはAux Busに適用し、Sidechain Mix ShareSetからオーディオ信号を受信できます。蓄積されたサイドチェインミックスからのオーディオ信号を単純に監視し、それをEffect処理の出力として使用するため、テストに便利です。

Compressor EffectおよびExpander Effectの改善

Compressor EffectとExpander Effectでサイドチェインミックスを使用し、入力オーディオ信号を動的にコントロールできるようになりました。例えばCompressor Effectは、指定したサイドチェインミックスのオーディオ信号の音量が上がると、入力オーディオ信号の音量を下げます。

Gain Reductionメーターの範囲を-3 dBから-96 dBの間でスケーリングできるようになりました。これにより、入力オーディオ信号のわずかなゲインリダクションも監視しやすくなります。

Parametric EQの改善

Parametric EQプラグインが大幅に拡張され、さらにパワフルかつさまざまなシナリオで活用しやすくなりました。

このプラグインは最大8バンドのフィルタ処理と、新しいフィルタモードに対応しています。新しいEQ GraphによりParametric EQプロパティの設定が容易になったほか、インタラクティブなプレビューも可能になり、例えば各EQフィルタの周波数、ゲイン、Q値をコントロールポイントをドラッグして変更できます。グラフには各バンドの周波数応答だけでなく、全バンドの累積効果も表示されます。

このプラグインでは、すべてのEQの累積周波数応答をプレビューできるだけでなく、サウンドエンジンのプロファイリング時に、Effect実行中に適用されるRTPCを考慮したランタイムEQカーブも可視化できます。さらに、オーディオの個別のバンドを単独で試聴またはソロ再生できるため、特定のEQ Bandがオーディオミックスのどの部分に影響するかを正確にプレビューしやすくなります。そのため、より明瞭なオーディオミックスを正確かつ迅速に作り上げることができます。

プラグインにはダイナミクス関連の機能群も追加されました。オーディオ信号を使用して、ランタイムにEQカーブを自動的に変更できるようになりました。プラグインは、各バンドにおけるオーディオ信号の強度を測定することで、対応するバンドのゲインを自動的に増減でき、その方法をユーザが設定できます。またParametric EQでは、ダイナミクスを駆動するインラインのオーディオ信号だけでなく、Sidechain Mixも測定できます。

Sidechain Mixを使用すると、周波数ベースのサイドチェインをParametric EQに効果的に適用できるため、オーディオスペクトルの複数のバンドにわたりダイナミックなイコライゼーションを実現できます。別のSidechain Mixのオーディオを使用して周波数帯域を自動的にモジュレーションできれば、再生中のほかのサウンドに応じて、サウンドの周波数をダイナミックに制御できるようになります。これは、異なるサウンドカテゴリ間で共鳴するのを防いだり、ミックスのほかの要素に応じて独自のイコライゼーション効果を生み出したりする上で重要なツールとなります。

External Source - WAVの再生

External Sourceプラグインで、WAVファイルをWEMフォーマットに変換せずにロードできるようになりました。

External Sourceプラグインを使用することで、SoundBankに含まれていないソースオーディオファイルをランタイムに動的にロードし、再生できます。このプラグインは、複数言語のダイアログなど大量のサウンドを扱うシナリオで特に便利です。

ReadSpeakerのspeechEngine

ReadSpeakerのWwise向けspeechEngineは、クロスプラットフォームのオンデバイステキスト読み上げプラグインで、あらゆるテキスト入力から自然に聞こえる音声を生成します。UIナレーションやマルチプレイヤーテキストチャットなど、ランタイムにゲームからテキストを送信し、音声に変換することが可能です。Wwise Authoringで、プロソディ(韻律)を保ちつつ、ボイスをカスタマイズしたり、ピッチやスピードなどの音声パラメータを調整したりできます。Wwise向けspeechEngineは、現在10種類の言語と12種類のボイスに対応しており、今後のリリースでさらに多くの言語とボイスを取り入れる予定です。

speechEngineは、単語とビジーム(口の動き)のデータも生成し、音声内で新しい単語やビジームが検出されると通知します。これを使用し、単語を強調する機能やリップシンク機能を実装できます。また音声合成マークアップ言語(SSML)にも対応しています。

ReadSpeakerは、倫理的なAI音声ソリューションの提供に取り組んでいます。ゲームにおける倫理的なAI音声に対するReadSpeakerのアプローチについて、詳しくはこちらをご覧ください。

このプラグインはWwise 2023.1.13、Wwise 2024.1.5、およびそれ以降も対応しています。詳細情報についてはWwise向けspeechEngineをご覧ください。

WAQLアクセサの追加

いくつかのWwise Authoring Query Language(WAQL)アクセアを追加しました:

  • workunitIsLoaded:プロジェクトに現在Work Unitがロードされていればtrueを返します。
  • musicTransitionObject:現在のMusic Transitionオブジェクトに関連付けられたトランジションMusic Segmentを返します。
  • switchGroupGameParameter:現在のSwitch Groupオブジェクトに関連付けられたGame Parameterオブジェクトを返します。
  • customStates:現在のオブジェクトの、値が定義されているカスタムステートのリストを返します。
  • originalNonLFEChannelCount:オリジナルファイル内の、低周波チャンネルを除くチャンネル合計数を返します。<segment 0201 ¶>
  • originalAmbisonicsChannelCount:現在のオブジェクトに関連付けられたオリジナルファイルのアンビソニックスチャンネル合計数を返します。
  • convertedNonLFEChannelCount:変換後ファイル内の、低周波チャンネルを除くチャンネル合計数を返します。<segment 0201 ¶>
  • convertedAmbisonicsChannelCount:現在のオブジェクトに関連付けられた変換後ファイルのアンビソニックスチャンネル合計数を返します。
  • convertedSampleRateSetting:変換後ファイルの選択されたサンプルレート設定を文字列として返します。
  • convertedTrimmedDuration:現在のオブジェクトに関連付けられた、トリミングされた変換後オーディオソースの長さ(秒単位)を返します。
  • isLanguageIncluded:オーディオソースオブジェクトの親に、そのオーディオソースの言語が含まれていればtrueを返します。
  • conversionFormat:現在のオブジェクトに関連付けられたファイルのコーデックを返します。
  • supportsStates:オブジェクトが、そのいずれかのプロパティでStateの使用に対応していれば、trueを返します。
  • supportsRandomizer:オブジェクトが、そのいずれかのプロパティでRandomizerの使用に対応していれば、trueを返します。
  • hasEmptySwitchStateAssignment:Switch ContainerおよびMusic Switch Containerに空のオブジェクトやパスがアサインされていれば、trueを返します。
  • extractEvents:SoundBankオブジェクトが参照するEventオブジェクトを返します。
  • extractStructures:SoundBankオブジェクトが参照するオブジェクト構造を返します。
  • extractMedia:SoundBankオブジェクトが参照するメディアファイルのパスを返します。
  • soundbanksReferencingEvent:現在のEventオブジェクトを参照するSoundBankオブジェクトを返します。

プラグインユニットテストフレームワーク

プラグインプロジェクト作成時に含めることができるユニットテスト用インフラを追加しました。これにより独自のユニットテストを開発できます。プラグインプロジェクトには2つのテストのテンプレートが含まれ、1つはサウンドエンジンプラグインの実装用、もう1つはそのプラグインで使用するパラメータ用です。ユニットテストは、wp.pyビルドコマンドを使用するとプラグインと一緒に自動的にビルドされ、wp.py testコマンドで起動できます。詳細については Unit Testing Your Plug-in をご覧ください。

インテグレーション

UnityのWwise Browser

Wwise Unity IntegrationのWwise PickerがWwise Browserに置き換えられました。Wwise Browserには各種フィルタが含まれ、それらを使用してSoundBankや関連するWwise Projectのステータスを簡単に確認できます。コンテキストメニューを使用することで、Unity内からWwiseプロジェクトを操作し、トランスポートコントロール処理などを実行できます。詳しくはManaging Assets with the Wwise Browserをご覧ください。

UnrealのDynamic Dialogue

WwiseのDynamic Dialogueは、決定木のルールセットを使用し、ゲーム中の任意の時点に再生するサウンドを特定します。これは、再生するサウンドを特定する柔軟な方法で、Dialogue Eventの一環としてユーザー定義のパスの関連付けで決定されます。この方法ではStateとSwitchを使用し、最適なサウンドを選択します。Dynamic Dialogueシステムのメリットとして、StateとSwitchの関連付けを利用した使い慣れたセットアップ、コンテナを使用しないオブジェクト共有、粒度の細かいアセット管理、ランタイムの柔軟性などがあります。WwiseのDynamic Dialogueについて、詳しくはダイナミックダイアログの管理をご覧ください。


ダイナミックダイアログシステムは、2つのシステムで構成されます:

  • Dialogue Eventには、オーディオノードに解決される決定木構造が含まれます。
    • Dialogue Eventは、Switch GroupおよびState Groupのパスで構成され、次のいずれかの方法で割り当てられたオブジェクトに解決されます:Switch値およびState値の指定またはデフォルトのパス経由。
  • Dynamic Sequenceは、通常のゲームオブジェクト(UnrealのAkComponents)に関連付けられ、これらには解決されたオーディオノードを順次再生するプレイリストが含まれます。
    • Dynamic Sequenceは、ゲームオブジェクトに紐付いたオーディオノードのプレイリストです。これは、ゲームがコントロールするミュージックプレイリストコンテナや、シーケンスコンテナに似ています。

これらのシステムが使用するオーディオノードとは、通常のEventで再生できるContainers Hierarchy内の任意のオブジェクトで、例えばサウンドエフェクト、ボイス、コンテナなどです。

以下に、主な機能を示します:

  • Dynamic Dialogue機能は、C++関数およびBlueprint Nodeとして利用できます。
  • Dialogue Eventは、ほかのEventタイプと同様にWwise Browserからインポートできます。
  • Dialogue Eventは、デフォルトのパスを使用してプレビューできます。
  • Path Argumentを定義できます。
  • ArgumentはResolve操作に追加できます。
  • Audio NodeをDynamic Sequence Playlistに追加できます。

Unreal向けの最適化

以下に、Wwise Unreal Integrationの主な改善点を示します:

  • World、Listener、Component、Game Parameterを非同期で管理。
    • これらの操作は、新しいWwise Processing Backendスレッドで迅速に取得し、処理されるようになりました。
  • Wwise GameObject、PlayingID、Room、Portal、ListenerのLightweightオブジェクト表現。
    • オブジェクト表現はUnrealから独立しています。
      • Lightweightオブジェクトは、Unrealの外部でも生成し、使用できます。
    • 今後のメジャーバージョンで、BlueprintおよびC++ユーザ向けに安定したLightweight APIを提供する予定です。
  • UnrealのActor、Scene Component、Volume向けの任意の安全なブリッジング。
    • ブリッジングは、オブジェクトが同じフレーム内で安定している時に行われ、Unrealのオブジェクトのライフタイムの考慮は遅延なく行われます。
  • オブジェクトのライフタイムの管理。オブジェクトと抽象化を本来のライフサイクルで保持し、すべてのWwise ObjectのStateが把握および維持されます。
    • Wwise 2024.1以前は、UnrealオブジェクトとWwiseオブジェクト間を1:1でバインディングし、Wwiseオブジェクトの情報とライフタイムを拡張するために特別なコードに依存しています。
  • 独立した処理を安全に並列化。
    • ポジションの追跡、ゲームパラメータの更新、ルームトレースなどの処理を同時に行うことで、処理が集中した時にカクつきが発生する可能性を減らします。
  • 通常のGame Thread処理中のWwise Tick処理を排除。
    • Component処理およびワールドのGame Thread処理は毎フレーム呼ばれません。
    • 休止中のGame Object数に制限がありません。動的なGame Objectのみが処理を必要とし、通常はGame Threadの外で行われます。
  • Tick処理と、Render Hardware Interface(RHI)の対応する処理を並列化。
    • Scene GatheringとUnreal RHIを同時に行います。完了後、新しいステートを計算し、Wwiseサウンドエンジンに送ります。
  • すべての処理が派生クラスでオーバーライド可能で、Wwiseコードを変更する必要はありません。
  • AkAudio APIにわずかな影響があります。下位レベルの開発者は、コードを更新する必要があるか確認することが推奨されます。

Unreal Packagingの改善

2024.1および2025.1でUnrealのパッケージングが変更されました:

  • UnrealのModular Gameplay Feature Experienceを改善しました
    • DLC Supportを拡張しました
    • Auto-defined SoundBanksが適切なパッケージに含まれるようになりました

Gymの改善

Gymは、デベロッパ向けのサンドボックス環境として機能するWwiseプロジェクトを提供します。Wwise機能を、ゲームに実装する前にUnreal、Unity、あるいはカスタムインテグレーションでテストできます。さまざまなWwise機能に対応したデモ用Gymが利用可能です。

今回のリリースではGymの安定性が向上したほか、Unity GymがデフォルトでUnity Addressablesを使用するようになりました(Unreal Packagingと同等)。

Spatial Audio:音響

デュアルシェルフフィルタ

デュアルシェルフフィルタ(DSF)の追加により、物理的な精度が確保され、遠くの音のよりリアルな遠近感が得られるようになりました。またDSFは、LPFによる顕著なフィルタ効果より、音色のコントロールが求められる場面に適しています。DSFは、ローシェルフフィルタとハイシェルフフィルタを1つのフィルタネットワークに統合します。このフィルタは、回折などの音響効果をより的確に近似する特性を持ち、減衰カーブとの相性も良好です。DSFを回折の一部として使用した場合、環境内のRoomやPortalを移動する際に、ルームトーンやエミッタに対するフィルタ処理がより自然に感じられます。Alpha版のテスト中にデベロッパのみなさまから収集した早期のフィードバックでは、Dual Shelf Filterは迅速にセットアップでき、さまざまなコンテンツタイプに適用可能で、距離による音の伝播をリアルに再現するのにも適していると評価されました。

高周波ゲイン

デュアルシェルフフィルタ(DSF)は高周波数を減衰またはブーストします。DSFは、Parametric EQプラグインなどで使用される従来のハイシェルフフィルタ(HSF)に類似しています。ただし、いくつかの重要な違いがあります。Property EditorのDSFスライダや、Attenuation ShareSetのデュアルシェルフフィルタカーブを変更すると、高周波ゲインが変化します。以下のグラフは、さまざまな高周波ゲイン設定における増減を示します。


DSFプロパティは以下の領域で利用できます:

  • Output Bus
  • Game-Defined Auxiliary Sends
  • Attenuation ShareSet
  • Reflectプラグイン

DSF Emphasis

DSF Emphasisプロパティは、DSFトランジション領域の形状を変更します。このプロパティは、従来のシェルフフィルタのレゾナンス(共鳴)に影響を与えるQパラメータに類似しています。範囲は-1から+1、デフォルト値は0です。

以下のグラフは、さまざまな設定におけるDSF Emphasisの効果を示します。1つ目のグラフでは高周波ゲインが-20 dBに設定されています。2つ目のグラフでは高周波ゲインが+10 dBに設定されています。





DSF Emphasisが低いほど中域帯がブーストされます。(「Emphasis」という用語は中域帯の周波数がより強調されることを意味します)。

DSF Emphasisはグローバルプロパティで、Project Settingsで変更できます。

DSFの動作は加算的です。1つの信号パス上に複数のDSFが存在する場合、高周波ゲインは合算されます。例えばボイスが、高周波ゲインが-2 dBの距離DSFを通過し、続いて高周波ゲインが-1 dBの回折DSF、最後に高周波ゲインが-3 dBのOutput Bus DSFを通過する場合、有効な高周波ゲインは-6 dBとなります。さらに最適化のため、サウンドエンジンは3つの異なるDSFインスタンスではなく、高周波ゲインが-6 dBのDSFを1つだけ処理します。

Project Environmental Curves ShareSet

プロジェクトレベルのEnvironmental Curveを、Project Settingsで指定するAttenuation ShareSetで定義するようになりました。これにより、ランタイムにProject Environmental Curveを変更しやすくなり、Attenuationごとに個別のカーブの継承を任意でオーバライドまたは削除する機能も維持できます。またプロジェクト間でEnvironmental Curveを共有しやすくなりました。さらに、新しいプロジェクトは物理法則に基づくEnvironmental Curveのデフォルトセットをターゲットとし、これは音響シミュレーションにおける現実的な出発点となります。

注釈: 参照されているProject Environmental Curves ShareSetには距離カーブが含まれていますが、プロジェクトレベルでは使用されません。Environmentalカーブには、Obstruction、Occlusion、Diffraction、Transmissionの各カーブが含まれます。またこの機能により、距離のボリュームカーブをNoneに設定したAttenuation ShareSetを作成することもできます。

Game Object 3D Viewerに関するアップデート

Game Object 3D Viewerは、ゲームオブジェクト、エミッタ、ジオメトリ、音響情報の関係を1つのビューで可視化する最適な方法です。新しいSettings Toolbarを使用し、Game Object 3D Viewer内のデータ表示を簡単にカスタマイズできるようになりました。設定はView、Text、Game Object、Acousticsの各カテゴリにグループ化されています。各カテゴリには、表示と表示プロパティを切り替え、変更、ピン留めできるオプションが含まれています。また中央のペインでオブジェクトを選択すると、右側にある新しいObject Propertiesパネルに選択したオブジェクトに関する情報が表示されます。

シーンのフィルタ処理:Game Objectsリストを希望するオブジェクトで絞り込みます。影響を受けるのはリストのみです。例えば上の画像では、リストを「emitter」で絞り込んでいますが、Roomsとリスナーは3D Viewerに表示されたままです。また行は削除されず、非表示になります。フィルタで非表示になった行にアクセスするには、Game Objectsリストを展開します。3D Viewerでゲームオブジェクトを表示または非表示にするには、リスト内の各ゲームオブジェクトの横にある目のアイコンを使用します。コンテキストメニューで、Show Only Selected in the 3D Viewerなどほかのアクションも選択できます。
オプションツールバー:3D Viewerオプションは、以前は別のウィンドウにありました。現在は3D Viewer上部のツールバーにあります。ツールバーはカスタマイズ可能です。カテゴリごとにオプションがあり、各カテゴリを開くとオプションのリストが表示され、ツールバーにピン留めして表示・非表示を切り替えられます。画像を見ると、ピン留めされた一部のオプションを確認できます。
オブジェクトの選択:3D Viewerでゲームオブジェクト、音響パス、イメージソースを選択できます。オブジェクトを選択すると、Selection Propertyペインに情報が表示されます。エミッタの場合、選択対象のプロパティにはType、Position、Virtual Voices、Outer Radius、Inner Radius、Roomなどが含まれます。
Object Selection - Diffraction Path:回折パスを選択すると、Object Propertiesパネルに、Emitter、Path Length、Diffraction 、Transmission Loss、Obstruction 、Occlusion 、Spread 、Aperture 、Gain、Node Informationなどの情報が表示されます。

Reflectプラグインの改善

ReflectのプロパティをGeneral、Warping、Doppler、Phasing、Outputにグループ分けしました。また頻繁に使用するプロパティを新しいFavoritesカテゴリに追加できます。

さらに以下の通り、Dopplerグループのプロパティを改善しました:

  • Distance SmoothingがDelay Smoothingに名前変更され、各リフレクション(反射)時間にスムージング(平滑化)フィルタが適用されます。
  • Pitch ThresholdがPitch Limitに名前変更され、許容される最大Dopplerピッチシフト(セント単位)を設定します。
  • Delay Error Toleranceが追加され、実効遅延と指定遅延の許容される最大誤差を設定します。

利用可能なOutput ConfigのリストにSame As Main MixSame As Passthrough Mixを追加しました。今後はSame as Main MixがデフォルトのOutput Configとなります。

Emitter Clustering(実験的)

音響用のEmitter Clusteringは実験的な機能で、エミッタをグループ化することで必要な計算回数を減らし、リフレクションおよび回折のパス計算処理のパフォーマンスを向上させます。この機能は、リスナーを中心とした空間を放射状のグリッドに分割して各エミッタをグリッドのセルに割り当て、それらを角度と距離に基づきグループ化します。リスナーに近いエミッタクラスタは小さく、エミッタがグループ化される可能性が低くなるため、近くの音は精度が高くなります。リスナーから遠いエミッタクラスタは大きく、エミッタがグループ化される可能性が高くなります。グループ化されたあと、リフレクションパスと回折パスを計算できます。

Dynamic Load Balancing

Dynamic Load Balancingは、任意の時点で利用可能な処理能力に応じて音響タスクを継続的に分散します。これにより、音響パス計算におけるレイテンシとスループットのトレードオフを自動的に最適化します。パス探索、レイキャスティング、クラスタリング、リフレクションパスの検証、回折など異なる音響タスクが、利用可能なCPUリソースに対応し、処理フレーム間に動的に分散されます。CPU使用量が低い場合、より多くの音響タスクを同時に処理できます。CPU使用量が高い場合、音響タスクを処理フレーム間に分配できます。これは、NumberOfPrimaryRays値を動的に調整することを意図したCPU Limitに代わる方法です。

Dynamic Load Balancingは、CPU LimitとLoad Balancing Spreadの初期設定に基づきます。CPU Limitがない場合、ロードバランシングはその設定のまま一定に保たれます。CPU Limitがある場合、Load Balancing Spread設定が動的に増加し、CPUを最小限に抑えようと試みます。この場合、Load Balancing Spreadの値が最大値として使用されます。CPU使用量が低いとLoad Balancing Spreadは増加しませんが、CPU使用量が一定時間高くなると、それに対処するためにCPU負荷が動的にバランス調整されます。

Dynamic Load Balancingのプロパティは、SpatialAudioInitSettingsおよびIntegration内(Project Settings > Wwise > Platform > Spatial Audio)にあります。

RoomのDistance Behavior

AKSpatialAudioVolumeがRoomにDistance Behaviorプロパティを追加し、Roomが、そのRoomが重なっているまたは内包されているほかのRoomとどう関与するかを決定します。

Subtract:Subtractに設定すると、子Roomと、それに重なる優先度の低いRoomがあればそのRoomが、親Roomの形状から切り取られます。この場合、このRoomは個別の空間のため、リスナーがこのRoom内にいる時は、ほかのRoomに距離減衰が適用されます。

この例では、子Roomが、Room形状を「Subtract(切り取り)」、距離減衰を適用するように設定されているため、リスナーは親RoomのRoom Toneが聞こえません。

Parent Room
Child Room
Listener

Exclude:Excludeに設定すると、そのRoomは、ほかのRoomの距離計算に関与しません。このRoomは個別の空間を形成せず、ほかのRoomの形状から切り取られないため、このRoomの親Roomや、優先度の低いRoomの重なっている部分に距離減衰は適用されません。

この例では、子Roomが、距離計算からRoom形状を「Exclude(除外)」するように設定されているため、リスナーは親RoomのRoom Toneが減衰なしで聞こえます。

Parent Room
Child Room
Listener

Spatial Audio:3D Audio

Recorder(ADM)プラグイン - 実験的

Recorder(ADM)は実験的なEffectプラグインで、オーディオオブジェクト形式のバスを通過する信号を録音します。コンテンツは、ADM形式のWAVファイルに保存され、複数のベッドとアニメーション付きの個別の3Dオブジェクトが記録されます。このプラグインはWwise Authoringとゲーム内の両方で使用できます。

WAVファイルのチャンネル数は、録音中は固定されます。チャンネルは必要に応じてメインミックス、パススルーミックス、追加のベッド、個別のオーディオオブジェクトに割り当てられます。標準の割り当てルールに加えてPreserve Extra Bedsが有効になっている場合、3D Spatializationとスピーカーパンニングが適用されていないオブジェクトはミックスされません。

Holdを有効にすると、録音セッション中に無音の区間がいくつかあっても単一のファイルが作成されます。

サウンドエンジン

動作の書き換え

Wwiseサウンドエンジンの動作面を大幅に書き換え、複数のシステムにわたり再生を最適化しました。これらの変更は、サウンドエンジンを継続的に拡張し、将来のワークフローやゲームエンジン機能に対応するうえで不可欠です。

Command Buffer API

ゲームによっては、サウンドエンジンに対して大量のデータを頻繁に送信します。例えば、ゲームに多数のゲームオブジェクトやゲームシンクがある場合、サウンドエンジンに数百件の値が一定間隔で送られます。このデータ転送は、既存のC++ APIを使って対応することもできますが、C互換で完全非同期の新しいCommand Buffer APIは以下のメリットを提供します:

  • 大量のデータ転送において、CPU使用量とメモリの割り当てを最小限に抑えます。
  • すべてのC11準拠コンパイラと完全互換のため、RustなどFFI(外部関数インターフェース)機能を持つほかのプログラミング言語と、関数を直接バインドできます。

以下に、Command Buffer APIの機能を一部ご紹介します:

  • Eventのグループ化(PostEvent/SetRTPC)。
  • 「コマンド」を1つのバッファ(またはフレーム)にパッケージ化。
  • PostやSetPositionなど、コールの登録。

このリリースで導入される関数は、今後のリリースで拡張されます。

プラットフォームサポート

Wwise 2024.1.5以降にNintendo Switch 2への対応を追加しました。


このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう