Wwise Unreal Integration Documentation: Wwise Unreal インテグレーション

Wwise Unreal Integration Documentation
Wwise Unreal インテグレーション

Wwise Unreal Integrationは、UnrealゲームでWwiseサウンドエンジンを使うためのUnrealプラグインです。これは Wwise SDK や Wwise ヘルプ を補完する情報です。ランタイムにWwiseでサポートされる全ての機能を知るには、 Wwise SDK を参照してください。

ドキュメンテーション

このドキュメントの主なセクションは以下のとおりです：

  • 必要条件
    このプラグインの条件。

  • インストール
    このプラグインをインストールするには。

  • プラグインのビルド
    このプラグインを含むUnrealのビルドを生成するには。

  • インテグレーションの使用
    インテグレーションの使用方法。利用可能な機能についての説明。

  • 入門チュートリアル
    Wwise Unreal Integrationの初心者向けの、チュートリアル集。

  • Going Further
    スペーシャルオーディオやカスタマイズされたモジュールで、インテグレーションを最大限に活用する方法。

  • リリースノート 2023.1.0.8367.2849
    このプラグインの、このバージョンの追加点と変更点。

  • 以前のリリースノート
    このプラグインの、以前のWwiseリリースで行われた変更点のリストを見るには、このセクションを確認してください。

  • 既知の問題
    このインテグレーションの既知の問題一覧を見るには、このセクションを確認してください。

  • Androidに固有の情報
    Refer to this page to read about Android-specific information.

  • iOS-Specific Information
    Refer to this page to read about iOS/tvOS-specific information.

  • Wwiseにおけるオープンソースコンポーネント
    このインテグレーションのオープンソースコンポーネントのライセンスについては、このページを確認してください。


Wwise Unreal Integration Documentation: 必要条件

必要条件

Unreal Engine

Unreal Wwise プラグインの各リリースは、Unreal Engine の具体的なバージョン向けにカスタマイズされています。ご使用されるUnreal Engineのバージョンが、サポートされているバージョンであることを、 リリースノート 2023.1.0.8367.2849 で確認してください

UnrealのProject Defaults

Wwise Unreal Integrationは、ブループリントのみのUnrealプロジェクトをサポートしていません。プロジェクト作成中は、必ず C++ Project Defaultを選択しますが、あとからC++プロジェクトにブループリントを追加できます。プロジェクト作成とProject Defaultsの詳細については、 新規プロジェクトを作成する を参照してください。

Wwise

This plug-in is based on Wwise 2023.1.0 build 8367; while it is possible to use an alternate version of the Wwise SDK, modifications to the plug-in code might be necessary.

プラットフォーム

This plug-in has been tested on Windows, Mac, Linux, Xbox One, Xbox Series X, Playstation 4, Playstation 5, Nintendo Switch, Android, iOS, and tvOS. Modifications might be required to target other platforms.

なお、クロスプラットフォーム向けに開発しやすくするために、Unreal Wwiseプラグインのインストール前に、必ずWindows SDKとMac Wwise SDKをインストールしておく必要があります。

開発環境の設定

Unreal Engineのドキュメンテーションを参照してください。

  • 「Unreal Engine 5のソースコードをダウンロードする」
  • 「Unreal Engine 5用に Visual Studio をセットアップする」
  • 「ソースから Unreal Engine 5をビルドする」


Wwise Unreal Integration Documentation: インストール

インストール

次に進む前に 必要条件 のページを確認し、Unreal EngineやWwiseのサポート中のバージョンがインストールされていることを確認してください。

このUEインテグレーションパッケージには、Wwiseプラグインに関連するファイルのみが含まれ、完全な Unreal Engine ソースコードやWwise SDKは 含まれていません。

Wwiseの旧バージョンのプロジェクトをバージョン2022.1に移行する場合は プロジェクトをWwise 2022.1にアップグレードする を参照してください。

For suggested system configurations for large and small development teams, refer to Understanding Development Workflows.

インストール方法

Wwise Unrealインテグレーションは ゲームプラグイン としてインストールするか、 エンジンプラグイン としてインストールすることができますが、両方を行うことはできません。

注記： エンジンプラグインとゲームプラグイン（「インストール済みプラグイン」と呼ぶことがあります）の違いについては Unreal Engineドキュメント を参照してください。

Wwise Unrealインテグレーションをゲームプラグインとしてインストールする

ゲームプラグインとしてインストールするには、Audiokinetic Launcherを使います。Launcherドキュメントの WwiseをUnrealプロジェクトにインテグレートする を参照してください。

オフラインのインテグレーションファイルを使用してWwiseをインテグレートすることも可能です。Launcherドキュメントの オフラインファイルを使ってUnityインテグレーションやUnrealインテグレーションをインストールする を参照してください。

Wwiseプロジェクトで何が起きるのかを理解するには Wwiseプロジェクトに対する変更点 を参照してください。

Wwiseプラグインの管理

Wwise用のプラグインはさまざまなものがありますが、Wwise Unrealインテグレーションで使用するためには正しくインストールする必要があります。Wwise用プラグインは、Audiokinetic Launcherで管理します。Wwiseのプラグイン管理の詳細はLauncherドキュメントの UnityやUnrealインテグレーションにプラグインを追加する を参照してください。

注記： Wwise Unrealインテグレーションを使用する時にWwiseのインストールに不足しているプラグインがある場合は、以下のエラーが表示されます: LogAkAudio: Error: Could not find plugin dynamic library.

Wwise Unrealインテグレーションをエンジンプラグインとしてインストールする

注意： WwiseプラグインをエンジンプラグインとしてUnrealにインストールする方法は、上級ユーザー向けです。

複数のUnrealプロジェクトでWwiseを使用して作業をする場合は、Wwise Unrealインテグレーションをエンジンプラグインとしてインストールすることができます。

  1. Wwise Unreal Engineインテグレーションパッケージをダウンロードするには:
    1. Audiokinetic Launcherを開き Unreal ページを選択します。
    2. RECENT UNREAL ENGINE PROJECTSメニューの Download Wwise Integration to use as an engine plug-in を選択します。Download Wwise Unreal Integrationページが開きます。

    3. 希望のWwiseバージョン番号ではじまるWwise Integration Versionを選択します。
    4. インストール済みのUnrealバージョンに該当する Unreal Version を選択します。
    5. 希望する Download Directory を指定します。Launcherが自動的にこのフィールドに C:\Users\<username>\Documents\Wwise Unreal Engine integration を入力します。このフォルダがすでに存在する場合は中身が上書きされます。
    6. Download をクリックします。Unrealページのプロジェクトリストの上にOFFLINE FILE DOWNLOADSとプログレスバーが表示され、Unreal Engine Integrationプラグインのバージョンやディレクトリパスが表示されます。ダウンロードが終了してから次に進みます。

  2. WwiseインテグレーションとSDKファイルをUnreal Engine Plugins フォルダにコピーするには:
    1. Wwise Unreal Engine integration フォルダの中に、Wwise というフォルダがあります。この Wwise フォルダを、あなたの既存 Plugins フォルダ、つまり …\<UE installation directory>\Engine\Plugins にコピーします。
    2. …\<UE installation directory>\Engine\Plugins\Wwise フォルダの中に、 ThirdPartyというフォルダを作成します。
    3. パッケージングプロセス中に、Unreal EditorがWwise UEインテグレーションを再ビルドする必要がでてくるかもしれません。このため、Wwise SDKのインストールフォルダ内のいくつかのフォルダを Wwise\ThirdParty プラグインフォルダ階層にコピーしてください。以下のフォルダを開きます:
      • Source: C:\Program Files (x86)\Audiokinetic\Wwise 2023.1.0.8367\SDK\
      • Destination: ...\Plugins\Wwise\ThirdParty\
    4. 以下のフォルダを、SourceフォルダからDestinationフォルダにコピーします:
      • include
      • Win32_*
      • x64_*
      • Mac
    5. SDK ソースフォルダ内にフォルダがあるほかのプラットフォームにプロジェクトが展開される場合は、それらのフォルダ（プラットフォームのライブラリを含む）も ThirdParty フォルダにコピーする必要があります。

  3. プラグインを有効にしてUnrealとWwiseのプロジェクトを連携させるには:
    1. Unreal Editorでプロジェクトを開きます。
    2. ツールバーで Edit > Plugins をクリックします。
    3. ダイアログボックスが開くので Installed > Audio ページに移動します。
    4. Wwise Unreal Engine integration 下のチェックボックスを選択してプラグインを有効にします。
    5. ツールバーで Edit > Project Settings をクリックします。
    6. Wwise > Integration Settings ページに移動します。
    7. Wwise Project Path を Installation セクションで指定してダイアログボックスを閉じます。

Wwiseプロジェクトで何が起きるのかを理解するには Wwiseプロジェクトに対する変更点 を参照してください。


Wwise Unreal Integration Documentation: プロジェクトをWwise 2022.1にアップグレードする

プロジェクトをWwise 2022.1にアップグレードする

Wwise 2022.1 Unrealインテグレーションについて

このバージョンはWwise Unrealインテグレーションの大きな節目となります。Unreal Engine 5がエンジンを新たな領域へと導いたように、AudiokineticのWwise Unrealインテグレーションはこれら2つのツールの連携による可能性をさらに広げます。 変更の内容は1年以上にわたる懸命な開発作業と、WwiseとUnrealの組み合わせの限界を超えようとするデベロッパーたちを交えた多くの議論を元に発展しました。長年の最適化の積み重ねや機能要求を通して多くの教訓を得てきました。例えば、当初はすべてのワークフローに対応したいと考えていましたが、ゲームにはそれぞれ前提条件があり、カスタマイズせずにすべての素晴らしい使い方を実現するのは夢のまた夢です。わたしたちはWwiseを使う上での喜びや困難、不満などを教えてくださったユーザのみなさまに大変感謝しております。このようにして最終的に優先順位を決定することができました。

Quick Start

Wwise 2022.1に移行する

移行プロセスをはじめる前に、WwiseやUnrealのプロジェクトで変更する必要のあるファイルを、すべて変更できることを確認します。

以下のファイルを、バージョンコントロールからチェックアウトする必要があります:

  • Wwiseプロジェクトディレクトリ全体
  • すべてのUnreal Wwiseアセット（イベント、サウンドバンク、AUXバス等）
  • Unrealプロジェクトの以下の設定ファイル:
    • DefaultGame.ini
    • DefaultUser.ini

AkAudioBankアセットを参照しているマップやブループリントは、移行処理中に削除されるため、これらもチェックアウトする必要があるかもしれません。

通常通り、マイグレーションはWwise LauncherのUnrealタブから、Wwise Unreal Integrationをアップグレードすることから始めます。

注記： 以前、あなたのプロジェクトで2022.1.0 Beta 2を使用していた場合は、一部のファイル名の大文字小文字を変更すると、大文字小文字を区別するファイルシステムのプラットフォームにおいて、ビルド時に問題が発生する可能性があります。ファイル名に"ShareSet"という単語が含まれるファイルは、すべて正しくスペルされているファイル名である（"ShareSet"の各Sが大文字である）ことを、Wwise Launcherからアップグレードした後に確認してください。

アップグレード完了後にWwise Projectを開き、"Project Migration"ダイアログを表示させます。

Update ボタンをクリックして続けます。

Wwiseプロジェクトを更新して保存した後に、Unrealプロジェクトを開きます。プロジェクトを開くとWwise Integration Migrationダイアログが表示されます。このダイアログ内で、実行する移行操作を選択できます。すべての移行操作をすぐに実行することを推奨しますが、必要に応じて移行処理を延期させることや、操作を個別に実行することが可能です。移行操作を個別に実行する場合は、プロジェクトの移行前に 部分的な移行、プロジェクト移行状況 セクションをお読みになることをおすすめします。複数の移行操作を選択した場合は、Migrationウィンドウに表示された順序で実行されます。移行ダイアログはすべての移行操作が完了するまで Audiokinetic Migration > Finish Project Migration の下のBuild Menuからアクセスすることができます。

主な移行の操作は以下の4つです:

  • サウンドバンクの移行
  • Delete deprecated assets
  • Migrate Wwise Assets
  • Update Project Settings

サウンドバンクの移行

サウンドバンク管理がWwise Authoringに再度戻されるため、AkAudioBankアセットは不要となり削除する必要があります。これまでのワークフローではサウンドバンクは手動で作成されたAkAudioBankとしてUnreal Projectで表されていました。イベントやAUXバスのアセットは手動でこれらのサウンドバンクにまとめられました。これはLegacyワークフローでは必要でしたが、Event Based Packagingでは不要でした。

UnrealプロジェクトにAkAudioBankアセットが含まれているかによって、以下のセクションがダイアログに表示されます。Wwise 2022.1では、この移行操作で既存サウンドバンクをUnrealプロジェクトからWwiseプロジェクトへ戻し、非推奨となったAkAudioBankアセットをクリーンアップすることができます。

オプション | 概要
Transfer SoundBanks to Wwise | これをチェックした場合は転送方式を選択する必要があります。下記 転送方式 セクションを参照してください。
Transfer Auto Load property | UnrealのAkAudioBankアセットにはバンクデータのロードをアセットとともに自動的（例えばアセットがブループリントで使用された直後など）に行うのか、手動で行うのかをユーザが指定できるプロパティがありました。これをチェックした場合はこのプロパティ値はバンク内にまとめられたアセットに転送されます。
Delete AkAudioBank Assets | プロジェクト内のすべてのAkAudioBankアセットが削除されます。Transfer SoundBanksもチェックしている場合は、このステップは転送が完了してから実行されます。これらのアセットはすでに使用目的がないため、削除することが推奨されます。削除した後は "Transfer SoundBanks to Wwise" を実行することができなくなります。

転送方式

Wwiseにサウンドバンクを転送するためにはSoundBank Definition Fileを作成するか、WAAPIを使用します。

Create SoundBank Definition File でサウンドバンクの名前とコンテンツのリストを含むテキストファイルが作成されるため、これをWwiseにインポートすることができます。このオプションを選択した場合は、生成されたファイルの保存先を選択するフィールドが表示されます。このファイルをWwiseプロジェクトにインポートする具体的な方法については 公式ドキュメントを参照してください。

WAAPI はUnreal EditorとWwise Authoringの間に確立されたWAAPI接続を利用し、サウンドバンクを含むようにWwise Projectを更新します。サウンドバンクの転送後に必ずWwiseプロジェクトを保存してください。

これを利用するためにはWwise Authoringが開いている必要があります。WAAPI接続を確立できない場合はWwise User Settingsの“Auto Connect to WAAPI”プロジェクト設定が無効である可能性があります。

サウンドバンクの転送失敗

WAAPIでサウンドバンクをWwiseへ転送することが一部失敗した場合や、サウンドバンクの定義ファイルへの書き込みが失敗した場合は、エラー一覧を示すダイアログが表示されます。このダイアログで移行をキャンセルすることや、エラーを無視して次にすすむことができます。エラーは許容できるものや予想されるものもあります。例えば、Wwiseプロジェクトから削除したイベントがUnrealプロジェクトにアセットとして残っている場合は、それらのイベントに関係するWAAPIコールが失敗します。

Delete deprecated assets

前のインテグレーションバージョンで使用されていたWwiseアセットタイプの一部が非推奨となったため、プロジェクトから削除する必要があります。 Delete Deprecated Assets オプションを選択することでアセットタイプがAkMediaAsset、AkFolder、またはAkPlatformAssetDataであるアセットはすべて削除されます。

Migrate Wwise Assets

Wwiseアセットプロパティが変更されたためサウンドバンクやメディアバイナリデータのシリアライズが行われなくなりました。Wwiseアセットにシリアライズされる情報は、アセットをロードまたはクックする時に使用されるGUID、ShortID、Name、およびタイプ固有のメタデータプロパティのみとなりました。リソースをロードするために必要な情報が、ゲームにパッケージされるアセットに対しクック中にシリアライズされます。

Migrate Wwise assets を選択することでプロジェクト内のすべてのWwiseアセットがダーティとしてマークされ、保存されます。以前にEBPを使用してSplit Switch Container Mediaを有効にしてあった場合は、すべてのイベントで保存前にEventInfo.SwitchContainerLoadingフラグがLoadOnReferenceに設定されます。

注記： 移行操作としてMigrate Wwise Assetsだけを選択した場合は、その後に"Transfer SoundBanks to Wwise"を行うことができなくなり、それは転送に必要な情報が該当アセットから消去されるためです。

Update Project Settings

Update Project Settings を選択することで、Event-Based Packagingを使用していたのか、あるいはLegacyワークフローを使用していたのかに基づき、プロジェクト設定が更新されます。変更が行われた後は必ずプロジェクトを保存してください。

Event-Based Packaging:

  • Wwiseでは以下の通りとなります:
    • Enable Auto Defined Soundbanks が有効になります。
    • Create Sub-Folders for Generated Files は、 Split Media Per Folder が有効であった場合は有効になります。
  • Unrealでは以下の通りとなります:
    • Wwise Sound Data Folder が Directories To Always Cook から削除されます。

Legacy: Wwiseプロジェクトで変更される設定はありません。

  • Unrealでは以下の通りとなります:
    • Wwise Sound Data Folder が Directories To Always Stage As UFS から削除されます。
    • Wwise Sound Data Folder 内に生成された.bnkファイルと.wemファイルが削除されます。

どちらのケースでも以下の通りとなります:

  • GeneratedSoundBanks folder location フィールドに設定するパスが、UnrealプロジェクトのWwise Settingsの Generated Sound Banks Folder 設定に適用されます。このフィールドのデフォルトは、Unrealプロジェクトで設定した現在の GeneratedSoundBanks Folder パスです。あなたのプロジェクトで特別な要件がない限り、標準の <Wwise Project\/GeneratedSoundBanks パスを使用することを推奨します。
警告： 移行中に Generated Sound Banks folder location を変更した場合は、設定をWwiseで手動で更新する必要があるかもしれません。 手動で更新する必要のある設定 参照。
注記： レガシープロジェクトではパッケージングのために GeneratedSoundBanks Folder をUnrealプロジェクトのContentフォルダ内に入れる必要がありました。今はその必要がなくなり、今後はGeneratedSoundBanksのためにUnrealプロジェクトのContent内フォルダを使用することを推奨しません。GeneratedSoundBanks Folder がUnrealのContentフォルダ内にある場合、サウンドバンクが生成される時にファイルのインポートを促すプロンプトが表示されます。このプロンプトを無視することもできますが、プロンプトそのものを回避するために GeneratedSoundBanks Folder をUnrealプロジェクトの外に置くことを推奨します。GeneratedSoundBanks Folder は、後からWwise Authoring Project SettingsとUnreal Project Settingsで変更することができます。どちらの設定も、それぞれ常に最新状態に保つ必要があります。

プロジェクトに外部ソースを使用しない限り、移行ダイアログのすべての操作を完了した時点でプロジェクトの準備が完了し、外部ソースを使用する場合は追加の移行ステップが必要です。

プロジェクト移行のコマンドレット

このインテグレーションは前セクションに記載された移行操作をコマンドラインから実行するためのコマンドレット（ Using the Project Migration Commandlet ）も提供しています。

手動で更新する必要のある設定

Wwise Installation Path （Unrealで） あなたのマシンにWwiseをインストールしてあり、WAAPIを使用せずにUnreal上でサウンドバンクを生成したい場合は、Wwise User SettingsのWwise Mac/Windows Installation Pathを設定する必要があります。

SoundBanks Root Output Path （Wwiseで） WwiseオーサリングのSoundBanks Settingsの Root Output Path が、Unreal Wwise Settingsの Generated Sound Banks Folder で設定したパスと対応していることを確認することを推奨します。

注記： Root Output Path がWwiseプロジェクトに相対的なパスである一方、 Generated Sound Banks Folder はUnrealプロジェクトの Content フォルダに相対的なパスです。

移行したレガシープロジェクトでは、プラットフォームごとのサウンドバンクフォルダ設定がUnrealプロジェクトの Content フォルダ内の場所を指していないことを確認してください。

外部ソースの移行

2022.1において、外部ソースに対するサポートの実装が大幅に変更されました。上級ユーザは外部ソースの設定とトラッキングのために独自システムを実装することが可能となりました。WwiseSimpleExternalSourceManagerを通した基本的なサポートも提供され、これは外部ソースメディアのトラッキングをUnreal Data Tableを使用して行い、外部ソースIDにメディアを割り当てるためのAPIやブループリント関数を提供します。

FAkExternalSourceInfo および FAkSDKExternalSourceArray 構造体は、このモジュールでは使用されなくなりました。ブループリントで作成されるFAkExternalSourceInfoの各インスタンスごとに、WwiseSimpleExternalSourceManager::SetExternalSourceMediaブループリントノードで置き換える必要があります。

その後、これらへのリファレンスをブループリント内からすべて削除できます。FAkSDKExternalSourceArraysにリンクするPostEventノードを含むブループリントの再コンパイルが必要である場合があります。

Wwise 2022.1における外部ソースの使用方法についての詳細は Using the Wwise Simple External Source Manager を参照してください。

部分的な移行、プロジェクト移行状況

すべての移行操作を同時に実行することを推奨します。個々の操作を別々に実行したり、一部の操作を手動で行う場合は、以下の点に注意してください:

  • アセットを移行することでイベントやAUXバスアセットに含まれるサウンドバンクのグループ情報が消去されるため、それ以後、UnrealからWwiseへのサウンドバンクの移行は失敗します。AkAudioBankアセットの中でグループにまとめられていたイベントやAUXバスに、それらアセットの"AutoLoad"設定を転送することも不可能となります。
  • 非推奨となったアセットやAkAudioBankアセットを削除する時に、削除するアセットを参照する（Wwise以外の）アセットがある場合は、それらも追加でチェックアウトする必要があります。

プロジェクトの移行状況を追跡するためには、主にDefaultGame.iniファイルの以下のフィールドを使用します:

  • bSoundBanksTransfered: SoundBank Transfer操作が実行されたかどうかを追跡します。
  • bAssetsMigrated: Asset Migration操作を実行したかどうかを追跡します。
  • bProjectMigrated: Project Migration操作を実行したかどうかを追跡します。

該当する移行操作が成功したかどうかに基づき、移行処理中にこれらの設定が更新されます。

プロジェクトの移行状況はUnrealプロジェクトのコンテンツによっても変わります。プロジェクト内にAkAudioBankアセットがない場合はサウンドバンクの移行は不要であり、設定が自動的に更新されます。同様に非推奨アセットを削除するオプションが表示されるのは、プロジェクト内に非推奨アセットがある場合だけです。

移行の完了

移行が完了した後にWwiseサウンドバンクを再生成する必要があります。これはUnrealのWwise PickerやBuildメニューから行うか、Wwiseで直接（サウンドバンク管理がWwiseに戻されたため）行います。

サウンドバンク生成が成功した後はWwise Project構造をWwise Pickerで見ることが可能となり、Play In Editorでサウンドを聞くことができるようになるはずです。

注記： 移行後に以下のメッセージが表示されることがあります:

Unable to load <Asset>_FOLDER with outer Package <Package> because its class does not exist..

これらのアセットは2022.1では不要です。プロジェクト内にこのようなアセットが残っている場合は削除（手動、または移行中に Delete deprecated assets ）することが可能ですが、このメッセージは無視できます。

Spatial Audio

ポータル

  • AkPortalComponent 機能が更新され、OpenPortalやClosePortalへのコールがスタック（stack）しないようになりました。つまり、OpenPortalをコールするとすぐにこのポータルが開き、ClosePortalをコールするとすぐにポータルが閉じます。従来の機能では、ポータルを閉じるために、OpenPortalと同数のClosePortalのコールが必要でした。この機能に依存するコードがある場合は、更新してください。

AkGeometryコンポーネント

  • AkGeometryComponent のデフォルトのMesh Typeは、あなたのマップへのコンポーネント追加を最適化するために、Simple Collisionに変更しました。 AkGeometryComponent をStatic Meshに設定していた場合は、Simple Collisionに変更されているため、22.1への更新後に再度設定する必要があります。

PreDelayの単位を秒からミリ秒に変更

  • UnrealインテグレーションではこれまでPreDelayリバーブパラメータは秒単位で見積もられていました。しかしこの値がミリ秒単位で計算されるようになりました。ユーザはPreDelay値を受け取るRTPCの範囲がミリ秒単位となるように、RTPCを更新する必要があります。例えばPreDelayにマッピングされているRTPCの範囲がこれまで0.0


Wwise Unreal Integration Documentation: Using the Project Migration Commandlet

Using the Project Migration Commandlet

The Wwise Unreal plug-in includes a Commandlet you can use to migrate your Unreal projects to Wwise version 2022.1 from the command line.

Commandlet Usage and Parameters

コマンドレットの使用は以下のとおりです:

<UnrealEditor.exe> <path_to_uproject> -run=AkMigration [ [-transfer-bank-waapi] OR [-generate-bank-definition=<Path/To/Save/FileName>.tsv] ][-ignore-bank-errors] [-transfer-bank-autoload] [-delete-banks] [-migrate-assets] [-update-settings] [-delete-deprecated-assets] [-generated-soundbanks-folder=<Path/To/Folder>]

The following parameters perform the same operations available in the Migration Window. These operations are detailed in the プロジェクトをWwise 2022.1にアップグレードする page.

  • transfer-bank-waapi: (Optional) Transfers SoundBanks in the Unreal project to Wwise through WAAPI. This parameter cannott be used with 'generate-bank-definition'.
  • generate-bank-definition: (Optional) Creates a SoundBank definition file at the specified path. Use an absolute file path (C:...). You must then manually import the file into Wwise manually to create the SoundBanks. This parameter cannot be used with 'transfer-bank-waapi'.
    • ignore-bank-errors (Optional) Ignores any errors that occurred during bank transfer through WAAPI or when writing to the SoundBank Definition file and continues migration.
  • transfer-bank-autoload: (Optional) Transfer the AkAudioBank AutoLoad property to assets grouped in it.
  • delete-banks: (Optional) Deletes all SoundBank assets in the Unreal project after the transfer is complete.
  • delete-deprecated-assets: (Optional) Deletes all deprecated Wwise assets that are still in the project.
  • migrate-assets: (Optional) Migrates the Wwise assets in the project.
  • update-settings: (Optional) Updates the Wwise and Unreal Project settings.
    • generated-soundbanks-folder: (Optional) The path to the GeneratedSoundBanks folder used with the 'update-settings' switch. Use an absolute file path (C:/...). This parameter sets the Generated Sound Banks Folder setting in the Unreal project.
  • help: (Optional) Prints a message that describes all parameters and quits the Commandlet immediately.

Example Usage

C:\UE_5.0\Engine\Binaries\Win64\UnrealEditor-Cmd.exe C:\MyProjects\Demo\WwiseDemoGame.uproject -run=AkMigration -transfer-bank-waapi -transfer-bank-autoload -delete-banks -migrate-assets -delete-deprecated-assets -update-settings -generated-soundbanks-folder="C:/Project/WwiseProject/GeneratedSoundBanks"
TIP： The Commandlet window closes as soon as the command is executed. To output the results of the command to a text file, add > log.txt to the end of your command. A text file named log.txt is created in the current directory and contains any errors or warnings.

Order of Operations

The migration operations are performed in the same order as the in-editor migration, regardless of the order of the parameters in the command line. The order is as follows:

  1. Bank migration
    1. Auto Load property transfer
    2. Bank Transfer (WAAPI or SoundBank Definition file)
    3. Deprecated AkAudioBank asset deletion
  2. Wwise asset migration
  3. Deprecated asset deletion
  4. Update project settings


Wwise Unreal Integration Documentation: Understanding Development Workflows

Understanding Development Workflows

Game development projects vary greatly in complexity, size, and team composition. Depending on the size of the development studio and the nature of the project, sound design and integration might be a specialized task with its own team of internal sound designers, it might be outsourced to a third party that specializes in sound and music, or it might be divided among a small development team responsible for all aspects of game development.

In different development scenarios, the development workflow changes accordingly. Some roles might use Wwise exclusively and no other development tools, others might use Unreal exclusively, while others might use both tools. The development workflow affects some aspects of the Wwise Unreal Integration because certain integration features require an active connection between Unreal and Wwise through WAAPI.

Development Workflows for Large Teams

Large development teams usually divide work among specialists such as sound designers, game developers, and audio integrators. Depending on the structure of the team, some contributors might work with Unreal and Wwise, while others might only use one of the two. The following sections contain suggested configurations for different development roles.

Setup for Game Developers

Many game development roles do not need to work with Wwise: 2D and 3D artists, gameplay developers, UI/UX specialists, and so on. For these users, Wwise Authoring is not required but we recommend that the appropriate team add the GeneratedSoundBanks folder to your source control system. Specifically, we strongly recommend that you add the following file extensions to source control:

  • *.json
  • *.bnk
  • *.wem In order for developers to run the Integration code and have sound, they only need to do two things:
  • Install the Wwise plug-in.
  • Be able to access the GeneratedSoundBanks folder for the Editor platform (Windows or Mac). You can change the GeneratedSoundBanks path in Unreal in the Project Settings under the Wwise Integration Settings, and in Wwise Authoring in the SoundBank Settings.

Setup for Audio Integrators

The recommended setup for audio integrators is almost the same as the one for game developers, although in this case a Wwise Authoring installation can be beneficial. Audio integrators can use the WAAPI connection between Wwise Authoring and Unreal to streamline asset integration, although this is not a requirement.

The principal advantage of installing both Wwise and Unreal is that this setup supports dynamic asset creation and modification of the Wwise project through the integration: you can create or fix Events and names in Wwise Authoring or in Unreal through the Wwise Browser.

Using Naming Conventions for Asset Creation

Audio integrators must sometimes ensure that assets follow naming conventions. The setup described in the previous section facilitates predictable asset naming in two ways:

  • You can first create assets in Wwise according to the desired naming convention, which ensures Events with stable GUIDs and correct Event IDs. In Unreal, you can then use the Wwise Browser to drag the newly created Events into folders in the Content Browser.
  • Alternatively, you can create assets together with the synchronization option. This approach requires both Wwise Authoring and Unreal to be open at the same time.

Setup for Technical Audio Designers

Technical audio designers typically work in both Wwise and Unreal. Therefore, in an optimal setup, both Wwise Authoring and Unreal are open at the same time and a WAAPI connection is maintained between the two. If you enable the WAAPI asset synchronization option, any Wwise Events you create in the Wwise project are automatically created in the Unreal project as well. These assets are created in a default folder hierarchy, but you can move them if required.

If SoundBanks are generated by a server or if designers need to experiment, you can temporarily override the GeneratedSoundBanks folder location through a user setting. You can do this in Unreal (through the project's Wwise User Preferences) and in Wwise Authoring (in the SoundBank Generation user preferences). Ensure that both point to the same folder location.

Setup for Third-Party Interactive Audio Designers

Third-party audio designers often work exclusively in Wwise, so the only things they need are Wwise Authoring and the Wwise project. If the designers prefer not to use Wwise Soundcaster, then obviously they need Unreal as well.

Setup for Servers

For large projects, it can be useful to have a dedicated server for SoundBanks. The SoundBank generation commandlet (see Generating SoundBanks with the GenerateSoundBanks Commandlet) can run on this server on a schedule, for example every night, and push the generated SoundBanks to a location under source control. Other developers can then work with latest SoundBanks in Unreal without the need to generate the banks themselves. In large projects, SoundBank generation can be time-consuming and there might be multiple contributors who work on different parts of the game audio (music, speech, sound effects, and so on) so automation can make the process more efficient than manual SoundBank generation.

However, some users might need to generate SoundBanks themselves to experiment or test during the course of development. In this case, you can maintain the server-based setup but use user overrides to generate SoundBanks locally. Refer to Overriding Generated SoundBanks Directories for Local Users for more information.

Development Workflows for Small Teams

Small teams develop their products holistically, without a variety of specialists who work on different aspects of the game (such as audio). In this scenario, we recommend that all users start with the same generic configuration: use the same pre-installed Unreal Engine and the same version of Wwise Authoring. It might be necessary for the developers to generate SoundBanks every time they retrieve the project from source control, although this process is much faster for small projects than for large ones.


Wwise Unreal Integration Documentation: Wwiseプロジェクトに対する変更点

Wwiseプロジェクトに対する変更点

When you open the Unreal project for the first time after you integrate Wwise, certain settings in the Wwise project will change if they were set differently before.

When you open the SoundBank Settings (Project > Project Settings > SoundBanks), you can see that the following settings are enabled:

  • Copy Loose/Streamed Media
  • Remove Unused Generated Files
  • Generate Per Bank Metadata File (All Bank Metadata File also possible)
  • Generate JSON Metadata
  • Include in Metadata:
    • Object GUID
    • Object Path
    • Max Attenuation (highly recommended)
    • Estimated Duration (highly recommended)

When you open Project > Project Settings > Logs, you can see that the following settings are disabled:

  • Media is duplicated in several SoundBanks
  • Media not found in any SoundBank


Wwise Unreal Integration Documentation: プラグインのビルド

プラグインのビルド

WwiseSoundEngine.Build.cs ファイル（場所は …\Plugins\Wwise\Source\WwiseSoundEngine\WwiseSoundEngine.Build.cs ）には、プラグインがサポートする各プラットフォームのためのビルドパラメータを設定する役割があります。具体的には、このファイルで:

  • リンクするスタティックライブラリを指定します。
  • ランタイムにロードするダイナミックライブラリを指定します。
  • 多くのインテグレーション機能を制御するときに使うプリプロセッサマクロを定義します。

プリプロセッサ定義

WwiseSoundEngine.Build.cs に、以下のプリプロセッサdefineが導入されます:

  • WWISE_CONFIGURATION_DIR
    This setting specifies the Wwise build configuration: the appropriate subfolder in which the AkSoundEngine library is located.
  • WWISE_DSP_DIR
    This setting specifies the Wwise build configuration: the appropriate subfolder in which the plug-in libraries (both static and dynamic) are located.
  • AK_SUPPORT_OPUS
    この設定は、Wwise Opusライブラリが使える状態にあるということを指定します。
  • AK_SUPPORT_WAAPI
    この設定は、Wwise Authoring APIライブラリが使える状態にあるということを指定します。
  • AK_UNREAL_MAX_CONCURRENT_IO
    この設定は、一度に許容されるreadとwriteの最大数を指定します。

Wwise Unrealインテグレーションをソースからビルドする

バンク生成中に …\Content\Wwise\EditorOnly\ActivatedPlugins.uasset アセットが修正され、プラットフォーム名と、各プラットフォームに必要なプラグインの名前のマッピングが、入れられます。

以下のプラットフォームでは、 ThirdParty 内にある、それぞれの bin フォルダ内のすべてのWwiseプラグインが、最終実行ファイルにパッケージされます。

  • Android
  • iOS
  • tvOS
  • Switch

Androidでは、ビルド中のバイナリのアーキテクチャの最終実行ファイルにすべての共有ライブラリがパッケージされることを指定するUPLファイルが、 …\Plugins\Wwise\Source\AkAudio\Wwise_APL.xml にあります

iOSとtvOSでは、プラグイン登録の対応を …\Plugins\Wwise\Source\AkAudio\Private\Generated\AkiOSPlugins.h ヘッダ内で行います。このファイルはバンク生成時に生成され、 …\Plugins\Wwise\Source\AkAudio\Private\AkAudioDevice.cpp 内に含まれます。

Switchでは、プラグイン登録の対応を …\Plugins\Wwise\Source\AkAudio\Private\Generated\AkSwitchPlugins.h ヘッダ内で行います。このファイルはバンク生成時に生成され、 …\Plugins\Wwise\Source\AkAudio\Private\AkAudioDevice.cpp 内に含まれます。

注記： 出荷された実行ファイルのサイズを削減するために、使用しない共有ライブラリを …\Plugins\Wwise\ThirdParty 内の bin フォルダから削除するよう、ユーザーに推奨しています。

以下のプラットフォームでは、生成される …\Binaries\<UEPlatform>\<TargetName>.target ファイル内の、ランタイムの依存性のリストに、共有（ダイナミック）ライブラリが追加されます。

  • Linux
  • Mac
  • PS4
  • PS5
  • Windows (for plug-ins)
  • XboxOne

  • XboxSeriesX

    インストール に記載のインストール手順を正しく行った場合、Unreal Wwiseインテグレーションの再構築をUnreal Engineの再構築と同じ方法で行うことができます。 この手順のさらに詳しい説明については Unreal Engineドキュメンテーション を確認してください。

ソースコードのあるプラグインについて詳しく知るには、 Unreal Engineドキュメンテーション を参照してください。

Unreal and Wwise SoundEngine Configurations

In Unreal, the following configuration states are available: Debug, DebugGame, Development, Test, and Shipping (refer to Build Configurations Reference for details).

In the Wwise SoundEngine, the following build configurations are available: Debug, Profile, and Release (refer to Build Configuration for details).

The Wwise and Unreal build configurations are related in the following ways for all platforms:

  • The Unreal Debug and DebugGame configuration states correspond to the Wwise SoundEngine Debug configuration.
  • The Unreal Develpment configuration state corresponds to the Wwise SoundEngine Profile configuration.
  • The Unreal Test and Shipping configuration states correspond to the Wwise SoundEngine Release configuration.

Unreal and Wwise SoundEngine Configurations on Windows

On Windows, the SDK provides dynamic and static versions of the C runtime libraries for the Debug, Profile, and Release versions of the sound engine. Static libraries are contained in folders that include (StaticCRT) in the folder name.

The Wwise Unreal Integration uses the StaticCRT AkSoundEngine libraries or, if they are unavailable, reverts to the dynamic version of the AkSoundEngine libraries.

However, with the Wwise dynamic libraries, you can only use the Debug build configuration if the Unreal project is fully built with the bDebugBuildsActuallyUseDebugCRT setting. Refer to the Unreal Engine Build Configurations page for more information on that build setting.

WAAPI's AkAutobahn library uses C++ settings that are incompatible with Unreal, so that library is reverted to the dynamic DLL's Profile version whenever it is used.


Wwise Unreal Integration Documentation: インテグレーションの使用

インテグレーションの使用
  • Quick Start
    使用開始のための基本的なワークフロー。
  • Project Settings
    Unreal のインテグレーションビルド完了後に Wwise を使用するための設定。
  • Unreal Engine C++ Projects
    C++ プロジェクトでスタートするための概略。
  • Wwise Demo Gameを使用する
    インテグレーションの機能を示すデモゲームUnrealWwiseDemoの概略。
  • Using Wwise Unreal Objects
    An explanation of the various Wwise Unreal objects included in the integration.
  • ブループリント関数
    ビジュアルスクリプティングで利用できるブループリント機能。
  • Managing SoundBanks
    How to generate SoundBanks.
  • Using the Integration in the Unreal Editor
    Describes how to use the Integration features available in the Unreal Editor.
  • Triggering Wwise Events in Animation Sequences
    Events 対応の Animation Notify（アニメーション通知）。
  • Localizing Audio Assets
    オーディオをローカリゼーションする方法。
  • External Sourcesの使用
    External Sourcesの使い方。
  • Optimizing Memory Usage with Reference-Loaded Switch Containers
    Switchコンテナを使うときに、適切なメディアだけをロードしてメモリ使用を最適化する方法。
  • Using the Level Sequencer
    Events と RTPC 用の Sequencer トラック。
  • Providing Audio Input to Wwise
    Wwiseにオーディオ入力を提供する。
  • Using the AkAudioMixer Module
    Unrealのマスターミックスやサブミックスを、Wwiseにルーティングする方法。
  • Combining Unreal 5 and Wwise Audio with AudioLink
    How to route Unreal objects through Wwise with AudioLink.
  • よくある質問
    よくある質問と答え。


Wwise Unreal Integration Documentation: Quick Start

Quick Start

Creating a New Project

  1. Create a new Wwise project. Refer to Creating a New Project in the Wwise Help.
  2. Create a new Unreal project. Refer to Creating a New Project in the Unreal Engine 5 documentation.
  3. Integrate Wwise in your project through the Launcher. Launcherドキュメントの WwiseをUnrealプロジェクトにインテグレートする を参照してください。
参照
  • Wwiseプロジェクトに対する変更点

Adding an Ambient Sound (Wwise)

Under the Actor-Mixer Hierarchy, in the Default Work Unit, import a new audio file as a Sound FX.

Create a Play Event for the newly-created SFX.

With User-Defined SoundBanks

With Enable Auto-Defined SoundBanks unselected in the SoundBanks tab of the Wwise Project Settings dialog, you will have to create a new SoundBank. After creating the new SoundBank, add your Event to the SoundBank.

With Auto-Defined Soundbanks

With Enable Auto-Defined SoundBanks selected in the SoundBanks tab of the Wwise Project Settings dialog, you will see the following SoundBanks:

It is now possible to generate the required banks. Select the required banks, platforms, and languages, and click Generate Checked. Otherwise click Generate All.

Generating SoundBanks (Unreal Wwise Browser + Build menu)

Back in Unreal, to set the GeneratedSoundBanks folder, open Edit > Project Settings > Wwise > Integration Settings. Here, you can set the path to both the Wwise Project and the Generated Sound Banks Folder.

This should be the same folder as the Root Output Path in the Wwise Authoring SoundBanks settings.

Then open Window > Wwise Browser.

If the SoundBanks have been generated, you will see the following:

If the SoundBanks have not yet been generated, or the SoundBanks directory has not been set, you will see this:

Adding an asset from the Wwise Browser

You will see your Event listed under the Events in the Wwise Browser.

You can either drag it directly from the Browser onto the map, or first drag it onto the content browser. If you drag it directly onto the map, the asset is created in the folder specified in Edit > Project Settings > Wwise > Integration Settings > Default Asset Creation Path.

Playing from Level Blueprint

Add a new Ak Ambient Sound to the default map, then modify the Level Blueprint.

Playing the Sound

Start Play In Editor. The Event will be posted and you can hear your sound playing. If you are using the default empty Unreal project, remove all sounds from the map first.


Wwise Unreal Integration Documentation: Project Settings

Project Settings

All settings related to the Wwise Integration can be found in the Unreal Project Settings (Edit > Project Settings), under the Wwise section. You can copy and paste data from one platform setting structure to another, even if the structures are not identical. Unreal copies matching data and ignores the rest.

Platform Initialization Settings

このセクションに、あなたがインストールしたUnreal Engineで利用できる、すべてのWwise対応プラットフォームに関する初期設定が含まれます。エディタの設定への変更は、エディタを再起動してから有効になりますが、"Standalone"というプレイモードを使うと、現在の設定で、SoundEngineの新しいインスタンスを初期化できます。

Common Settings

  • Sample Rate
    Sampling rate in Hz. The default value is 48000. Use 24000 for low quality audio. Any positive, reasonable sample rate is supported. However, very low sample rates might cause the sound engine to malfunction.
  • Maximum Number of Memory Pools
    Maximum number of memory pools. A memory pool is required for each loaded bank.
  • Maximum Number of Positioning Paths
    Maximum number of automation paths for sound positioning.
  • Command Queue Size
    Size of the Command Queue.
  • Samples Per Frame
    Number of samples per audio frame (256, 512, 1024, 2048).
  • Streaming Look Ahead Ratio
    Multiplication factor for all streaming look-ahead heuristic values.
  • Number Of Refills in Voice
    Number of refill buffers in voice buffer. Set to 2 for double-buffered. The default value to 4.

Main Output Settings

  • Audio Device ShareSet
    The name of a custom audio device to use. Custom audio devices are defined in the Audio Device ShareSet section of a Wwise project. Leave this empty to output normally through the default audio device.
  • Device ID
    Device-specific identifier when you are using multiple devices of the same type. Leave the setting at 0 (default) if you are using only one device.
  • Panning Rule
    Rule for 3D panning of signals routed to a stereo bus. In "Speakers" mode, the angle of the front loudspeakers is used. In "Headphones" mode, the speaker angles are superseded by constant power panning between two virtual microphones spaced 180 degrees apart.
  • Channel Config Type
    A code that completes the identification of channels by uChannelMask. Anonymous: Channel mask == 0 and channels. Standard: Channels must be identified with standard defines in AkSpeakerConfigs. Ambisonic: Channel mask == 0 and channels follow standard ambisonic order.
  • Channel Mask
    A bit field, whose channel identifiers depend on AkChannelConfigType (up to 20).
  • Number of Channels
    The number of channels, identified (deduced from channel mask) or anonymous (set directly).

Spatial Audio Settings

  • Max Sound Propagation Depth
    あるサウンドがいくつのポータルを通過して伝播するのか、その最大数。
  • Movement Threshold
    Amount that an emitter or listener has to move to trigger a recalculation of reflections and diffraction. この値が大きいと、CPU負荷が減る代わりに、精度が下がります。
  • Number Of Primary Rays
    Stochastic ray castingに使うPrimary ray（各リスナーからキャストされる）の数。
  • Reflection Order
    1から4までの、Reflection orderの最大数。
  • Diffraction Order
    Maximum diffraction order: the number of "bends" in a diffraction path. A high diffraction order accommodates more complex geometry at the expense of higher CPU usage. Diffraction must be enabled on the geometry to find diffraction paths. Set to 0 to disable diffraction on all geometry. This parameter limits the recursion depth of diffraction rays cast from the listener to scan the environment, and also the depth of the diffraction search to find paths between emitter and listener. To optimize CPU usage, set it to the maximum number of edges you expect the obstructing geometry to traverse.
  • Max Emitter Room Aux Sends
    The maximum number of game-defined auxiliary sends that can originate from a single emitter. An emitter can send to its own Room and to all adjacent Rooms if the emitter and listener are in the same Room. If a limit is set, the most prominent sends are kept, based on spread to the adjacent portal from the emitter's perspective. Set to 1 to only allow emitters to send directly to their current Room, and to the Room a listener is transitioning to if inside a portal. Set to 0 to disable the limit. The default value is 3.
  • Diffraction on Reflections Order
    Maximum possible number of diffraction points at each end of a reflection path. Diffraction on reflection allows reflections to fade in and out smoothly as the listener or emitter moves in and out of the reflection's shadow zone. When greater than zero, diffraction rays are sent from the listener to search for reflections around one or more corners from the listener. Diffraction must be enabled on the geometry to find diffracted reflections. Set to 0 to disable diffraction on reflections.
  • Maximum Path Length
    リフレクションパス・ディフラクションパスの、最大の長さ。
  • CPU Limit Percentage
    Controls the maximum percentage of an audio frame the raytracing engine can use. Percentage [0, 100] of the current audio frame. A value of 0 indicates no limit on the amount of CPU used for raytracing.
  • Load Balancing Spread
    The computation of spatial audio paths is spread over LoadBalancingSpread frames. Spreading the path computation over several frames can prevent CPU peaks. The spread introduces a delay in the path computation.
  • Enable Geometric Diffraction and Transmission
    Enables the computation of geometric diffraction and transmission paths for all sources that have the Enable Diffraction and Transmission box selected in the Positioning tab of the Wwise Property Editor. This flag enables sound paths around (diffraction) and through (transmission) geometry. Set Enable Geometric Diffraction and Transmission to false to ensure that geometry is only used to calculate reflection. Diffraction edges must be enabled on geometry for diffraction calculation. If Enable Geometric Diffraction and Transmission is false but a sound has "Enable Diffraction and Transmission" selected in the positioning tab of Wwise Authoring, the sound only diffracts through portals but passes through geometry as if it were not there. Disable this setting if the game performs its own obstruction calculation, but geometry is still passed to spatial audio for reflection calculation.
  • Calc Emitter Virtual Position
    When set to true, Wwise Spatial Audio calculates the apparent or virtual position of emitters that diffract through portals or around geometry, and then sends the position to the sound engine.

Communication Settings

  • Initialize System Comms
    Indicates whether or not to initialize the communication system. Some consoles have critical requirements for the initialization of their communication systems. Set to false only if your game already uses sockets before sound engine initialization.
  • Pool Size
    Size of the communication pool.
  • Discovery Broadcast Port
    The port where the Wwise Authoring application broadcasts "Game Discovery" requests to discover games running on the network. The default value is 24024. It cannot be set to 0.
  • Command Port
    The "command" channel port. Set to 0 to request a dynamic/ephemeral port.
  • Network Name
    The name used to identify this game within the Wwise Authoring application. Leave empty to use FApp::GetProjectName()

Advanced Settings

  • Use Head Mounted Display Audio Device
    Enable when working on projects for head-mounted displays with audio capabilities.
  • Max System Audio Objects
    Maximum number of System Audio Object to reserve. Other processes will not be able to use them. The default is 128.
  • Enable Multi Core Rendering
    When set to true, distributes SoundEngine processing tasks across the Unreal Engine Task Graph. If you change this setting, you must restart the Editor.
  • Max Num Job Workers
    The maximum number of workers that the Sound Engine can request at any time. If you change this setting, you must restart the Editor.
  • Job Worker Max Execution Time Usec
    Maximum time allotted for Sound Engine processing tasks in microseconds. If you change this setting, you must restart the Editor.
  • IO Memory Size
    Size of memory pool for I/O (for automatic streams). "It is rounded down to a multiple of <tt>uGranulrity</tt> and then passed directly to <tt>AK::MemoryMgr::CreatePool()</tt>."
  • IO Granularity
    I/O request granularity (typical bytes/request).
  • Target Auto Stream Buffer Length
    Targeted automatic stream buffer length in milliseconds. When a stream reaches the buffer limit, it is only scheduled for I/O except if the scheduler is idle.
  • Use Stream Cache
    If true, the device attemps to reuse I/O buffers that have already been streamed from disk. This is particularly useful when streaming small looping sounds. However, there is a small increase in CPU usage when allocating memory, and a slightly larger memory footprint in the StreamManager pool.
  • Maximum Pinned Bytes in Cache
    Maximum number of bytes that can be "pinned" using AK::SoundEngine::PinEventInStreamCache() or AK::IAkStreamMgr::PinFileInCache().
  • Enable Game Sync Preparation
    Set to true to enable AK::SoundEngine::PrepareGameSync usage.
  • Continuous Playback Look Ahead
    The number of quanta ahead where continuous containers instantiate a new voice before the following sounds start playing. This look-ahead time allows I/O to occur, and is especially useful to reduce the latency of continuous containers with trigger rate or sample-accurate transitions.
  • Monitor Queue Pool Size
    Size of the monitoring queue pool. This parameter is ignored in Release builds.
  • Maximum Hardware Timeoput Ms
    Time (in milliseconds) to wait for the hardware devices to trigger an audio interrupt. If there is no interrupt after that time, the sound engine reverts to silent mode and continues operating until the hardware finally responds again.
  • Debug Out Of Range Check Enabled
    Debug setting: Enable checks for out-of-range (and NaN) floats in the processing code. Do not enable in any normal usage because this setting uses a lot of CPU. It prints error messages in the log if invalid values are found at various points in the pipeline.
  • Debug Out Of Range Limit
    Debug setting: Only used when Debug Out Of Range Check Enabled is true. This defines the maximum values samples can have. Normal audio must be contained within +1/-1. Set this limit to a value higher than 1 to allow temporary or short excursions out of range. The default value is 16.

Integration Settings

Reverb

  • 同時使用可能な最大リバーブボリューム
    サウンドに影響があるAkリバーブボリュームの最大数。これをゼロにセットすることでゲーム内の全てのAkリバーブボリュームをディスエーブルすることができます。なお、Ak Room Componentも含むアクターにあるAk Late Reverb Componentは、この設定に影響されません。

Installation

  • Wwise プロジェクトパス
    UEゲームのWwiseプロジェクトの場所。ゲームに必要なWwiseアセットを作成するためにUnreal Content Browser（またはBuildメニュー）内でGenerate SoundBanks機能を使うために、このパスがWwiseインテグレーションで必要です。This path is relative to the Unreal Project directory, as given by FPaths::ProjectDir() in the Unreal Engine.
  • Root Output Path
    The location of the folder that contains the Wwise project metadata, specifically the ProjectInfo.json file. This file contains the locations of the generated SoundBanks, which are required to play sound in the game. The path is relative to the Unreal project's content directory, as given by FPaths::ProjectContentDir().
    注記： If you are using external sources, changes to this path must be reflected in the External Source settings in your Wwise project.

Cooking

  • Wwise Staging Directory
    The directory to which .bnk and .wem files will be copied when staging files during cooking.

Obstruction Occlusion

  • Default Collision Channel
    The default collision channel used for audio obstruction and occlusion calculations.

Fit to Geometry

  • Default Fit to Geometry Collision Channel
    The default value for Collision Channel when fitting Ak Acoustic Portals and Ak Spatial Audio Volumes to surrounding geometry.

Reverb Assignment (Refer to Automatically Assigning a Reverb Aux Bus for more information)

  • Global Decay Absorption
    The global surface absorption value to use when estimating environment Decay value. It is used for the decay estimations of environments without Acoustic Texture information. デフォルト値は0.5です。
  • Default Reverb Aux Bus
    The default Auxiliary Bus to choose for Automatic Reverb Assignment. Automatic Reverb Assignment can be enabled on Late Reverb components. When their Decay values exceed the highest Decay value in the Reverb Assignment Table, or if the table is empty or nonexistant, the default Auxiliary Bus is chosen. This Auxiliary Bus must have a reverb effect.
  • Reverb Assignment Table
    A table that associates Auxiliary Busses with Reverb Decay values. If Automatic Reverb Assignment is enabled on a Late Reverb component, its Decay value is compared to the table's Decay values. The chosen Auxiliary Bus is the one associated with the closest and highest Decay value in the table. If the given Decay value exceeds the highest Decay value in the table, or if the table is empty or nonexistant, the Default Reverb Aux Bus is chosen.
    Rows must be of type FWwiseDecayAuxBusRow.
    • Row Name A unique name for the row.
    • Decay The number of seconds it takes for the sound reverberation in an environment to decay by 60 dB. Decay values are represented with floating point numbers. We recommend that consecutive Decay values differ by at least 0.01 to ensure the correct Auxiliary Bus is chosen for a given Decay value.
    • Aux Bus The Auxiliary Bus in Wwise Authoring that has a reverb effect to associate with the Decay value of the same row.
  • RTPCs
    • HFDamping Name
      (Legacy workflow) The name of the RTPC used to set the high-frequency damping produced by the environment. Overridden by the HFDamping RTPC value, if there is one.
    • Decay Estimate Name
      (Legacy workflow) The RTPC name used to estimate the time taken for the sound pressure level to reduce by 60dB. Overridden by the Decay Estimate RTPC value, if there is one.
    • Time to First Reflection Name
      (Legacy workflow) The RTPC name used to set the time taken for the first reflection to reach the listener. Overridden by the Time to First Reflection RTPC value, if there is one.
    • HFDamping RTPC
      The RTPC used to set the high-frequency damping produced by the environment.
    • Decay Estimate RTPC
      The RTPC used to estimate the time taken for the sound pressure level to reduce by 60dB.
    • Time to First Reflection RTPC
      The RTPC used to set the time taken from the first reflection to reach the listener.

Initialization

  • Audio Input Event
    Input event associated with the Wwise Audio Input. For more information, see Using the AkAudioMixer Module.
  • Init Bank
    The unique Init Bank for the Wwise project, which contains the basic information necessary to properly set up the Sound Engine.
  • Unreal Audio Routing
    Audio routing options that determine whether to use Unreal or Wwise audio exclusively, the two together, or to route Unreal audio through AkAudioMixer or AudioLink. For more information, refer to Selecting Audio Routing Options.
  • Wwise Sound Engine Enabled
    Indicates whether the Wwise Sound Engine is enabled, depending on the selected audio routing option.
  • Wwise Audio LInk Enabled
    Indicates whether the Wwise AudioLink is enabled, depending on the selected audio routing option.
  • Ak Audio Mixer Enabled
    Indicates whether the Wwise AkAudioMixer is enabled, depending on the selected audio routing option.

Localization

  • Unreal Culture to Wwise Culture
    Unreal Cultureコードを、Wwise Languageへマッピング。This enables calling Set Current Audio Culture directly with an Unreal Culture code. 詳細は Localizing Audio Assets を参照してください。

Asset Creation

  • Default Asset Creation Path
    The path in which to create assets dragged from the Wwise Browser.

Geometry Surface Properties

  • Verify and Update
    Verify each row of the Geometry Surface Properties Table below and remove rows with an invalid Physical Material.
  • Default Acoustic Texture
    The default Acoustic Texture set on a surface of a Spatial Audio Volume actor when Fit to Geometry is used and no geometry is hit. The default value is None, which indicates a completely reflective surface.
  • Default Transmission Loss
    The default Transmission Loss value set on a surface of a Spatial Audio Volume actor when Fit to Geometry is used and no geometry is hit. The valid range is between 0 and 1. The default value is 0, which indicates that sound can pass through the surface without any loss. A surface with 0 transmission loss is considered transparent. It disables any reflections and does not use the Acoustic Texture.
  • Geometry Surface Properties Table
    The table that associates Geometry Surface Properties (Acoustic Texture and Transmission Loss) with Physical Materials. This table is used to retrieve the Geometry Surface Properties according to the Static Mesh's Physical Materials when using the AkGeometryComponent or when using Fit to Geometry with the AkSpatialAudioVolume.
    Rows must be of type FWwiseGeometrySurfacePropertiesRow. We recommend that you do not add or remove rows. Rows are updated when Physical Material assets are added to or removed from the project. Rows are also updated when an Acoustic Texture with a name similar to a Physical Material is added to the project.
    • Row Name The asset path to a Physical Material in the current project.
    • Acoustic Texture The Acoustic Texture to associate with the Physical Material of the same row. Acoustic Textures consist of a group of absorption values representing the percentage by which sound within a relative frequency range is dampened after a reflection.
    • Transmission Loss The value by which to filter a sound modeling transmission through geometry.

User Settings

Installation

  • Wwise Windowsインストールパス
    The location of Wwise Authoring on your Windows development machine. This option will need to be updated when a new version of Wwise Authoring is required by the integration changes.
  • Wwise Mac インストールパス
    The location of Wwise Authoring on your Mac development machine. You must update this value when integration changes require you to install a new version of Wwise Authoring.
注記： If these installation paths are not correctly set, Unreal cannot generate the Wwise SoundBanks required for the game.
  • Root Output Path User Override
    The location of the folder that contains the Wwise project metadata, as determined by a user override in the Wwise User SoundBank Settings. The folder includes the ProjectInfo.json file, which contains the paths to the generated SoundBanks.

WAAPI

  • WAAPI IP Address
    IP Address used to connect to the Wwise Authoring API (WAAPI).
  • WAAPI Port
    WAAPIに接続するときに使うポート。
  • Auto Connect to WAAPI
    Enables the automatic connection of the Unreal Editor to Wwise through WAAPI.
  • Auto Sync Selection
    Whether to synchronize the selection between the Wwise Browser and the Wwise Project Explorer.

Error Message Translator

  • XML Translator Timeout
    Maximum time allotted to search for IDs (milliseconds) for the XML file reader. Set to 0 to disable.
  • Waapi Translator Timeout
    Maximum time allotted to search for IDs (milliseconds) through the WAAPI connection. Set to 0 to disable.

The Error Translators purpose is to transform numerical IDs in error messages into human-readable names, whenever the information is available. There are two methods available: through SoundBanksInfo.xml and through WAAPI. If the SoundBanksInfo.xml file is present beside the SoundBank files (it is optional), using the XML method is faster. WAAPI has the advantage of reading directly from an instance of Wwise, with the latest information. But the network communication can be very slow. Because of that it is disabled by default.

Assets Reload

  • Ask for Wwise Assets Reload
    Opens a notification that the user must accept before reloading Wwise Asset Data when working in the Unreal Editor.

Viewports

  • Visualize Rooms and Portals
    Visualize rooms and portals in the viewport. The "realtime" setting must be enabled in the viewport.
  • Show Reverb Info
    When enabled, information about AkReverbComponents is displayed in viewports, above the component's UPrimitiveComponent parent. The "realtime" setting must be enabled in the viewport.

Wwise Simple External Source Manager Settings

  • Media Info Table
    Table of all information required to properly load all external source media in the project. All files in this table are packaged in the built project.
  • External Source Default Media
    Optional table that defines a default media entry in the MediaInfoTable to load when an External Source is loaded.
  • External Source Staging Directory
    Staging location for External Source media when cooking the project. This is the location from which to load External Source media in the built project.

サウンドエンジンの初期化

SoundEngine初期化のための処理は、 FAkSoundEngineInitialization::Initialize() メソッドで実行します。このメソッドでは、メモリ、ストリーミング、IO、サウンドエンジン、プラットフォーム、ミュージックエンジン、そして通信の設定は、各プラットフォームのWwise Initialization Settingsで設定した値を元に設定されます。

サウンドエンジン初期化の詳細については、Wwise SDKドキュメンテーションの"サウンドエンジン各種モジュールの初期化"を参照してください。


Wwise Unreal Integration Documentation: Wwise Authoring API (WAAPI)

Wwise Authoring API (WAAPI)

The Wwise Authoring API communicates with the Wwise Authoring application. Through WAAPI, the Unreal integration can request and alter information about the Wwise project during a session if Unreal and Wwise Authoring are both running, and Unreal is connected to WAAPI.

WAAPIとその機能について、詳しくはhttps://www.audiokinetic.com/library/edge/?source=SDK&id=waapi.htmlを参照してください。

注記： WAAPI is only available on the Windows and Mac platforms, both in Editor and in Game.

WAAPIに接続する

After you integrate Wwise into your Unreal project, you must update an Unreal congifuration setting to connect to WAAPI.

To enable WAAPI in your Unreal project:

  1. Open your project in the Unreal Editor and the corresponding Wwise project in Wwise Authoring.
  2. In Unreal, click Edit > Project Settings. The Unreal Project Settings dialog opens.
  3. In the left panel, scroll to the Wwise section and click User Settings.
  4. Select Auto Connect to WAAPI. WAAPI features such as inside the Wwise Browser are now enabled.

WAAPI対応の機能を実行するには、Wwiseオーサリングアプリケーションで開いたWwiseプロジェクトと、Integration SettingsのWwise Project Pathで定義されたプロジェクトが、合致する必要があります。

Integration Settings

WAAPIに接続するためのIPアドレスとポートを、Wwise User Settingsで設定できます:

User Settings

WAAPIをC++から使う

WAAPI C++ サンプルクライアント用のUnrealラッパークラス（wrapper class）が、AkAudioモジュールの一部として提供されています。

これを使うには、まず Unreal Engine C++ Projects に記載された手順に沿って、AkAudioモジュールを依存関係としてあなたのゲームに追加する必要があります。これを完了すると、 FAkWaapiClient クラスが利用できます。


Wwise Unreal Integration Documentation: Unreal Engine C++ Projects

Unreal Engine C++ Projects

Linking Modules

The Wwise Unreal Integration is separated into multiple modules. In order to use Wwise's functionality within a C++ project, you must link these modules within your project's build file (.Build.cs). You can disable a module by removing it from the build file.

In the following example, the project includes the following modules as public: Core, CoreUOBject, Engine, InputCore, AkAudio, and WwiseSoundEngine. AkAudio and WwiseSoundEngine are Wwise modules.

public class MyModule : ModuleRules
{
public MyModule(ReadOnlyTargetRules Target) : base(Target)
{
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "AkAudio", "WwiseSoundEngine" });
// その他の設定
}
}

In this case, the functionality of the WwiseSoundEngine module and AkAudio module are available. Modules can be in the PublicDependencyModulesNames or PrivateDependencyModulesNames. More information about modules can be found in the Unreal Engine Documentation.

Module Overview

The Integration is organized in the following modules:

  • AkAudio: The root module for most of the Integration’s user-facing features.
  • AkAudioMixer: Allows a project to pipe the audio output, as well as audio submixes, from Unreal audio components to a Wwise project’s mixer.
  • AudiokineticTools: Implements editor-specific tools and utilities like the Wwise Browser.
  • WwiseFileHandler: Provides the Wwise Sound Engine with the media, SoundBanks, and external sources it needs, including handling requests from the Wwise Location Resolver and I/O Hook.
  • WwiseProjectDatabase: Provides a memory-based database view of the current state of the Wwise project’s generated SoundBanks.
  • WwiseResourceCooker: Converts WwiseObjectInfo Structures to Cooked structures and copies the required resources to the staging directory.
  • WwiseResourceLoader: Handles loading and unloading of all resources needed for all Wwise assets types.
  • WwiseSoundEngine: Provides the bridging between the Wwise Sound Engine API and the Unreal project.

The Integration's module dependencies are illustrated in the following figure:

Overriding the Wwise Unreal Integration

The modules in the Integration, aside from WwiseSoundEngine, AudiokineticTools, and AkAudio, are designed to be extensible through inheritance. Most functions in these modules are virtual to allow developers to override them and modify their behavior to best suit their project. To override a module, create a new module and make sure it inherits the module you want to override. Then, override the desired functions. To use your new module, make sure it is included in the Build.cs of your game and added to the DefaultEngine.ini like this:

[Audio]
WwiseFileHandlerModuleName=WwiseSimpleExternalSource

The <tt>WwiseSimpleExternalSource</tt> module is an example of overriding a module. It overrides the WwiseFileHandler module to handle external sources with Data tables.

Creating AkComponents Using C++

When creating a new AkComponent using C++, you must attach it to a parent component. The AkComponent is necessary for the API to work as intended. The following sections provide examples of how to add an AkComponent.

Using the Wwise API in your Unreal Projects

It's possible to use the Wwise API through the Wwise Unreal Integration. You can call most functions through the WwiseSoundEngine module or the AkAudio module.

WwiseSoundEngine Module

The WwiseSoundEngine module provides low-level access to most SoundEngine API operations. With the WwiseSoundEngine module, you can access API functions directly and securely, as shown in the following example:

#include "AkAudioEvent.h"
#include "AkComponent.h"
#include "Wwise/LowLevel/WwiseLowLevelSoundEngine.h"
void PostEventSoundEngine(UAkAudioEvent* Event, AActor* GameObject)
{
if (auto* SoundEngine = IWwiseSoundEngineAPI::Get())
{
if(Event && GameObject)
{
TArray<UAkComponent*> Array;
GameObject->GetComponents<UAkComponent>(Array);
//The Actor doesn't have an AkComponent attached. This component is needed if we want sound to be emitted from this actor.
if (Array.Num() == 0)
{
//PostEvent doesn't load the event. The Event needs to be loaded beforehand.
if (!Event->IsLoaded())
{
Event->LoadData();
}
auto* AkAudioComponent = NewObject<UAkComponent>(GameObject);
AkAudioComponent->SetupAttachment(GameObject->GetDefaultAttachComponent());
Array.Add(AkAudioComponent);
AkAudioComponent->RegisterComponent();
}
SoundEngine->PostEvent(Event->GetWwiseShortID(), Array[0]->GetAkGameObjectID());
}
}
}

This code posts an Event on a given actor. You must add the UAkComponent on the actor to register it with Wwise. The Event must be loaded as well since loading an Event isn't automatically performed in the WwiseSoundEngine module.

注記： Prior to version 2022.1 of the Integration, it was impossible to access code outside the AkAudio module because the API needed to be accessed in the same dynamic library.

AkAudio Module

The AkAudio module is the root module for most of the Integration’s user-facing features. It can accomplish most of what the WwiseSoundEngine module can using Unreal Components. It contains classes for the asset types and components used by the Integration. As an alternative to calling the SoundEngine directly, the AkAudioDevice provides many helper functions to wrap common uses of the WwiseSoundEngine API. These helper functions also check that the necessary resources required to use the API are loaded, and they provide more informative logging.

The following code, just like the previous example, posts an Event on a given actor, but also takes care of attaching the AkComponent and loading the Event:

#include "AkAudio.h"
void PostEvent(UAkAudioEvent* Event, AActor* GameObject)
{
if (FAkAudioDevice::Get())
{
FAkAudioDevice::Get()->PostAkAudioEventOnActor(Event, GameObject);
}
}

More examples of code can be found in the WwiseDemoGame under WwiseDemoGame/WwiseCodeExample and can be experimented with in the WwiseDemoCodeExampleMap.

Debug Features

Logging

Each module in the Integration has an independent log verbosity level. This helps to debug efficiently. If an error occurs, you can find which module produced the error, and then you can set the verbosity of that module's logs to Verbose or VeryVerbose to better understand why the error occurred. You can change the verbosity level of each module in the Core.Log section of the DefaultEngine.ini file. There's also a special logging category called LogWwiseHints enabled by default across all modules, which warns about using deprecated functions and other bad habits.

The following verbosity levels are possible:

  • Fatal: Causes a crash when program execution cannot or should not continue. For example, if required plug-in modules are not loaded.
  • Error: Prevents packaging the game if the audio is not in a functional state.
  • Warning: Indicates when non-critical features might have unpredictable behavior. It can also prevent packaging if desired.
  • Display: Logs information regarding the initialization of modules and provides Commandlet information.
  • Log: Logs various important operations.
  • Verbose: Logs all operations that a module is performing.
  • VeryVerbose: Logs every step of each operation a module is performing.

In the following example, you can see the verbosity level associated with each module:

[Core.Log]
LogAudioKineticTools=Log
LogWwiseProjectDatabase=Log
LogWwiseSimpleExtSrc=Error
LogWwiseResourceLoader=Warning
LogWwiseResourceCooker=Log
LogWwiseFileHandler=Verbose
LogAkAudio=Verbose
LogWwiseHints=Warning

More information about verbosity levels can be found in the Unreal Engine Documentation.

Stats

The Integration includes the following Stats that might help with debugging:

  • AkAudioDevice: Logs information about Post Event Async calls.
  • AkSoundBankGenerationSource: Logs WAAPI calls related to SoundBank generation.
  • WwiseFileHandler: Logs information about loaded media, SoundBanks, and external sources.
  • WwiseFileHandlerLowLevelIO: Logs information about streaming sounds.
  • WwiseProjectDatabase: Logs information about physical memory.
  • WwiseResourceLoader: Logs information about referenced AkTypes.
  • WwiseSoundEngine: Logs information about API calls.

To access this information, select the Stats that interest you in the Unreal Viewport options.

More information about Stats can be found in the Unreal Engine Documentation.

Packaging Requirements

When you package your Unreal project, the assets are "tree-shaken." In other words, Unreal assets that represent Wwise objects are automatically included if they are referenced either by another packaged asset or by a packaged map. If they are, any associated SoundBanks and media files are copied into the built package. Any Wwise Unreal assets that do not satisfy one of these conditions are not included.

This packaging approach is efficient, but in certain cases some Wwise Unreal assets might be improperly excluded, which can cause errors. The following scenarios can cause this type of problem:

  • The project uses Wwise Unreal assets that are not directly referenced by packaged maps.
  • The project uses Events that are posted by string or from code.

If one of these scenarios applies to your project, you must therefore ensure that either the asset is directly referenced by a map, or ensure that the required assets are manually loaded. To manually add assets, add the containing directory to the project's Additional Asset Directories to Cook in the Project Settings. Refer to Project Section of the Unreal Project Settings for more information.


Wwise Unreal Integration Documentation: Wwise Demo Gameを使用する

Wwise Demo Gameを使用する

Wwise Demo Gameには、Wwise Unreal Integrationが含まれ、Audiokinetic Launcherからダウンロードできます。ゲームのマップには、いくつかのデモステーションがあり、さまざまなインテグレーション機能をテストできます。

デモゲームをビルドするには、Wwise SDKをインストールし、サンプルゲームのWwiseインテグレーションを変更する必要があります。詳細については Installing Wwise and Component Packages と Upgrading or Modifying an Integration Package を参照してください。

Wwise Demo Gameをダウンロードする:

  1. Audiokinetic Launcherで Unreal をクリックします。
  2. RECENT UNREAL ENGINE PROJECTSメニューで、 Add Demo Game > IntegrationVersion をクリックします。
    ファイルエクスプローラウィンドウが開きます。
  3. Unrealプロジェクトを保存するフォルダまで移動し、 Select をクリックします。Unrealインテグレーションプロジェクトがインストールされます。

SoundBanksの生成

  1. Unreal EditorでWwiseDemoGameを開きます。
  2. From the toolbar, under Build, select Generate SoundBanks... from the Audiokinetic category.
  3. 希望するプラットフォームやランゲージをすべて選択し、 OK をクリックします。

After the SoundBanks are generated, the Wwise project associated with your GeneratedSoundBanks folder is re-parsed, and the Wwise assets in your project are reloaded.

マップコンテンツ

AkEvent Animation Notify

Animation 通知を使用して、SoundEngineに対してAkEventsをポストすることが出来ます。使用方法のデモはFPP_Fire アニメーションで確認できます。

Ambient Demo

マップデモのこのエリアでは、"AkAmbientSound" アクターの使い方を説明しています。このレベルでの AmbientNoise_Spatialized　環境エミッターはレベルBlueprintのStart All Ambient Sounds ノードでスタートさせることが出来ます。アクターの位置を特定するために、ゲームのプレイ時に減衰球体が黄色で描画されます。 The Event used by this emitter is part of the AmbientBank SoundBank.

このエリアで、オクルージョン機能の使い方も確認できます。プレイヤーを環境音の近くの壁の裏に (その際、黄色のゾーン内にとどまるようにして下さい)、もしくは球体内の大きな箱の陰に移動させることで、サウンドに対するオクルージョン処理の効果が確認できます。サウンドに対するオクルージョン効果は、Blueprintレベルの"Ambient Sound handling" (赤) セクションで設定されています。

Sequencerデモ

マップの本セクションは、WwiseDemoSequenceアセットのイベントトラックやRTPCトラックの使い方を示しています。Sequencerエディタでレベルシーケンスを開くと、 DrumKitModulation ゲームパラメータがRTPCトラックに基づいて変化している状態で、イベントトラックが、移動するキューブをターゲットとするドラムビートを再生していることが確認できます。

Warp to Spatial Audio Tutorial Map

Sequencerの近くに目に見えないトリガーボックスがあり、これがあなたをSpatial Audio Tutorial Mapにテレポートしてくれます。マップのトランジションをテストするのに使えます。

RTPC Demo

マップのこのセクションでは、Level Blueprintの中で、アクターをターゲットとする Set RTPCValue ノードの使い方をデモします（緑のコメントセクション）。マウスのスクロールホイール (ゲームコントローラではDパッドの上、下、タッチスクリーンでは二本指スワイプ)で "Velocity"ゲームパラメータに対応する変数を操作することが出来ます。 それがWwiseプロジェクト内の VelocityLoop サウンドのピッチを制御しています。

The "Create RTPC button Event dispatchers" section of the level Blueprint also demonstrates how to post an Event that targets an actor, using the Post Event node.

Reverb Demo

マップのこのセクションでは、 AkReverbVolume の使い方をデモします。球面ケイブの内部では、 武器のサウンドに対するリバーブ効果を追加するために AkReverbVolume が使用されています。注意：サウンドをエミットしているアクターに対して、リバーブボリューム機能が反映されないように設定することも出来ます。その場合は MyCharacter Blueprintの、 WeaponAkComponent の"Use Reverb Volume"の選択を外します。

Switch Demo

This section of the map demonstrates how to set a Switch using Blueprints (in the "Switch Logic" section of the Blueprint level). このボタンを使用して (ボタンの前にある壁の説明を参照下さい)Sound Engineへイベントをポストすることが出来ます。キーボードの L もしくは H キー(ゲームコントローラではD-Pad L と R、対応タッチスクリーンでは3本指、4本指タップ)で値を変更すること出来ます。

Subtitle Demo

マップのこのセクションでは、Blueprintからのイベントコールバックの使い方や、Wwiseアセットのユーザーデータの使い方を、デモします。

Eventが、WAVマーカーの入ったサウンドファイルを再生し始めます。このEventに関連するマーカーコールバックを登録すると、ボタンの前にある壁面のサブタイトルをアップデートできます。これを行うには、Level Blueprintで、 Callback mask 入力ピンを Marker に設定します。次に、 PostEventCallback 入力ピンをカスタムBlueprint Eventの HandleSubtitles にリンクさせます。

実際の字幕は /Game/WwiseAssets/SubtitleTable.uasset にあるDataTableアセットに保管されます。この SubtitleTable は、SubtitleEventプロパティでユーザーデータに設定されました。

HandleSubtitles イベントで、 Get Ak Audio Type User Data を使ってユーザーデータアセットを取得します。次に、 MarkerCallback's Identifier フィールドを表のインデックスとして利用して正しいサブタイトルにアクセスし、そのテキストを、壁面のTextRenderActorに適用します。

コールバックをBlueprintで使う詳細は、 Using Callbacks in Blueprints を参照してください。

External Sources Demo

マップのこのセクションでは、BlueprintからExternal Sourcesを使う方法をデモします。

レベルのBlueprintに、 CurrentExternalSourceArray 変数が入っています。この中に、事前に中身を入れてある AkExternalSourceInfo 構成があります。イベントをポストすると、 CurrentExternalSourceArray 変数に入っている3つのファイルが順番に再生されます。

External Sourcesの使い方について、詳細は External Sourcesの使用 を参照してください。

Localized Voice Demo

マップのこのセクションでは、BlueprintからLocalized Voicesを使う方法をデモします。

Wwiseプロジェクトで設定したとおり、このイベントで、ローカライズされたボイスが再生されます。左ボタンで英語のセリフ、右ボタンでフランス語のセリフを再生できます。

Localization の使い方について、詳細は Localizing Audio Assets を参照してください。

Sub level Demo

マップのこのセクションでは、Switch Containerのメディアを分割したときに、Level Streamingにどう作用するのかをデモします。

デモゲームのスタートアップマップで使うのは、Footstep_MaterialというSwitch Containerにある、Metalスイッチ値だけです。Wwise Profilerを接続すると、このコンテナ用にロードされたメディアは、Metalメディアファイルだけだということが分かります。Sub Level Demoのボタンを押すと、ストリーミングレベルがロードされますが、このレベルはWoodスイッチ値とGrassスイッチも使います。Wwise Profilerを見ると、これらのスイッチ値に関連づけられているメディアがロードされます。もう一度このボタンを押すと、このレベルがアンロードされ、GrassやWoodのメディアファイルもアンロードされます。

Switch Containerのメディアの分割について、詳細は Optimizing Memory Usage with Reference-Loaded Switch Containers を参照してください。


Wwise Unreal Integration Documentation: Using Wwise Unreal Objects

Using Wwise Unreal Objects

The Wwise Unreal Integration provides a variety of objects that you can use in the Unreal Editor. Refer to the following topics for more information about the different objects:


Wwise Unreal Integration Documentation: Wwise Unreal Assets

Wwise Unreal Assets

目次

  • Wwise Unreal Assets
  • WwiseObjectInfo Structures
    • FWwiseObjectInfo
    • FWwiseEventInfo
    • FWwiseGroupValueInfo
  • Wwise Asset Cooked and Loaded Data
  • Wwise Unreal Asset Types
    • UAkAudioType
    • UAkAudioEvent
    • UAkInitBank
    • UAkAuxBus
    • UAkEffectShareSet
    • UAkGroupValue
    • UAkStateValue
    • UAkSwitchValue
    • UAkRtpc
    • UAkTrigger
    • UAkAcousticTexture
    • Deprecated Asset and Data Types
  • Viewing Asset Links in Unreal

Wwise Unreal Assets

The Unreal Integration requires users to create assets to represent corresponding objects in the Wwise project. You can create these assets through Using the Drag-and-Drop Feature drag-and-drop from the Wwise Browser, or from the right-click menu in the Content Browser. Assets created through drag-and-drop automatically contain the information (GUID, ShortID, Name) required to link them to the Wwise objects they represent. When you create assets through the Content Browser, you must add this information manually. In both cases, you can edit assets afterwards to point to new or different Wwise objects. For more information about the Blueprint functions that use these asset types, refer to ブループリント関数.

注記： When you directly reference Wwise assets in your maps and Blueprints, all of the Wwise resources (.bnk and .wem files) the assets require are automatically packaged in the game. However, if you choose to load these assets through code only, you must ensure that they are packaged correctly.

The following table lists the Wwise objects types that have corresponding Unreal asset classes.

Wwise Unreal Objects
Wwise Object Type | Unreal Asset Class | Description
Acoustic Texture | UAkAcousticTexture | Wrapper for ShortId, which identifies it to the SoundEngine.
RTPC | UAkRtpc
Trigger | UAkTrigger
Auxiliary Bus | UAkAuxBus | Contains the ShortId and also ensures that the required media and SoundBank resources are loaded into memory and packaged in the built game.
Event | UAkAudioEvent
Effect ShareSet | UAkEffectShareSet | Wrapper for ShortId, also required to dynamically set Effect ShareSets from within the game. Ensures that its required media and SoundBank resources are loaded into memory and packaged in the built game.
Init Bank | UAkInitBank | Ensures that the Init Bank file is packaged in the game and loaded before other SoundBanks.
State Value | UAkStateValue | Wrapper for ShortId as well as the ShortId of the parent group. Required for the advanced setting SwitchContainerLoading::LoadOnReference of the FWwiseEventInfo structure in UAkAudioEvent assets to function properly. When enabled, loading and unloading these group value assets triggers dynamic loading of switched media resources. For more information, refer to Optimizing Memory Usage with Reference-Loaded Switch Containers.
Switch Value | UAkSwitchValue

WwiseObjectInfo Structures

Wwise Unreal assets contain a FWwiseObjectInfo information structure that points to a unique object in the Wwise project. Some asset classes use a subclass with additional fields that affect behaviors such as how data is prepared for loading. This structure is serialized in the asset when it is saved, but discarded when it is cooked for a packaged build. During cooking, the structure is passed to the WwiseResourceCooker to fetch the cooked data, which is serialized in the packaged asset. Refer to Wwise Asset Cooked and Loaded Data for more information about the CookedData structure.

FWwiseObjectInfo

The base information struct. When assets in the editor are loaded and cooked, this struct is used to query the WwiseDatabase to obtain the CookedData structure that is used to load all the asset's required resources (.bnk and .wem files) into memory.

プロパティ：

  • WwiseGuid: The GUID that identifies this asset in the Wwise project.
  • WwiseShortId: 32-bit integer that represents the asset in the Wwise SoundEngine.
  • WwiseName: String name of the asset in the Wwise project. It does not have to match the name of the Unreal asset that contains it. However, in the rare case in which all identifying fields in the WwiseObjectInfo are blank when the asset is serialized, the WwiseName field is updated to match the Unreal asset name.
  • HardCodedSoundBankShortId: 32-bit integer that identifies which SoundBank the asset must load as a dependency. For example, if an Event is included in multiple SoundBanks, you can specify which SoundBank to package and load with that asset. If the field is not set, all SoundBanks that contain the Wwise object are loaded with it.
注記： The HardCodedSoundBankShortId property only affects UAkAudioEvent, UAkAuxBus, and UAkEffectShareSet assets, because they are the only assets that require SoundBanks resources.

Searches in the Wwise Database prioritize fields in the following order: WwiseGuid, WwiseShortId, and finally WwiseName. For example, if the WwiseGuid is invalid, the WwiseShortId is used to search for the object.

If any of the three properties that identify the Wwise object in the WwiseObjectInfo (WwiseShortId, WwiseGuid, or WwiseName) are modified in the Unreal Asset inspector, the Wwise Project Database is searched for an object that matches the new property's value and the other two fields are updated accordingly.

Subclasses of FWwiseObjectInfo include additional information used to load data correctly. Any changes to the properties of the WwiseObjectInfo (or any of the fields of a subclass) in the inspector also cause the asset's Wwise resources to be reloaded.

FWwiseEventInfo

Subclass of FWwiseObjectInfo for UAkAudioEvent assets. The FWwiseEventInfo contains additional options for users to customize the Event asset's behavior when it is loaded and destroyed.

Additional Properties:

  • SwitchContainerLoading: "AlwaysLoad" to load all switched media with the event that uses it, or "LoadOnReference" to only load media when the switch or group values are also in memory. For more information, refer to Optimizing Memory Usage with Reference-Loaded Switch Containers.
  • DestroyOptions: "StopEventOnDestroy" to stop Event playback when it is destroyed or "WaitForEventEnd" to wait for the event to stop playing.

FWwiseGroupValueInfo

Subclass of FWwiseObjectInfo for Switch and State Value assets. The FWwiseGroupValueInfo also contains the State or Switch Group's ShortId.

Additional Properties:

  • GroupShortId: 32-bit integer that identifies the Group that includes the asset.

Wwise Asset Cooked and Loaded Data

Wwise Assets contain a CookedData structure that is used to load their required resources (.bnk and .wem files), and to monitor their dependencies on other Wwise Objects (for example, which switches are used by Events that play Switch Containers). The WwiseResourceCooker module provides functions that accept FWwiseObjectInfo structures and return the CookedData structure for that Wwise object. It also provides functions that take FWwiseObjectInfo structures and stage the required resources for packaging.

When working in editor, the CookedData structure is transient and is not serialized to the asset. This prevents changes to the data or to relationships between Wwise objects from unnecessarily dirtying their corresponding Unreal assets. During packaging, the CookedData is serialized in the packaged asset and the Wwise info structure is discarded.

The WwiseResourceLoader module loads an asset's required resources into memory. It provides functions that accept a CookedData structure and manages the loading of the actual resources by calling methods in the WwiseFileHandler module. It then returns a reference to the "Loaded" structure.

注記： UAkRtpc, UAkTrigger, and UAkAcousticTexture assets do not need to load additional resources. They do not interact with the WwiseResourceLoader, and their CookedData structure only contains their ShortId.

Wwise Unreal Asset Types

UAkAudioType

Base class for all Wwise Unreal Assets.

プロパティ：

  • AutoLoad: Determines whether to load Wwise data (banks and media) automatically with the Unreal Asset.
  • UserData: ユーザーデータのアレイ。Can store anything useful for a custom feature that uses the Wwise integration. For example, UserData can store subtitle data for voiceover events.

Blueprint functions:

  • LoadData: Loads the resources (.bnk and .wem files) required by the asset. Use this when AutoLoad is disabled to load Wwise resources manually. It is safe to call multiple times, but might cause resources to be reloaded unnecessarily.
  • UnloadData: Unloads the resources (.bnk and .wem files) required by the asset. If the resources are required by other loaded assets, they are not unloaded until all of those assets are unloaded as well.

UAkAudioEvent

Subclass version of UAkAudioType for Events.

プロパティ：

  • MaxAttenuationRadius: Maximum attenuation radius.
  • IsInfinite: Indicates whether the sound played by the Event loops endlessly.
  • MinimumDuration: Estimate of the minimum duration of the sound played by the Event.
  • MaximumDuration: Estimate of the maximum duration of the sound played by the Event.
  • EventInfo: FWwiseEventInfo that fills the EventCookedData property when in the editor.
  • EventCookedData: Transient FWwiseLocalizedEventCookedData that contains the mapping from languages to language-specific FWwiseEventCookedData.
注記： The EventCookedData, MaxAttenuationRadius, IsInfinite, MinimumDuration, and MaximumDuration properties are filled in when the AkAudioEvent asset is loaded in the editor, and serialized to the asset when cooking it. The integration uses MaxAttenuationRadius to display additional information in the component visualizer, while the other three are used when displaying events in timeline tracks.

Unreal Content Browser Context Menu Options:

  • Play Event （イベント再生）：イベントをポストします。
  • Stop Event（イベント停止）：すべての再生中イベントを停止します。

UAkInitBank

Subclass of UAkAudioType for the Init Bank.

  • InitBankCookedData: Transient FWwiseInitBankCookedData.
注記： The Autoload property of UAkAudioType does not affect this asset type.

UAkAuxBus

Subclass of UAkAudioType Auxiliary Busses.

  • AuxBusInfo: FWwiseObjectInfo that fills in the AuxBusCookedData property when in editor.
  • AuxBusCookedData: Transient FWwiseLocalizedAuxBusCookedData that contains the mapping from languages to language-specific FWwiseAuxBusCookedData.

UAkEffectShareSet

Subclass of UAkAudioType for Effect ShareSets.

  • ShareSetInfo: FWwiseObjectInfo that fills in the AuxBusCookedData property when in editor.
  • ShareSetCookedData: Transient FWwiseLocalizedShareSetCookedData that contains the mapping from languages to language-specific FWwiseShareSetCookedData.

UAkGroupValue

Subclass of UAkAudioType and base class for UAkStateValue and UAkSwitchValue.

  • GroupValueInfo: FWwiseGroupValueInfo that fills in the GroupValueCookedData property when in the editor.
  • GroupValueCookedData: Transient FWwiseGroupValueCookedData.

UAkStateValue

Subclass of UAkGroupValue for State values.

UAkSwitchValue

Subclass of UAkGroupValue for Switch values.

UAkRtpc

Subclass of UAkAudioType for RTPC / Game Parameters.

  • RtpcInfo: FWwiseObjectInfo that fills in the GameParameterCookedData property when in the editor.
  • GameParameterCookedData: Transient FWwiseGameParameterCookedData.
注記： The Autoload property and the LoadData and UnloadData Blueprints of UAkAudioType do not affect this asset type.

UAkTrigger

Subclass of UAkAudioType for Music Triggers.

  • TriggerInfo: FWwiseObjectInfo that fills in the TriggerCookedData property when in the editor.
  • TriggerCookedData: Transient FWwiseTriggerCookedData.
注記： The Autoload property and the LoadData and UnloadData Blueprints of UAkAudioType do not affect this asset type.

UAkAcousticTexture

Subclass of UAkAudioType for Acoustic Textures. For information about how to use this with Spatial Audio features, refer to AkAcousticTexture.

  • TriggerInfo: FWwiseObjectInfo that fills in the AcousticTextureCookedData property when in the editor.
  • AcousticTextureCookedData: Transient FWwiseAcousticTextureCookedData.
注記： The Autoload property and the LoadData and UnloadData Blueprints of the UAkAudioType do not affect this asset type.

Deprecated Asset and Data Types

The following classes and structs are deprecated, and are only used for migration from older projects:

  • UAkAssetData
  • UAkAssetPlatformData
  • UAkAudioBank
  • UAkExternalMediaAsset
  • UAkFolder
  • UAkLocalizedMediaAsset
  • UAkMediaAsset
  • UAkMediaAssetData

Viewing Asset Links in Unreal

The relationships between Events and media are maintained through Unreal references. You can therefore use the Unreal Reference Viewer to view links between assets, as shown in the following image.

For more information about the Unreal Reference Viewer, refer to Reference Viewer.


Wwise Unreal Integration Documentation: Wwise Unreal Actors

Wwise Unreal Actors

目次

  • AkAmbientSound
  • AkReverbVolume

AkAmbientSound

AkAmbientSound is an AActor class used in the same way as the AAmbientSound object that is included with the Unreal Audio system. There are two ways to control its playback: through its own object Blueprint functions, or with the Start All Ambient Sounds and Stop All Ambient Sounds global helper functions. An AkAmbientSound also contains an AkComponent, which has its own Properties.

プロパティ：

  • Stop When Owner Is Destroyed: The Event is stopped automatically when the AkAmbientSound is destroyed.
  • Auto Post: BeginPlayで、関連する UAkAudioEvent を自動的に送信します。

Blueprint Functions:

  • Start All Ambient Sound: すべてのアンビエントサウンドのプレイバックを開始します。
  • Start Ambient Sound: 選択したアンビエントサウンドのプレイバックを開始します。
  • Stop All Ambient Sound:すべてのアンビエントサウンドのプレイバックを停止します。
  • Stop Ambient Sound: 選択したアンビエントサウンドのプレイバックを停止します。

AkReverbVolume

AkReverbVolume is an AVolume class used in a similar way to the AReverbVolume object that is included with the Unreal Audio system. Any Brush in the Editor can spawn it. The reverb effect is obtained with an AkLateReverbComponent.


Wwise Unreal Integration Documentation: Wwise Unreal Components

Wwise Unreal Components

目次

  • AkLateReverbComponent
  • AkComponent
  • AkAudioInputComponent

AkLateReverbComponent

You can add this component to any UPrimitiveComponent to create a reverb zone from that Primitive Component. To obtain the reverb effect, assign a Wwise Auxiliary Bus to the component and route all AkComponents that enter this volume to the associated Wwise Auxiliary Bus. If there is volume overlap, a Priority property determines which Auxiliary Busses the target AkComponent is routed to. AkReverbVolume に出入りする時は、AUXバスレベルにテンポラルフェードイン・フェードアウトエフェクトが適用されます。
If an Ak Late Reverb Component is active on an actor that also has an AkRoomComponent, the Late Reverb Component is disabled and reverb is handled by the AkRoomComponent, which uses the Spatial Audio engine to render Effects.

Information about the reverb parameters is displayed above any objects with attached Ak Late Reverb Components. You can enable or disable this text in the Wwise Integration Settings under Viewports - Show Reverb Info, or from the Unreal Level Editor Viewport menu.

Show Reverb Info in the Level Editor Viewport Menu

プロパティ：

  • Enable Late Reverb: このコンポーネントを有効・無効にします。
  • Send Level: Wwise AUXバスに関連付けられたMaximum Send Levelです。
  • Fade Rate: Rate at which to fade in/out the Send Level of the current Late Reverb Component when entering/exiting it, in percentage per second. For example, a value of 0.2 makes the fade time 5 seconds.
  • Priority: The order in which to apply the Late Reverb Components. In the case of overlapping volumes, only the ones with the highest priority are chosen (the number of simultaneous Late Reverb Components is configurable in the Unreal Editor Project Settings under Wwise > Integration Settings). If two or more overlapping Late Reverb Components have the same priority, it is not possible to predict which Late Reverb Component will be applied first.
  • Auto Assign Aux Bus: Automatically assigns the aux bus for this reverb component by estimating the decay time of the reverb produced by the parent Primitive Component, given its volume and surface area. このディケイ値を使って、Integration Settingsの Automatically Assigning a Reverb Aux Bus からAuxバスを選択します。デフォルトで有効になっています。
  • Aux Bus: このボリュームにアサインされている、 UAkAuxBus 。In the Wwise project, this aux bus enables game-defined auxiliary sends. If you are using Late Reverb with AkRoomComponent and AkPortalComponent, Listener Relative Routing for Positioning must also be enabled and must have a 3D Spatialization assigned.
  • Environment Decay Estimate: リバーブの環境における推定T60（音圧レベルが60dB下がるのにかかる時間）で、レイトリバーブがアタッチされたPrimitiveコンポーネントに基づいて推定されます。このT60値は、Integration Settingsの Automatically Assigning a Reverb Aux Bus を使ってAuxバスを自動アサインするときに使ったり、Integration Settingsの Driving Global Reverb RTPCs に基づいてDecay Estimate RTPCを決めるために使ったりします。
  • HFDamping: 環境によって生じるHigh-Frequency Damping（高周波のダンピング）の推定値で、関連付けられている AkGeometryComponent （主体となるアクターがボリュームであれば、 AkSurfaceReflectorSetComponent ）に基づいています。To estimate the HF damping, a geometry component must be associated with this reverb component through the AssociateAkTextureSetComponent function. If this late reverb component has a sibling geometry component (or surface reflector set component), it is associated automatically and there is no need to call AssociateAkTextureSetComponent. If AssociateAkTextureSetComponent is used, the HFDamping value is only accurate during play. 値が0.0であれば、全周波数にわたり一定したダンピングであることを示します。A value greater than 0.0 indicates more damping for higher frequencies than lower frequencies. A value less than 0.0 indicates more damping for lower frequencies than high frequencies. Integration Settingsの Driving Global Reverb RTPCs に基づいて、この値をHFDamping RTPCを決めるために使えます。Average absorption values are calculated using each of the textures in the collection, weighted by their corresponding surface area.
  • Time to First Reflection: An estimation of the time required for the first reflection to reach the listener, based on the primitive component to which the late reverb is attached. The estimate is based on an emitter and listener positioned at the centre of the parent primitive component. Integration Settingsの Driving Global Reverb RTPCs に基づいて、この値をTime To First Reflection RTPCを決めるために使えます。

Blueprint Functions:

  • Associate Ak Texture Set Component: Set the component (either AkGeometryComponent or AkSurfaceReflectorSetComponent) to use to estimate the HFDamping. For example, in a Blueprint that has a static mesh component with an AkGeometryComponent child component, you can call this function in BeginPlay to associate that AkGeometryComponent with this reverb component. If this late reverb component has a sibling AkGeometryComponent (or AkSurfaceReflectorSetComponent), it is associated automatically and there is no need to call this function.
注記：
  • An Ak Late Reverb Component must be attached to a UPrimitiveComponent in the component hierarchy. If an Ak Late Reverb Component does not have a UPrimitiveComponent as its parent, an error is logged and the component does not have an effect.
  • If you use an AkLateReverbComponent in a custom Blueprint class, we recommended that you use a simple collision component as the parent, such as BoxCollision, SphereCollision, or CapsuleCollision component. 詳細は、 Spatial Audioのブループリントコンポーネント を参照してください。
  • To use the Environment Decay Estimate, HFDamping, and Time to First Reflection values with the Driving Global Reverb RTPCs in the integration settings, the reverb component must have a sibling AkRoomComponent (in other words, an AkRoomComponent that shares the same Primitive parent component). The RTPC values are set on the Room IDs.
  • When working with Ak Late Reverb Components in the level editor, we strongly recommended that you enable Realtime in the Viewport Options. If Realtime is disabled, the reverb parameter estimation values are not updated when actors are scaled or when acoustic texture parameters are changed in the Wwise project.

AkComponent

AkComponent is derived from USceneComponent and represents an active Wwise Event.

プロパティ：

  • Attenuation Scaling Factor: If the Ambient Sound uses attenuation in Wwise, you can use this property to modify the attenuation computations on the ambient sound to simulate sounds with a larger or smaller area of effect.
  • Use Reverb Volumes: Determines whether or AAkReverbVolumes influences the component.
  • Obstruction Occlusion
    • Collision Channel: The object collision channel to use when doing line of sight traces for obstruction/occlusion calculations. When set to 'Use Integration Settings Default', the value is taken from the DefaultOcclusionCollisionChannel in the Wwise Integration Settings.
    • Refresh Interval: Set the time interval between obstruction/occlusion checks (direct line of sight between the listener and this game object). Obstruction is used if Spatial Audio Rooms are present in the map. Otherwise, occlusion is used. Set to 0 to disable obstruction/occlusion on this component. The obstruction/occlusion value is directly applied with AK::SoundEngine::SetObjectObstructionAndOcclusion. When using Spatial Audio, obstruction checks are also done between portals in the same room and this game object. Only use this feature if you plan to obstruct this game object with geometry that is neither AkSurfaceReflectorSetComponent nor AkGeometryComponent. If not, we recommend that you disable obstruction/occlusion checks and exclusively use Spatial Audio Geometric Diffraction and Transmission.
  • Spatial Audio
    • Enable Spot Reflectors: Enable reflections on AkSpotReflector for this AkComponent.
    • Radial Emitter
      • Outer Radius: 希望する外半径をこのフィールドに設定します。The specified number is sent directly to the Spatial Audio AK:SpatialAudio::SetGameObjectRadius() call without any transform. When the actor is selected, a yellow sphere outline is drawn around the game object's position to visualize the size.
      • Inner Radius: 希望する内半径をこのフィールドに設定します。The size must be equal to or smaller than the size of the outer radius. The specified number is sent directly to the spatial audio AK:SpatialAudio::SetGameObjectRadius() call without any transform. When the actor is selected, a yellow sphere outline is drawn around the game object's position to visualize the size.
    • Reflect
      • Early Reflection Aux Bus: Set the early reflection auxiliary bus for the current game object. The component calls AK::SpatialAudio::SetEarlyReflectionsAuxSend() with the selected auxiliary bus. Auxバスのパラメータは、ゲームオブジェクトで再生中のサウンドのうち、オーサリングツールでアーリーリフレクションのAuxバスを指定していないサウンドに適用されます。サウンドに個別に指定したアーリーリフレクションのAuxバスのパラメータが、ここでパスされる値よりも優先されます。
      • Early Reflection Bus Send Gain: Set an early reflection send volume for the current game object. The component calls AK:SpatialAudio::SetEarlyReflectionsVolume() with the specified volume value. この値とオーサリングツールで指定したアーリーリフレクションのボリュームを合算し、ゲームオブジェクトで再生中の全てのサウンドに適用します。有効値は、[0, 1]です。When set to 0, all reflection processing for this game object is disabled.
    • Debug Draw options: Use these options to visualize the raycasts performed by the Spatial Audio Engine, as well as the triangles hit by those raycasts. The visualizations are helpful when you have to debug the Spatial Audio engine. これは、一度に1つのコンポーネントに限り、使える。
  • AkEvent
    • Ak Audio Event: The UAkAudioEvent that is posted when the AkAmbientSound object is instructed to start playing. Spatial Audio機能を使う場合は、イベントのサウンドエフェクトGame-defined auxiliary sendsを有効にしておきます。
参照
  • AkComponent Blueprint機能
  • Creating AkComponents Using C++.

AkAudioInputComponent

AkAudioInputComponent は AkComponent から派生し、オーディオ入力インスタンスを表します。

Blueprint Functions:

  • Post Associated Audio Input Event: 指定したEventの再生を開始し、適切なコールバックを登録します。


Wwise Unreal Integration Documentation: Wwise Spatial Audioオブジェクト

Wwise Spatial Audioオブジェクト

AkAcousticTexture

Unreal object that represents a Wwise Acoustic Texture. This object can be applied to a AkSurfaceReflectorSetComponent's polygons or to a AkSpotReflector.

You can associate AkAcousticTextures with Unreal Physical Materials through the AkGeometry Surface Properties Map in the Integration Settings.

  • プロパティ：
    • Edit Color: Editor-only property that defines the color to use when coloring AkSurfaceReflectorSetComponent polygons that have an AkAcousticTexture assigned. The Edit Color is automatically retrieved from the Acoustic Texture in the Wwise project. If there is an active WAAPI connection, changes to Acoustic Texture colors in Wwise are immediately applied to the AkAcousticTexture Edit Color.
参照
  • UAkAcousticTexture

AkSpotReflector

You can use the Spot Reflector actor to place an omnidirectional point reflector in the 3D world. Spot reflectors are useful when they are placed on distant objects that have large radii, such as distant mountains.

There are several options you can use to control Spot Reflector behavior:

Spot Reflectors reflect any sound that comes from an AkComponent that has Enable Spot Reflectors enabled.

To ensure that the Spot Reflector only reflects sounds from the same Spatial Audio Room, enable Same Room Only. In this case, an AkComponent feeds a Spot Reflector if they are both outside rooms or if they are both in the same room. 部屋を作成する際に、ボリュームに AkRoomComponent を添付して作成することができます。

To override the room that contains the Spot Reflector, enable Enable Room Override and assign a room to Room Override. If you do not set a Room Override, the Spot Reflector is virtually placed outside rooms.

AkSpotReflector calls AK::SpatialAudio::AddImageSource() from the Spatial Audio API on BeginPlay.

プロパティ：

  • Aux Bus: アーリーリフレクションDSP用の AkReflect プラグインがある、 UAkAuxBus 。This aux bus enables game-defined auxiliary sends, with Listener Relative Routing enabled but 3D Spatialization set to None.
  • Acoustic Texture: AkAcousticTexture that filters sounds reflected by the image source.
  • Distance Scaling Factor: イメージソースの距離に基づくスケーリング。This number scales the sourcePosition vector relative to the listener and, consequently, scales distance and preserves orientation.
  • Level: Game-controlled linear level for the source.

AkSurfaceReflectorSetComponent

This component is equivalent to AkGeometryComponent, but must be attached to an AVolume actor. On BeginPlay, all of the volume's enabled polygons are sent to the Spatial Audio engine.

AkSurfaceReflectorSetComponent を使って作業するときは、必ずビューポートを Realtime に設定し、可視化の画面が正しく更新されるようにしてください。

Viewport OptionsでRealtimeを有効にする

プロパティ：

  • Enable Surface Reflector Set: Enables this component.
  • Acoustic Surfaces: Use these controls to edit the properties associated with one or more faces on the volume. By default, changes to these properties are applied to all faces on the selected actor or actors. To change the faces you are editing, click Enable Edit Surfaces. The Unreal editor switches to Brush Editing mode and hides all non-selected actors in the level. To return to the standard editor mode, click Disable Edit Surfaces. In Edit Surfaces mode, you can select one or more individual faces on the volume. アコースティックサーフェスのプロパティを変更すると、選択中の全ての面に反映されます。各プロパティのあとにある、ブラケット内の英数字は、編集中の面の数を表します。
    • AkAcousticTexture: 選択中の面に関連付けられた、 AkAcousticTexture 。The texture's Edit Color determines the color of the faces, and the texture's name is displayed on the faces in the Game Viewport. For completely reflective surfaces, set this to None, so that no additional texture filter is applied.
    • Transmission Loss: この面を、音がどれほど透過するのかを表します。有効範囲は、0.0 - 1.0です。設定値が0.0であれば、面が音を完全に通します。設定値が1.0であれば、音は面によって遮られます。
    • Enable Surface: 選択中の面を、Spatial Audioエンジンに送信するかどうかを示します。無効にした面には、テキスチャ名や透過損失値が表示されません。
  • Geometry Settings:
    • Enable Diffraction: Enables geometric diffraction for this Geometry.
    • Enable Diffraction on Boundary Edges: Enables geometric diffraction on boundary edges for this Geometry. Boundary edges are edges connected to only one triangle. Depending on the specific shape of the geometry, boundary edges might or might not be useful and it is beneficial to reduce the total number of diffraction edges to process.
    • Associated Room: (Deprecated) Associate this AkSurfaceReflectorSetComponent with a Room. This property is deprecated and will be removed in a future version. We recommend not using it by leaving it set to None. Associating an AkSurfaceReflectorSetComponent with a particular Room limits the scope in which the geometry is accessible. そうすることで、反射や回折の計算で実行されるレイキャスティングのサーチ範囲が減らせます。When set to None, this geometry has a global scope. Note if one or more geometry sets are associated with a room, that room can no longer access geometry that is in the global scope.
参照
  • AkSurfaceReflectorSetComponentブループリント関数
  • Spatial Audio Geometry SDK ドキュメンテーション
  • Reflectのドキュメンテーション

AkRoomComponent

You can add this component to any UPrimitiveComponent to register a Spatial Audio Room with the Wwise sound engine. Roomの目的は、2つあります:

  • Oriented reverb. All Auxiliary Busses applied to a game object within a Room are oriented towards the volume's front vector.
  • When used in conjunction with AkAcousticPortal or AkPortalComponent, you can route the wet signal from one Room through a Portal to another Room.

In both cases, in the Auxiliary Bus you must have enable Listener Relative Routing for Positioning to specify a 3D Spatialization and assign an attenuation.

プロパティ：

  • Is Dynamic: Enables runtime changes to the portal connections for this room based on the room's movement. When the value for this property is set, bWantsOnUpdateTransform is also set to its value. For worlds that contain many portals, enabling this property can be computationally expensive. When this option is disabled, the room's portal connections might still change if dynamic portals are moved (that is, portals with Is Dynamic enabled).
  • Enable Room: Enables this component.
  • Priority: Determines the order in which the rooms are applied. If rooms overlap, the one with the highest priority is selected. If two or more overlapping rooms have the same priority, it is not possible to predict which room will be selected.
  • Transmission Loss: Sets the transmission loss value on the direct sound emitted in the Room when the listener is in another room. Think of this value as 'thickness', because it relates to how much sound energy is transmitted through the room's walls. The valid range is 0.0f-1.0f and is mapped, by default, to the occlusion curves of the Wwise project. If the Room has a parent or sibling AkGeometryComponent or AkSurfaceReflectorSetComponent, the transmission loss of these component surfaces is used, unless they are set to 0.
  • Room Tone
    • Ak Audio Event: The event to post to the room game oject.
    • Aux Send: Send level for sounds that are posted to the room. 有効範囲: (0.f-1.f). 値を0にすると、Aux sendが無効になります。
    • Auto Post: Automatically post the audio event posted to the room on BeginPlay.
注記：
  • An Ak Room Component must be attached to a UPrimitiveComponent in the component hierarchy. If an Ak Room Component does not have a UPrimitiveComponent as its parent, an error is logged and the component does not have effect.
  • An Ak Room Component uses the position and bounds of its parent (UPrimitiveComponent) when updating Wwise. Any translation, rotation, or scaling applied directly to an Ak Room Component does not have an effect.
  • When you use an AkRoomComponent in a custom Blueprint class, we recommend that you use a simple collision component as the parent, such as BoxCollision, SphereCollision, or CapsuleCollision. 詳細は、 Spatial Audioのブループリントコンポーネント を参照してください。
参照
  • AkRoomComponentブループリント関数
  • Rooms and Portals SDKドキュメンテーション

AkPortalComponent

You can add this component to any UPrimitiveComponent to register a Spatial Audio Portal with the Wwise sound engine. This component allows sounds contained in an actor with AkRoomComponent attached (for example, AkSpatialAudioVolume) to leak into other actors with AkRoomComponent attached. Such actors that overlap with Portals are detected at initialization time. Both panned and 3D-spatialized sounds can be routed through portals. ポータルには、フロントルームとバックルームがあります。They must have at least one room connected, the front room must be different than the back room, and the front and back rooms should not have a parent-child relationship (see AkReverbZone for more information). The depth of a Portal determines the crossfade distance for both reverb sends and spread transition between the front and back Rooms. ポータルが（ローカルのX軸に沿って）深ければ深いほど、AkComponentがそこを通ってトランジションするときのクロスフェード距離が長くなります。

You can view rooms and portals in the Viewport to adjust their positions, and to visualize portal-room connections. You can enable or disable visualization from the Wwise Integration Settings under Viewports - Visualize Rooms and Portals. You can also toggle this setting directly from the Unreal Level Editor Viewport menu.

Visualize Rooms and Portals in the Level Editor Viewport Menu

プロパティ：

  • Is Dynamic: Enables runtime changes to the room connections for this portal based on the portal's movement. When the value for this property is set, bWantsOnUpdateTransform is also set to its value. For worlds that contain many rooms, enabling this property can be computationally expensive. When this option is disabled, the portal's room connections might still change if dynamic rooms are moved (that is, rooms with Is Dynamic enabled).
  • Initial State: Initially enables or disables the portal. When the portal is enabled, emitters positioned in the AkRoomComponent in front of and behind the portal emit through it.
  • Initial Occlusion: The initial occlusion value applied to the portal. When the occlusion value is set to 0, the portal is not occluded, and when it is set to 1, the portal is completely occluded. The occlusion value is directly applied to the portal with AK::SpatialAudio::SetPortalObstructionAndOcclusion. Portal occlusion can be used to modulate sound in response to a door opening or closing.
  • Obstruction Refresh Interval: Set the time interval between obstruction checks (direct line of sight between game objects or other portals and this portal). 0に設定すると、オブストラクションのチェックが無効になります。Only use this feature if you plan to obstruct this portal with geometry that is neither AkSurfaceReflectorSetComponent nor AkGeometryComponent. If not, we recommend that you disable obstruction checks and exclusively use Spatial Audio Geometric Diffraction and Transmission.
  • Obstruction Collision Channel: The object collision channel that creates the collision of the obstruction ray-casts between game objects and this portal with the desired geometry.
注記：
  • An AkPortalComponent must be attached to a UPrimitiveComponent in the component hierarchy. If an AkPortalComponent does not have a UPrimitiveComponent as its parent, an error is logged and the component does not have an effect.
  • When a portal is selected, the names of its connected rooms are displayed on each side.
  • An AkPortalComponent uses the position and bounds of its parent (UPrimitiveComponent) when updating Wwise. Any translation, rotation, or scaling applied directly to an AkPortalComponent does not have an effect.
  • If you add multiple AkPortalComponents to a custom Blueprint Class, the Unreal Editor might become unresponsive when you move an instance of that class in the Level Editor. この問題を回避するには、Class Settingsで、以下のように Run Construction Script on Drag を無効にします:
    1. カスタムBlueprint Classを、Blueprint Editorで開きます。
    2. Class Settings をクリックします。
    3. In the Details Panel, under the Blueprint Options, disable Run Construction Script on Drag.
参照
  • AkPortalComponentブループリント関数
  • Rooms and Portals SDKドキュメンテーション

AkSpatialAudioVolume

An AkSpatialAudio volume is included in the integration. It consists of a simple volume with a AkSurfaceReflectorSetComponent, a AkRoomComponent, and a AkLateReverbComponent attached.

AkAcousticPortal

ワールドでスポーンできる、利便性のためのアクターで、 AkPortalComponent がアタッチされています。

AkGeometryComponent

This component is equivalent to AkSurfaceReflectorSetComponent but instead of brushes, it must be added to a StaticMeshComponent. The AkGeometryComponent converts its mesh to Spatial Audio Geometry. The static mesh and the simple collision mesh are the two meshes from which it can be converted. In the case of simple collision, sphere and capsule primitives are approximated to a bounding box mesh.

When debugging a game, you can see the spatial audio geometry in the Wwise Authoring Game Object 3D Viewer. With the AkGeometryComponent, you can send more complex shapes, which can prevent the Game Object 3D Viewer from displaying the geometry. Ensure that the Monitor Queue Pool Size in the Platform Initialization Settings is set accordingly to compensate for the additional data the game sends.

When you choose either mesh type, the Acoustic Textures and transmission loss values are deduced from the Physical Materials of the mesh. Use the Geometry Surface Properties Table in the Integration Settings to associate Physical Materials with AkAcousticTextures and transmission loss values.

  • For static meshes, the surface properties are deduced from the Physical Material of each Material the static mesh uses.
  • For simple collisions, the surface properties are deduced from the Simple Collision Physical Material.

Note that in Unreal, when no Physical Material is chosen (set to None), the DefaultPhysicalMaterial is used instead. Associate Geometry Surface Properties to the DefaultPhysicalMaterial for meshes that do not have assigned Physical Materials.

プロパティ：

  • Geometry
    • Mesh Type: Determines whether the geometry is converted from the static mesh or the simple collision mesh.
    • LOD (Level Of Detail): If you select Static Mesh in the Mesh Type list, you can use this parameter to choose the level of detail to use as spatial audio geometry.
    • Welding Threshold: If you select Static Mesh in the Mesh Type list, you can use this parameter to choose the local distance in Unreal units between two vertices to weld together. Any two vertices closer together than this threshold are treated as the same unique vertex and assigned the same position. Increasing this threshold decreases the number of gaps between triangles, which results in a more continuous mesh and less sound leaking through, and eliminates triangles that are too small to be significant. Increasing this threshold also helps Spatial Audio's edge-finding algorithm find more valid diffraction edges.
    • Acoustic Properties Override
      • Acoustic Texture: Overrides the acoustic texture that is automatically chosen based on the physical material of the mesh. If you select Static Mesh in Mesh Type, you can override the acoustic texture of each material individually.
      • Enable Transmission Loss Override: Overrides the transmission loss value.
      • Transmission Loss: Overrides the transmission value that is automatically chosen based on the physical material of the mesh. If you select Static Mesh in Mesh Type, you can override the transmission loss value of each material individually. 有効範囲は、0.0 - 1.0です。設定値が0.0であれば、面が音を完全に通します。設定値が1.0であれば、音は面によって遮られます。
  • Diffraction
    • Enable Diffraction: Enables geometric diffraction for this Geometry.
    • Enable Diffraction on Boundary Edges: Enables geometric diffraction on boundary edges for this Geometry.
  • Optimization
    • Associated Room: (Deprecated) Associate this AkGeometryComponent with a Room. This property is deprecated and will be removed in a future version. We recommend not using it by leaving it set to None. Associating an AkGeometryComponent with a particular Room limits the scope in which the geometry is accessible. そうすることで、反射や回折の計算で実行されるレイキャスティングのサーチ範囲が減らせます。When set to None, this geometry has a global scope. Note if one or more geometry sets are associated with a room, that room can no longer access geometry that is in the global scope.
注記： When you add an AkGeometryComponent in the Blueprint Editor in Unreal, the acoustic textures array is not automatically filled in when Mesh Type is set to Static Mesh because Component Details panels in the Blueprint Editor show details for template Component instances, which are not connected to other Components in the Blueprint.
参照
  • UnrealのSpatial Audioチュートリアル
  • AkGeometryブループリント関数
  • Spatial Audio Geometry SDK ドキュメンテーション
  • Reflectのドキュメンテーション

AkReverbZone

The AkReverbZone Actor is the same as an AkSpatialAudioVolume Actor, but with two additional properties: a parent SpatialAudioVolume and a Transition Region Width. The parent-child relationship between the Reverb Zone and the Spatial Audio Volume allows for sound propagation between them as if they were the same Room, without the need for a connecting Portal. The Reverb Zone and its parent are both Rooms, and as such, must enable their respective Room components. The transition region acts the same as the depth of a Portal but centered around the Reverb Zone geometry (see AkPortalComponent for more details about the Portal depth). Transition region are only added on surfaces where transmission loss is set to 0.

A Reverb Zone is useful in situations where two or more acoustic environments are not easily modeled as closed rooms connected by portals. Possible uses for Reverb Zones include: a covered area with no walls, a forested area within an outdoor space, or any situation where multiple reverb effects are desired within a common space. Reverb Zones have many advantages compared to standard Game-Defined Auxiliary Sends (i.e. compared to the AkLateReverbComponent or the AkReverbVolume). They are part of the wet path, and form reverb chains with other Rooms; they are spatialized according to their 3D extent; they are also subject to other acoustic phenomena simulated in Wwise Spatial Audio, such as diffraction and transmission.

By default, the AkReverbZone actor is set with a disabled AkSurfaceReflectorSetComponent, an enabled AkLateReverbComponent and an enabled AkRoomComponent. The Room's Transmission Loss value is set to 0 to allow sound to pass through all of it's surfaces and for the transition region to be applied on all of them. The Room's Transmission Loss value can be set to something different than 0. In this case, it will be applied on all surfaces of the room. It is possible to enable the AkSurfaceReflectorSetComponent to set surfaces with different Acoustic Textures and Transmission Loss values. Surfaces with a Transmission Loss between 0 and 1, or, in other words, semi-transparent surfaces, will not let diffraction and reflection paths pass through. Only direct, transmission paths will pass through such surfaces.

プロパティ：

  • Parent Spatial Audio Volume: The Room of this Spatial Audio volume is the parent Room of the Reverb Zone. A parent Room can have multiple Reverb Zones, but a Reverb Zone can only have a single Parent. A Reverb Zone can be the parent of another Reverb Zone. An AkReverbZone Actor cannot be its own parent. To use the automatically created 'Outdoors' Room as a parent, leave this property to None.
  • Transition Region Width: The width of the transition region between the Reverb Zone and its parent. The value must be positive. Negative values are treated as 0.
参照
  • AkRoomComponent
  • AkPortalComponent
  • AkRoomComponentブループリント関数


Wwise Unreal Integration Documentation: WAAPI Widgets

WAAPI Widgets

WAAPI UMG Widgets

Ak Check Box

Use this WAAPI-enabled check box to control a boolean property in Wwise.

プロパティ：

  • Property to control: Wwise内の、コントロールするブーリアンプロパティの名前。
  • Item to control: Wwise内の、コントロールするアイテム。
  • On Check State Changed: Event called when the state of the check box changes.
  • On Item Dropped: チェックボックスにアイテムがドロップされたときにコールするイベント。
  • On Property Dropped: チェックボックスにプロパティ名がドロップされたときにコールするイベント。

Blueprintメソッド:

  • IsPressed: このボタンが現在押されていれば、Trueを返します。
  • IsChecked: チェックボックスが現在チェックされていれば、Trueを返します。
  • GetCheckedState: 現在のチェックされた状況全体を返します。
  • SetIsChecked: チェックされた状況を設定します。
  • SetCheckedState(ECheckBoxState InCheckedState): チェックされた状況を設定します。
  • SetAkItemId: このチェックボックスがコントロールするアイテムIDを設定します。
  • GetAkItemId: 現在コントロールされているアイテムのIDを返します。
  • SetAkBoolProperty: このチェックボックスがコントロールするプロパティ名を設定します。
  • GetAkProperty: 現在のアイテムのプロパティを返します。

Ak Item Bool Properties

Boolプロパティ用に事前に作成されたピッカー。Useful for drag-and-drop use with Ak Check Box or Ak Slider.

Ak Item Properties

フロートプロパティ用に事前に作成されたピッカー。Useful for drag-and-drop use with Ak Check Box or Ak Slider.

Ak Slider

This WAAPI-enabled slider can control any float property in Wwise. When the controlled property is changed, the range for the slider's values are automatically adjusted to the range defined in Wwise.

プロパティ：

  • Property to control: Wwise内の、コントロールするブーリアンプロパティの名前。
  • Item to control: Wwise内の、コントロールするアイテム。
  • Value: The value of the slider.
  • On Value Changed: Event called when the value of the slider changes.
  • On Item Dropped: Event called when an item is dropped on the slider.
  • On Property Dropped: Event called when a property name is dropped on the slider.

Blueprintメソッド:

  • GetValue: 現在値を返します。
  • SetValue: 現在値を設定します。
  • SetCheckedState(ECheckBoxState InCheckedState): チェックされた状況を設定します。
  • SetAkSliderItemId: このスライダーがコントロールするアイテムIDを設定します。
  • GetAkSliderItemId: 現在コントロールされているアイテムのIDを返します。
  • SetAkSliderItemProperty: このスライダーがコントロールするプロパティ名を設定します。
  • GetAkSliderItemProperty: このスライダーがコントロールするプロパティ名を返します。

Ak Wwise Tree

This widget is an exact copy of Managing Assets with the Wwise Browser, available in-game. It enables item assignment to Ak Check Box and Ak Slider through drag-and-drop.

プロパティ：

  • On Selection Changed: Event called when the current tree selection changes.
  • On Item Dragged: ツリーからアイテムがドラッグされたときにコールするイベント。

Blueprintメソッド:

  • GetSelectedItem: ツリーで現在選択されているアイテムを返します。
  • GetSearchText: サーチボックスの現在のテキストを返します。
  • SetSearchText: サーチボックスの現在のテキストを設定します。

Ak Wwise Tree Selector

A compact version of the Ak Wwise Tree, which opens a separate window to select the item.

プロパティ：

  • On Selection Changed: Event called when the current tree selection changes.
  • On Item Dragged: ツリーからアイテムがドラッグされたときにコールするイベント。

Slate Widgets

FWwiseTreeItem

Structure that contains everything required to represent a Wwise item.

メンバー:

  • DisplayName: The item name.
  • FolderPath: The path of the tree item in Wwise, including the name.
  • ItemType: The type of item.
  • ItemId: The ID of the item.

FWwisePropertyDragDropOp

Handles drag-and-drop of a property name. Pass the property name to FWwisePropertyDragDropOp::New to create the drag-and-drop operation.

FWwiseUmgDragDropOp

Handles drag-and-drop of a Wwise item. Pass a shared pointer to a FWwiseTreeItem to FWwisePropertyDragDropOp::New to create the drag-and-drop operation.

Ak Slider

This WAAPI-enabled slider can control any float property in Wwise. It handles drag-and-drop through FWwisePropertyDragDropOp and FWwiseUmgDragDropOp.

公開メソッド:

  • GetAkSliderValue: Wwiseオーサリングアプリケーションに表示されたスライダーの現在値を取得します。
  • GetAkSliderProperty: コントロールされているプロパティの名前を取得します。
  • GetAkSliderItemControlled: Gets the name of the item that the slider controls.
  • SetAkSliderItemProperty: Sets the property to control with the slider.
  • SetAkSliderItemId: Sets the ID of the item to control (GUID string in "Digits with Hyphens in Braces" format).
  • SetAkSliderRangeMin: Sets the minimum slider value.
  • SetAkSliderRangeMax: Sets the maximum slider value.
  • GetAkSliderRangeMin: Gets the minimum slider value.
  • GetAkSliderRangeMax: Gets the maximum slider value.


Wwise Unreal Integration Documentation: ブループリント関数

ブループリント関数

Several Wwise-specific global functions are exposed to scripting, many of which convert and pass their arguments to their corresponding Wwise API. The following functions are available in the Audiokinetic category.

Cancel Event Callback

PostEvent に提供されたコールバックイベントを、キャンセルします。The Blueprint Event is no longer called after this node is executed.

Get Ak Audio Type User Data

提示されたアセットから、指定されたタイプのユーザーデータを返します。

Get Ak Component

指定コンポーネントに添付して追わせる AkComponent を取得します。Refer to AkComponent Blueprint機能 for more information about the methods available on AkComponent.

Get Ak Media Asset User Data

提示されたメディアアセットから、指定されたタイプのユーザーデータを返します。

Get RTPC Value

Gets the value of a Game Parameter and, optionally, targets the root component of a specified actor.

Get Speaker Angles

指定されたデバイスのスピーカー角度を取得します。For more information, refer to GetSpeakerAngles.

Is Editor

稼働中のアプリケーションがEditorであればtrueを返し、それ以外であればfalseを返します。

Is Game

Returns true if a world can be obtained from the WorldContextObject argument and its WorldType is a Game, GamePreview, or Play-In-Editor. それ以外であればfalseを返します。

Post Event At Location

指定した位置でWwiseイベントをポストします。これは一回だけのサウンドであり、一時的なWwiseゲームオブジェクトに対して作成されるので、対応する AkComponent はありません。

Post Event At Location Async

指定した位置でWwiseイベントをポストします。The async version waits until the media is loaded and then posts the event. これは一回だけのサウンドであり、一時的なWwiseゲームオブジェクトに対して作成されるので、対応する AkComponent はありません。

Reset RTPC Value

Game Parameter値を、Wwiseプロジェクトで指定したデフォルト値に、グローバルスコープまたはゲームオブジェクトスコープでリセットしますが、オプションとして指定したアクタのルートコンポーネントをターゲットとすることもできます。アクタが指定されていない場合や、Nullである場合は、グローバルGame Parameter値が設定されます。RTPCValue が提供されていない場合は、RTPCパラメータを使用します。それ以外の場合は無視します。

Set Bus Config

指定したバスのチャンネルコンフィギュレーションを強制的に設定します。For more information, refer to SetBusConfig.

Set Multiple Channel Emitter Positions

1つのゲームオブジェクトに、複数のポジションを設定し、インプットチャンネルを柔軟にアサインします。

パラメータ：

  • GameObjectAkComponent: The AkComponent of the game object on which to set positions.
  • ChannelMasks: Array of channel masks to apply for each position.
  • Positions: Array of transforms to apply.
  • MultiPositionType: Position type.

Set Multiple Positions

Sets multiple positions for a single game object, which simulates multiple emission sources but only uses the resources of a single voice. You can use this function to simulate wall openings, area sounds, or multiple objects emitting the same sound in the same area. Calling SetMultiplePositions() with only one position is the same as calling SetPosition().

パラメータ：

  • GameObjectAkComponent: The AkComponent of the game object on which to set positions.
  • Positions: Array of transforms to apply.
  • MultiPositionType is the Position type. For more information on the different position types, refer to MultiPositionType.

Set Multiple Speaker Emitter Positions

1つのゲームオブジェクトに、複数のポジションを設定して、インプットスピーカーを柔軟にアサインできます。

パラメータ：

  • GameObjectAkComponent: The AkComponent of the game object on which to set positions.
  • SpeakerMasks: Array of speaker masks to apply for each position.
  • Positions: Array of transforms to apply.
  • MultiPositionType: Position type.

Set Panning Rule

指定したアウトプットのパンニングルールを設定します。You can change it any time after the sound engine is initialized. For more information, refer to SetPanningRule.

Set RTPC Value

Sets the value of a Game Parameter, and optionally targets the root component of a specified actor. アクタが指定されていない場合や、Nullである場合は、グローバルGame Parameter値が設定されます。

Set Speaker Angles

指定されたデバイスのスピーカー角度を設定します。For more information, refer to SetSpeakerAngles.

Set State

あるステートグループのアクティブステートを設定します。

Spawn Ak Component at Location

指定位置で新規AkComponentを生成します。 By default, the component is automatically destroyed after the Event finishes playing.

パラメータ：

  • Auto Post: Controls whether to post the event immediately upon the component's creation. The default value is false.
  • Auto Destroy: Controls whether to destroy the component when the first Event posted on this component is done. The default value is true.

You can use this Blueprint node to set a Switch on a fire-and-forget sound. To do so, disable Auto Post, set a Switch on the spawned Ak Component, and then post the Event, as shown in the following image:

Stop All

すべての再生中のサウンドを停止します。

Set Current Audio Culture

Refer to Localizing Audio Assets for more information.

Set Current Audio Culture Async

Refer to Localizing Audio Assets for more information.

Other Blueprint Functions

その他に、以下の関数がサブカテゴリにあります：

  • Actor Blueprint機能
  • Spatial Audioオブジェクトのブループリント関数
  • AkAmbientSound Blueprint機能
  • AkComponent Blueprint機能
  • AkAudioInputComponent Blueprint 機能
  • SoundBank Blueprint 機能
  • Blueprint 関数のデバッグ
  • Using Callbacks in Blueprints
  • WAAPI Blueprint 機能


Wwise Unreal Integration Documentation: Actor Blueprint機能

Actor Blueprint機能

このブループリント機能は、アクタのルートコンポーネントをターゲットとします。アクタのルートコンポーネントに AkComponent が添付されていない場合は、新たに作成されます。

Post and Wait for End of Event

指定したアクタのルートコンポーネントにアタッチしフォローするようなWwise Eventをポストし、Eventの終了まで待ち、それからグラフの実行を続けるLatent Blueprintノードです。

Post and Wait for End Of Event Async

指定したアクタのルートコンポーネントにアタッチしフォローするようなWwise Eventをポストし、Eventの終了まで待ち、それからグラフの実行を続けるLatent Blueprintノードです。The async version waits until the media is loaded and then posts the event.

Post Event

指定したアクタのルートコンポーネントに添付されてそれを追うWwiseイベントをポストします。

Post Event Async

指定したアクタのルートコンポーネントに添付されてそれを追うWwiseイベントをポストします。The async version waits until the media is loaded and then posts the event.

Execute Action on Event

Executes an action on an Event attached to and following the root component of the specified Actor. You can specify a fade time and an interpolation curve type. To execute the Action on a specific instance, use the playing ID, which is the value returned by the Post Event Blueprint.

Post Trigger

Posts a Trigger to Wwise that targets the root component of a specified Actor.

Set Obstruction Occlusion Refresh Interval

Sets the time interval at which the AkComponent attached to the root component performs obstruction/occlusion calculations. Set to 0 to turn off obstruction/occlusion on the component.

Set Switch

Sets the active Switch for a given Switch Group, and targets the root component of a specified Actor.

Set Output Bus Volume

Sets the direct output bus volume to use for the specified game object. The Bus Volume value is a number from 0.0f to 1.0f.

Stop Actor

特定アクターに対する全てのサウンドを停止する。

Use Reverb Volumes

Sets whether the AkComponent attached to the root component is influenced by AkReverbVolume.


Wwise Unreal Integration Documentation: Spatial Audioオブジェクトのブループリント関数

Spatial Audioオブジェクトのブループリント関数

AkGeometryブループリント関数

  • ConvertMesh: Converts the parent mesh to FAkGeometryData, a structure usable with Spatial Audio Geometry. スタティックメッシュタイプには、親メッシュのインデックスや頂点を使います。タイプがSimpleコリジョンメッシュであれば、親のBodySetupを、 FAkGeometryData に変換します。If the simple collision is composed of box, sphere or capsule primitives, a bounding box for each of the primitives is used. Simpleコリジョンに凸型ハル（convex hull）のプリミティブがある場合は、そのインデックスや頂点を使います。
  • RemoveGeometry: Calls AK:SpatialAudio::RemoveGeometry() to remove the geometry in Spatial Audio.
  • UpdateGeometry: Sends the FAkGeometryData components to Spatial Audio.

AkLateReverbComponentブループリント関数

  • AssociateAkTextureSetComponent: Sets the component to use to estimate the HFDamping. For example, in a Blueprint that has a static mesh component with an AkGeometry child component, you can call this function in BeginPlay to associate that AkGeometry component with this reverb component. If this late reverb component has a sibling geometry component (or surface reflector set component), it is associated automatically and it is not necessary to call this function.

AkRoomComponentブループリント関数

  • GetPrimitiveParent: Returns the UPrimitiveComponent attached to this Ak Room Component.
  • SetReverbZone: Establishes a parent-child relationship between this AkRoomComponent and a parent AkRoomComponent and allows for sound propagation between them as if they were the same Room, without the need for a connecting AkPortalComponent. Setting a Room as a Reverb Zone is useful in situations where two or more acoustic environments are not easily modeled as closed Rooms connected by Portals. Possible uses for Reverb Zones include: a covered area with no walls, a forested area within an outdoor space, or any situation where multiple reverb effects are desired within a common space. Reverb Zones have many advantages compared to standard Game-Defined Auxiliary Sends (i.e. compared to the AkLateReverbComponent or the AkReverbVolume). They are part of the wet path, and form reverb chains with other Rooms; they are spatialized according to their 3D extent; they are also subject to other acoustic phenomena simulated in Wwise Spatial Audio, such as diffraction and transmission. A parent Room can have multiple Reverb Zones, but a Reverb Zone can only have a single Parent. If a Room is already assigned to a parent Room, it is first removed from the old parent (exactly as if RemoveReverbZone were called) before then being assigned to the new parent Room. A Reverb Zone can be the parent of another Reverb Zone. A Room cannot be its own parent. The automatically created 'Outdoors' Room is commonly used as a parent Room for Reverb Zones, because they often model open spaces. A Reverb Zone needs to be a Room component with an associated geometry. This function also sets a transition region between the Reverb Zone and its parent. The transition region acts the same as the depth of a Portal but centered around the Reverb Zone geometry (see AkPortalComponent for more details about the Portal depth). Transition region are only added on surfaces where transmission loss is set to 0.
  • RemoveReverbZone: Removes this Reverb Zone from its parent. Sound can no longer propagate between the two rooms, unless they are explicitly connected with a Portal.

AkPortalComponentブループリント関数

Several Wwise-specific actions can be executed on AkPortalComponent objects. These are available in the Ak Portal Component Category.

  • EnablePortal: Enables the portal. Emitters positioned in the AkRoomComponent in front of and behind the portal emit through it.
  • DisablePortal: Disables the portal. Emitters positioned in the AkRoomComponent in front of and behind the portal do not emit through it.
  • GetCurrentState: Returns an AkAcousticPortalState, which represents the current state of the portal (Enabled or Disabled).
  • GetPortalOcclusion: Returns a floating point number between 0 and 1 that represents the occlusion value applied to the portal. A value of 0 indicates that the portal is not occluded and a value of 1 indicates that it is completely occluded.
  • SetPortalOcclusion: Sets a new portal occlusion value. A value of 0 indicates that the portal is not occluded and a value of 1 indicates that it is completely occluded. The occlusion value is applied to the portal with AK::SpatialAudio::SetPortalObstructionAndOcclusion. Portal occlusion can be used to modulate sound in response to a door opening or closing.
  • GetPrimitiveParent: Returns the UPrimitiveComponent attached to this Ak Portal Component.
  • PortalPlacementValid: ポータルのポジションとオリエンテーションが有効であれば、Trueを返します。ポータルには、フロントルームとバックルームがあります。They must have at least one connected room, the front room must be different than the back room, and the rooms cannot be a Reverb Zone and its parent. Refer to AkPortalComponent and AkRoomComponent for more information.

AkSurfaceReflectorSetComponentブループリント関数

  • SendSurfaceReflectorSet: Calls AK:SpatialAudio::SetGeometry() to convert the brush's indices and vertices to Spatial Audio Geometry data and send it to Spatial Audio.
  • RemoveSurfaceReflectorSet: Calls AK:SpatialAudio::RemoveGeometry() to remove the geometry in Spatial Audio.
  • UpdateSurfaceReflectorSet: Calls SendSurfaceReflectorSet to send a new conversion of the brush to Spatial Audio.
参照
  • Wwise Spatial Audioオブジェクト
  • UnrealのSpatial Audioチュートリアル


Wwise Unreal Integration Documentation: AkAmbientSound Blueprint機能

AkAmbientSound Blueprint機能

Several Wwise-specific actions can be executed on AkAmbientSound actors. These are available in the Ambient Sound category.

Start All Ambient Sounds

マップ内にあるすべての AkAmbientSound のプレイバックを開始します。

Start Ambient Sound

AkAmbientSound のプレイバックを開始します。

Stop All Ambient Sounds

マップ内にあるすべての AkAmbientSound を停止します。

Stop Ambient Sound

AkAmbientSound のプレイバックを停止します。


Wwise Unreal Integration Documentation: AkComponent Blueprint機能

AkComponent Blueprint機能

Several Wwise-specific actions can be executed on AkComponent scene components. These are available in the Ak Component category.

Get Attenuation Radius

AkComponent's の実質的な減衰半径 (ScalingFactor * MaxAttenuation)を返す。

Post Ak Event

Posts the specified UAkAudioEvent in Wwise.

Post Ak Event Async

Posts the specified UAkAudioEvent in Wwise. The async version waits until the media is loaded and then posts the event.

Post Ak Event and Wait for End

Latent Blueprint node that posts the specified UAkAudioEvent in Wwise, and then waits until the end of the Event to continue the graph's execution.

Post Ak Event and Wait for End Async

Latent Blueprint node that posts the specified UAkAudioEvent in Wwise, and then waits until the end of the Event to continue the graph's execution. The async version waits until the media is loaded and then posts the event.

Post Associated Ak Event

Posts this AkComponent's internal UAkAudioEvent in Wwise.

Post Associated Ak Event Async

Posts this AkComponent's internal UAkAudioEvent in Wwise. The async version waits until the media is loaded and then posts the event.

Post Associated Ak Event and Wait for End

Latent Blueprint node that posts this AkComponent's internal UAkAudioEvent in Wwise, and then waits until the end of the Event to continue the graph's execution.

Post Associated Ak Event and Wait for End Async

Latent Blueprint node that posts this AkComponent's internal UAkAudioEvent in Wwise, and then waits until the end of the Event to continue the graph's execution. The async version waits until the media is loaded and then posts the event.

Post Trigger

関連づけられた AkComponent に対してトリガをポストする。

Set Attenuation Scaling Factor

Sets the attenuation scaling factor, which modifies the attenuation computations on the game object to simulate sounds with a larger or smaller area of effect.

Set Listeners

AkComponent にリスナーを設定します。

Get Collision Channel

Gets the collision channel used when doing line of sight traces for obstruction/occlusion calculations.

Set Output Bus Volume

Sets the output direct bus volume to use for the specified game object. The Bus Volume value is a number from 0.0f to 1.0f.

Get RTPC Value

関連付けられた AkComponent のGame Parameter値を取得します。

Set RTPC Value

関連付けられた AkComponent のゲームパラメータ値を設定します。

Set Stop when Owner Destroyed

該当する AkComponent のStopWhenOwnerDestroyed値を設定します。

Set Switch

関連付けられた AkComponent のスイッチのスイッチグループを設定します。

Stop

Stops the UAkAudioEvent associated with the AkComponent from playing.

Use Reverb Volumes

Sets whether the AkComponent is influenced by AkReverbVolume.

Set GameObject Radius

Calls AK:SpatialAudio::SetGameObjectRadius() to set the outer and inner radius of the game object and sends them to Spatial Audio.


Wwise Unreal Integration Documentation: AkAudioInputComponent Blueprint 機能

AkAudioInputComponent Blueprint 機能

Several Wwise-specific actions can be executed on AkAudioInputComponent scene components. These are available in the Ak Audio Input Component category.

Post Associated Audio Input Event

Posts this AkAudioInputComponent's internal UAkAudioEvent in Wwise and registers the appropriate callbacks.


Wwise Unreal Integration Documentation: SoundBank Blueprint 機能

SoundBank Blueprint 機能

Most SoundBank handling functions were deprecated in 2022.1. Refer to the プロジェクトをWwise 2022.1にアップグレードする for details.

Clear Banks

Unloads Wwise resources (banks and media) for all loaded Wwise Assets.

Init Bank functions

The following functions exist for Init Bank management:

  • Load Init Bank
  • Unload Init Bank

Removed and Deprecated Functions

As of 2022.1, these Blueprint functions no longer exist. To manually load and unload the bank and media resources for your Wwise Assets, use the LoadData and UnloadData Blueprint functions described in Wwise Unreal Assets.

  • Load Bank
  • Load Bank Async
  • Unload Bank
  • Unload Bank Async


Wwise Unreal Integration Documentation: Blueprint 関数のデバッグ

Blueprint 関数のデバッグ

これらのBlueprint関数はあなたのゲームのデバッグに有用です。

Start Output Capture

Wwise 出力キャプチャを開始する。 The output file is located in the same folder as the SoundBanks.

Add Output Capture Marker

出力キャプチャファイルにテキストマーカーを追加

Stop Output Capture

Wwise出力キャプチャを停止The output file is located in the same folder as the SoundBanks.

Start Profiler Capture

Wwise プロファイラーキャプチャを開始。The output file is located in the same folder as the SoundBanks.

Stop Profiler Capture

Wwise プロファイラーキャプチャを停止。The output file is located in the same folder as the SoundBanks.


Wwise Unreal Integration Documentation: Using Callbacks in Blueprints

Using Callbacks in Blueprints

Event callbacks are exposed to Blueprints. They are implemented with custom Events.

Event Callbacks

Most callbacks exposed in the C++ sound engine API are exposed to Blueprints. For more information on what the various callback types accomplish, refer to the SDK documentation.

注記： Blueprint graphs need to be executed on the game thread, so callbacks that require you to modify the AkCallbackInfo structure (AK_SpeakerVolumeMatrix, for example) cannot be exposed to Blueprints. Implement them with C++ code.

Using Event Callbacks

To subscribe to an Event callback, select it in the Callback Mask input pin dropdown. You can then implement the Blueprint graph you want to execute in the selected callback with a custom Blueprint Event:

Subscribing to Multiple Callback Types

To subscribe to more than one callback type, select multiple values in the Callback Mask input pin dropdown:

Then, in your Custom Event graph, you can use a Switch on the Callback Type variable to determine the current callback type, then cast the Callback Info class to the appropriate type:

Using MIDI Callbacks

MIDI Eventコールバックのinfo classは、そのときのMIDI Eventタイプにより解釈が異なります。MIDIコールバック情報のパースを簡素化するために、Blueprintマクロとして SwitchOnMidiType が提供されます。これは、自動的にコールバックのinfoオブジェクトをパースし、正しい実行ピンをトリガーするものです:

注記： MIDI Callback Infoクラスの Chan member は、MIDIチャンネルのことです。範囲は、1から16です。


Wwise Unreal Integration Documentation: WAAPI Blueprint 機能

WAAPI Blueprint 機能

These Blueprint functions connect to the Wwise Authoring application through the Wwise Authoring API.

For more information on WAAPI and its features, refer to the WAAPI documentation.

JSON Objects

WAAPI uses JSON extensively, so the integration includes a Blueprint wrapper for the Unreal FJsonObject. For more information about nodes found under "WAAPI Json Manager", refer to the Unreal Engine documentation on FJsonObject.

Call WAAPI

Calls WAAPI and gets or sets information and parameters according to the specified URI.

パラメータ：

  • WaapiUri: The function to call when an event occurs.
  • WaapiArgs: in_uri ファンクションが参照する引数。
  • WaapiOptions: An optional flag, which retrieves additional information about the event.
  • Return Value: A JSON object that contains information about the event call process. It returns an error if the call fails.

Register WAAPI Connection Lost Callback

Subscribes to an event that is broadcast when the WAAPI connection is lost. Use this function to clean up any resources that use WAAPI.

パラメータ：

  • Callback: 接続が切れたときにコールするイベント。

Register WAAPI Project Loaded Callback

Subscribes to an event that is broadcast when the correct Wwise project is loaded (as defined by the Wwise Project Path in the Wwise Plugin Settings). Use this function to initialize any resources that use WAAPI.

パラメータ：

  • Callback: 接続が確立されたときにコールするイベント。

Subscribe To WAAPI

Subscribes to notifications according to the event.

パラメータ：

  • WaapiUri: The reference to the event.
  • WaapiOptions: An optional flag, which retrieves additional information about the event.
  • Callback: A delegate to execute during the subscription event.

Return Values:

  • SubscriptionId: The ID of the subscription.
  • Result: Indicates whether the subscription was successful.
  • Return Value: A JSON object that contains information about the event subscription process. It returns an error if the subscription failed.

Unsubscribe

Unsubscribes from an event.

パラメータ：

  • SubscriptionId: ID of the current event subscription.

Return Values:

  • UnsubscriptionDone: Indicates whether the unsubscription succeeded.
  • Return Value : A JSON object that contains information about the event unsubscription process. It returns an error if the unsubscription failed.


Wwise Unreal Integration Documentation: Managing SoundBanks

Managing SoundBanks

The Wwise Unreal Integration includes several options for SoundBank management, which are described in the following sections.

  • Understanding Auto-Defined and User-Defined SoundBanks
    Explains the differences between user-defined and auto-defined SoundBanks.
  • Memory Usage Considerations
    Explains how to monitor Wwise memory usage in Unreal.
  • Generating SoundBanks
    Explains how to generate SoundBanks from Wwise Authoring or the Unreal Editor.
  • Generating SoundBanks with the GenerateSoundBanks Commandlet
    Explains how to generate SoundBanks with the commandlet.
  • Overriding Generated SoundBanks Directories for Local Users
    Explains how to override generated SoundBank directories.
  • Refreshing the Project Database
    Explains how to refresh Wwise assets by parsing SoundBank data.


Wwise Unreal Integration Documentation: Understanding Auto-Defined and User-Defined SoundBanks

Understanding Auto-Defined and User-Defined SoundBanks

Your SoundBank management strategy has significant implications for your Wwise Unreal Integration project. Your approach affects memory usage, file packaging, file size, and the way in which SoundBanks are loaded. There are three basic strategies: use auto-defined SoundBanks, use user-defined SoundBanks, or take a hybrid approach with auto-defined SoundBanks for some audio assets and user-defined SoundBanks for others.

The preferred strategy is to use auto-defined SoundBanks, which is the simplest and most efficient approach: auto-defined SoundBanks ensure that only the required assets are loaded in memory, and they require the least amount of manipulation in Wwise Authoring. In contrast, user-defined SoundBanks require manual asset management, which can be time-consuming and is more prone to error than using auto-defined SoundBanks.

User-defined SoundBanks were part of the Legacy workflow in Wwise Unreal Integration versions 21.1, 19.2, 19.1 and earlier. Auto-defined SoundBanks were introduced in Wwise 22.1 although the Event-Based Packaging model, which was the default in Wwise 19.2 and 21.1, shared some characteristics with auto-defined SoundBanks.

Using Auto-Defined SoundBanks

Auto-defined SoundBanks are created automatically when you enable the corresponding option in your Wwise Project Settings. They automate some of the manual tasks related to SoundBank management but function differently than user-defined SoundBanks. They possess several important characteristics:

  • A separate SoundBank is created for each Event.
  • Each SoundBank contains only the Event and structure information, while media is stored outside of the SoundBank. Therefore, if multiple Events require the same media asset, it is generated on disk once and loaded once.
  • File sizes are generally smaller than those associated with user-defined SoundBanks. Auto-defined SoundBanks rely on Unreal to map dependencies and load the necessary audio. An Unreal component can link to a specific Event and load only the files required for playback. In contrast to user-defined SoundBanks, auto-defined SoundBanks provide much more granularity.

You can enable auto-defined SoundBanks in Wwise Authoring. For details, refer to Automatically Defining SoundBanks.

Reference-Loaded Switch Containers

In addition to the memory optimization that auto-defined SoundBanks provide, you can use them in combination with reference-loaded Switch Containers to further optimize memory usage. The Wwise Unreal Integration can determine which assets in a Switch Container are used in the current map, and only loads the media assets when required. For example, you might have a footstep Event that uses different surface types, but only certain types of surface are used in different maps (sand in desert maps but not city maps, leafy surfaces in forest maps but not desert maps, and so on). For more information about this type of Switch Container, refer to Optimizing Memory Usage with Reference-Loaded Switch Containers.

Using User-Defined SoundBanks

With user-defined SoundBanks, you create the SoundBanks yourself and decide what to include in them. User-defined SoundBanks give you direct control over SoundBank content, although this degree of control requires planning, time, and effort to manage. As with any manual process, it is open to user error.

User-defined SoundBanks possess several important characteristics:

  • They include Events as well as all associated audio assets.
  • They are loaded with the corresponding Unreal levels and are available for any of the Events they contain.
  • The entire SoundBank is loaded, even if only a single Event out of hundreds in the bank is required. The SoundBank is only loaded once, though.
  • Loading time might be shorter than auto-defined SoundBanks because only a single SoundBank is loaded, instead of separate SoundBanks for every Event. Conversely, the larger size of the single SoundBank might require a longer time to load. File sizes are also generally larger.

For instructions on how to create user-defined SoundBanks, refer to Creating a SoundBank. The Wwise 251 Certification also describes in detail how to optimize user-defined SoundBanks.

Taking a Hybrid Approach

If desired, you can take a hybrid approach to SoundBank management: use both user-defined and auto-defined SoundBanks. With this method, you can optimize your project's use of SoundBanks. There is no ideal hybrid approach, but here are some possible use cases:

  • Use a user-defined SoundBank for all small user interface sounds, additional user-defined SoundBanks for the core atmosphere of every level, and auto-defined SoundBanks for all other Events. In this way, the short and repetitive UI interactions are loaded only once, level music is loaded only as required, and Event assets are loaded dynamically.
  • Put most sounds and Events in a user-defined SoundBank, and use several optimized Switch Container Event SoundBanks for complex asset hierarchies such as music or banter.
  • Isolate debugging Events in auto-defined SoundBanks so that you can remove them from the packaged game.
  • Store Events and their associated media in different user-defined SoundBanks (the Integration Demo Sample contains an example of this). You could implement a highly complex user-defined SoundBank inclusion pattern and use a custom strategy to load Switch Containers. For example, you could use a media-centric SoundBank for different surface types (such as grass, wood, and metal), and put the Event in a separate SoundBank.
警告： There are many possible ways to manage and generate SoundBanks in Wwise Authoring, but be aware of the potential risks when you are working with the Wwise Unreal Integration. If your desired pattern is very complex, it might not be supported and could cause asset duplication, missing assets, or even cause the Integration to malfunction.

Posting Events

In order to post Events, you must use UAkAudioEvents to do so regardless of the type of SoundBank that you use. UAkAudioEvent is a lightweight structure that contains only the essential information required to load SoundBanks and Media, and process and package the Event.


Wwise Unreal Integration Documentation: Memory Usage Considerations

Memory Usage Considerations

Memory management is an important part of working with the Wwise Unreal Integration. For background on memory management in Wwise, refer to Optimizing Memory Allocation and Tips to Reduce Memory Usage. In addition, the .

Memory usage in the Wwise Unreal Integration is strongly affected by the type of SoundBank your project uses:

  • With auto-defined SoundBanks, much of the memory management is automatic: each Event has its own SoundBank, which is loaded when the Event occurs, but media assets are stored outside of the bank. Individual SoundBank memory usage is therefore kept to a minimum; however, if many Events occur at the same time, memory usage can spike.
  • With user-defined SoundBanks, you have granular control over memory. However, because the SoundBanks contains Events as well as associated media assets, and the entire SoundBank must be loaded even if only a single Event is required, memory usage can be inefficient without manual optimization. It is your responsibility to optimize your SoundBank memory, which can add a significant amount of time and effort to your project. The Wwise 251 Certification has several strategies and tips about memory management in projects with user-defined SoundBanks.

For more information about the differences between auto-defined and user-defined SoundBanks, refer to Managing SoundBanks.

In Wwise, you can use the Advanced Profiler to view Wwise memory usage in detail (refer to Advanced Profiler). However, the Profiler only displays memory usage related to the Wwise SoundEngine. For Unreal projects integrated with Wwise, you can monitor memory usage in the Unreal Editor.

Wwise Memory Stats

The Wwise Unreal Integration enables several options in Unreal Stats that monitor Wwise memory usage, including several items in the WwiseMemory category. You can view the stats as an overlay in the editor or through the Session Frontend. For more information about Unreal Stats, refer to Stat Commands in Unreal Engine.

The following Wwise memory statistics are available, which you can view in different places in Unreal:

  • SoundEngine Reserved: The memory pool requested by the SoundEngine.
  • ExtSrc: Memory required for external sources that are loaded, not streamed.
  • ExtSrc Prefetch: The memory required to stream external sources.
  • ExtSrc Device: Device-allocated memory for external sources on certain platforms. Not applicable on Windows.
  • Media: Memory required to load media assets.
  • Media Prefetch: Memory required to stream assets.
  • Media Device: Device-allocated memory for loaded or streamed media assets on certain platforms. Not applicable on Windows.
  • SoundBank Mapped: The memory required for mapped files, which are only relevant in the editor or on iOS.
  • SoundBank: Memory required for SoundBanks. For auto-defined SoundBanks, which do not contain media, memory consumption is only loaded briefly and then transferred to Wwise. However, some memory usage might appear here for user-defined SoundBanks that contain media.
  • SoundBank Device: Allocation for loading SoundBanks that contain media assets that require device-allocated memory on certain platforms. Not applicable on Windows.

Viewing Stats in the Viewport

Through the Unreal Stats, you can view Wwise memory usage information in the Unreal Editor's level viewport.

To view Wwise memory usage:

  1. Open the Unreal project in the Unreal Editor.

  2. In the viewport, open the menu in the upper left and select Stat > Wwise > WwiseMemory. The Unreal memory monitor opens in the viewport and displays Wwise memory usage statistics.

Viewing Stats in the Session Frontend

The Unreal Session Frontend includes a Profiler, in which you can view the Wwise memory Stats. For more information about the Session Frontend, refer to Using the Frontend Tool.

To view Stats in the Session Frontend:

  1. Open the Unreal project in the Unreal Editor.
  2. Open Tools > Session Frontend, and open the Profiler.

  3. Enable Data Capture and Data Preview. You can select any of the WwiseMemory Stats:


Wwise Unreal Integration Documentation: Generating SoundBanks

Generating SoundBanks

There are several ways to generate the Wwise SoundBanks: from Wwise Authoring, from the Unreal Editor, or through a commandlet. This section explains how to generate SoundBanks in Unreal.

To generate SoundBanks in Unreal:

  1. Do one of the following:

    • From the menu bar, click Build > Generate SoundBanks.
    • In the upper-right corner of the Wwise Browser, click Generate SoundBanks

    The Generate SoundBanks dialog opens.

    The dialog lists the platforms and languages that the Wwise project supports.

  2. Select the desired platforms and languages. If you do not select any platforms or languages, all items in the respective list will be generated.
  3. (Optional) To reduce soundbank generation time, select Skip generation of localized assets.
  4. Click Generate. The SoundBanks are generated.

SoundBank生成の詳細

WwiseConsoleを使ったSoundBank生成

WAAPIが無効になっている場合やWwise Authoringが閉じている場合、SoundBankはWwiseConsoleを使ってGeneratedSoundBanksフォルダに生成されます。

SoundBank Generation with WAAPI

When WAAPI is connected, the command to generate SoundBanks is sent directly to Wwise Authoring through WAAPI, but banks are still generated on disk in the GeneratedSoundBanks folder.

SoundBank Generation Watchers

When the Unreal Editor is open, a directory watcher monitors changes in the GeneratedSoundBanks folder. Changes to files in this folder trigger a countdown timer that appears in a temporary window in the lower-right corner of the screen. Any subsequent changes reset the timer.

When the timer expires, the JSON metadata in the GeneratedSoundBanks folder is parsed, which updates the integration's internal database of the Wwise project.

After the project is parsed, all currently loaded Wwise assets are reloaded to properly apply changes in project data.

Triggering Generated SoundBanks Parsing

If you do not manually generate SoundBanks, any operation that synchronizes the GeneratedSoundBanks folder contents causes the directory watcher to trigger the parsing process.

The following operations parse the project metadata from the GeneratedSoundBanks folder:

  • Opening the Unreal Editor.
  • Clicking Refresh in the Wwise Browser.
  • Clicking Refresh Project Database in the Build menu.
  • Changing the Generated SoundBanks Folder setting in the Unreal project's Wwise Integration Settings.
  • Changing the Generated SoundBanks Folder User Override in the Unreal project's Wwise User Settings.
  • Changing any of the files in the GeneratedSoundBanks folder.

Optional Asset Reloading

To avoid reloading in-memory assets every time you change the contents of the GeneratedSoundBanks folder, you can select an option in the Unreal Project Wwise User Settings to enable a prompt before assets are reloaded. When this setting is enabled, Wwise assets can only be reloaded with explicit user input except during the initialization of the Wwise Project Database when the Unreal editor is opened.

This is the prompt that appears in the bottom right corner of the screen:

After 10 seconds, if you do not click either option, the "Not Now" option is automatically selected.


Wwise Unreal Integration Documentation: Generating SoundBanks with the GenerateSoundBanks Commandlet

Generating SoundBanks with the GenerateSoundBanks Commandlet

The Wwise Unreal plug-in includes a Commandlet you can use to generate SoundBanks and submit them to source control from the command line.

コマンドレットの使用は以下のとおりです:

<UnrealEditor-cmd.exe> <path_to_uproject> -run=GenerateSoundBanks [-platforms=listOfPlatforms] [-languages=listOfLanguages] [-wwiseConsolePath=pathToWwiseConsole]

The Commandlet has the following parameters:

  • platforms: (Optional) Comma-separated list of platforms for which to generate SoundBanks, as specified in the Wwise project. If not specified, SoundBanks are generated for all platforms.
  • languages: (Optional) Comma-separated list of Languages for which to generate SoundBanks, as specified in the Wwise project. これを設定しないと、すべてのランゲージを生成します。
  • wwiseConsolePath: (Optional) Full path to the Wwise command-line tool, used to generate the SoundBanks. If not specified, the path from the Wwise settings is used.
  • help:（任意）このヘルプメッセージを印刷します。これでコマンドレットが即時に終了します。

使用例:

C:\UE_5.0\Engine\Binaries\Win64\UnrealEditor-Cmd.exe C:\MyProjects\Demo\WwiseDemoGame.uproject -run=GenerateSoundBanks -platforms=Windows,Mac
注記： If you have problems because the Development Editor is not built or available yet, you can skip the plugin activation by setting the environment variable SKIP_PLUGIN_ACTIVATION to true.


Wwise Unreal Integration Documentation: Overriding Generated SoundBanks Directories for Local Users

Overriding Generated SoundBanks Directories for Local Users

Some organizations generate and store their SoundBanks on dedicated servers under source control. This approach can be efficient with large projects or teams, in which different contributors work on different aspects of audio. If the SoundBanks are generated automatically on a schedule, for example with the SoundBank generation commandlet (Generating SoundBanks with the GenerateSoundBanks Commandlet), the changes are reconciled and the SoundBanks are available for other developers to use. However, some team members might need to generate SoundBanks locally to experiment or test changes in Unreal. In this case, you can override the project settings to generate and store SoundBanks in custom locations outside of source control.

Before you change anything, it is important to understand how Wwise stores the SoundBank path information, and also how Unreal accesses that information.

Wwise records SoundBank path locations in a ProjectInfo.json metadata file, which is created when you first generate SoundBanks for a project and is located at the Wwise project's Root Output Path. The default Root Output Path is in following directory:

[WwiseProjectName]\GeneratedSoundBanks

SoundBanks, by default, are generated in subdirectories of the same folder, divided by platform:

[WwiseProjectName]\GeneratedSoundBanks\[Platform]

The ProjectInfo.json file itself contains a list of paths to the generated SoundBanks for each platform. In the Unreal Project Settings, the Generated Sound Banks Path actually points to the Root Output Path, which contains the ProjectInfo.json file, and not the paths that contain the actual generated SoundBanks. This is an important thing to remember when you want to override paths, for the following reasons:

  • For the Wwise Unreal Integration to function correctly, the Unreal Generated Sound Banks Path must be the same as the Wwise Root Output Path.
  • If your Wwise SoundBank paths and the Root Output Path are both under source control, you have to override both.
  • If you use a user override for the Root Output Path, you must also set a user override in Unreal to match the Wwise override.

Essentially, Unreal requires access to the ProjectInfo.json file to determine where the SoundBanks are. It does not have any direct knowledge of the SoundBank folder paths.

To override the SoundBanks directory:

  1. In Wwise, click Layouts > SoundBank. The SoundBank Layout opens.
  2. In the upper right of the SoundBank Manager, click the gear icon > User SoundBank Settings. The User SoundBank Settings dialog opens.
  3. Select Override Project SoundBank Settings and Override Project SoundBank Paths. The various SoundBank settings are activated.
  4. Click the ellipses next to Root Output Path and in the file explorer, browse to the desired local directory and click Select Folder. Ensure that the location is not under source control.
  5. Click the ellipses next to a SoundBank Folder and in the file explorer, browse to the desired local directory and click Select Folder. Ensure that the location is not under source control. Repeat for each platform for which you want to generate SoundBanks locally.
  6. Click OK, then generate SoundBanks. The SoundBanks are created in the folders you specified, and the ProjectInfo.json file is created in the Root Output Path you specified.
  7. In Unreal, click Edit > Project Settings. The Project Settings dialog opens.
  8. Scroll to the Wwise section and click User Settings. The Wwise - User Setting page opens.
  9. Click the ellipses next to Root Output Path. In the file explorer, browse to the same Root Output Path directory you specified as a use override in Wwise.

    You can now modify the Wwise project and generate SoundBanks as required, without any effect on the shared project SoundBanks.


Wwise Unreal Integration Documentation: Refreshing the Project Database

Refreshing the Project Database

Click Build > Refresh Project Database to parse the Wwise Project in your GeneratedSoundBanks folder, and then reload the loaded Wwise assets in your project.

Refer to Triggering Generated SoundBanks Parsing for other ways to refresh your assets.


Wwise Unreal Integration Documentation: Using the Integration in the Unreal Editor

Using the Integration in the Unreal Editor

The Wwise Unreal Integration adds various options to the Unreal Editor. You can use the additional options to perform important tasks, which are described in the following sections:

  • Managing Wwise and Unreal Assets. When you update Assets in Wwise Authoring, corresponding Unreal Assets are automatically updated. If a WAAPI connection is enabled, any deletions or name changes through the Wwise Browser in Unreal are also applied to the Wwise project.
  • Managing Assets with the Wwise Browser. The Wwise Browser is a viewer that you can use to drag Wwise objects into Unreal, preview sounds, rename objects, and delete objects. Changes you make in Unreal also apply to the Wwise project.
  • Reconciling Wwise UAssets. Use the Wwise Browser or a Commandlet to update the UAssets of your project with your changes in the Wwise project.
  • Working with Reverb. Use the AkLateReverbComponent to assign aux busses and drive global reverb RTPCs.
  • Visualizing Radii. When you update AkAmbientSound assets in Wwise Authoring, you can see the radii change in Unreal.
  • Using the Editor Listener. Use the Editor Listener to preview positioned audio and 3D-spatialized sounds.
  • Testing with Multiple Play In Editor and Wwise Instances. Run multiple Play In Editor sessions with separate Wwise instances.


Wwise Unreal Integration Documentation: Managing Wwise and Unreal Assets

Managing Wwise and Unreal Assets

When Wwise and Unreal projects are integrated, all Wwise-specific Unreal assets have IDs, which reference corresponding objects in the Wwise project. You can create assets in the Content Browser, or use the Wwise Browser.

To enable a connection to the Wwise project through WAAPI, refer to Wwise Authoring API (WAAPI).

Synchronizing from Wwise to Unreal

When you generate SoundBanks in Wwise while the Unreal Editor is open, Unreal parses the content of the generated SoundBanks and updates the contents of the Wwise Browser. In addition, any assets that are currently loaded in Unreal are then reloaded, and include the changes made in the Wwise project.

As shown in the following image, the associated Unreal and Wwise Assets can have different names. The association between the two is determined by the GUID, ShortID, and Asset Name properties. Therefore, you can rename Unreal assets without affecting the Wwise objects they reference.


Wwise Unreal Integration Documentation: Managing Assets with the Wwise Browser

Managing Assets with the Wwise Browser

You can use the Wwise Browser to access objects from your Wwise project in Unreal. To access the Wwise Browser, click Window > Wwise Browser.

The Wwise Browser includes a variety of features, some of which require a connection to the Wwise Authoring API (WAAPI), and others that do not. For more information about WAAPI features, refer to Using Waapi Features.

The Wwise Browser's contents are refreshed automatically after you regenerate SoundBanks. To manually refresh the list, click the Refresh button.

You can use the Wwise Browser to:

  • Locate files on disk.
  • Importing Wwise Assets Import Wwise Assets
  • Using the Drag-and-Drop Feature Drag Assets into Unreal Blueprint nodes or object components and properties.

Using Waapi Features

Certain Wwise Browser features require the Wwise Authoring API (WAAPI). To enable these features, you must:

  • Enable the Wwise Authoring API. Refer to Wwise Authoring API (WAAPI) for instructions.
  • Open the Wwise project in Wwise Authoring.

The Wwise Browser is populated in real time with data from the Wwise Authoring tool. Any changes you make to object names or IDs in Wwise are reflected in the Wwise Browser.

After WAAPI is enabled, you can use the Wwise Browser to:

  • Preview sounds.
  • Toggle item selection sync between Wwise and Unreal.

Previewing Sounds

You can use the Wwise Browser to preview sounds from your Wwise project in the Unreal Editor before you generate SoundBanks.

To preview a sound in the Wwise Browser, do one of the following:

  • Select an Event or an Actor-Mixer and press the Space bar.
  • Right-click the Event or Actor-Mixer and then click Play/Stop.

To stop a sound, do one of the following:

  • Press Space bar.
  • Right-click any element and click Stop All.

Finding Work Units on Disk

You can use the Wwise Browser to open the folder in your file system that contains the Work Unit associated with an object.

To show the Work Unit location on disk:

  • Right-click the element in the Wwise Browser, then click Show in Folder.

Using the Drag-and-Drop Feature

You can drag Events, Auxiliary Busses, Acoustic Textures, States, Switches, Game Parameters (RTPCs), and Triggers from the Wwise Browser into the Unreal Content Browser to create corresponding UAkAudioEvent, UAkAuxBus, UAkAcousticTexture, UAkStateValue, UAkSwitchValue, UAkRtpc, UAkTrigger assets.

To drag Wwise Assets into Unreal:

  1. Open the Content Browser folder in which you want to create the asset.
  2. In the Wwise Browser, select the Wwise object you want to use.
  3. Drag the Wwise object into the Content Browser. A corresponding Unreal object is created.

In addition to individual items, you can drag any container (Work Unit, Folder, Switch/State Group) into the Content Browser to recreate the hierarchy as it exists in Wwise Authoring.

In addition, you can drag objects into:

  • Parameters to Blueprint nodes.
  • Object components or properties.
注記： If you drop an object anywhere other than the Content Browser, the asset is created in the folder specified by the Default Asset Creation Path.

Setting the Default Asset Creation Path

You can specify a default asset creation path. Assets that are automatically created from Wwise objects (for example, by dropping an object from the Wwise Browser onto a Blueprint) are created in this folder.

注記： We recommend that you retain the default /Game/ part of the asset creation path. If you remove it, assets are created under the Plugins folder, which might cause confusion.

To set the default asset creation path:

  1. In the Unreal menu bar, click Edit > Project Settings. The Project Settings dialog opens.
  2. On the Wwise - Integration Settings page, scroll to the Asset Creation section and type or paste the desired Default Asset Creation Path:

Importing Wwise Assets

You can import Wwise Assets into your Unreal project from the Wwise Browser.

To import a Wwise Asset:

  1. In the Wwise Browser, right-click the Asset you want to import and in the contextual menu, click Import Selected Assets. A file browser opens.
  2. Browse to the desired location and click Select Folder. The Asset is imported to the folder.

Wwise Browser Columns

The Wwise Browser is separated into four columns, which are described in the following sections.

Name Column

The Name column recreates the hierarchy of the project as it exists in the SoundBanks and displays the name of the Wwise Items. It prioritises the name found in the Generated SoundBanks over the name in Wwise if the names are different.

Wwise Project vs SoundBank Column

The Wwise Project vs SoundBank Column compares the Wwise Project to the Generated SoundBanks and provides information about the differences between the two. For this column to work properly, the Wwise Browser musbe connected to Waapi.

  • New in Wwise: The Wwise Project has the information but the SoundBanks do not. Generating the SoundBanks creates the item in the SoundBanks and changes this column to SoundBank Up to Date.
  • Deleted in Wwise: The SoundBanks have the item information but Wwise does not. Generating the SoundBanks removes the item from the Wwise Browser or, if a UAsset of the item exists, changes the column to Not in Wwise or SoundBank.
  • Renamed in Wwise: The Wwise Project and the SoundBanks have the same item but with different names. Generating the SoundBanks renames the item inside the SoundBanks to match the name in Wwise.
  • Not in Wwise or SoundBank: A UAsset uses an item that does not exist in Wwise or the SoundBanks. Avoid using this UAsset in your game.
  • Moved in Wwise: The item exists in both Wwise and the SoundBank, but in a different location in each. Generating the SoundBanks moves the item to the same location it is in Wwise and changes this column to SoundBank Up to Date. Items with this label are shown where they are according to the SoundBanks in the Wwise Browser.
  • SoundBank Up to Date: The name and ID of the item are the same in the Wwise Project and in the SoundBanks.

Unreal Assets Column

The Unreal Assets Column provides information about the Wwise assets inside the Unreal project. If the Wwise item does not have a matching UAsset, this column is empty. If only one UAsset exists for the item, the Column shows the name of the UAsset. If there are multiple UAssets for the item, then “Multiple UAssets” followed by the number of UAssets is displayed. To see all the items, right-click on the item and click Show in Content Browser.

SoundBank vs UAsset Column

The SoundBank vs UAsset Column compares the Generated SoundBanks to the assets in the Unreal project.

  • UAsset Missing: The item exists in the SoundBanks but there are no UAssets associated with it. This means that the item is not used in your game.
  • Not in SoundBank or Unreal: The item exists only in Wwise. Generating the SoundBanks changes this item to UAsset Missing.
  • UAsset Orphaned: This UAsset has no item associated with it. Using it in your game will throw warnings.
  • Renamed in SoundBank: The item exists and there is a single UAsset associated with it but the name of the item and the UAsset are different.
  • Multiple UAssets: The item exists and there are multiple UAssets associated with it.
  • UAsset Needs Update: There is one UAsset associated with the item but its information is not up to date with the SoundBanks.
  • UAsset Up to Date: There is one UAsset associated with the item and its information is up to date with the SoundBanks.

Orphaned UAssets Folder

If the Unreal project references Wwise assets that you then delete from your Wwise project, they are listed in the Orphaned UAssets folder, which appears at the end of the folder list:

It is not possible to remove these UAssets with the Wwise Browser's reconciliation function. Instead, you must delete them manually. For more information on reconciliation, refer to Reconciling Wwise UAssets.

Filtering

You can filter Wwise objects to reduce the number of objects displayed in the Browser. There are three categories of filtering: SoundBank Status, UAsset Status, and Types. The SoundBank Status filters on the “Wwise Project vs SoundBanks” column, The UAsset Status filters on the SoundBanks vs UAssets column and Types filters on the Wwise item type. When you select a filter, all Wwise objects that do not satisfy the condition are filtered out of the Wwise Browser.

For an item to remain in the Wwise Browser, it must satisfy the conditions of all three categories. 例：

In this case, the Wwise objects must be Events or Switches that are UAsset Orphaned or Not in SoundBank or UAsset and Renamed in Wwise or New in Wwise.

There is also a filter bar in which you can type Wwise object names to search for those objects.

Reconciling

It is possible to Reconcile UAssets with the Wwise Browser.


Wwise Unreal Integration Documentation: Reconciling Wwise UAssets

Reconciling Wwise UAssets

When you use Wwise assets in an integrated Unreal project, corresponding UAssets are created in Unreal based on the most recently generated Wwise SoundBanks. However, if you or another team member continues to work on the Wwise project, the original files might be renamed, deleted, or moved. If the SoundBanks are then regenerated, there might be discrepancies between the contents of the SoundBanks and the UAssets in Unreal.

If that happens, you can reconcile the SoundBanks and UAssets through the Wwise Browser or with a commandlet.

Reconciling UAssets can do four things:

  • Create: Creates a UAsset for an item in the generated SoundBanks. The Asset is created in the Default Asset Creation Path (refer to Setting the Default Asset Creation Path for more information) in the same directory structure as the one in the Generated SoundBanks. The directory structure details are contained in the ProjectInfo.json metadata file, which is located in the Root Output Path (refer to Integration Settings for details). The directory structure mimics the structure of the Wwise project directory. If the path is too long, the UAsset is not created and you must import it manually.
  • Update: Updates the information of the UAsset to match the information of the item in the GeneratedSoundBanks.
  • Rename: Renames the UAsset to match the name of the item in the SoundBanks.
  • Delete: Removes the UAsset because there is no item associated with it in the Generated SoundBanks. The item is not deleted if it is referenced in the Unreal project, but instead appears in the Orphaned UAssets folder in the Wwise Browser (refer to Orphaned UAssets Folder). You must delete this type of UAsset manually.

Using the Wwise Browser

The Wwise Browser contains several columns that display information about the state of assets in the Wwise Project, the generated SoundBanks, and in Unreal:

  • Wwise Project vs SoundBanks: If the Wwise project is open and WAAPI is connected, this column indicates any discrepancies between the items in Wwise and in the Generated SoundBanks.
  • Wwise UE Asset Status: Shows how many UAssets for this item exist.
  • SoundBanks vs UAssets: Indicates any discrepancies between the UAssets and the SoundBank contents. If you see that there are discrepancies that require reconciliation, you can reconcile assets directly through the Wwise Browser.
注記： Ensure that you generate SoundBanks before you reconcile assets. The Wwise Browser displays asset status based on the most recently generated SoundBanks, so if you have not generated SoundBanks in some time, the information might not be accurate.

To reconcile UAssets:

  1. In the Wwise Browser, select the assets you want to reconcile. You can select a folder to reconcile all of its contents.

  2. Do one of the following:

    • In the upper right, click Reconcile Selected.
    • Right-click, then click Reconcile Selected Assets.

    A window opens, and lists all of the assets that require reconciliation and the operations that will be performed. Assets that are already up to date do not appear.

  3. Click Reconcile Unreal Assets. The assets are reconciled.

Using WwiseReconcileCommandlet

The Wwise Unreal plug-in includes a Commandlet you can use to reconcile all UAssets. To make sure the Assets are properly reconciled, we recommend that you run the GenerateSoundBanks commandlet before the WwiseReconcileCommandlet.

Commandlet usage:

<UnrealEditor-cmd.exe> <path_to_uproject> -run=WwiseReconcileCommandlet -modes=listOfOperation

The Commandlet has the following parameters:

  • modes: Comma-separated list of operations performed on the asset. The operations can be any of the following:
    • create: Create Unreal assets from the Generated SoundBanks.
    • update: Update existing Unreal assets. This updates the asset name as well as its metadata.
      警告： It is not possible to rename assets on Unreal Engine 4.27 through the commandlet. Instead, use the Wwise Browser to reconcile assets with Unreal 4.27.
    • delete: Delete Unreal assets that no longer exist in the Generated SoundBanks.
    • all: Fully reconcile Unreal assets.

Example:

C:\UE_5.0\Engine\Binaries\Win64\UnrealEditor-Cmd.exe C:\MyProjects\Demo\WwiseDemoGame.uproject -run=WwiseReconcileCommandlet -modes=create,update


Wwise Unreal Integration Documentation: Working with Reverb

Working with Reverb

With the Wwise Unreal Integration, you can use the AkLateReverbComponent to assign Reverb Aux Busses automatically. You can also use it to drive global reverb RTPCs. The following sections provide details.

Automatically Assigning a Reverb Aux Bus

You can use AkLateReverbComponent to automatically assign a Reverb Aux Bus through the Reverb Assignment Table. For each Decay value, there is a corresponding Aux Bus asset. The Decay estimate for the AkLateReverbComponent is checked against the Decay values in the table. The assigned Aux Bus is the first Aux Bus in the table that has a Decay value greater than the Decay estimate for the AkLateReverbComponent. Therefore, a Decay estimate between Decay value X and Decay value Y in the table is assigned the Aux Bus that corresponds to Decay value Y. If the Decay estimate is greater than the maximum Decay value in the table, it is assigned the Default Reverb Aux Bus.

The Global Decay Absorption value is used when estimating the Decay value of environments without Acoustic Texture information. It is used in the Sabine equation estimating the T60 Decay. デフォルト値は0.5です。

Driving Global Reverb RTPCs

You can use AkLateReverbComponent to drive global reverb RTPCs with values calculated from the parent Primitive Component of the AkLateReverbComponent. These RTPC fields determine which RTPCs to set with the reverb parameter estimations from AkLateReverbComponent. RTPCアセットフィールドは、Nameフィールドよりも優先されます。If no asset is assigned, the string in the name field is used to set the RTPC. If the name field is also empty, no RTPC is set.

注記： For AkLateReverbComponent to use the global reverb RTPCs, the reverb component must have a sibling AkRoomComponent (in other words, an AkRoomComponent that shares the same Primitive parent component). The RTPC values are set on the Room IDs.


Wwise Unreal Integration Documentation: Visualizing Radii

Visualizing Radii

When you select an AkAmbientSound, the relevant asset radii are drawn. If you modify the assets in Wwise Authoring while a WAAPI connection is enabled, the radii are updated in real time.

To update an asset radius:

  1. In the Unreal Actor Browser, select an AkAmbientSound.
  2. In Wwise Authoring, change any object associated with the Event assigned to the AkAmbientSound.
  3. If WAAPI is not enabled, regenerate SoundBanks.
  4. Select the AkAmbientSound again. The size of the corresponding sphere in the Unreal Editor changes at the same time.

If WAAPI is not enabled, the Max Attenuation is obtained from the generated SoundBanks. In your Wwise Project Settings, under the SoundBanks tab, ensure that Generate Per Bank Metadata File, Generate JSON Metadata, and Max Attenuation are selected. The next time you generate SoundBanks in the Unreal Editor, the Max Attenuation information is added to all UAkAudioEvents, and the attenuation spheres are visible in your level viewport.


Wwise Unreal Integration Documentation: Using the Editor Listener

Using the Editor Listener

A single listener is activated in edit mode. You can use it to, for example, properly preview Level Sequences that contain positioned audio. リスナーのポジションは、フォーカス中のビューポートの、カメラポジションで決まります。Click between multiple viewports to "jump" from one position to another.

The listener is also used in the Animation Editor viewport, where you can accurately preview 3D-spatialized sounds while you work on animations.

Note that when you start a Play in Editor (PIE) session, the Editor listener is deactivated, and the traditional listener on the Camera is enabled. When you leave a PIE session to start a Simulate in Editor (SIE) session, both the Editor listener and the Camera listener are active at the same time. When you switch back to PIE mode, the Editor listener is disabled again.


Wwise Unreal Integration Documentation: Testing with Multiple Play In Editor and Wwise Instances

Testing with Multiple Play In Editor and Wwise Instances

If you are testing multiplayer audio in Unreal, you can run separate Play in Editor (PIE) sessions with a separate Wwise instance for each session. 1つの方法として、Unrealのマルチプレイヤーオプションを活用できます。If you disable Run Under One Process in the Play In Editor Multiplayer Options, each PIE instance uses an independent instance of Wwise. Be aware that this approach consumes more system resources and might affect performance.

You can profile the different sessions in Wwise (see Profiling). Each PIE session appears in the list of game systems to which the profiler can connect, as described in Connecting to a Local/Remote Game System. However, it is not possible to know in advance which session corresponds to a specific player.


Wwise Unreal Integration Documentation: Triggering Wwise Events in Animation Sequences

Triggering Wwise Events in Animation Sequences

You can use an Animation Notify to trigger Wwise Events in Animation Sequences.

An AkComponent must be attached to the animated mesh component. If you use the Animation Notify on a mesh component that does not have an attached AkComponent, an AkComponent is created with default values for all UPROPERTIES, and it is not possible to modify them. If you want to modify the notify's behaviour, we recommend that you create a copy in your project and modify the copy.

The Blueprint for the Animation Notify is located here: …/Plugins/Wwise/Content/AnimNotify_AkEvent.uasset

To add an Animation Notify:

  1. In the Unreal Content Browser, open an Animation Sequence asset.
  2. Right-click the Notifies track in the Animation Sequence Editor and click Add notify > AkEvent or AkEventByName.
    The animation notification has the following properties:
    • Event or Event Name: The UAkAudioEvent to post.
    • Attach Name: The name of the socket that emits the UAkAudioEvent. If not defined, the animation owner emits the AkAudioEvent.
    • Follow: Determines whether the Event follows the mesh or is posted at a specific location.

For more information on the Animation Sequence Editor in Unreal, refer to Animation Sequence Editor.


Wwise Unreal Integration Documentation: Localizing Audio Assets

Localizing Audio Assets

You can use Wwise Unreal Integration features to map Unreal Cultures to Wwise languages and ensure that your corresponding Unreal and Wwise projects support the same set of languages for asset localization. After the mapping is complete, you can change languages with certain Blueprint nodes or through the C++ AkAudioDevice API.

Mapping Unreal Cultures to Wwise Languages

For Unreal Cultures, you can use any ISO-639-1 language code and, optionally, an ISO 3166 country code (fr-CA, en-GB, and so on). For the Wwise Language, you can use any of the languages in your Wwise project. For more information on localization in Wwise, refer to Localizing Your Project.

To map an Unreal Culture to a Wwise language:

  1. From the Unreal menu bar, click Edit > Project Settings.
  2. In the Wwise section, click Integration Settings. The Localization section includes the mapping of Unreal Cultures to Wwise languages:
  3. Click Add Element (+). A new row is added to the list.
  4. In the text box on the left, type a valid Unreal Culture and in the text box on the right, type a corresponding Wwise language.

注記： The Wwise language must match the specified language in the Wwise project exactly (capitalization, spacing, and any special characters such as parentheses).

Changing Languages with Blueprints

After you map the Unreal Cultures to the Wwise languages, you can use Blueprint nodes to change audio languages and cultures in Unreal. Two Blueprint nodes are available:

  • Set Current Audio Culture
  • Set Current Audio Culture Async

Changing Languages with the API

You can change the audio language or culture directly from code in the C++ AkAudioDevice API FAkAudioDevice::Get()->SetCurrentAudioCulture(). You can pass either a Wwise language or an Unreal Culture to the C++ function or Blueprint node.

When SetCurrentAudioCulture() is called:

  1. The string passed to the function determines the Wwise language to set.
  2. The Integration calls FWwiseResourceLoader::SetLanguage with the EWwiseReloadLanguage::Immediate parameter.
  3. The Integration then calls IWwiseStreamMgrAPI::SetCurrentLanguage with the new language.

The asynchronous variant immediately calls IWwiseStreamMgrAPI::SetCurrentLanguage, and FWwiseResourceLoader::SetLanguage (which does the heavy lifting of reloading Wwise resources) is called in an asynchronous task. When FWwiseResourceLoader::SetLanguage is finished, the Completed Blueprint event is fired.

Advanced users might want to use different values of EWwiseReloadLanguage. If this is the case, we recommend that you avoid using the supplied Blueprints and the AkAudioDevice API and to call the FWwiseResourceLoader::SetLanguage and IWwiseStreamMgrAPI::SetCurrentLanguage functions directly.

The three possible states of EWwiseReloadLanguage are:

  • EWwiseReloadLanguage::Immediate
    • The CurrentLanguage variable in the FWwiseResourceLoader used when loading event resources is set to the new language.
    • The resources of all Soundbanks, ShareSets, Aux Busses, and Events that were loaded in the previous language are reloaded.
  • EWwiseReloadLanguage::Safe
    • Does the same things as Immediate, but also calls IWwiseSoundEngineAPI::StopAll() to stop all playing sounds before resources are reloaded.
  • EWwiseReloadLanguage::Manual
    • Only the CurrentLanguage variable in the FWwiseResourceLoader is changed to the new language.
    • The user is responsible for unloading and reloading the Wwise resources that require the language change.
注記： Due to limitations in the Wwise Sound Engine, we recommend that you change languages when no localized sounds are playing. If an event is playing, the Sound Engine does not unload the bank that contains it. A loaded bank cannot be replaced by a new bank with the same name, even if it is in a different language. The bank must be unloaded first.

Packaging Localized Assets

When localized Wwise assets are cooked, the resources (.bnk and .wem files) for each language are packaged with the assets. Refer to Cooking and Packaging on the 既知の問題 page.


Wwise Unreal Integration Documentation: External Sourcesの使用

External Sourcesの使用

目次

  • Using the Wwise Simple External Source Manager
  • Setting up External Sources in Wwise
  • Understanding External Sources
  • Understanding the Wwise External Source Manager
  • Implementing the Wwise External Source Manager
  • Wwise External Source Manager Blueprints
  • State Structures Used by the External Source Manager
    • FWwiseExternalSourceState
    • FWwiseExternalSourceFileState

External Sources are a type of source that developers can associate with a Wwise sound object to dynamically change the media associated with a source. External Sources provide sound data at runtime.

For this reason, developers will likely want to implement their own systems determining which media should be loaded and how (and when) this loading should occur. The External Source Manager was designed with this in mind, it provides a highly extensible base class which provides most of the boilerplate implementation for tracking the states of External Sources and their media, but requires extension to define the actual loading behavior.

Using the Wwise Simple External Source Manager

The integration includes a sample extension of the Wwise External Source Manager called the Wwise Simple External Source Manager. It supports basic External Source management and provides a reference for developers who want to implement their own manager. Refer to Using the Wwise Simple External Source Manager for more information.

Setting up External Sources in Wwise

The generation path for External Sources is set in Wwise Authoring, in the External Sources tab in the Project Settings dialog. Refer to Specifying the Input/Output Locations for External Sources for more information.

Understanding External Sources

An External Source is an empty container. The game has to fill it and inform the Sound Engine about what it contains.

An External Source uses a Cookie, similar to a ShortId, as an identifier. To obtain the Cookie, hash the name specified for the External Source plugin in the source's Contents Editor. Refer to Contents Editor: Wwise External Source for more information.

When an Event that uses External Sources is posted to the SoundEngine, an array of AkExternalSourceInfo structures that identify the media to use for each Cookie must be passed with it. This media can be in-memory or streamed, and the game must ensure that these resources are ready when the Event is posted.

For more information about External Sources, refer to the following topics:

  • Wwise External Source Overview
  • Contents Editor: Wwise External Source
  • AkExternalSourceInfo Struct Reference

For more details about External Source conversion, refer to Integrating External Sources.

Understanding the Wwise External Source Manager

External Sources have several notable characteristics:

  • Multiple Events can use the same External Source.
  • Multiple External Sources can use the same Media.
  • The media an External Source uses is not defined in a SoundBank and can be changed at any time by game logic.

Given the complex relationship between Events, External Sources, and Media, the Wwise External Source Manager has several responsibilities:

  • Tracking the state of External Sources used by loaded Events.
  • Providing AkExternalSourceInfo structures for calls to PostEvent.
  • Tracking the state of loaded media used by External Sources.
  • Tracking the mapping between loaded External Sources and media.
  • Triggering the loading and unloading of media used by External Sources.
  • Packaging the media files used by External Sources in the game.

Implementing the Wwise External Source Manager

To implement a custom Wwise External Source Manager, you must first create a new Unreal module. At a minimum, the module must contain two classes:

  • A class that inherits FWwiseExternalSourceManager, which handles the responsibilities listed in the previous section.
    • FWwiseExternalSourceManager contains the pure virtual interface required to define External Sources. For special cases, a project can define this as its inheritance point and fully control the External Source pipeline.
    • FWwiseExternalSourceManagerImpl has all the functions necessary for the runtime to load and unload the media used by External Sources. It has a map of External Source cookies to media IDs, handles the I/O operations, and keeps track of the media lifetime. Inheriting this class simplifies the implementation of custom tracking operations and packaging. The FWwiseExternalSourceManagerImpl class handles complex I/O details itself.
    • You can also use FWwiseSimpleExtSrcModule as a parent class because it is extendable.
  • A class that implements FWwiseFileHandlerModule, which overrides InstantiateExternalSourceManager in order to return an instance of the first class.

Afterwards, to enable the module you can set the WwiseFileHandlerModuleName to the name of the new module in the [Audio] section of the DefaultEngine.ini file. Refer to Enabling the Simple External Source Manager for more information.

The Wwise External Source Manager is an interface in the WwiseFileHandler module. When Wwise Event assets that use External Sources are loaded, the WwiseResourceLoader module passes the External Source information in the Event's CookedData (refer to Wwise Unreal Assets) to the WwiseFileHandler, which then delegates resource loading to the Wwise External Source Manager Implementation. What happens next depends on the implementation.

In the default implementation, the External Source Manager creates a FWwiseExternalSourceState structure that tracks the External Source. Depending on the implementation and the information available at the time, the media is either loaded or prepared for streaming. Similarly, when an Event asset is unloaded, the External Source Manager is notified and updates the state of the External Source accordingly. This behavior, which fulfills the External Source Manager's first responsibility (tracking the state of External Sources), is implemented in the following functions:

  • PrepareExternalSourceInfos: Public method that selects and retrieves the media list to play depending on the requested External Source, and prepares the AkExternalSourceInfo necessary to play the External Sources.
  • LoadExternalSource: Public method that prepares a call to LoadExternalSourceImpl in the manager's execution queue.
  • UnloadExternalSource: Public method that prepares a call to UnloadExternalSourceImpl in the manager's execution queue.
  • LoadExternalSourceImpl: (Virtual) Handles the creation of, or updates to, tracked External Source States. It then calls LoadExternalSourceMedia.
  • UnloadExternalSourceImpl: (Virtual) Handles the removal of, or updates to, tracked External Source States. If the External Source State is to be removed, UnloadExternalSourceMedia is called.

The second responsibility (filling AkExternalSourceInfo structures) is handled by PrepareExternalSourceInfos, which returns the PostEvent External Source parameter. It retrieves the data in the CookieToMedia, uses that information to define the different file states, and provides the AkExternalSourceInfo structure necessary to post the event. You can override it if you want to use a more complex selection algorithm.

In the Wwise Simple External Source Manager extension, a fixed MediaInfo DataTable identifies all External Source media in the project as well as their relevant metadata. A more advanced system could dynamically update the list of known media. Because there are many different ways to implement such a system, all operations are virtualized. You can create code with random containers that change every single PostEvent, or structures that change based on external states, such as a language change.

In order to perform the next set of responsibilities (tracking the state of loaded media, tracking their mapping to External Sources, and loading them from disk), the FWwiseExternalSourceManagerImpl class tracks known External Source media and the information necessary to load them. This state tracking is done internally through the ExternalSourceStatesById map.

After you implement the system and structures mentioned above, we recommend that you implement the following virtual functions:

  • LoadExternalSourceMedia: Find the media that an External Source uses and load it (or prepare it for streaming). We recommend that you use the methods inherited from FWwiseFileHandlerBase to track media loading states and FWwiseExternalSourceFileState structures to manage media resources.
  • UnloadExternalSourceMedia: Find the media that an External Source uses and unload its resources.
  • SetExternalSourceMediaById: Set the media ID of an External Source identified by its name.
  • SetExternalSourceMediaByName: Set the media name of an External Source identified by its name.
  • SetExternalSourceMediaWithIds: Set the media ID of an External Source identified by its Cookie.

The SetExternalSourceMedia functions assume that each External Source media has a unique ID and, in the case of SetExternalSourceMediaByName, that it is possible to retrieve a media ID from its name. We recommend that you use Simple Wwise External Source Manager as a reference for these functions, because it is likely that your implementation will only differ in how you store, update, and retrieve your External Source to media mapping. Remember that dynamic changes to the mapping between External Sources and media files can lead to resources being loaded and unloaded.

The current implementation treates these as blocking functions, which potentially run through the Game Thread. However, this is not a requirement.

警告： Forcibly unloading External Source media while it is playing causes the SoundEngine to crash. The FWwiseExternalSourceFileState can handle this automatically through the BindPlayingIdToExternalSources and OnEndOfEvent methods to increment and decrement their play count.

After you finish the implementation of the various functions discussed so far, the most complex part of the External Source manager is complete. If everything works properly, loading an Event Asset (or however your system implements External Source preparation) loads the media used by its External Sources in memory or prepares it for streaming.

Finally, you must package the External Source media. A simple method consists of generating External Source media inside your Unreal project in a directory that is set to always cook. To implement more complex packaging logic, override the External Source Manager's Cook method, which is called by the Wwise Resource Cooker for each External Source contained in cooked Wwise Assets.

The following overridable functions are also available:

  • BindPlayingIdToExternalSources: Override this to update your manager's internal state when Events that use External Sources are posted.
  • OnEndOfEvent: Override this to update your manager's internal state when Events that use External Sources stop playing.
  • SetGranularity: Set the granularity (minimum number of bytes to read) of the prefetch chunk of streaming media.

Wwise External Source Manager Blueprints

By default, three Blueprint functions are exposed in WwiseExternalSourceStatics :

  • SetExternalSourceMediaById
  • SetExternalSourceMediaByName
  • SetExternalSourceMediaWithIds

These functions call the corresponding functions defined in the External Source Manager extension. Refer to External Source Manager Blueprint Functions for more information.

State Structures Used by the External Source Manager

FWwiseExternalSourceState

Structure used by default in WwiseExternalSourceManagerImpl to reference count loaded External Sources.

FWwiseExternalSourceFileState

State structure used by the Wwise Simple External Source Manager to handle media resources. The state tracks its reference count as well as whether it is currently being played. Unloading External Source media while it is playing causes the SoundEngine to crash. Two subclasses are available to handle in-memory or streaming media:

  • FWwiseInMemoryExternalSourceFileState
    • Media Data is loaded into memory so it can be used to create an AkExternalSourceInfo struct to pass to the SoundEngine.
  • FWwiseStreamedExternalSourceFileState
    • The FileState registers itself with the FWwiseFileHandlerBase base class of the External Source Manager. When requests to stream media are passed to the External Source Manager, the registered FileState is retrieved and it handles the subsequent I/O requests.


Wwise Unreal Integration Documentation: Using the Wwise Simple External Source Manager

Using the Wwise Simple External Source Manager

目次

  • Enabling the Simple External Source Manager
  • Settings
    • Media Info Table
    • External Source Default Media
  • How the Simple External Source Manager Works
  • Updating the Data Tables
  • External Source Manager Blueprint Functions
  • External Source Manager API
  • Limitations of the Simple External Source Manager

When you work with External Sources, it is important to remember that External Sources and their media are decoupled by default. The designer (or developer) must explicitly establish the mapping between an External Source Cookie, which is essentially a ShortID, and the media to play. External Source media can be generated alongside SoundBanks and streaming media, but the designer must also track the media files and their metadata.

The Simple External Source Manager provides features you can use to track External Source media and map them to External Sources. This is done through the use of Data Tables (.csv files) that describe the External Source media to use in the game as well as an API and Blueprint functions to assign media to External Sources.

注記： Example usage of this SubModule is available in the WwiseDemoGame.

Enabling the Simple External Source Manager

By default, the Simple External Source Manager module is disabled. To enable it, add the following lines to the DefaultEngine.ini file in your Unreal project:

[Audio]
WwiseFileHandlerModuleName=WwiseSimpleExternalSource

This code overrides the WwiseFileHandlerModule with a module that uses the Wwise Simple External Source Manager submodule to handle loading External Sources.

Settings

There are two Data Tables and a Directory to set in the Wwise Simple External Source Manager Settings:

  • Media Info Table contains the metadata necessary to load media files.
  • External Source Default Media (optional) defines an initial mapping between External Sources and media in the Media Info Table. You can update or add to this mapping with the API or Blueprint functions described later in this document.
  • External Source Staging Directory specifies where to copy the External Source media files relative to the "Game" folder in the packaged game.

Media Info Table

Entries in the media info table have the following properties:

  • Name: Must match the ExternalSourceMediaInfoId. Used for lookup in the table.
  • ExternalSourceMediaInfoId: Unique ID used to track media in the manager.
  • MediaName: File name (with extension) used to find the file on disk. Also used by the manager to look up media IDs when setting media by name.
  • CodecID: ID of the codec used to decode the media data. Refer to the AkCodecId enum in AkGameplayTypes.h.
  • bIsStreamed: Determines whether to load the media as streaming or in-memory.
  • bUseDeviceMemory: Determines whether to use device-specific memory. Only applies to in-memory media.
  • MemoryAlignment: Memory alignment to use. Only applies to in-memory media.
  • PrefetchSize: Amount of data to prefetch (in bytes). Only applies to streaming media.

External Source Default Media

Entries in the default media table have the following properties:

  • Name: Must match the ExternalSourceCookie. Used for lookup in the table.
  • ExternalSourceCookie: Unique ID of the External Source, found in Wwise Authoring or in SoundBank metadata.
  • ExternalSourceName: Used for logging.
  • MediaInfoId: Must match an ExternalSourceMediaInfoId in the Media Info Table.
  • MediaName: Used for logging.

How the Simple External Source Manager Works

When the Simple External Source Manager is instantiated, it reads the Media Info Table to populate its list of media metadata. At the same time, a map of media names to media IDs is populated for use with the External Source Manager Blueprint Functions.

Next, the External Source Default Media is read, and External Source Cookie / media ID pairs are added to a map. This optional Data Table sets "default" media for External Sources to use in the game. This system reduces the number of Blueprint and function calls to the SetExternalSourceMedia methods: if the default media are already defined, it is only necessary to use these methods for External Sources that dynamically change their media.

When the External Source Manager loads an External Source (usually triggered by an AkAudioEvent being loaded), a state structure that tracks the number of assets that reference the External Source is created and this map is checked. If a media pairing exists in the map, a state structure for the media is created or updated if it already exist. Depending on the information read from the Media Info Table, the media is either loaded into memory from disk or, if it is streamed, the created state is registered to handle incoming streaming requests from the SoundEngine.

If an External Source Cookie / media ID pair is set during gameplay (for example, by the External Source Manager Blueprint Functions), and if the External Source is already loaded, the media is loaded immediately. If the Exteral Source was already mapped to a different media, the reference count of that media is decremented. If the reference count is 0, it is unloaded after it stops playing.

All PostEvent calls that pass through the AkAudioDevice, including PostEvent calls from the Integration's Blueprint functions, call the External Source Manager's PrepareExternalSourceInfos method. This method selects the media to post on the passed External Source cookies. After the operation succeeds (or fails), the BindPlayingIdToExternalSources method is called to bind all the selected media onto the posted event's Playing ID. Similarly, when Events finish playing, the OnEndOfEvent method is called, which informs the External Source Manager that the media are no longer used by that Playing ID.

Finally, the Cook method supports the packaging of External Source media. When any Event that uses External Sources is packaged, the Cook method is called for each External Source. When this method is called, the Simple External Source Manager stages every media file in its Media Info Table for packaging. Because this only needs to happen once, a flag is set and subsequent calls to Cook do nothing.

注記： If you post events with External Sources directly through the WwiseSoundEngine API, ensure that you implement the External Source Manager's PrepareExternalSourceInfos, BindPlayingIdToExternalSources, and OnEndOfEvent at the appropriate times. Otherwise, if you switch the media an External Source uses while it is playing, the previous media might be unloaded prematurely, which could cause the SoundEngine to crash. At a lower level, you can also override the I/O Hook and handle the file management yourself.

Updating the Data Tables

When the Data Tables on disk are modified and the Unreal Editor is open, their contents are re-parsed. Afterwards, all loaded Wwise Events Assets are unloaded, then reloaded. This brute force approach is the simplest way to ensure that the External Source Manager's state is properly updated.

External Source Manager Blueprint Functions

To update the mapping between External Sources and media, the module provides Blueprint functions to set external source media.

There are three Blueprint functions that take names or IDs, depending on your preference:

  • SetExternalSourceMediaById: Use the External Source name to specify the External Source and the MediaID to specify the media.
  • SetExternalSourceMediaByName: Use the External Source name to specify the External Source and the MediaName in the Media Info Table to specify the media.
  • SetExternalSourceMediaWithIds: Use the External Source Cookie to specify the External Source and the MediaID to specify the media.

When you set an External Source media with strings, the Cookie is determined by a hash of the name string (as in Wwise Authoring). The MediaID is retrieved by looking up the the media name in a map that is populated when the Media Info Table is parsed.

注記： Blueprints can only use signed short integers. To circumvent this restriction, we use a FAkUniqueID variable to set the External Source cookie value.

External Source Manager API

Developers can set External Sources through code in two ways: they can call the Blueprint functions described in the previous section, or they can retrieve the External Source Manager instance and call its methods directly. Most methods in the Wwise Simple External Source Manager are virtual, so developers can extend this manager in a new module to use their own data structures and logic to track media and pair with External Sources.

Limitations of the Simple External Source Manager

The main limitation of the Simple External Source Manager design is the inflexibility of the Media Info Table with respect to multi-platform games. Different platforms use different codecs to decode media, but the structure of the Media Info Table does not support this. One potential solution in an extension of the manager is to create platform-specific Media Info Tables and package the correct one depending on the build target.

When streaming, External Sources have more limitations than internally packaged media. Zero Latency is not possible with External Sources, and the prefetched data is only provided to the SoundEngine when it is requested for playback. There is a playback delay between the initial PostEvent and the actual sample processing, as would occur with any media that do not have Zero Latency.


Wwise Unreal Integration Documentation: Optimizing Memory Usage with Reference-Loaded Switch Containers

Optimizing Memory Usage with Reference-Loaded Switch Containers
注記： Before version 2022.1 of the Wwise Unreal Integration, this feature was called the "Split Switch Container Media".

By default, when Wwise Event assets are loaded, all resources they might use (SoundBanks and media) are loaded with them. In deep, nested switch container hierarchies, a large number of media resources can be loaded, and the amount of memory required to load these resources increases accordingly. You can use reference-loaded switch containers on a per-event basis to optimize memory usage: when enabled, resources are only loaded if they are referenced, based on Switch or State values.

If the media in your Switch Container is streamed, which is common for large music files, this feature improves performance because the files are only opened for streaming when necessary. Memory usage is also reduced if the media has a prefetch chunk.

This feature is only available for certain Events that use Switch Containers. It provides the most benefits for Events used in several different contexts, and that only use a subset of the container's Switch values in each context.

例：

  • A main character's footstep Event can contain a deep hierarchy depending on multiple Switches such as footwear, ground material, and weather conditions. However, most maps only contain a subset of materials or weather conditions. Similarly, the character typically only wears one type of footwear at a time, so loading sounds for all other footwear types are unnecessary.
  • Different branches of a dynamic music system based on Switch Containers could depend on Switches or States that are only used in specific maps.

The following image shows a Footstep Event dependency tree:

If the active level references the Human_Surface_Material Switch and only references the Material_Dirt Switch Value (through a SetSwitch node in the Level Blueprint, for example), only the FS_Dirt_[01-04] media files are loaded into memory. When a sublevel that references Material_Grass is loaded, grass_[01-04] media files are automatically loaded with the Switch.

警告： When this option is enabled, Switch or State values are loaded in memory to determine which media to load. Be cautious in the following cases:

  • Setting State or Switch Values with strings. You must ensure that the corresponding Switch or State value asset is loaded, for example by using the Load Asset Blueprint Node.
  • Setting State or Switch Values from C++. You must ensure that the corresponding Switch or State Value asset is loaded, for example by using Unreal Engine Asynchronous Asset Loading.
  • Using RTPC-Controlled Switch Containers. This type of container causes inconsistencies when loading media. Avoid using this option if you are using RTPC-Controlled Switch Containers.

In addition, be careful when loading and setting Switches or States in submaps or menus. When those levels are unloaded, the Switch or State Value assets will probably be unloaded as well if they are not referenced in the persistent level, which causes their associated media to be unloaded. This can produce unexpected behavior if the Switch or State Value is still set on GameObjects in the scene.

Enabling Reference-Loaded Switch Container Media

Each UAkAudioEvent contains a FWwiseEventInfo structure, which identifies the Wwise Event it represents. The WwiseEventInfo structure also contains the SwitchContainerLoading field, which can enable reference-loaded Switch Container media.

.

When set to AlwaysLoad, the default mode for all Events, all media resources are loaded with the Event. When set to LoadOnReference, only the referenced media resources are loaded with the Event.

Technical Details

When this option is activated and a Wwise Event asset is cooked by the WwiseResourceCooker, its cooked data contains a set of SwitchContainerLeaves. These leaves are a flattened map of different sets of Switch (or State) Values to media and SoundBanks to load. As seen in the previous example, the FS_Dirt_[01-04] media are only needed if the Human_Surface_Material and Material_Dirt Switches Values are loaded as well. This is represented by a SwitchContainerLeaf with a "key" formed by the pair of Human_Surface_Material and Material_Dirt switches and a payload of FS_Dirt_[01-04] media to load. When a Wwise Event is loaded by the WwiseResourceLoader, its set of SwitchContainerLeaves is added to a list of leaves that the WwiseResourceLoader tracks for each known Switch and State Value. When Switch and State Values are loaded (or unloaded) by the WwiseResourceLoader, it checks its list of known SwitchContainerLeaves associated with that value to see if any media need to be loaded (or unloaded).

注記： Media dependencies are evaluated only when Event, Switch, and State assets are loaded by the WwiseResourceLoader. Setting and unsetting Switches or States in the Sound Engine does not cause media to be loaded or unloaded.

When a Default Value is set on a Switch Container, the resources that only depend on Default Values are always loaded. The same behavior applies to the Generic Path that can be set in Music Hierarchy Switch Containers. In these cases, resources such as SoundBanks and Media are not put in SwitchContainerLeaves. Instead, they are always loaded with with Events that use those Switch Containers.

This system is easiest to work with when you use Blueprints and Wwise assets to post Events and set Switch and State Values. In this case, the assets are loaded in memory with the level so the WwiseResourceLoader does not miss any information. To optimize memory usage even more, you can also disable the AutoLoad property exposed by UAkAudioType, available in all Wwise assets. When this option is disabled, each asset's LoadData and UnloadData methods (available in Blueprints) must be called for the WwiseResourceLoader to load and unload them.

Finally, it is the game designer's responsibility to ensure that the WwiseResourceLoader has already loaded the necessary resources when attempting to post Events or set Switches and States in the Sound Engine by using strings. This likely requires the relevant Event, Switch Value, and State Value assets to be manually loaded (or referenced in maps or Blueprints). However, it is possible to build Switch or State Value CookedData programmatically, and then load and unload them in the WwiseResourceLoader instead of assets.


Wwise Unreal Integration Documentation: Using the Level Sequencer

Using the Level Sequencer

The Unreal Engine's Sequence Editor is a cinematic editing tool. You can use it to add Tracks that modify certain Actor properties in a level.

Refer to the following topics for background information on the Sequencer:

  • For instructions on how to create a Level Sequence, refer to Sequencer Overview.
  • For instructions on how to add Tracks to a Level Sequence, refer to the Adding Tracks section on the Tracks page.

Setting up Your Wwise Project

To ensure that Event lengths are properly represented in the AkAudioEvent Tracks, you must configure the Wwise project to estimate the duration of its audio Events and generate JSON metadata.

To set up your Wwise project:

  1. Open the project in Wwise Authoring.
  2. From the menu bar, click Project > Project Settings. The Project Settings dialog opens.
  3. On the SoundBanks tab, enable the following options:
    • Estimated Duration
    • Generate JSON Metadata
AkAudioEventトラックに必要なプロジェクト設定

Using Wwise Level Sequencer Tracks

The Wwise Integration adds two Tracks to the Sequencer:

  • AkAudioRTPC, which sets Game Parameter values.
  • AkAudioEvent, which posts Wwise Events.

You can add both of these Tracks as Master Tracks or associate them with Actors. When associated with Actors, they perform Wwise-related functions on the UAkComponent attached to the Actor. When created as Master Tracks, the AkAudioRTPC Track sets global RTPC values, and the AkAudioEvent Track posts Events on a dummy game object.

For AkAudioRTPC Tracks, you can modify Game Parameter curves with the built-in curve editor. To add key frames, place the cursor in the desired location and click Add New Key on the right side of the listed Track.

Curve Editor view のAkAudioRTPCトラック

For AkAudioEvent Tracks, you can add AkAudioEvent sections. To do so, place the cursor at the desired location and click AkAudioEvent on the right side of the listed Track. Alternatively, you can drag AkAudioEvent assets from the Content Browser directly onto an AkAudioEvent Track.

AkAudioEventセクションをAkAudioEventトラックに追加する

Displaying Waveforms for Wwise Events

Unrealインテグレーションでは、Wwise Authoring API (WAAPI) を使ってSequencer機能を拡張しています。For more information about WAAPI and its use in the Unreal integration, refer to Wwise Authoring API (WAAPI). When Unreal is connected to the Wwise Authoring tool through WAAPI, AkAudioEvent sections can display waveforms for Wwise events. When Wwise Authoring is not open, or the Unreal integration is not connected to WAAPI, the AkAudioEvent sections only display the Event name.

Viewing AkAudioEvent Section Waveforms

AkAudioEvent セクションに、オーディオソースを含むイベントのオーディオ波形が表示されます。The waveform in an AkAudioEvent section shows the audio data for the longest Audio Source contained in the Wwise Event. In the following example, a Wwise Event called "Play_Sound" contains three Audio Sources: "Layer_1", "Layer_2", and "Layer_3".

3つのオーディオソースがあるWwiseイベントの例

If an AkAudioEvent section is added and its Event property is set to "Play_Sound", then the longest of the three Audio Sources is displayed within the section. Note that the waveform might be followed by empty space if the Wwise Event lasts longer than the longest Audio Source that it contains. In this example, because the "Play_Sound" Event has two delayed play actions (for "Layer_2" and "Layer_3"), it lasts longer than the "Layer_1" audio source that it contains. The empty space after the waveform indicates the maximum estimated duration of the Wwise event, as calculated during SoundBank generation (see Setting up Your Wwise Project).

Sequencer内のAkAudioEventセクションの例

If the length of the AkAudioEvent section exceeds the maximum estimated duration of the Wwise Event, the section contains either a flat white line or repeating diagonal lines. 白い横線は、 Retrigger プロパティが無効だということを示します。連続する斜線は、 Retrigger プロパティが有効だということを示します。The Retrigger property determines whether Wwise events are retriggered in the Sequencer after they finish (refer to AkAudioEventセクションのプロパティ).

Sequencerの、2つの AkAudioEvent セクション 。Retrigger is enabled in the 'Retrigger' section and disabled in the 'No_Retrigger' section.

Fixing "Out of Sync" Waveforms

If you change an Event's work unit in the Wwise project and those changes are not reflected in the generated SoundBanks, any AkAudioEvent sections for that event are marked as "out of sync". The waveform is displayed in red, and an asterisk is appended to the name of the AkAudioEvent section. Warnings are also printed to the output log when Events are triggered from "out of sync" sections.

'Out of Sync' のAkAudioEventセクションの例

To ensure that AkAudioEvent sections remain synchronized with the Wwise project, there are options to save the project and regenerate SoundBanks directly from the Sequencer. To synchronise all of the sections in an AkAudioEvent track, open the track's context menu (right click) and click Save Wwise project and refresh all sections (see AkAudioEventトラックのコンテキストメニューのオプション).

Scrubbing Tracks

The Sequencer integration supports scrubbing forwards and backwards over AkAudioEvent tracks. Drag the Sequencer playhead over AkAudioEvent sections to hear scrub snippets. To change the length of these scrub snippets, right-click the AkAudioEvent section and in the context menu, click Scrub Tail Length Ms. Refer to AkAudioEventセクションのプロパティ for more details.

AkAudioEventトラックのコンテキストメニューのオプション

From the AkAudioEvent track, right-click to open a context menu that includes the following Audiokinetic-specific option:

  • Save Wwise project and refresh all sections: Saves the Wwise project in Wwise Authoring and regenerates SoundBanks for all AkAudioEvent sections in the Sequencer track. The section waveforms are then updated.

AkAudioEventセクションのコンテキストメニューのオプション

From the AkAudioEvent section on the track, right-click to open a context menu that includes the following Audiokinetic-specific option:

  • Match section length to Wwise event length: Matches the length of the section in the Sequencer track to the duration of the Wwise Event.

AkAudioEventセクションのプロパティ

The property list in the context menu includes the following Wwise-specific section properties:

  • Ak Audio Event: 選択中のセクションの、そのAkAudioEventの、編集可能な以下のプロパティが一覧表示されます:
    • Event: Event icon. Hover over the Audiokinetic Event icon to view the path to the Event. アイコンをダブルクリックすると、イベントがEditorで開きます。
    • Event: Audiokinetic Event. Open this list to create a new Audiokinetic Event, edit or copy the selected Event, or browse to another Audiokinetic Event.
    • Retrigger Event: When enabled, the Wwise event in the Section is retriggered when the Sequence plays beyond the end of the event. Disabled by default.
    • Scrub Tail Length Ms: Sets the duration in milliseconds of the scrub snippets that are played when scrubbing over the sequence. Default is 100ms.
    • Max Source Duration: Wwiseイベントに含まれる最長オーディオソースの長さを表示します（読み取り専用）。
    • Advanced:
      • Event Name: Type the exact name of the desired Event. 既にAudiokinetic Eventリストでイベントを選択中の場合は、このフィールドが無視されます。
  • Movie Scene Ak Audio Event Section:
    • Stop at Section End: Clear this box to keep the Event playing when the end of the section is reached. デフォルトで有効になっています。

Known Issues and Limitations

In general, we recommend that you use very simple AkAudioEvent sections in the Level Sequencer, such as a simple Play action on a Sound SFX. Avoid more complex Wwise Events such as those that contain delayed actions, Seek actions, or which reference Random Containers, Sequence Containers, and other non-deterministic objects. If you do use such Events, divide them into simpler events for optimal use in the Level Sequencer.

Scrubbing and playing from cursor does not work as expected on Events with delayed actions or that contain infinitely looping sounds.

Play In Editorの限界

If a level sequence is played from the Sequencer editor window while Unreal is running in Play in Editor (PIE) mode, any AkAudioEvent tracks that are associated with game objects do not trigger events. To hear AkAudioEvent tracks that are bound to game objects, you must trigger the level sequence from the Game World.

レプリケーションの制限

AkAudioEvent や AkAudioRTPC のトラックはサーバ上だけでトリガーされ、クライアントに複製されません。


Wwise Unreal Integration Documentation: Providing Audio Input to Wwise

Providing Audio Input to Wwise

The Unreal integration provides audio input to Wwise through the Wwise Audio Input Source Plug-in. In order to provide audio input to Wwise, classes must inherit from AkAudioInputComponent.

AkAudioInputComponent

AkAudioInputComponent は、 AkComponent から派生しています。It is a specialized AkComponent that you can use to provide audio input to Wwise. To do so, you must implement two key functions:

/* オーディオコールバック。Wwiseサウンドエンジンがこれを継続的にコールし、
* サウンドエンジンにオーディオサンプルを提供するために使います。*/
virtual bool FillSamplesBuffer(uint32 NumChannels, uint32 NumSamples, float** BufferToFill);
/* このコールバックは、Wwiseサウンドエンジンに、必要なオーディオフォーマットを提供するために使います。*/
virtual void GetChannelConfig(AkAudioFormat& AudioFormat);

AkAudioInputComponent also has one Blueprint function, Post Associated Audio Input Event, which posts the component's AkAudioEvent to Wwise along with the associated AudioSamples callback and AudioFormat callback, using this component as the game object source.

Customizing Audio Input Behavior

You can write custom classes that derive from AkAudioInputComponent in order to implement custom audio input behavior. The following UAkVoiceInputComponent.h and UAkVoiceInputComponent.cpp examples show a class that takes microphone input and pipes it to the Wwise Sound Engine.

Before you can use these files in a C++ Unreal project, you must perform some initial setup. First, add the AkAudio and the Unreal Voice modules to the PublicDependencyModuleNames in the project's Build.cs file. 例：

public class MyModule : ModuleRules
{
public MyModule(ReadOnlyTargetRules Target) : base(Target)
{
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "AkAudio", "Voice" });
// その他の設定
}
}

Next, add the following lines to the DefaultEngine.ini file:

[Voice]
bEnabled=true

After these setup steps are complete, add the desired custom behavior. In the following example, a class takes microphone input and sends it to Wwise.

注記： The sample code in this section is not intended for use in shipped games. It is only a short example of how to implement custom behavior.

Here is an example of a customized AkVoiceInputComponent.h file:

#pragma once
#include "CoreMinimal.h"
#include "AkAudioInputComponent.h"
#include "Voice.h"
#include "AkVoiceInputComponent.generated.h"
/*
*/
UCLASS(ClassGroup = Audiokinetic, BlueprintType, hidecategories = (Transform, Rendering, Mobility, LOD, Component, Activation), meta = (BlueprintSpawnableComponent))
class WWISEDEMOGAME_API UAkVoiceInputComponent : public UAkAudioInputComponent
{
GENERATED_BODY()
UAkVoiceInputComponent(const class FObjectInitializer& ObjectInitializer);
virtual void TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override;
protected:
/* これをコールするのは、このコンポーネントのオーナーであるGameObjectが、Wwiseサウンドエンジンから登録解除されたあとです。*/
virtual void PostUnregisterGameObject() override;
/* オーディオコールバック。これはWwiseサウンドエンジンが継続的にコールされ、
サウンドエンジンにオーディオサンプルを提供するために使います。*/
virtual bool FillSamplesBuffer(uint32 NumChannels, uint32 NumSamples, float** BufferToFill) override;
/* このコールバックは、Wwiseサウンドエンジンに、必要なオーディオフォーマットを提供するために使います。*/
virtual void GetChannelConfig(AkAudioFormat& AudioFormat) override;
/* マイクロフォン入力にアクセスするために使う、Unreal IVoiceCapture。*/
TSharedPtr<IVoiceCapture> VoiceCapture;
/* ボイスキャプチャーから新しいバッファが入る度に、このアレイがリセットされ、リフィルされます。*/
TArray<uint8> IncomingRawVoiceData;
/* このアレイに、今までボイスキャプチャで収集されたオーディオデータが、すべて入っています。
マイクロフォンデータがある場合に、それを処理する時にここに書き込み、
Wwiseエンジンにデータを渡すときに、ここから読み込み（そして縮小）します。
オーディオコールバック内でバッファを縮小することは推奨されないので、絶対にこれを出荷用のゲームに使わないでください！ */
TArray<uint8> CollectedRawVoiceData;
/* このフラグは、収集したデータバッファから読み込んでいる最中に、マイクロフォンデータをここに書き込んでしまうのを防止するために使います。*/
FThreadSafeBool bIsReadingVoiceData = false;
};

Here is an example of a customized AkVoiceInputComponent.cpp file:

#include "AkVoiceInputComponent.h"
UAkVoiceInputComponent::UAkVoiceInputComponent(const class FObjectInitializer& ObjectInitializer) :
UAkAudioInputComponent(ObjectInitializer)
{
CollectedRawVoiceData.Reset();
VoiceCapture = FVoiceModule::Get().CreateVoiceCapture();
}
void UAkVoiceInputComponent::TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction)
{
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
if (!VoiceCapture.IsValid())
{
return;
}
uint32 NumAvailableVoiceCaptureBytes = 0;
EVoiceCaptureState::Type CaptureState = VoiceCapture->GetCaptureState(NumAvailableVoiceCaptureBytes);
/* IVoiceCaptureが、ティックごとに、そのEVoiceCaptureStateを更新します。
このためティックの間は、収集すべき新しいデータがあるかどうかをステートが教えてくれることが、分かります。*/
if (CaptureState == EVoiceCaptureState::Ok && NumAvailableVoiceCaptureBytes > 0)
{
uint32 NumVoiceCaptureBytesReturned = 0;
IncomingRawVoiceData.Reset((int32)NumAvailableVoiceCaptureBytes);
IncomingRawVoiceData.AddDefaulted(NumAvailableVoiceCaptureBytes);
uint64 SampleCounter = 0;
VoiceCapture->GetVoiceData(IncomingRawVoiceData.GetData(), NumAvailableVoiceCaptureBytes, NumVoiceCaptureBytesReturned, SampleCounter);
if (NumVoiceCaptureBytesReturned > 0)
{
/* 収集バッファからデータを読み込む間は、スピンします。 */
while (bIsReadingVoiceData) {}
CollectedRawVoiceData.Append(IncomingRawVoiceData);
}
}
}
bool UAkVoiceInputComponent::FillSamplesBuffer(uint32 NumChannels, uint32 NumSamples, float** BufferToFill)
{
if (!VoiceCapture.IsValid())
{
return false;
}
const uint8 NumBytesPerSample = 2;
const uint32 NumRequiredBytesPerChannel = NumSamples * NumBytesPerSample;
const uint32 NumRequiredBytes = NumRequiredBytesPerChannel * NumChannels;
int16 VoiceSample = 0;
uint32 RawChannelIndex = 0;
uint32 RawSampleIndex = 0;
bIsReadingVoiceData = true;
const int32 NumSamplesAvailable = CollectedRawVoiceData.Num() / NumBytesPerSample;
const uint32 BufferSlack = (uint32)FMath::Max(0, (int32)(NumSamples * NumChannels) - NumSamplesAvailable);
for (uint32 c = 0; c < NumChannels; ++c)
{
RawChannelIndex = c * NumRequiredBytesPerChannel;
for (uint32 s = 0; s < NumSamples; ++s)
{
if (s >= (NumSamples - BufferSlack) / NumChannels)
{
/* Wwiseエンジンに必要なデータよりボイスキャプチャで受け取るデータの方が少ない場合は、
不足サンプルを0パディングします。*/
BufferToFill[c][s] = 0.0f;
}
else
{
/* 入ってくるマイクロフォンオーディオデータを、サイン済み浮動小数点に変換します。*/
uint32 RawSampleDataMSBIndex = s * 2 + 1;
uint32 RawSampleDataLSBIndex = s * 2;
VoiceSample = (CollectedRawVoiceData[RawSampleDataMSBIndex] << 8) | CollectedRawVoiceData[RawSampleDataLSBIndex];
BufferToFill[c][s] = VoiceSample / (float)INT16_MAX;
}
}
}
const int32 NumBytesRead = (NumSamples - BufferSlack) * NumBytesPerSample;
/* NOTE: オーディオコールバック内でバッファを縮小することは、推奨されません。出荷したゲームでは、これを絶対に使わないでください！*/
CollectedRawVoiceData.RemoveAt(0, NumBytesRead);
bIsReadingVoiceData = false;
return true;
}
void UAkVoiceInputComponent::GetChannelConfig(AkAudioFormat& AudioFormat)
{
const int sampleRate = 16000;
AudioFormat.uSampleRate = sampleRate;
AudioFormat.channelConfig.SetStandard(AK_SPEAKER_SETUP_MONO);
if (VoiceCapture.IsValid())
{
/* Passは、デフォルトデバイスを使うための空のデバイス名です。*/
if (!VoiceCapture->Init(FString(""), AudioFormat.uSampleRate, AudioFormat.channelConfig.uNumChannels))
{
UE_LOG(LogTemp, Error, TEXT("Failed to initialize device for voice input!"));
return;
}
VoiceCapture->Start();
}
}
void UAkVoiceInputComponent::PostUnregisterGameObject()
{
Super::PostUnregisterGameObject();
if (VoiceCapture.IsValid())
{
VoiceCapture->Stop();
VoiceCapture->Shutdown();
}
}

After you add the class to an Unreal project, you can create a custom Blueprint class that has an AkVoiceInputComponent, and can call the Post Associated Audio Input Event Blueprint function (from base class AkAudioInputComponent) to start sending microphone data to Wwise. The following image shows part of the Blueprint for a custom Blueprint class, based on Actor, that has an AkVoiceInputComponent called AkVoiceInput.


Wwise Unreal Integration Documentation: Using the AkAudioMixer Module

Using the AkAudioMixer Module

目次

  • 概要
    • メインミックス（FAkMixerPlatform）
    • コンポーネントのサブミックス（UAkSubmixInputComponent）
    • 初期化
    • ポーリングの順序
    • オーディオバッファリング
  • FAkMixerPlatformの設定
    • Setting up the Wwise Project
    • Setting up the Unreal Project
    • FAkMixerPlatformの制限
  • UAkSubmixInputComponentの設定
    • Setting up the Wwise Project
    • Setting up the Unreal Project’s Audio
      • Creating the Master Submix
      • キャプチャサブミックスを作成する
      • Master SubmixにカスタムSubmixをアサインする
    • Assigning Unreal Asset Submixes
    • Setting up Unreal Blueprints
      • AmbientSoundブループリントクラスを作成する
      • UAkSubmixInputComponentを適用する
      • アクターを作成し、イベントとサブミックスをバインドする

概要

The AkAudioMixer module provides a platform-agnostic Unreal Audio Mixer, which you can use to run the Unreal and Wwise audio mixers concurrently.

The Unreal Audio Mixer is platform independent: it works on Windows, Mac, Android, and consoles. A Mixer Platform that handles the interaction between the platform’s hardware and the platform-independent code. Both the Unreal Audio Mixer and the Wwise SDK automatically initialize and handle a platform’s audio. However, most platforms cannot receive audio from multiple sources simultaneously, especially consoles that initialize one unique audio system. Some consoles crash if they are initialized twice, and some allow both systems to interact with the same objects blindly.

One solution to this problem is to disable Unreal’s Audio Mixer when a project uses Wwise (refer to よくある質問 for more information). The AkAudioMixer module provides a concurrent, platform-agnostic solution, in which Unreal's Audio Mixer uses Wwise instead of the default platform (XAudio2, SDL Audio, AudioOut, and so on). Wwise can therefore properly initialize the Platform Sound Engine, and Unreal processes audio.

This module provides two different input components, both processed through a basic AkAudioInputComponent. Refer to Providing Audio Input to Wwise for more information.

メインミックス（FAkMixerPlatform）

The Wwise Sound Engine uses FAkMixerPlatform to substitute the platform-specific part of the Unreal Audio Mixer. Through a stereo feed, it is then possible to retrieve the result of the Unreal mixdown as a Wwise Audio Input. When you use FAkMixerPlatform, the Unreal audio subsystem remains fully functional alongside the Wwise audio system.

When you use FAkMixerPlatform, Unreal audio is provided as stereo. This Unreal mixdown is muted in Wwise but is available as a temporary solution because using two different, concurrent spatialization methods can cause audio problems. After you set up the FAkMixerPlatform properly, projects use Unreal submixes only when actual inputs for objects are necessary.

コンポーネントのサブミックス（UAkSubmixInputComponent）

You can use UAkSubmixInputComponent to connect any Unreal audio submix to a Wwise Audio Input component. You can then retrieve part of a mix, such as movie audio, and send it to Wwise individually. You can provide the submix in any channel configuration, as required by Wwise. Due to limitations and performance considerations, we recommend that you configure the entire flow in Wwise whenever possible.

Use UAkSubmixInputComponent to retrieve Unreal audio from individual actors. Through the Wwise Unreal Integration, you can link the Audio Input Component with its actor position and then use Wwise integrated spatialization (or the object-based pipeline in 2021.1 or later) to achieve the project’s desired audio properties and quality.

You can use this component independently. It does not require the FAkMixerPlatform. However, be aware that initializing both Unreal’s platform-specific audio and Wwise’s platform-specific sink simultaneously can cause some platforms to crash because they do not support usage of two concurrent audio pipelines.

初期化

Use Wwise "Play" Events to initialize both FAkMixerPlatform and UAkSubmixInputComponent. The Wwise Sound Engine can then poll the Unreal components.

The Event starts the polling process, and the process must never be virtualized: it is either started or stopped, and the FAkMixerPlatform input component must always be playing. Otherwise, the Unreal audio pipeline does not work properly.

ポーリングの順序

After the initialization is complete, the audio pipeline is executed every few milliseconds to provide the next audio chunk to the hardware.

At the beginning of the pipeline tree, the platform hardware requests an audio buffer from the Wwise Sink. Next, the Wwise Sound Engine polls any playing Audio Input Components for their audio.

At this point, FAkMixerPlatform is polled, and requests the next buffer from the Unreal Master Submix. This, in turn, empties Unreal’s circular audio buffers so that the entire pipeline can continue to work.

オーディオバッファリング

Two sequential, concurrent systems add some latency to the end mix. Unreal assumes that the A/V component plays at its own speed, and uses a circular buffer to provide audio at the same speed at which the Audio Mixer requests it.

The Unreal Master Submix also has a circular buffer in the Audio Mixer’s FOutputBuffer to ensure audio is provided at a valid speed.

Because the individual submixes are pushed by the Master Submix, and Wwise requests its buffers at the same time, both Unreal and Wwise push requests.

Finally, the Wwise Sink also has buffering, which you can customize through code.

FAkMixerPlatformの設定

With the Wwise Audio Input source plug-in, you can use any input from external sources inside Wwise.

In order to capture the Unreal Mix, you must create one Wwise Audio Input as well as an Event that starts the data acquisition process.

We recommend that you create a bus in the Master-Mixer Hierarchy and a Sound SFX object that uses a Wwise Audio Input source plug-in. The connection to the Master Audio Bus is important, even if you plan to discard the audio as provided by this component eventually. If you mute the final result, you must not virtualize the voice, because virtualization effectively removes the audio polling that the Unreal Audio pipeline requires.

Setting up the Wwise Project

This section describes how to create the Unreal input source in your Wwise Project. As part of the process, you must create an Event to play the associated Sound SFX. Unreal also requires the Event to determine which Audio Input to use for the FAkMixerPlatform.

To create an input source:

  1. In Wwise, create an empty Unreal_Input SFX object.
  2. In the Contents Editor, click Add Source > Wwise Audio Input and add the desired source.
  3. Configure a volume offset at the source level or directly on the Sound SFX object.
  4. Route the sound to the appropriate Output Bus, which is the “Unreal Input Bus” in this example.
  5. In the Actor-Mixer Hierarchy, right-click the Sound SFX and click New Event > Play. The event is automatically named Play_[SoundName] but you can rename it if desired.
警告： The FAkMixerPlatform must be “Playing” at all times to ensure that Unreal’s Audio Mixers process audio for its components. If the FAkMixerPlatform is not playing, Unreal’s circular buffers fill up, which can potentially add latency to your audio. To mute the channel, ensure that it is playing and never virtualized or stopped due to lack of audio.

Setting up the Unreal Project

You must configure Unreal to use the Wwise Audio Mixer instead of the platform’s own Audio Mixer. プラットフォームごとに、次の行を、 <Project>/Config/<Platform>/<Platform>.ini 、または <UE_ROOT>/Engine/Config/<Platform>/<Platform>Engine.ini に追加します。Note that the project settings override the engine settings. If the file does not yet exist, you must create it.

After the desired Wwise Integration is activated, you must use the previously created Play Event in your Project Settings’s Audio Input Event. This binds the FAkMixerPlatform component in your Unreal project to the Wwise Sound Engine.

After you generate SoundBanks, the Event is available in the Unreal Editor through the Wwise Browser. If WAAPI is enabled, it appears in the Wwise Browser.

Generate the SoundBanks in Wwise (or in the Unreal Wwise Browser) and restart the Unreal Editor. A restart is required each time you change the Audio Input Event because it is only initialized once. If you start the Profiler on the Unreal Player in Wwise Authoring, you can see the meters of your Audio Busses moving.

FAkMixerPlatformの制限

Unreal determines how to encode audio through the ITargetPlatform interface. 各プラットフォームで、 GetWaveFormat と GetAllWaveFormats のメソッドをDerived Dataシステムで呼び出し、サポートされるオーディオフォーマットを判断します。The AkAudioMixer system does not override this selection. Ensure that the function provides a supported, generic format: you can override the necessary files yourself, or ensure that you meet the conditions required to use generic encoding, and not any platform-specific encoding.

Otherwise, you can modify the Unreal source code to change the target platform’s audio formats in the following file pattern: Engine/Platforms/<PlatformName>/Source/Developer/<PlatformName>TargetPlatform/Private/<TargetName>TargetPlatform.cpp

Ensure that the platform’s audio format is equivalent to the one provided in the FMixerPlatformWwise CreateCompressedAudioInfo method as found in this file:

Plugins/Wwise/Source/AkAudioMixer/Private/AudioMixerPlatformWwise.cpp

UAkSubmixInputComponentの設定

Setting up the Wwise Project

The Wwise project preparation for any UAkSubmixInputComponent is similar to the one for FAkMixerPlatform: in your project, you must create a new Wwise Audio Input Source, and add an Event to play. This Event will be bound to your Unreal project later in a Blueprint that you must create yourself.

警告： As with the FAkMixerPlatform input, you must ensure that the Wwise object is never virtualized or stopped on its own. Unreal must play or stop the Event. Otherwise, buffers continue to fill on the Unreal side, which causes lags and memory usage spikes.

Setting up the Unreal Project’s Audio

To prepare your Unreal project for a UAkSubmixInputComponent, you must do three things:

  1. Create the Master Submix.
  2. Create capture submixes.
  3. Assign the custom submixes to the Master Submix.

Creating the Master Submix

First, you must set up your Unreal project to override the default Master Submix and customize the Audio Submix flow. If you only create the Master Submix but do not customize it, it does not sound any different than the Default Master Submix. Note that an Unreal project can only use one Master Submix, which is shared by all worlds.

To create a Master Submix:

  1. Create a Sound Submix, as described in Overview of submixes in Unreal Engine. In this example, the name is "MasterSubmix".
  2. In the Project Settings, scroll to the Engine section and click Audio, then open the Mix section.
  3. Set the Master Submix to the newly created Sound Submix. For example:

At this point, you have an empty custom Master Submix without any special routing, and that sounds the same as a copy of the project that uses the Default Master Submix.

キャプチャサブミックスを作成する

To efficiently capture the audio of a group of actors in Unreal, you must create two new submixes for each submix category. Because of the way Unreal handles submixes, there must be a hierarchy of two distinct submixes to ensure that the submix audio is not pre-mixed with anything except its own audio.

In the following section, the example uses the submix name, and the second submix has a “Passthrough” suffix (AmbianceSubmix and AmbianceSubmixPassthrough, respectively).

Master SubmixにカスタムSubmixをアサインする

Creating the Master Submix セクションで定義した、カスタムMaster Submixを開きます。Add a graph where the different Passthroughs are set between the real submix and the Master Submix. You can use more submixes and can define any order for the submixes, as long as you arrange them in the following order:

Submix -> Passthrough -> Next in Tree

For example, the following graph demonstrates two different submixes:

At this point, the submixes are unused and unassigned, and your project sounds the same as it did before because all audio from all objects is still routed to the Master Submix. However, when actors start to send their audio to their own custom submix, such as the DiscussionSubmix and AmbianceSubmix as defined here, audio is sent to both the Discussion UAkSubmixInputComponent and the Master Submix, which causes audio duplication.

To prevent this duplication, set the Output Volume of the multiple Passthrough mixes to -96db (0 in Unreal 4.27). This measure ensures that no audio is sent to the Master Submix during mixdown, and the entire audio of the Discussion and Ambiance submixes are delivered to a custom Wwise Audio Input component.

Assigning Unreal Asset Submixes

After the submixes are created and assigned to the Master Submix, add audio to the submixes. In the Effects section of the audio asset details dialog, expand the Submix tab and set the Base Submix to the submix you want to use.

警告： You assign multiple assets to any Submix, but be aware that those assets will be mixed before they are sent to the Wwise Audio Input component. It is also more difficult to Play and Stop the Event because more actors affect the submix. It is also harder to configure positioning in these cases.

If you want to use multiple assets for one submix, it might be desirable to execute the Play Event at level start and the Stop Event at level end. This approach affects performance because the audio channel is open permanently in that level. If you have more than a few assets, they all push audio to Wwise, which must to be mixed.

Another approach is to have one master component that determines the life cycle of the audio data transmission, and more than one sub-component to provide audio whenever necessary.

In the following example, a WAV file was imported into the Unreal Content Browser, and the submix was changed to define the final destination.

At this point, this asset does not produce any audio because the Passthrough volume is -96db (0 in Unreal 4.27), so the audible track does not go to the Master Submix. The Events to Play and Stop the required audio component are not set up either. The asset is also not yet used in the Unreal world.

Setting up Unreal Blueprints

This section shows an example of how to set up the UAkSubmixInputComponent to bind submixes to the Wwise Audio Input Component. You can configure things differently, depending on your project’s specific requirements.

In the example in this section, an AmbientSound actor provides audio, but you can use any other Audio Component, or even Audio-Video components, to send audio to submixes.

AmbientSoundブループリントクラスを作成する

First, you must create a new Blueprint class, with the Unreal AmbientSound as the parent class. An AkAmbientSound actor is also accessible. It is used to create Wwise-specific Ambient Sounds, so it is not relevant for this example.

注記： For performance purposes, we strongly recommend that you use AkAmbientSound whenever possible, but it is unnecessary in the case of the AkAudioMixer because the audio is already played and rendered in Wwise.

In this example, the AmbientSound actor component is called “AkSubmixAmbient”.

Link the previously created SoundWave to the AmbientSound object in the Sound section (as seen in the bottom right of the following image). This is a generic component, so it is used as a default value.

UAkSubmixInputComponentを適用する

To apply UAkSubmixInputComponent, an Unreal component is required to control the Play and Stop Events, and bind the submix to a Wwise Audio Input Component. Use the AkSubmixInput Audio Component.

ルートコンポーネントの下の、あなたの AkSubmixAmbient Blueprint に、 AkSubmixInput コンポーネントを追加します。

In the Event Graph, post the Ak Submix Input component’s event on BeginPlay, and stop the component on EndPlay.

This configuration ensures that audio data transmission is active when BeginPlay starts, and stops it as soon as End Play is reached. To optimize this configuration beyond the default values, follow your own actor’s life cycle: start and stop the Audio Input processing only when necessary.

You can now compile and save the Blueprint.

アクターを作成し、イベントとサブミックスをバインドする

Drag and drop your new Blueprint into the level to instantiate it.

Detailsパネルで、Soundプロパティに好きなSoundWaveを設定します。これが本当の値で、デフォルトではありません。

AkSubmixInputコンポーネントを選択します。

Define the Ak Audio Event to start playing the Wwise Audio Input Component, and the Submix to Record on this Component. Submix Inputセクションで、適切なSubmix to Recordを選択し、Audio InputをPlayするAk Eventを選択します。

At this point, the submix plays the Ambient sound, the submix is muted (the output volume is set to 0 in the Submix tree), and the Audio Input is used in Wwise to play back the audio for that object.


Wwise Unreal Integration Documentation: Combining Unreal 5 and Wwise Audio with AudioLink

Combining Unreal 5 and Wwise Audio with AudioLink

Starting with version 5.1, Unreal includes a tool called AudioLink. When you are developing audio for Unreal games, you can use Wwise or Unreal exclusively or, through AudioLink, use both systems together. This flexibility gives users the ability to create some sounds in Unreal during game development, but also use Wwise for advanced audio effects such as Spatial Audio.

In the context of the Wwise Unreal Integration, AudioLink can help two types of user:

  • Wwise users who want to route Unreal Audio through Wwise.
  • Unreal users who want to add Wwise features to their projects but also want to keep any Unreal audio work they have already completed.

AudioLink is an alternative to Wwise's AkAudioMixer module and functions differently: AkAudioMixer works with mixes and submixes, while AudioLink works with objects. AudioLink therefore provides more granular control than AkAudioMixer because you can target any single sound, all sounds, or submixes. Through AudioLink, you can assign individual Unreal objects to individual Wwise objects.

In addition, after you enable AudioLink and configure your Unreal and Wwise projects appropriately, you can then listen to audio in Unreal and monitor the audio with the Wwise Profiler simultaneously.

Selecting Audio Routing Options

There are several options for audio routing available in the Unreal Project Settings.

To select an audio routing option:

  1. In Unreal, click Edit > Project Settings. The Project Settings dialog opens.
  2. In the Wwise section, click Integration Settings. The Initialization section contains several audio routing options:
    The Unreal Audio Routing menu contains the following options:
    • Default: Supports custom configurations and projects that were migrated from integration versions lower than 2022.1. If you select this option, you can manually select or clear the three checkboxes that follow. However, there are no limits on your selections or any automatic verification, so it is your responsibility to test your audio and ensure that your custom routing configuration works properly.
    • Both Wwise and Unreal audio: Use the Unreal audio system and the Wwise SoundEngine concurrently.
      注記： This option might not be compatible with all platforms.
    • Route through AudioLink [UE5.1+]: Use AudioLink to route all Unreal audio sources to Wwise SoundEngine inputs. This option requires Unreal 5.1 or higher.
    • Route through AkAudioMixer: Use AkAudioMixer to route Unreal submixes to a Wwise SoundEngine input. Refer to Using the AkAudioMixer Module for more information.
    • Enable Wwise SoundEngine only: Use Wwise for audio and disable the Unreal audio system.
    • Enable Unreal Audio only: Use Unreal Audio and disable the Wwise SoundEngine.
      注記： After you select an option, do not change it. If you do, any existing AudioLink components will stop working.
  3. Select the desired audio routing option. For AudioLink, select Route through AudioLink [5.1+].

Setting Default AudioLink Properties

AudioLink configuration settings determine its default behavior when enabled. The integration uses these default values unless there is an override asset associated with a particular Event (as described in Overriding Default AudioLink Properties).

Before you begin the following procedure, set up an Audio Input Source Plug-in in Wwise and create a Wwise "Play" Event that uses a Sound SFX with Audio Input as the source. This Event is required to ensure that the audio routing works correctly.

To set default AudioLink properties:

  1. In Wwise, set up an Audio Input Source Plug-in.
  2. Create a Wwise "Play" Event that uses a Sound SFX with Audio Input as the source, then generate SoundBanks.
  3. In Unreal, click Edit > Project Settings. The Project Settings dialog opens.
  4. In the Wwise section, click Wwise AudioLink.
  5. Set the following properties:
    • Start Event: Select the Wwise "Play" Event you created earlier.
    • Should Clear Buffer on Receipt: When selected, the receiving code clears the buffer after it is read so that Unreal doesn't render it. This setting only applies when both renderers are running simultaneously. デフォルトで有効になっています。
    • Producer to Consumer Buffer Ratio: The ratio of the producer to consumer buffer size. The default value is 2.0, which means that the producer buffer is twice as large as the consumer buffer.
    • Initial Silence Fill Ratio: The ratio of the initial buffer to fill with silence before consumption, which can prevent starvation at the cost of extra latency. The default value is 1.0.

Overriding Default AudioLink Properties

You can create separate AudioLink assets for individual Wwise Events, which override the default settings.

To override default AudioLink properties:

  1. In Wwise, create a "Play" Events with Audio Input as the source.
  2. In the Unreal Content Browser, click Add > Sounds > AudioLink > Wwise AudioLink Settings. A Wwise AudioLink Settings asset is added to the Content Browser.
  3. In the asset Details, set the Start Event to the newly created Wwise Event, and change any other property values as required.
    You can now associate the custom settings with different audio assets.

Connecting Unreal Audio to Wwise Audio Inputs

As with many aspects of the integration and Wwise in general, there are different ways to achieve the desired results. For example, you can create separate AudioLink assets for individual Wwise Events, which you can then use in Blueprints to play sounds and music as required.

To use AudioLink on an audio asset:

  1. In the Unreal Content Browser, create an audio asset such as an Attenuation or Submix.
  2. Edit the asset. The location of the AudioLink properties varies depending on the type of asset. The following image shows the AudioLink properties for an Attenuation asset:
  3. To enable AudioLink, select Send to AudioLink. The asset now routes audio through AudioLink with the default AudioLink settings.
  4. (Optional) To use custom AudioLink settings, use the options next to AudioLink Settings Override to select the desired Wwise AudioLink Settings asset.
    The audio asset now uses custom AudioLink settings.
  5. Add the audio asset to a Blueprint.

At this point, you can connect multiple Events to the same Blueprint or to others, and test the audio in Wwise through the Wwise Profiler.

There are other ways to work with AudioLink. Refer to the Adventures With AudioLink blog post for some more examples.


Wwise Unreal Integration Documentation: よくある質問

よくある質問

Where are banks located when I generate them from the Unreal editor or when cooking?

By default, they are located in the following location:

UE/[GameName]/Content/WwiseAudio/[Platform]

Some banks containing language assets might be in language-specific folders.

Why does SoundBank generation in Unreal create more banks than SoundBank generation in Wwise?

When importing a SoundBank definition file, Unreal might ask Wwise to generate banks that do not exist in the Wwise project. If you want the Unreal-generated bank to persist in the Wwise project, add the command-line argument -Save when you import the SoundBank definition file.

Can I debug my code using the Wwise SoundEngine debug libraries?

Yes. You can use the Debug or DebugGame build configuration states in Unreal, which use the Wwise SoundEngine debug libraries. Refer to Unreal and Wwise SoundEngine Configurations for more information.

Why don't all of my sounds play when I run a packaged game?

If you receive an error such as Event ID not found: <id>, it is likely that a Wwise Unreal asset was excluded from the package due to "tree shaking." Refer to Packaging Requirements for more information.


Wwise Unreal Integration Documentation: 入門チュートリアル

入門チュートリアル

The following tutorials demonstrate how to integrate music, play sounds from animations, play sounds from physics-based objects, play sounds from object collisions, and customize listeners in third-person games. These tutorials are intended for anyone who is integrating Wwise into an Unreal project for the first time. We recommended that you follow the tutorials in order.

  • チュートリアルの準備をする
  • Adding Ambient Sound to a Level
  • 音楽をブループリントから再生する
  • フットステップサウンドをインテグレートする
  • Adding Sounds to Physical Impacts
  • Using Distance Probes to Customize Listeners in Third-Person Games


Wwise Unreal Integration Documentation: チュートリアルの準備をする

チュートリアルの準備をする

These tutorials require the default installations of Wwise and Unreal 5. Although there are no tutorial-specific supplementary materials available, the Integration Demo Wwise sample project contains a variety of sounds and music that you can use for most of the examples. The Integration Demo is included with the Wwise SDK, which you can add to your installation through the Audiokinetic Launcher. For details, see Integration Demo Sample.

前提条件

Before you begin the tutorials, review the following prerequisites and ensure that all necessary setup is complete:

  • In Unreal, create a project with the Third Person game template, with a C++ Project Default (the Wwise Unreal Integration does not support Blueprint-only projects). For more information, refer to Creating a New Project and Third Person Template.
  • インストール と プラグインのビルド に従い、Wwise Unrealプラグインをインストールしてください。
  • Enable Auto-Defined SoundBanks in your Wwise project. See Automatically Defining SoundBanks for more information.

Required Unreal Knowledge

Before you begin to integrate audio in Unreal, we strongly recommend that you have a working knowledge of Unreal 5 game development. Review the following sections in the Unreal documentation in particular:

  • Level Editor: The Level Editor is the initial layout that appears when you open Unreal. You use it to manage your assets: place sounds in the level, create new sounds, and so on. It is also the view from which you open other views, such as the Blueprint Editor.
  • Actors, Components, and Blueprints: In Unreal, every object in your level is an Actor. There are different types of Actor, and Actors can have components that define what they do. For example, an Actor can have a Mesh that you can use as a Trigger to define areas in which a certain ambience plays. You can use Blueprints to design systems, and add them to Actors as well. Within these systems, you can reference your Actor’s components so that, for example, an ambience starts to play when something enters your Trigger area.
TIP： When you generate SoundBanks, a notification appears and plays a sound. Depending on the level of your own sound integration, the sound might be quite loud, but you can disable it. To do so, go to Edit > Editor Preferences. Under Level Editor, click Miscellaneous and clear Enable Editor Sounds.


Wwise Unreal Integration Documentation: Adding Ambient Sound to a Level

Adding Ambient Sound to a Level

This tutorial explains how to add an AkAmbientSound asset to an Unreal level to play a looping ambient sound from Wwise.

To prepare for this tutorial:

  1. Integrate Wwise into your Unreal project, as described in Integrating Wwise into an Unreal Project.
  2. Add a looping ambient sound to the Wwise project, and clear the Hold Emitter Position and Orientation option in the sound's Positioning properties. Refer to Managing Media Files in Your Project for more information about adding sounds to Wwise.
  3. Create a Wwise Event that plays the sound. Refer to Creating Events for more information.
  4. Ensure that the Unreal project references the correct SoundBanks folder:
    1. In Unreal, click Edit > Project Settings. The Project Settings dialog opens.
    2. Scroll to the Wwise section and click Integration Settings.
    3. Under Installation, click the ellipses next to Generated Sound Banks Folder. A file explorer opens.
    4. Browse to the Wwise Project's GeneratedSoundBanks folder and click Select Folder.
  5. Ensure that the Wwise Browser is accessible and populated with Wwise project data. If it is not, save your Wwise project or click Refresh Button in the Wwise Browser. For more information, refer to Managing Assets with the Wwise Browser.

Posting a Wwise Event

An easy way to add sounds from Wwise to Unreal is by adding an AkAmbientSound asset to a level. In this case, the AkAmbientSound asset is the emitter, so if you are using Spatial Audio, objects in the level can obstruct the sound. The sound also stops playing when the character exits the level.

To add an ambient sound:

  1. Open your project in the Unreal Editor.
  2. In the menu bar, click Build > Generate SoundBanks, then click Generate. The SoundBanks are generated.
  3. Click Window > Wwise Browser.

  4. From the Wwise Browser, drag the Event that plays the ambient sound into the Level Editor. An AkAmbientSound Actor is created in the level, and a uasset of the Event is created in the Default Asset Creation Path.

  5. Select the newly created AkAmbientSound (1), and in the Details panel, select Auto Post (2).

    When you press Play in the Unreal Editor, you can now hear the ambient sound.

Disabling Occlusion

At this point, you can hear the ambient sound as you move around the level. However, if you move the character behind an obstacle in the level, the sound fades out because of occlusion, which is enabled by default. You can disable occlusion, which might be desirable for sounds like ambience or music.

To disable occlusion:

  1. Select the AkAmbientSound Actor in the level.

  2. In the Details panel, under Ak Component > Occlusion, set the Occlusion Refresh Interval to 0.

    You can now hear the ambient sound anywhere in the level.


Wwise Unreal Integration Documentation: 音楽をブループリントから再生する

音楽をブループリントから再生する

This tutorial explains how to use Unreal Blueprints to play music from an integrated Wwise project. A Blueprint is suitable for music, which might play for the entire duration of the game across different levels.

To prepare for this tutorial:

  1. In Wwise Authoring, create a Music Playlist Container.

  2. Add a Music Segment that loops indefinitely. The following image shows the Container configuration:

  3. Create an Event that plays the Music Segment. This tutorial uses an example called Play_Music.
  4. Generate SoundBanks in either Wwise or Unreal.
  5. In the Unreal Editor, drag the music Event from the Wwise Picker into the Level Editor. Just as in Adding Ambient Sound to a Level, the Event is added and a uasset is created.
  6. Select the Event and in the Details panel, select the Auto Post option.

Posting an Event

In this part of the tutorial, you will add sounds to the ThirdPersonExampleMap level. The level already contains various Actors such as Lights, Meshes, and a character.

注記： If you have multiple scenes, you can create a Persistent level so the music survives when a different map is loaded.

This tutorial uses the Blueprint of the playable character, which is available by default in the ThirdPersonCharacter content. To play, or "post", a Wwise Event, you have to do three things:

  1. Call the Unreal Event when you begin to play.
  2. Connect it to the function that plays the Wwise Event.
  3. Specify which Actor plays the Event.

The following procedure explains this process in detail.

To post an event:

  1. In the Content Browser, go to ThirdPerson > Blueprints and double-click BP_ThirdPersonCharacter. The BP_ThirdPersonCharacter Blueprint opens. The Event Graph tab contains three disabled nodes.

  2. Drag a pin from the BeginPlay node, search for the Post Event Audiokinetic function and click it.

    The Post Event function requires a reference to an Actor to place the Wwise Event.

  3. Drag a pin from the Actor Object Reference, search for the Get a reference to self Variable and click it.

  4. In the Post Event function, select the Play_Music Ak Event.

  5. Click Compile and then in the Level Editor, click Play. The music plays.

Using AkComponents

The Blueprint environment is ideal for controlling Actor behavior. However, to efficiently manage and position Actors in levels, you can expose some Blueprint controls in the Details panel and work primarily in the Level Editor instead. To do this, you can add an AkComponent to the Actor, which you can then use to offset the position of the sound from the Level Editor.

To use an AkComponent:

  1. In the Blueprint Editor, on the Components tab, click Add, then search for the Ak Audiokinetic component and click it.
  2. In the Event Graph, delete the Post Event function and the reference to Self.

  3. Drag the Ak component into the Blueprint, then drag a pin from the component, search for Post Ak Event and click it.

  4. Connect BeginPlay to the Post Ak Event.

    You can now retrieve the Wwise Event selected in the AkComponent.

  5. Drag a pin from the AkEvent Object Reference, find and select a Get Ak Audio Event and connect it to the Ak component.

  6. Click Compile.
  7. In the Components panel, select Ak, then in the Details panel, expand the Ak Event section. It is currently empty.

  8. Drag the music Event from the Wwise Picker into the empty Ak Audio Event area.

    You can now change the Event without opening the Blueprint, and you can offset the position of the sound relative to the Actor to which it is attached.

Controlling Music with States

In most cases, you want interactive music in your game to adapt to gameplay conditions and provide variety. This tutorial demonstrates a common implementation strategy, which is to use States to control music.

Before you start, you must create a new music system in Wwise that consists of two distinct types of music: in this case, selection of calm music and a selection of intense music.

Create a Music Switch Container that can switch between "Repeat Calm" and "Repeat Intense" Music Playlists based on a “Music” State, as shown in the following image.

In the example, there are three States: Calm, Intense, and None. With this setup, you can set States from the game to change the music during runtime. You can also choose which State to set when the game starts.

A common approach, which this tutorial uses, is to set States when the player enters a certain area, defined by a Trigger. You create a Trigger Box and use a Blueprint system to set the State when the player crosses the boundaries of the box.

Ensure that you complete the steps in Using AkComponents before you proceed.

To control music with States:

  1. In the Blueprint Editor, drag a SetState Audiokinetic function from BeginPlay.

  2. Initial Stateを Music-Calm に設定します。

    The initial state is now set up.

  3. Trigger Boxを、Levelにドラッグします。

  4. Trigger Boxのサイズを大きくします。

  5. In the Details view, click the button with the three boxes (1), then New Subclass (2), type a Blueprint name (3), and then click Select (4), as shown in the following image.

    The Blueprint is created, and contains an ActorBeginOverlap Event, which you can use to detect when something enters the Trigger Box.

  6. ActorBeginOverlap から、 ThirdPersonCharacter に対してキャストし、ExecをSet State関数に接続します。

    To ensure that you can use the Trigger Box for multiple states, you must create a Variable that is accessible outside the Blueprint.

  7. Drag from the State Value and click Promote to variable.

    There is now a variable under My Blueprint > Variables on the left.

  8. Rename the variable to “MusicState” and click the eye icon.

    The variable is now public (accessible outside the Blueprint).

  9. Click Compile, and close the Blueprint.

  10. Select the Trigger, then in the Details view select a State under Default > Music State.

  11. In the level, walk into the new Trigger with the ThirdPersonCharacter and wait for the music to change.

    You can now duplicate the trigger, reuse it somewhere else and set a different state without affecting the original trigger.

注記： If your Music Switch Container's Transition is set to Exit Cue, you might have to wait to hear the music change.


Wwise Unreal Integration Documentation: フットステップサウンドをインテグレートする

フットステップサウンドをインテグレートする

A common task in game production is posting footstep sounds. This tutorial uses footsteps as a practical demonstration of how to post sounds from a specific moment in animation. You can use the same approach for other sounds and animations, such as doors opening and closing. In addition, the tutorial demonstrates how to use Unreal Surface Types in combination with Wwise Switch Containers to change the sound of footsteps when the player character moves from one type of surface to another.

This tutorial uses the ThirdPersonCharacter project template, which includes a Mannequin (playable character controller) with input controls and animations. The following sections explain how to integrate footstep sounds by adding Animation Notifications to an animation of the character running. A Blueprint receives the notifications and posts the sound.

The footstep implementation in this tutorial uses Unreal's Physics system extensively. For more information, refer to Physics.

Before you proceed, create or obtain some footstep sounds for at least two different types of surface (such as dirt, gravel, or grass). You must also do some preparatory work in your Wwise project.

To prepare for this tutorial:

  1. In Wwise Authoring, create a Switch Group called "Surface" and add Switches for each surface type you plan to use. You need at least two surface types.
  2. In the Actor-Mixer hierarchy, create a Switch Container called "Footsteps" and add sounds or Containers that correspond to different surface types.
  3. Assign the Surface Switch Group to the Footsteps Container, set a default Switch value, and assign the appropriate footstep Objects to their corresponding Switches. The following image shows a sample configuration:
  4. Create an Event called "Play_Footsteps" to play the Footsteps Switch Container.
  5. Generate SoundBanks in Unreal or Wwise Authoring.
TIP： The Wwise Integration Demo project contains a Footsteps container with sounds for multiple surfaces.

Adding Footstep Anim Notifies

To play footstep sounds that are synchronized with the player character's movements in the game, you must use Anim Notifies. The following procedure explains how to add Anim Notifies to character animation states in Unreal, at the precise moment when the character's foot touches the ground. You can then update the character Blueprint to post Wwise Events based on the Anim Notifies.

To add Anim Notifies for footsteps:

  1. In the Unreal Content Browser, go to Content > Characters > Mannequins > Animations > Quinn and double-click MF_Run_Fwd. The Animation Sequence Editor opens.
  2. Click the Skeletal Mesh button in the upper right of the window. The SK_Mannequin Skeletal Mesh opens.
  3. In the Animation Notifies panel in the lower right, right-click, then click New and type Footsteps in the text field.
  4. Return to the Animation Sequence Editor, and in the Asset Editor next to Notifies, click Track > Add Notify Track. A new numbered track is added to the Animation timeline.

  5. In the timeline, align the Playhead with the first R in the top track, which is the moment the right foot touches the ground.

  6. In the timeline, right-click in the new track and click Add Notify > Skeleton Notifies > Footsteps.

  7. Copy the Footsteps Anim Notify and paste it so that each of the other R and L notifies has a corresponding Footsteps Anim Notify.

Preparing Surfaces in Unreal

To test footstep sounds on different surfaces, your level must contain at least two different sections of floor, to which you can assign different Physical Materials. You can then associate Switches with the different surfaces so that the footstep sounds change when the character moves from one surface to another. Use surfaces and materials that correspond to the sounds in your Wwise Switch Container.

This approach uses Unreal Static Meshes and Physical Materials. For more information, refer to Physical Materials and Static Meshes.

To add a second floor surface to the level:

  1. Click Edit > Project Settings. The Project Settings dialog opens.
  2. In the Engine section, click Physics.
  3. In the Physical Surface section, add separate Surface Type names for each surface in your Wwise project's Switch Container (for example, Dirt, Gravel, Metal, and Wood), then close the Project Settings dialog.
  4. In the Level Editor, duplicate the floor object (SM_Cube) and scale the two objects so that each copy occupies half of the floor area in the level.
  5. In the Content Browser, select a folder and click Add > Physics > Physical Material, and in the dialog select PhysicalMaterial and click Select. A Physical Material asset is added to the folder.
  6. Change the name of the material to something that corresponds to one of the Surface Types you added in the Project Settings. Create additional Physical Materials for the remaining surface types.

  7. Double-click one of the new Physical Materials and in the Details Panel, under Physical Properties, select the corresponding Surface Type.

  8. In the Level Editor, select one of the floor objects and in the Details panel, click StaticMeshComponent to view the mesh properties.

  9. In the Collision section, set the Phys Material Override to the desired Physical Material.

  10. In the Materials section select a Material that resembles the desired Surface Type. Repeat for the second floor object. The following image shows an example of a level with a floor divided into metal and dirt sections.

Using Surface Switches

After you add Footstep Notifies to the character animation and configure the different surfaces in the level, the final step is to configure the Mannequin Blueprint to determine which surface is beneath the player, route that information to the correct Set Switch function, and finally post the Event to Wwise, which then plays the appropriate footstep sound.

This procedure uses the same MF_Run_Fwd animation sequence from Adding Footstep Anim Notifies.

To set a Surface Switch:

  1. Open the MF_Run_Fwd animation in the Animation Sequence Editor.
  2. In the upper right, click the Blueprint icon. The ABP_Manny Blueprint opens.

  3. Configure the first part of the Blueprint with a Line Trace By Channel function to detect the player character's footsteps, as shown in the following image.

  4. Configure the second part of the Blueprint to detect whether the player is on a valid surface type and if so, to route the signal to the correct Set Switch function and then post the Wwise Play_Footsteps Event to play the correct sound.

    Here is a diagram of the entire Blueprint:

  5. Click Compile.
  6. In the Level Editor, click Play and move your character over the different surfaces. The sound of the footsteps changes accordingly.


Wwise Unreal Integration Documentation: Adding Sounds to Physical Impacts

Adding Sounds to Physical Impacts

The previous tutorials described how to play music when the game starts and from a specific time in the animation. This tutorial explains how to use Unreal's Physics system to detect collisions between objects and post Wwise Events to play sounds upon impact. It also demonstrates how to use RTPCs to set minimum velocity thresholds to ensure that impact sounds don't play whenever there is minor contact between objects. Finally, it includes a system for instantiating objects in the game to test the impact sound system.

To prepare for this tutorial:

  1. Obtain a short sound to use for a physical impact and import the sound into Wwise.
  2. Create a Game Parameter called "Collision_Velocity".
  3. Add Voice Low-pass Filter and Voice Volume RTPCs associated with the Collision_Velocity Game Parameter, with curves as shown in the following image:
  4. Create an Event called "Play_Impact" that plays the sound.
  5. Generate SoundBanks in Unreal or Wwise Authoring.

Playing Sounds when Objects Collide

To play a sound when objects collide:

  1. In the Level Editor, select one of the blue boxes.
  2. In the Details panel, click the Blueprint icon. The Create Blueprint From Selection dialog opens.
  3. Select New Subclass, change the Blueprint Name to WwiseObject, and click Select. The Blueprint opens.
  4. In the Components panel, select the Static Mesh Component.
  5. In the Details panel, ensure that the following options are selected:
    • Physics > Simulate Physics
    • Collision > Simulation Generates Hit Events
  6. In the Components panel, right-click Static Mesh Component, then click Add Event > Add OnComponentHit. The Event Graph opens and the On Component Hit Event is added.

  7. Configure the Blueprint as shown in the following diagram.

    This Blueprint does several things:

    • It detects when the object collides with another object.
    • It sets the value of the Collision_Velocity RTPC based on the Vector Length of the Component Velocity, and ensures that the value exceeds a minimum threshold of 40, which ensures that minor contacts do not cause impact sounds.
    • It posts the Event to Wwise with the RTPC value, so that Wwise plays the impact sound at the appropriate volume.
  8. Click Compile and close the Blueprint.
  9. Open the BP_ThirdPersonCharacter Blueprint.

  10. In the Event Graph, add a system that spawns Actors from the Wwise Object class when you press F in the game, as demonstrated in the following image.

  11. Click Compile and close the Blueprint.
  12. In the Level Editor, click Play and then press F to create a block. When you run into it, the impact sound plays.
参照
  • From Audio File to in-game Audio in Unreal (video)


Wwise Unreal Integration Documentation: Using Distance Probes to Customize Listeners in Third-Person Games

Using Distance Probes to Customize Listeners in Third-Person Games

Before you begin this tutorial, refer to Working with Listeners in Third-Person Perspective Games for a general introduction to Distance Probe usage in Wwise.

This tutorial demonstrates how to use a Blueprint to assign a Distance Probe in Wwise. The example uses the Third Person project template, and the ThirdPersonCharacter Actor is used for the Distance Probe. The exact steps might vary depending on your project.

To use a Blueprint to assign a Distance Probe:

  1. In the Content Browser, go to Content > ThirdPerson > Bluprints and double-click BP_ThirdPersonCharacter. The Blueprint opens.
  2. On the Event Graph, right-click an empty area and add a BeginPlay Event.
  3. Right-click to add a second node, Set Distance Probe, and connect it to Event BeginPlay.

  4. Drag a pin from the Listener input parameter of Set Distance Probe, and add a Get Player Camera Manager node.

    注記： The Wwise Unreal integration automatically registers a Game Object as a default listener and attaches it to the PlayerCameraManager actor.

  5. Drag a connection from the Distance Probe input parameter, and add a Get a reference to self variable. In this context, Self refers to the ThirdPersonCharacter Actor.

  6. Use Wwise Authoring to connect to the game and confirm that the Distance Probe is set up correctly. Refer to Profiling the Distance Probe for details.


Wwise Unreal Integration Documentation: Going Further

Going Further

Integrating Wwise into your Unreal Project is only the beginning. You can also tune your integration for maximum performance and efficiency.

The following sections will instruct you on how to get the most out of your Wwise Unreal Integration.

  • UnrealのSpatial Audioチュートリアル
  • Understanding the Wwise Unreal Integration Modules


Wwise Unreal Integration Documentation: UnrealのSpatial Audioチュートリアル

UnrealのSpatial Audioチュートリアル

以下のチュートリアルで、Wwise Unreal Integrationに含まれる様々なSpatial Audio機能を取り上げています。最初のチュートリアルでは、プロジェクトの事前準備を行います。それ以外のチュートリアルは、それぞれSpatial Audioの異なる面を掘り下げていくものです。どのセクションも、ほかとは独立して読むことができます。

注記： Reflectプラグインを使うセクションで、Soundbankを生成する場合は、適切なライセンスが必要となります。
  • Spatial Audioチュートリアルの事前準備
    Spatial Audioチュートリアルの事前準備。
  • Reflect
    Reflectプラグインの概要。
  • RoomとPortal
    Spatial Audioのルームやポータルの概要。
  • Diffraction（回折）
    ディフラクションの使い方。
  • オクルージョン
    Using occlusion.
  • トランスミッション
    トランスミッションの使い方。
  • Spatial Audioのブループリントコンポーネント
    Spatial Audioコンポーネントのある、カスタムブループリントクラスの作成。
  • Reverb Parameter Estimation
    リバーブパラメータの自動推定。
  • Fit to Geometry
    Spatial Audioのポータルやボリュームを、レベルのジオメトリに自動的にフィット。
参照
  • Wwise Spatial Audioオブジェクト
  • Spatial Audioオブジェクトのブループリント関数
  • Spatial Audio SDK ドキュメンテーション


Wwise Unreal Integration Documentation: Spatial Audioチュートリアルの事前準備

Spatial Audioチュートリアルの事前準備
注記： A map with the parameters for all tutorials is available as part of the Unreal Demo Game downloadable from the Audiokinetic Launcher. マップの名前は、SpatialAudioTutorialMapです。If you want to follow along with that map, you can skip the following sections.

新しいプロジェクトを作成する

Follow the steps below in order to build your working environment.

  1. Epic Launcherから、Unrealを起動する
    1. 新しいUnreal Project C++ Blankプロジェクト（スターターコンテンツなし）を作成します。
    2. Unrealを閉じる
  2. Audiokinetic Launcherを起動する。
    1. Wwise をインストールする。
    2. Unreal Engineタブを選択する。
    3. Integrate Wwise into Projectボタンをクリックする。
    4. Open in Wwiseボタンを使ってWwiseを起動する。
    5. Open in Unrealボタンを使って、Unrealを起動する。

Wwiseプロジェクトの準備

このチュートリアルでは、Sound SFXと、それを再生するEventが必要です。

  1. Wwiseプロジェクトの中で、 Actor-Mixer HierarchyのDefault Work Unitで新しいSound SFXを作成し、サウンドを1つインポートします。

    1. General Settingsタブで、必ず Use game-defined auxiliary sends を有効にします。

    2. In the Positioning tab:

      1. Enable Listener Relative Routing
      2. Set 3D Spatialization to Position + Orientation
      3. Add an Attenuation with a Max distance of 5000.
      4. Enable Diffraction and Transmission

  2. Actor-Mixer HierarchyでこのSound SFXを右クリックし、 New Event > Play を選択します。

  3. Open the Project Settings

    1. In the Soundbanks tab, make sure Enable Auto-Defined SoudBanks is enabled.

  4. プロジェクトを保存する。
  5. Generate the SoundBanks.

Wwiseプロジェクトの準備

  1. 床と、部屋が2つある建物と、屋外の障害物を、好きな方法で作成します。SpatialAudioTutorialMapでは、建物にカスタムメッシュを使い、屋外の障害物には簡単なキューブのスタティックメッシュのコンポーネントを使いました。
  2. シーンに、エミッターを配置します:

    1. Drag the Event created in the previous section from the Wwise Browser to the Content Browser.

    2. シーンにEventをドラッグし、新しい AkAmbientSound アクターを複数、作成します。
      1. 屋外に1つ、各部屋に1つずつ、配置します。

      2. For all AkAmbientSound actors, make sure to set Refresh Interval to 0.

Here's an image of the Spatial Audio Tutorial Map.

  1. Open the Level Blueprint from the Blueprints menu.
    1. ユーザーインプットでイベントをトリガーします。
      1. Drag a newly created AkAmbientSound from the World Outliner into the Blueprint.
      2. AkAmbientSoundノードで、"Post Associated Ak Event"ファンクションを探します。
      3. Right-click the Blueprint background and search for "Left Mouse Button".
      4. Pressedアウトレットを、"Post Associated Ak Event" Execにつなげます。

    2. ほかのすべてのAkAmbientSoundアイテムで、同じ手順を繰り返します。

    3. Level Blueprintを保存し、閉じます。

設定を検証する

  1. シーンをスタートする。When pressing the respective buttons, you now hear the sounds play, spatialized in 3D.

  2. Wwise Authoringに接続し、Profilerレイアウトを開きます（ショートカットはF6）。

    1. When playing the sound outside, you see a graph similar to the following one.


Wwise Unreal Integration Documentation: Reflect

Reflect

このチュートリアルでは、Spatial Audio Geometryを使ってReflectプラグインに反射面を送ります。音響環境で音が伝播するときに感じられるアーリーリフレクションを、シミュレーションします。

注記： You need a license for Reflect to generate SoundBanks in this tutorial.
注記： このチュートリアルを始める前に、 Spatial Audioチュートリアルの事前準備 を完了させておいてください。

Wwise Project

  1. ファクトリAcoustic Textureや、アーリーリフレクションのAuxバスのプリセットにアクセスするには、Factory Acoustic TexturesとReflect Factory Assetsをインポートする必要があります。
    1. Project > Import Factory Assets... に移動します。
    2. Choose both Reflect and Acoustic Textures and press Import.
  2. ファクトリープリセットを使い、アーリーリフレクションのAuxiliary Busを作成します:
    1. Master-Mixer Hierarchyで、Master Audio Busを右クリックします。

    2. Navigate to New Child > Presets and select Simplified Early Reflection Auxiliary Bus

      1. In the Effects tab, double-click on the effect and set the Speed of Sound to 34,500

  3. Wwiseプロジェクトの準備 で作成したサウンドの、Sound SFXのSound Property Editorに移動します。

    1. General Settingsタブで、Reflect Effectのある新しいAuxiliary Busを、Early Reflectionsの下に追加します
  4. Save the project and generate Soundbanks.

Unreal Project

このプロジェクトでは、建物と、床と、障害物が、音を反射するようにします。There are two ways to do that, with an AkSpatialAudioVolume or with the AkGeometryComponent.

The AkGeometryComponent can be added to static mesh actors. スタティックメッシュのジオメトリを、スペーシャルオーディオに自動的に送ってくれるのです。また、シンプルコリジョンメッシュを送信するように設定することもできます。A sufficiently complex static mesh with an AkGeometryComponent attached can sometimes result in geometry that is too complex. これは、演算時間の観点と同時に、WwiseのSpatial Audioで使われるようなレイ（ray）ベースの音響シミュレーションテクニックが音源の波長よりもジオメトリの部品（サーフェスやエッジ）の方が格段と大きいことを前提としている点からも、複雑です。ちなみに、1000Hzの音の波長は、空中で34cmです。Instead of using the static mesh directly, an AkSpatialAudioVolume can be used to create a simple shape around the mesh (when it serves as an obstacle to reflect and obstruct sound), or within the mesh (when it serves as interior walls).

  1. In the tutorial map, the obstacle is a basic static mesh. We can easily add an AkGeometryComponent to it.

    1. このアクターをクリックし、Add Componentをクリックします。Ak Geometryを選択します。

      1. Geometryセクションで、Simple Collisionを選択します
  2. 床に対しても、同じ手順を繰り返します。

  3. SpatialAudioTutorialMapの建物は、カスタムメッシュで作られています。The shape is still basic enough to use an AkGeometryComponent, but for the sake of this tutorial, we will use an AkSpatialAudioVolume.

    1. Drag and drop three AkSpatialAudioVolumes into the scene
      1. 1つは、建物の外壁用に、建物の周りに設定します。ボリュームを、メッシュの外周に配置するので、手作業でトランスフォームする必要があります。
      2. ほかの2つは屋内の壁用に、各ルームの中に設定します。2つのルームに配置するのに、Fit To Geometryを使います。
        1. それぞれのAkSpatialAudioVolumeのDetailsパネルで、 Fit To Geometry を有効にします。
        2. もし最初の形が適していなければ、トランスフォームギズモを使って新しい場所にAkSpatialAudioVolumeを変えます。Notice that a yellow preview outline appears when translating the AkSpatialAudioVolume. 満足できる形が見つかったときにマウスボタンを離せば、AkSpatialAudioVolumeがこの場所にスナップします。
        3. For more information on placing AkSpatialAudioVolumes using Fit To Geometry, refer to Fit to Geometry.
      3. Make sure that Enable Surface Reflectors is enabled for all three AkSpatialAudioVolumes.
        1. Enable Room や、 Enable Late Reverb は、チェックなしのままとしてください。詳細は RoomとPortal で説明します。

設定を検証する

  1. シーンをスタートし、Wwise Authoringに接続します。
    1. Advanced ProfilerのVoices Graphビューに、Reflectエフェクトのある新しいAuxiliary sendが表示されます。
      1. プレイヤーの最初のポジションにおいて、屋外に配置されたサウンドを再生します。
        注記： If you play either of the sounds from the rooms while the player is outside, you do not see any Reflect sends. Also, the sound is attenuated by transmission. 建物周りや、それぞれの部屋の周りに、開口部のないAkSpatialAudioVolumesを作成したからです。You can create openings in them by modifying the brush object, or by using Spatial Audio Portals, which are covered in RoomとPortal.
      2. Before going to the next step, open the Profiler Settings view and make sure Spatial Audio is enabled.

    2. Game Object Profilerレイアウトに移動します（ショートカットはF12）。

      1. Game Object 3D Viewerに、各反射面が表示されます。
      2. When playing a sound, early reflection rays will be drawn to show where the sound is be coming from.
      3. If you can't see rays, make sure to enable Show Reflection Paths in the Game Object 3D Viewer Settings.
注記： Game Object 3D Viewerにジオメトリが表示されない場合は、Monitor Queue Pool Sizeを増やす必要があるかもしれません。 Platform Initialization Settings で設定できます。
参照
  • Reflectのドキュメンテーション
  • Using the Geometry API for Simulating Early Reflections


Wwise Unreal Integration Documentation: RoomとPortal

RoomとPortal

実際の音響環境では、閉ざされた空間からくる音は壁を透過して聞こえ、ドアや窓などの開口部からも聞こえてきます。Spatial Audioは、ルームやポータルというジオメトリのハイレベルな抽象化を使い、このエフェクトをシミュレーションします。

注記： このチュートリアルを始める前に、 Spatial Audioチュートリアルの事前準備 を完了させておいてください。

Wwise Project

  1. Wwiseプロジェクトで、各部屋に新しいAuxiliary Busを作成します。
    1. 子Auxiliary Busを追加する場所を右クリックします

    2. New Child > Presets を選択し、Room Auxiliary Busを選択します。

      1. Effectsタブで、RoomVerb Effectを調整できます。
  2. Save the project and generate SoundBanks.

Unrealプロジェクト

  1. In Unreal, drag and drop the new Auxiliary Busses from the Wwise Browser to the Content Browser.
  2. まだ別のチュートリアルでやっていなければ、建物の2つのルーム用に、2つの AkSpatialAudioVolume オブジェクトをドラッグ＆ドロップします。2つのルームに配置するのに、Fit To Geometryを使います。
    1. それぞれのAkSpatialAudioVolumeのDetailsパネルで、 Fit To Geometry を有効にします。
    2. もし最初の形が適していなければ、トランスフォームギズモを使って新しい場所にAkSpatialAudioVolumeを変えます。AkSpatialAudioVolumeを変えていくと黄色いプレビューアウトラインが表示されるので、注目してください。満足できる形が見つかったときにマウスボタンを離せば、AkSpatialAudioVolumeがこの場所にスナップします。
    3. Fit To Geometryを使ってAkSpatialAudioVolumesを配置していく方法について、詳しくは Fit to Geometry を参照してください。
      1. Enable Room と Enable Late Reverb が、2つの AkSpatialAudioVolume オブジェクトで有効になっていることを確認します。
        1. あなたが Reflect チュートリアルをやっていなければ、 Enable Surface Reflectors のチェックは外したままにしてください。
        2. In the Late Reverb Section, uncheck Auto Assign Aux Bus and drag and drop the newly imported Auxiliary Bus from the Content Browser to the Aux Bus parameter.
          注記： Auto Assign Aux Bus is discussed in Reverb Parameter Estimation

  3. 2つの AkAcousticPortal オブジェクトを追加します

    1. 建物の開口部付近に配置します。
      1. AkAcousticPortalの配置を簡単にするために、Detailsパネルの Fit To Geometry を有効にします。
      2. Fit To Geometryを有効にすると、Integrationが、周囲のジオメトリを利用してポータルの合理的な場所を見出そうとします。トランスフォームギズモを使って、AkAcousticPortalを適切な開口部の近くにドラッグすると、黄色いプレビューアウトラインが表示されます。納得のいく配置場所が見つかったら、マウスボタンを離せばAkAcousticPortalがこの場所にスナップします。
      3. Fit To Geometryを使ってAkAcousticPortalsを配置していく方法について、詳しくは Fit to Geometry を参照してください。
      4. どの戸口にもAkAcousticPortalが配置できたら、希望するクロスフェード距離になるようにスケールギズモを使って各ポータルの奥行を調整します。ポータルが（ローカルのX軸に沿って）深ければ深いほど、AkComponentがそこを通ってトランジションするときのクロスフェード距離が長くなります。これは、リバーブのセンドとスプレッドトランジションの両方に当てはまります。
    2. Select the portals and set their Initial State to Enabled in the Ak Portal Component section. In the Obstruction Occlusion section, set the Initial Occlusion and Obstruction Refresh Interval to 0.0.

注記： AkAcousticPortalの向きは、それが接続する部屋同士が、ローカルのY軸方向に沿って配置されている必要があります。ポータルを選択すると、そのポータルの周りに黄色い帯が表示され、選択対象が分かりやすくなります。黄色い線が、フロントエリアとバックエリアの間の境界線を示します。部屋同士が重なり合っている場合は、優先順位が最も高い部屋を選択します。レベルエディタでルームやポータルの作業をするときは、必ずビューポートを'realtime'に設定し、あなたがポータルを動かしたときに、ポータルの可視化が正しく更新されるようにしてください。

設定を検証する

  1. シーンをスタートして、スタート位置から動かない。ルームの中のエミッター上でイベントを再生すると、音が聞こえるはずです。

  2. Wwise Authoringに接続してから、Game Object Profilerレイアウトに移動します（ショートカットはF12）。Game Object 3D Viewerに以下が表示されます:

    1. 灰色に可視化されたルーム（AkSpatialAudioVolumeでSurface Reflectorsを有効にしていない場合）。
    2. 緑色に可視化されたポータル。
    3. ポータルのエッジを回折する音の伝播パスと、そのエッジの回折角度に基づいた回折値。
    4. ルームの壁を通過する音の伝播パスと、それに関連付けられた透過損失値。
      注記： この透過損失値は AkRoomComponent コンポーネントでルームの透過損失パラメータを変更すれば、設定できます。
    5. サウンドにスプレッドカーブがある場合は、回折パスや透過パスのスプレッドコーン。

    [fuzzy][fuzzy]

注記： Diffraction and transmission loss attenuate the sound using the Diffraction and Transmission curves in the sound's Attenuation ShareSet. When these curves are set to Use Project Obstruction/Occlusion, they use the curves in the Obstruction/Occlusion tab of the Project Settings in the Authoring application.

Portalとリバーブ

Portalから出てくるサウンドは、反響して、リスナーが現在いる部屋に入ってくることがあります。These steps show how to configure it.

  1. Wwiseプロジェクトで、

    1. Room Reverbに使うAuxiliary Busを探します。このRoomは、ほかの部屋のリバーブに送るサウンドが出ている部屋です。

      1. Auxiliary Bus Property EditorのGeneral Settingsで、Use game-defined auxiliary sendsが有効になっていることを確認します。
  2. SoundBankを生成し、シーンをスタートし、Wwise Authoringに接続します。

  3. Auxiliary sendsが有効になっているRoomでサウンドを再生してから、つながっている別のRoomに移動します。

    1. 出されたサウンドのウェット部分が、リスナーのいるRoomのリバーブにも送られることが、分かります。

ルームのトーン

部屋には、エアコンの稼働音など、特定のアンビエント音があることがあります。これを再現するために、Spatial Audio Roomというゲームオブジェクトにイベントをポストすることができます。リスナーがこのRoom（部屋）にいると、サウンドのポジションはその位置にあります。When in a different room, the listener will hear the room tone from the connecting portals and through the walls.

  1. Wwiseプロジェクトで、
    1. Room Tone用に新しいSound SFXを作成します。
      1. In the General Settings tab, enable Use game-defined aux sends if you want the sound to send to reverb.
      2. In the Positioning tab:
        1. Add an attenuation for distance attenuation, diffraction, and transmission curves.
        2. Enable Diffraction and Transmission
    2. このRoom toneでPlayイベントを作成するために、このSound SFXを右クリックし、 New Event > Play を選択します。
    3. Save the project and generate SoundBanks.

  2. Unrealで、

    1. Drag the Event created in the previous section from the Wwise Browser to the Content Browser.
    2. あなたのRoomの1つで、このイベントをAk Eventセクションの下にあるAk Audio Eventパラメータに追加します。
      1. Aux Send Levelを調整し、このサウンドの一部を、Roomのリバーブに送るように設定します。
      2. You can choose to check the Auto Post box to post the room tone event on BeginPlay, or you can call the same Blueprint functions usually used to post events on game objects.

    1. In the Spatial Audio Tutorial map, we used Blueprint functions in the Level Blueprint to activate and deactivate the room tone.

      1. World Outlinerで、Room ToneのあるAkSpatialAudioVolumeを選択してから、Level Blueprintで右クリックしてReferenceを作成します。
      2. Referenceからコネクションをドラッグし、"Post Associated Ak Event"を検索します。
      3. 同様に、Stopファンクションを検索します。
      4. インプットノードとしてKeyプレスを追加します。
  3. シーンをスタートし、Wwise Authoringに接続します。

  4. Room ToneのあるRoomまで移動し、キーを押してRoom Toneをスタートします。音が聞こえることを確認します。

    1. Advanced Profilerビューに、再生中のイベントが表示されます。
    Advanced Profilerビューの、再生中のRoom Tone

    1. 3D Game Object Viewerでリスナーを動かしながら、Roomゲームオブジェクトを観察します。

      1. リスナーがこのRoomにいると、Roomが音を出すのは、リスナーの位置からです。Roomゲームオブジェクトが、リスナーのゲームオブジェクトのあとをついていくのが分かります。
      2. リスナーが別のルームにいる場合は、
        1. 回折したサウンドの位置を示すために、ルームゲームオブジェクトがポータルに置かれ、それとリスナーゲームオブジェクトの間にパスが描写されます。
        2. ルームゲームオブジェクトが、ダイレクトパス上のルームの境界に置かれ、送信された音のポジションを示します。
        3. これら2つのポジションに、スプレッドコーンが描写されます。

      [fuzzy][fuzzy]

参照
  • Spatial Audio Rooms and Portals Documentation


Wwise Unreal Integration Documentation: Diffraction（回折）

Diffraction（回折）

エミッターとリスナーの間のライン・オブ・サイトが、障害物によってオブストラクションを受ける場合に、その周りを回るディフラクション（回折）パスをSpatial Audioで作成することができ、現実味のある音の動作をシミュレーションできます。エッジを回るディフラクションパスの角度に基づいて、音がオブストラクションを受けて減衰します。

注記： このチュートリアルを始める前に、 Spatial Audioチュートリアルの事前準備 を完了させておいてください。Most importantly, these two steps must be done.
  • In Wwise, enable Diffraction and Transmission in the Positioning tab of sounds to be diffracted.
  • In Unreal, set the Refresh Interval of AkAmbientSound to 0. This tutorial only uses the Spatial Audio diffraction and transmission loss system.

Follow these steps to set up Spatial Audio diffraction in your map.

  1. In Unreal, if not done already,
    1. Add an AkSpatialAudioVolume object around the building.
      1. Enable Surface Reflectors が有効になっていることを確認します。
      2. Geometry Settingsセクションで、 Diffraction が有効になっていることを確認します。
    2. Add an AkGeometryComponent component to the obstacle static mesh outside.
      1. GeometryセクションのDiffractionの下の、 Diffraction が有効になっていることを確認します。
  2. プレイし、Wwiseに接続します。
    1. ディフラクションが有効になっているサウンドとリスナーの間に障害物があるときに、そのサウンドが再生されると、ディフラクションを有効にしたジオメトリの周りにディフラクションエッジが表示され、ディフラクションパスが表示されます。

Demo Gameと一緒に提供されるSpatialAudioTutorialMapでは、屋外のエミッターを再生するときに屋外の障害物によって作成されるディフラクションパスが、表示されます。

Diffraction attenuates the sound using the Diffraction curves in the sound's Attenuation ShareSet. When the curves are set to Use Project Obstruction, they use the Obstruction curves in the Obstruction/Occlusion tab of the Project Settings in the Authoring application.

参照
  • Spatial Audio Diffraction
  • Using the Geometry API for Simulating Diffraction


Wwise Unreal Integration Documentation: オクルージョン

オクルージョン

基本的なオクルージョンが、 AkOcclusionObstructionService::SetOcclusionObstruction() 用に公開されています。Actorに対してオクルージョンを有効にするには、Blueprint Editorの Set Obstruction Occlusion Refresh Interval 関数を使います。UAkComponent用のバージョンも用意されています。リフレッシュ間隔を0に設定すると、オクルージョンは無効になります。

To determine whether a listener is occluded from a source, a simple line of sight check is sufficient. Use the line trace channel set in the AkComponent's properties (CollisionChannel). If the line of sight is blocked, the occlusion level calculation starts. This calculation maps the hit point on the obstacle to its bounding box and creates twelve points around the obstacle. Do additional line of sight checks to see if these secondary paths are also blocked. The occlusion sent to the SoundEngine is modulated by the number of secondary paths that are blocked.

A temporal fade method is also available for smooth transitions between occlusion levels. To change the fade speed, change the OCCLUSION_FADE_RATE constant.

Occlusion and Spatial Audio

When using Spatial Audio rooms, obstruction is set instead of occlusion. In parallel, sources perform simple line of sight checks with AkPortalComponent in the same room. These portals need to have a non-zero Obstruction Refresh Interval property. The portals also perform simple line of sight checks with other portals with a non-zero Obstruction Refresh Interval property.

参照
  • Get Collision Channel
  • AkComponent


Wwise Unreal Integration Documentation: トランスミッション

トランスミッション

エミッターとリスナーの間にオブジェクトが出現すると、音はそのオブジェクトの中を通ることができます。この現象をモデル化するために、Spatial Audioでは、音のダイレクトパスにフィルターをかけます。 AkSurfaceReflectorSetComponent や、 AkGeometryComponent や、 AkRoomComponent の各コンポーネントに、0から1までの透過損失（Transmission loss）値を適用できます。The transmission loss value is then sent to Wwise where the associated filter is applied according to the transmission curves of the sound's Attenuation ShareSet. 一般的に、設定値が1.0であれば完全な損失を意味し、設定値が0.0であれば、その音が損失なしでジオメトリを透過することを意味します。

注記： このチュートリアルを始める前に、 Spatial Audioチュートリアルの事前準備 を完了させておいてください。Most importantly, these two steps must be done.
  • In Wwise, enable Diffraction and Transmission in the Positioning tab of sounds to be diffracted.
  • In Unreal, set the Refresh Interval of AkAmbientSound to 0. This tutorial only uses the Spatial Audio diffraction system.

パスの透過損失値は、その音がエミッターからリスナーまでのダイレクトパスにおいて遭遇する、最大透過損失値です。ジオメトリまたはルームの透過損失値を選択できます。

  1. On AkSpatialAudioVolume actors,
    1. サーフェスリフレクタを有効にしてあれば、各アコースティックサーフェスに透過損失値を関連付けることができます
    2. ルームを有効にしてあれば、ルームの壁に透過損失値を関連付けることができます。
  2. On an AkGeometryComponent,
    1. 透過損失値を、Acoustic Properties Overrideセクションでオーバーライドできます
      1. コリジョンメッシュにおいて:
      2. スタティックメッシュの、マテリアルごとに:
      3. Transmission Loss（透過損失）値は、 Integration Settings の AkGeometry Surface Properties Mapで、Physical Materialごとに設定することもできます。

Transmission loss attenuates the sound using the Transmission curves in the sound's Attenuation ShareSet. When the curves are set to Use Project Occlusion, they use the Occlusion curves in the Obstruction/Occlusion tab of the Project Settings in the Authoring application.

参照
  • Spatial Audio Transmission
  • Rooms and Portal Transmission


Wwise Unreal Integration Documentation: Spatial Audioのブループリントコンポーネント

Spatial Audioのブループリントコンポーネント

これまで、ビルド済みのアクターを使ったり、個別のアクターインスタンスにコンポーネントを追加したりして、全てのものをレベルに直接つくり込んできました。スペーシャルオーディオの各種コンポーネントを使ってブループリントアクターをつくり、レベルのいたるところで複製することも可能です。このセクションでは、 Wwiseプロジェクトの準備 セクションのストラクチャの複製を、ブループリントクラスを使ってビルドし、ワールドのどこにでも簡単に追加したりスポーンしたりできるようにします。

注記： このチュートリアルを始める前に、 Spatial Audioチュートリアルの事前準備 を完了させておいてください。

ブループリントクラスを設定する

AkLateReverbComponent と AkRoomComponent は、あるゲームオブジェクトのポジションが親の PrimitiveComponent の中にあるのかどうかを確認するときに、コンテインメントテストを行います。確認にはSimpleコリジョンを使います。そこで、Simpleコリジョンのある親 PrimitiveComponent を使ってください。例えば、Boxコリジョン、Sphereコリジョン、Capsuleコリジョンなどのコンポーネントが使えます。 PrimitiveComponent にSimpleコリジョンがなければ、Component boundsをコンテインメントテストに使うだけですが、正確性は劣るかもしれません。

Unrealで、メッシュアセットにSimpleコリジョンを追加することも可能です（ Setting Up Collision With Static Meshes を参照）。ただし、戸口や開口部などのある複雑なメッシュの場合は、メッシュのコリジョン設定で'Use complex collision as simple'とする必要があるかもしれません（ Simple Vs Complex Collision を参照）。例えば、キャラクターがドアを通過してルームに入れても、そのルームの壁には衝突してしまうようにするには、この設定が必要かもしれません。この設定を使うと、Simpleコリジョンは無視され、メッシュの三角メッシュ全体が使われるので、 AkLateReverbComponent や AkRoomComponent のコンテインメントテストは、失敗します。 AkLateReverbComponent や AkRoomComponent が使うSimpleコリジョンテストは、三角メッシュに対応していません。そこでブループリントクラスの推奨設定として、 AkLateReverbComponent コンポーネントや、 AkRoomComponent を使うときは、Simpleコリジョンコンポーネントを親にします。Simpleコリジョンコンポーネントとは、Box、Sphere、Capsuleなどです。具体的なメッシュを部屋や建物に設定した場合は、Simpleコリジョンコンポーネントをこのメッシュの子コンポーネントとして追加できます。

注記： It is possible to combine complex collision with simple collision by using two versions of the mesh. See Combining Simple and Complex Collision for an explanation on how this can be achieved.
注記： We will use assets from the Unreal Demo Game available from the Wwise Launcher. To use these assets in your project, download the Unreal Demo Game and locate the wanted assets in the explorer under $<YourWwiseProjectsFolder>/WwiseDemoGame/Content. Then copy and paste the desired assets to the Content folder of your working project.
  1. コンテンツブラウザを右クリックし、 Blueprint Class を選択します。
  2. ベースクラスに Actor を選択し、この新しいクラスの名前を 'SpatialAudioBP' とします。
  3. SpatialAudioBP をダブルクリックしてこのクラスを開き、Viewportタブをクリックします。
  4. ルートコンポーネントが選択されていることを確認し、 Add Component > Static Mesh をクリックします。

  5. 新しいスタティックメッシュコンポーネントをクリックし、このメッシュをDetailsパネルで選択します。

    • この例では、 Wwiseプロジェクトの準備 セクションで使ったSpatialAudioDemoMeshを選択しました。
    • SpatialAudioDemoMeshを使う場合は、必ずMaterialsセクションで SpatialAudioDemoMeshMaterial を選択します。
    スタティックメッシュコンポーネントのMeshとMaterialsを設定する
    注記： ポータルに対するルームの自動アサインは、凸型メッシュでしか機能しません。凹型メッシュ（L字型のルームなど）の場合、ポータルとルームの正確なIntersectionができません。

  6. メッシュの中のルームや戸口に、それぞれBoxコリジョンコンポーネントを追加します。

    • このチュートリアルに出てくるBoxコリジョンコンポーネントには、BoxRoomLarge、BoxRoomSmall、BoxPortalInner、そしてBoxPortalOuterという名前を付けました。
    あなたのメッシュのルームやポータルに、Boxコリジョンコンポーネントを追加する

Boxコリジョンコンポーネントを移動する

この時点では、全てのBoxコリジョンコンポーネントが同じ場所に重ねて置いてあります。これから、ポジションを変え、拡大縮小し、回転することで、ルームやドアに揃えていきます。一番簡単な方法は、正投影のビューを使うことです。（以下の手順はSpatialAudioDemoMeshのためですが、ほかのメッシュでも同じような手順が使えます。）

注記： チュートリアルでルームやポータルと、メッシュの位置を揃えるときに、ぴったりと揃わなかったり中心が合わなかったりしても、構いません。だいたい同じ場所をカバーするようにします。本物の環境を設計する際は、DetailsパネルのTransformセクションで、正確な数値を入力できます。

  1. Viewportタブで Perspective をクリックし、ビューを Top に変えます。

    • 上からシーンを見下ろしたビューとなり、ワイヤーフレームのレンダリングが表示されます。
    正投影のTopビュー
  2. BoxRoomLarge を選択し、Y軸に沿って下に動かし、メッシュの大きいルームの中央にもってきます。

  3. BoxRoomLarge の縮尺をXY軸に沿って調整し、大きさが大きいルームの寸法に合うようにします。（スケール機能に切り替えるには、Rを押すか、Viewportタブのスケールウィジェットを選択します。）

    XY軸に沿ってLarge Roomのポジションと縮尺を調整する

  4. BoxRoomSmall を選択し、XY軸に沿って縮尺を調整し、大きさが、小さいルームの寸法に合うようにします。

    XY軸に沿ってRoomのポジションと縮尺を調整する

  5. BoxPortalInner を選択し、ワイヤーフレームにズームインし、メッシュに内側の戸口の範囲が見えるようにします。

    ワイヤーフレームメッシュで、戸口の両端を確認する

  6. BoxPortalInner を戸口の中央まで動かし、X軸に沿って縮尺を調整して戸口の両端をカバーするようにします。

    Inner Portal Boxが戸口をカバーするように、ポジションと縮尺を調整する

  7. BoxPortalOuter を選択し、ローカルのY方向が戸口の外を指すように回転させます。

    注記： 理由は、ポータルに対する「フロント」ルームと「バック」ルームが、ポータルのY方向と交差する一番近いルームを検知することで自動的に決まるからです。BoxPortalOuterの例では、「バック」側（ローカル座標空間において）が、メッシュの小ルームに接続し、「フロント」側は、接続するルームがありません。

  8. BoxPortalOuter をZ軸を中心に90度、回転させます。これは、DetailsパネルのTransformセクションにある Rotation の、Z軸のテキストボックスに'90'と入力すればできます。

    ローカルY軸がドアの外を指すように、Outer Portal Boxを回転させる
  9. BoxPortalOuter が外側のドアの上にくるように動かし、戸口の両端をカバーするように縮尺を調整します。

  10. Topビューで、下図のように全てのルームやポータルが、メッシュと揃っていることを確認します:

    Topビューで、正しく揃っているルームやポータル
  11. 次に、BoxコリジョンコンポーネントをZ軸に沿って動かし、ポジションと縮尺を調整します。Viewportタブの Top をクリックし、ビューを Back に変更します。

  12. BoxRoomLarge と BoxRoomSmall を選択し、どちらもルームの大きさに合うように、Z軸方向にスケールを調整します。

    ルームのボックスの縮尺を、Z軸に沿って調整する

  13. BoxPortalOuter と BoxPortalInner を選択し、それぞれの戸口の中まで下に動かし、Z軸方向に縮尺を調整し、それぞれのドアの大きさに合わせます。

    Z軸に沿ってPortal Boxのポジションと縮尺を調整する

ルームとポータルを設定する

次に、AkRoomコンポーネントをルームに追加し、AkPortalコンポーネントをポータルに追加します。

  1. Boxコリジョンコンポーネントを1つ1つ選択して Add Component を選択します。

  2. それぞれのBoxコリジョンコンポーネントに対し、適宜、ルームコンポーネントまたはポータルコンポーネントを作成し、親と似た名前を付けます。以下のような結果になるはずです:

    AkRoom ComponentをRoom Boxに、AkPortal ComponentをPortal Boxに追加する

    注記： 各コンポーネントを正しい親に追加するように、注意してください。例えば、大きいルームにAkRoomLargeを追加するときは、必ず BoxRoomLarge が選択されていることを確認してから、 Add Component をクリックしてください。

    AkRoomComponentやAkPortalComponentは、どのようなPrimitiveコンポーネントにも追加できる汎用コンポーネントです。詳細は、 AkRoomComponent や、 AkPortalComponent を参照してください。

  3. ポータルが正しく配置されていることを確認するために、Integration Settingsの Visualize Rooms and Portals オプションを選択します。

    Integration SettingsのVisualize Rooms and Portalsオプション

  4. 接続しているルームとポータルの間に、線が表示されます。ポータルの配置が無効であれば、赤色で表示されます。

    Viewportに表示されたポータルとルームのつながり
    注記： ポータルに接続するルームがなかったり、同じルームがポータルの内外両側に接続していたりすると、このポータルの設定は無効です。詳細は AkPortalComponent を参照してください。
  5. Integration Settingsで Visualize Rooms and Portals オプションの選択を外します。

ジオメトリとレイトリバーブを追加する

最後に、ブループリントクラスにAkGeometryとAkLateReverbの2つのコンポーネントを追加します。

  1. スタティックメッシュコンポーネントに、AkGeometryコンポーネントを追加します。

  2. BoxコリジョンコンポーネントのBoxRoomLargeに、AkLateReverbコンポーネントを追加します。

    ブループリントクラスに、AkGeometryとAkLateReverbを追加する
  3. AkLateReverb コンポーネントをクリックします。
  4. Detailsパネルで、Auxバスを LargeRoom に設定します。

設定内容を確認する

これで、ブループリントクラスを使う準備が整いました。このクラスのインスタンスを、ワールドにドラッグして入れることができます。

  1. SpatialAudioBP のインスタンスをコンテンツブラウザからスペーシャルオーディオのデモマップにドラッグします。

  2. すでにある建物の横に置きます。

    ワールドに追加された、ブループリントクラスのインスタンス
  3. Wwiseにリモート接続してEditorでプレイします。
  4. マウスをクリックし、屋外サウンドを再生します。
  5. WwiseのGame Object Profilerレイアウトで、新しいブループリントクラスのジオメトリが正しく登録されていて、このジオメトリでレイ（ray）が正しく反射されていることを確認します。

  6. レイが、新しいブループリントのストラクチャの中で、ポータルを通り抜けていることを確認します。

    Spatial Audioのパスと、新しいブループリントクラスのインスタンスが、正しく作用し合っているる様子

  7. レイトリバーブコンポーネントをテストするには、このSpatialAudioBPインスタンスの中の大きいルームに、サウンドを追加して配置する必要があります。ワールドにすでにある Play_Outside というAkAmbientSoundアクターを右クリックし、Duplicate（複製）します。

    既存のPlay_Outsideサウンドを複製する
  8. 複製の名前を 'Play_LargeRoom_BP' に変更します。（別の方法として、 Play_LargeRoom_BP をドラッグして Button_Outside の上にもっていけば、World Outliner階層にあるButton_OutsideのPlay_LargeRoom_BPを分離できます。）

  9. Play_LargeRoom_BP を、このSpatilAudioBPインスタンスの大きいルームにもっていきます。

    サウンドを大きいルーム内に配置する

  10. Level Blueprintを開き、Bキーを押したときにPlay_LargeRoom_BPサウンドを再生するための、ロジックを追加します（ Wwiseプロジェクトの準備 のステップ3を参照）。

    新しいサウンドをBキーで再生させるための、Level Blueprintのロジック
  11. Level Blueprintをコンパイルして保存します。
  12. Editorで再生します。
  13. Bを押して新しいサウンドを再生します。
  14. SpatialAudioBPの建物の大きいルームに、歩いて入ります。
    • リバーブが適用されるのが聞こえるはずです。

Combining Simple and Complex Collision

注記： This section is based on the 'SpatialAudioTutorialMap' and the assets found in the ComplexRoomDemo directory in the WwiseDemoGame project, which is available from the Audiokinetic Launcher. The pre-made mesh assets and a custom Blueprint class are used to combine simple collision and complex collision.

This section shows how simple collision and complex collision can be combined for the same mesh, such that Spatial Audio containment tests are performed using the simple collision, and Unreal queries make use of the complex collision.

For complex meshes, such as those with doorways and openings, it is sometimes necessary to 'use complex collision as simple' in the collision settings for the mesh (refer to Simple Vs Complex Collision). 例えば、キャラクターがドアを通過してルームに入れても、そのルームの壁には衝突してしまうようにするには、この設定が必要かもしれません。この設定を使うと、Simpleコリジョンは無視され、メッシュの三角メッシュ全体が使われるので、 AkLateReverbComponent や AkRoomComponent のコンテインメントテストは、失敗します。 AkLateReverbComponent や AkRoomComponent が使うSimpleコリジョンテストは、三角メッシュに対応していません。

One solution to this is to create two duplicates of the same mesh asset, using simple collision for one, and complex collision for the other. In the SpatialAudioTutorialMap, there is a complex room structure for which this technique has been used.

To begin, test out the complex room structure by playing in editor and walking around the building:

  • Open the SpatialAudioTutorialMap in Unreal.
  • Activate the 'Play in Editor' option.
  • Press 'C' to trigger the sound in the non-box-shaped building.
    The Non-Box-Shaped Room in the SpatialAudioTutorialMap
    • You can walk around the outside of the building and the sound will be occluded.

Follow along with the remainder of this tutorial to see how the building structure is set up to handle both simple collision, for Wwise Spatial Audio containment tests, and complex collision, for Unreal physics containment tests.

  • In the context browser, browse to WwiseAssets/SpatialAudioDemo/ComplexRoomDemo.

    The ComplexRoomDemo Assets in the SpatialAudioTutorialMap

This folder contains two Static Mesh assets - 'Building_Complex' and 'Building_Simple'.

  • Open each of these assets and scroll to the collision settings in the Details Panel.

You will notice that they have different values assigned to the Collision Complexity property.

The Building_Complex mesh asset
The Building_Simple mesh asset

Building_Complex has Collision Complexity set to 'Use Complex Collision As Simple' which means Unreal will not generate any simplified geometry for this mesh, and will instead use the entire trimesh. This is what allows the character to walk through the doorway opening. Building_Simple has Collision Complexity set to 'Use Simple Collision As Complex' which means Unreal will generate simplified geometry and ignore the trimesh. This is what allows Spatial Audio to perform containment tests for room containment.

注記： It is possible to set Collision Complexity to 'Simple And Complex'. However, this causes Unreal to use the simplified geometry for collision queries, which means the character cannot enter through the doorway opening. Instead, two identical meshes can be used - one with complex geometry and one with simple geometry.

The next step is to combine both meshes inside a custom Blueprint class.

  • Open the BuildingBP Blueprint.

This Blueprint uses two Static Mesh Components that are positioned right on top of one another.

Static Mesh Components in the BuildingBP Blueprint
For the StaticMesh_Complex component, the Building_Complex mesh is used
For the StaticMesh_Simple component, the Building_Simple mesh is used
StaticMesh_Simple Rendering Settings

For the StaticMesh_Simple component, 'Visible' is disabled and 'Hidden in Game' is enabled in the Rendering section. This is because this mesh is only used for its simplified geometry, so that containment tests can be made for Spatial Audio.

StaticMesh_Simple Collision Presets Settings

Also for the StaticMesh_Simple component, the Collision Presets property is set to 'Trigger'. The simplified geometry creates a barrier at the doorway opening. Using the 'Trigger' collision preset ensures the character and other game objects can freely move through the simplified geometry.

The StaticMesh_Simple Component has an AkRoom component and an AkLateReverb Component attached. This way, the simple collision of the Building_Simple mesh is used for room containment tests.

To allow for sounds to reflect and diffract on the BuildingBP's mesh, an AkGeometry Component needs to be added to one of the Static Mesh Components. In this solution, since we are also using Reverb Parameter Estimation, it is best to add it to the StaticMesh_Simple component. The AkLateReverb Component uses the Acoustic Textures of its sibling AkGeometry Component to calculate HF Damping. Setting the AkGeometry Component to Static Mesh sends the full complex geometry to Wwise Spatial Audio instead of its simple collision mesh.

Finally, a Box Collision Component with an AkPortal Component attached is used to add an acoustic portal to the doorway.

Portal in the BuildingBP Blueprint

A Point Light is also added to make the interior of the building visible.

注記： When sending geometry to Wwise, there is a limitation that each edge can have no more than two triangles connected. This should be taken into account when designing meshes to be used with Spatial Audio.
注記： When using the Game Object Profiler in Wwise, Room Extents will always be visualized as green cuboids, regardless of the geometry assigned to the room.
注記： Adding simple collision to meshes in Unreal will only work correctly when the mesh is convex. For more complex mesh structures, it is best to try to approximate the mesh using simple collision geometry. Simple collision primitives can be added to the mesh from the Collision menu in the Static Mesh editor.
Adding Collision Primitives to a Mesh Asset
Refer to Setting Up Collision With Static Meshes for further information.


Wwise Unreal Integration Documentation: Reverb Parameter Estimation

Reverb Parameter Estimation

UPrimitiveComponent にアタッチされた AkLateReverbComponent を使うときに、 UPrimitiveComponent のサイズや形に合わせてリバーブの Aux Bus を自動的にアサインするように、Wwise Unreal Integrationに指示することができます。

同様に、Wwise Unreal Integrationは UPrimitiveComponent を使って、特定のリバーブパラメータ値を推定することができ、 Driving Global Reverb RTPCs 経由でそれらを調節します。このチュートリアルでは、Global Reverb RTPCを使って、Auxバスの自動アサインや、リバーブエフェクトのParameter Estimation（パラメータ推定）を設定する方法を説明します。

注記： UPrimitiveComponent は、サイズと形を有するUnrealの汎用コンポーネントです。 UPrimitiveComponent をベースにしたコンポーネントには、コリジョンコンポーネント、ブラシコンポーネント、メッシュコンポーネントなど、多様な種類があります。詳細は Unreal Engine ドキュメンテーション を参照してください。
注記： Reverb Parameter Estimationは、 AkLateReverbComponent の機能の1つですが、 AkSpatialAudioVolume も、その中に AkLateReverbComponent が入っているので、この機能を利用することができます。
注記： このチュートリアルを始める前に、 Spatial Audioチュートリアルの事前準備 を完了させておいてください。

Auxバスの自動アサイン

Automatic Aux Bus Assignment（Auxバスの自動アサイン）は、サウンドのリバーブが一定量ディケイするのにかかる時間（秒）を推測することで機能します。これを、単純にDecayと呼んでいます。You can use the the Reverb Assignment Table chosen in the Integration Settings to determine which Decay values map to which Aux Busses.

Reverb Assignment section the Integration Settings
注記： Integration Settingsにアクセスするには、Edit > Project Settings...をクリックし、Unreal Project Settingsを開きます。次に、Unreal Project Settingsの左パネルを下にスクロールし、Wwiseセクションの Integration Settings をクリックします。

Before setting up the Decay keys in the table, we can observe the estimated Decay values for the existing reverbs in our level.

  1. SpatialAudioTutorialMapが開いていない場合は、開きます。
  2. World Outlinerで、Interior_SmallRoom AkSpatialAudioVolume をクリックします。
  3. Interior_SmallRoomのDetailsパネルで、 Auto Assign Aux Bus を有効にします。
  4. ステップ2と3を、Interior_LargeRoom AkSpatialAudioVolume で繰り返します。
Interior_SmallRoomとInterior_LargeRoomで、Auto Assign Aux Busを有効にする
注記： Auto Assign Aux Bus を有効にすると、 Aux Bus の設定がNoneになります。This is because we have not yet set up the Reverb Assignment Table.

Auto Assign Aux Bus を有効にすると、選択した AkSpatialAudioVolume の上に、ビューポートでテキスト情報が表示されます。この情報は、DetailsパネルのReverb Parameter Estimationの下にもあります。We can use these values to set up the Reverb Assignment Table.

  1. Integration Settingsを開きます。
  2. Reverb Assignment Mapセクションが展開表示されていない場合は、展開します。
    Reverb Assignment section the Integration Settings
  3. Open the Reverb Assignment Table asset.
  4. Click Add in the toolbar.
  5. Set the Decay value of this new row to 1.0 and set the Aux Bus to SmallRoom.
  6. Repeat the previous two steps to add another row with a Decay value of 2.0 for the LargeRoom Aux Bus.

With the Reverb Assignment Table set up like this, any Room with a Decay value between 0.0 and 1.0 sends to the SmallRoom Aux Bus and any Room with a Decay value between 1.0 and 2.0 sends to the LargeRoom Aux Bus. Decay values above 2.0 sends to the Default Reverb Aux Bus.

レベルに戻ってみると、適切な Aux Bus 値が、Interior_SmallRoomとInterior_LargeRoomにアサインされています。

Aux Busが自動的にアサインされる

Global Reverb RTPC

Auxバスを自動的にアサインできるほか、グローバルなReverb RTPCを使って、Wwiseのリバーブエフェクトの一部パラメータを自動的にアサインできます。この設定ができるのは、Decay、Predelay、HFDampingの3つのパラメータです。これらのパラメータを制御するRTPCの設定は、Integration Settingsで行います。

Integration SettingsのGlobal Reverb RTPC

RTPCの設定

Global Reverb RTPCを使うには、3つのRTPCをWwiseプロジェクトに追加する必要があります。

  1. Wwiseプロジェクトを開きます。
  2. Layouts > Designer をクリックするか、F5キーを押して、Designerレイアウトを開きます。
  3. Project Explorerで、Game Syncsタブをクリックします。
    Game Syncsタブを開く
  4. Decay、Predelay、HFDampingという3つの新しいゲームパラメータを追加します。
  5. 3つの新しいゲームパラメータの、Min、Max、Defaultの値を、以下に設定します:
    1. Decay - Min: 0, Max: 10, Default: 0
    2. Predelay - Min: 0, Max: 1000, Default: 0
    3. HFDamping - Min: -1, Max: 1, Default: 0
      Wwiseプロジェクトに3つの新しいRTPCを追加する
  6. Project Explorerで、Audioタブをクリックします。
  7. Master-Mixer Hierarchyの下の、SmallRoomをダブルクリックします。
    1. するとProperty Editorで、SmallRoomのAuxバスが開きます。
  8. Property Editorで、Effectsタブをクリックします。
    SmallRoom AuxバスのEffectsタブを開く
  9. Edit ボタンをクリックし、WwiseRoomVerb Effectを開きます。
  10. Effect Editorで、RTPCタブをクリックします。
  11. RTPCリストに、新しい項目として Decay Time 、 Predelay 、 HF Damping を追加します。
  12. 3つのパラメータを、以下のようにマッピングして結び付けます:
    1. Decay Time: Decay
    2. Pre delay: Predelay
    3. HF Damping: HFDamping
  13. Decayマッピングを選択し、カーブ上にポイントを1つ追加します。
  14. このポイントのX値、Y値を、ともに0.2に設定します。
    Decay RTPCのマッピング
  15. HFDampingマッピングを選択し、カーブ上にポイントを1つ追加します。
  16. このポイントのX値を0.0に、Y値を1.0に設定します。
    HFDampingのマッピング
    RTPC全3種類のマッピング
  17. リストにあるマッピングを、全て選択します。
  18. マッピング設定の1つを右クリックし、 Copy を選択します。
  19. Property Editorで、LargeRoom Auxバスを開きます。
    LargeRoomのWwise RoomVerbエフェクトのEffect Editorを開く
  20. Effectsタブをクリックします。
  21. Edit ボタンをクリックし、WwiseRoomVerbエフェクトを開きます。
  22. Effect Editorで、RTPCタブをクリックします。
  23. 空のRTPCリストの中で右クリックし、 Paste を選択します。

これで、WwiseプロジェクトにReverbパラメータを制御する3つのRTPCを設定できました。Unrealプロジェクトに戻り、これらのRTPCをGlobal Reverb RTPCとして利用します。

  1. Integration Settingsを開きます。
  2. Reverb Assignment Mapセクションが展開表示されていない場合は、展開します。
  3. RTPCsサブセクションが展開表示されていない場合は、展開します。
    Integration SettingsのGlobal Reverb RTPC
  4. 3つの新しいRTPCを、それぞれの該当するGlobal Reverb RTPCにアサインします。
    3つの新RTPCを、Global Reverb RTPCにアサインする

次に、Wwiseにリモート接続し、Editorでプレイします。小ルームと大ルームで、サウンドをトリガーさせながらWwiseのRTPCカーブを観察すると、リバーブパラメータが変更される様子が分かります。

ゲームによって決まるRTPC

同じReverb Auxバスを、異なるルームタイプに使う

Global Reverb RTPCを使えば、1つのリバーブエフェクトをレベル全体で使って、レベルのルームごとに、パラメータをダイナミックに変化させることが可能です。

  1. Wwiseプロジェクト内に、DynamicReverbという新しいAuxバスを作成します。
  2. デフォルトのエフェクトプリセットを利用して、このAuxバスにWwise RoomVerbエフェクトを追加します。
    DynamicReverbという、Wwise RoomVerbエフェクトのある新Auxバスを追加する
  3. SmallRoom AuxバスのリバーブエフェクトのRTPCマッピングを、DynamicReverb Auxバスのリバーブエフェクトにコピー＆ペーストします。
  4. Unrealプロジェクトで、Aux Bus Assignment Mapの項目を全て削除します。
    1. Environment Decay Aux Bus Map の隣の小さな削除アイコンをクリックすれば、全て削除できます。
  5. Default Reverb Aux Bus を、新しいDynamicReverb Auxバスに設定します。

これで、リモート接続してEditorでプレイすれば、Interior_SmallRoomも、Interior_LargeRoomも、DynamicReverb Auxバスを使うようになりますが、パラメータは、Global Reverb RTPCを通して各ルームに合わせて自動調整されます。

Reverb Estimationをカスタムブループリントクラスで使う

1つのAuxバスを使ったワークフローをさらに試すデモを行うために、ルーム用にカスタマイズされたブループリントクラスを1つ作成します。単純なCube型の、壁を通り抜けられる、デモ用のルームです。まず最初に、ルーム内が見えるように両面マテリアルを作成します。

  1. Content Browserで、WwiseAssets/SpatialAudioDemoフォルダまで移動します。
  2. SpatialAudioDemoMeshMaterial を右クリックし、 Duplicate を選択します。
    SpatialAudioDemoMeshMaterialの複製をつくる
  3. 新しいマテリアルインスタンスの名前を"SpatialAudioDoubleSidedMaterial"にします。
    新マテリアルインスタンスの名前をSpatialAudioDoubleSidedMaterialに変更する
  4. 新しいマテリアルインスタンスを開きます。
  5. Material Property Overrides の下の Two Sided を有効にします。
  6. マテリアルインスタンスを保存します。

デモ用のマテリアルの準備ができたので、次にブループリントクラスを作成します。

  1. Content Browserで、Blueprintsフォルダまで移動します。
  2. フォルダ内で右クリックし、 Blueprint Class を選択します。
    新しいブループリントクラスを作成する
  3. Parent Classとして Actor を選択します。
  4. 新しいブループリントの名前を"BPRoom"にします。
  5. 新しい BPRoom ブループリントクラスを開きます。
  6. Componentsパネルで、 Add Component ボタンをクリックします。
    Blueprint EditorのAdd Componentボタンで、コンポーネントを追加する
  7. Searchバーにcubeと入力し、 Cube コンポーネントを選択します。
    1. Static Mesh にCubeメッシュを選択した、Static Meshコンポーネントが作成されます。
  8. Detailsパネルの Materials の下で、 Element 0 を SpatialAudioDoubleSidedMaterial に設定します。
    CubeマテリアルをSpatialAudioDoubleSidedMaterialに設定する
  9. Componentsパネルで、Cubeコンポーネントを選択します。
  10. Add Component ボタンをクリックし、Box Collision Componentを追加します。
  11. Box コンポーネントを選択します。
  12. Add Component ボタンをクリックし、Ak Room Componentを追加します。
  13. Box コンポーネントを選択します。
  14. Add Component ボタンをクリックし、Ak Late Reverb Componentを追加します。
  15. Box コンポーネントを選択します。
  16. Add Component ボタンをクリックし、Ak Geometry Componentを追加します。

あなたのブループリントクラスのコンポーネント階層は、以下のようになるはずです:

Cube、Box、Spatial Audioのコンポーネントを設定する
  1. AkGeometry コンポーネントを選択します。
  2. Detailsパネルの Geometry の下で、 Mesh Type をSimple Collisionに設定します。
  3. Acoustic Properties Override サブセクションを展開し、 Acoustic Texture をConcreteに設定します。
    AkGeometryパラメータを設定する
  4. Componentsパネルで、 Cube コンポーネントを選択します。
  5. Add Component ボタンをクリックし、Point Lightコンポーネントを追加します。
    1. これで、ルームの中に入ったときに周りが見えます。
      CubeコンポーネントにPoint Lightを追加する
  6. Cube コンポーネントを選択します。
  7. Collision の下で、 Collision Preset を No Collision に設定します。
  8. Box コンポーネントを選択します。
  9. Collision の下で、 Collision Preset を No Collision に設定します。
    1. これで、壁を通り抜けて歩くことができます。
  10. ブループリントをコンパイルして保存します。
  11. Level Editorで、Content Browserから、BPRoomの複数のインスタンスをドラッグしてきます。
  12. これらのルームを、それぞれ違う大きさにします。

新しいルームブループリントをテストする前に、ルーム間を移動するときに再生できるサウンドを追加する必要があります。

  1. Content BrowserのBlueprintsフォルダで、 MyCharacter ブループリントを開きます。
    Content Browserに表示されたMyCharacterブループリント
  2. Componentsパネルで、Capsuleコンポーネントを選択します。
  3. Add Component ボタンをクリックし、Akコンポーネントを追加します。
    1. 単に"Ak"と表示されます。
  4. Akコンポーネントの名前を、SpatialSoundに変更します。
  5. SpatialSoundコンポーネントを選択します。
  6. Detailsパネルで、 Ak Audio Event を Play_SpatialSound に設定します。
    MyCharacterブループリントにAkコンポーネントを追加する
  7. MyCharacterブループリントの、Eventグラフを開きます。
  8. Event Graphの右下にある Event BeginPlay ノードを見つけます。
  9. 最後の Set Switch ノードからドラッグし、"post associated"と入力し始めます。
    Set SwitchノードをPostAssociatedAkEventノードにつなげる
  10. Post Associated Ak Event (SpatialSound) を選択します。
BeginPlayと同時にスペーシャルサウンドをポストするロジックを設定する

これで、いくつかのルームをこのレベルに置くことができます。

  1. レベルに、BPRoomブループリントの複数のインスタンスをドラッグします。
  2. 各ルームの大きさを変えます。
  3. 各ルームの AkGeometry コンポーネントの、Acoustic Textureを変えます。
    1. レベルにあるルームを1つ選択します。
    2. Detailsパネルで、 AkGeometry コンポーネントを選択します。
    3. Acoustic Texture を変えます。
    4. レベルの全てのBPRoomインスタンスで、これを繰り返します。
      BPRoomアクターのインスタンスごとに、アコースティックテキスチャを変更する

次に、Wwiseにリモート接続し、Editorでプレイします。スペーシャルサウンドが、すぐにトリガーされます。歩いてルームからルームへと移動していくと、適切なリバーブパラメータがサウンドに適用されます。

HFDampingの計算とアコースティックテキスチャ

HFDamping値を推定するときに、 AkLateReverbComponent は AkGeometryComponent を使って、アコースティックテキスチャを探るためのクエリを行います。前のサブセクションでは、 AkLateReverbComponent と、 AkGeometryComponent が、同じ UPrimitiveComponent を親としてもっていました。その親 UPrimitiveComponent は、Boxコンポーネントでした。このように AkLateReverbComponent に AkGeometryComponent の兄弟があるという設定では、自動的にその兄弟の AkGeometryComponent を使ってHFDampingが計算されます。ところが、もし AkGeometryComponent の親が別であれば、 AkGeometryComponent を AkLateReverbComponent に意図的に関連付ける必要があるので、AssociateAkTextureSetComponent関数を使います。この最後のセクションで、その設定を説明します。

  1. BPRoomブループリントを開きます。
  2. Componentsパネルで、 AkGeometry コンポーネントを Cube コンポーネントの上にドラッグし、マウスボタンを離します。
    1. これで、 AkGeometry コンポーネントが Box コンポーネントでなく、 Cube コンポーネントにアタッチされます。
  3. AkGeometry コンポーネントを選択します。
  4. Detailsパネルの Geometry の下で、 Mesh Type をStatic Meshに設定します。
  5. ＋ボタンを使い、 Acoustic Properties Override に項目を追加します。
    Acoustic Properties Overridesリストに、Materialを1つ追加する
  6. マテリアルを SpatialAudioDoubleSidedMaterial に設定します。
  7. マテリアル横のドロップダウン矢印をクリックし、 Acoustic Texture をConcreteに設定します。
    AkGeometryパラメータを設定する
  8. このブループリントのEventグラフを開きます。
  9. Even BeginPlay ノードの実行ピンをクリックしてドラッグします。
  10. Searchバーに"associate"と入力します。
  11. Associate Ak Texture Set Component (AkLateReverb) を選択します。
  12. Componentsパネルの、 AkGeometry コンポーネントを、Texture Setコンポーネントのピンの上にドラッグし、マウスボタンを離します。
BeginPlay関数の設定

これで、Wwiseにリモート接続してEditorでプレイし、HFDamping値が正しく更新されているかをテストできます。このようなセットアップで、複数のマテリアルを設定したスタティックメッシュに、マテリアルをアコースティックテキスチャにマッピングする AkGeometryComponent をアタッチできます。そして、この AkGeometryComponent と AkLateReverbComponent を関連付けて、テキスチャによってHFDamping値を決めることができます。


Wwise Unreal Integration Documentation: Fit to Geometry

Fit to Geometry

To facilitate quick and accurate placement of AkAcousticPortal and AkSpatialAudioVolume actors, the Wwise Unreal integration is able to detect surrounding static mesh geometry in a scene and determine the appropriate size and location of the portals and volumes within the scene. Fit to Geometryは、複数の典型的なルーム、窓、ドア形状に対応しています。This section gives an overview of how to use Fit To Geometry for AkAcousticPortal and AkSpatialAudioVolume actors.

注記： このチュートリアルを始める前に、 Spatial Audioチュートリアルの事前準備 を完了させておいてください。

注記： Fit To Geometryが正しく機能するように、Viewport Optionsで Realtime を有効にしてください。

Viewport OptionsでRealtimeを有効にする

Fit To Geometry の前提条件

  • Select the desired default collision channel inside the Integration Settings. Fit To Geometry機能は、Unreal Engineを使ってレイトレーシングを行いますが、レイが、周囲のスタティックメッシュジオメトリと交差する必要があります。Therefore, the collision channel must correspond with the collision parameters of the static mesh that the AkAcousticPortal and AkSpatialAudioVolume actors are placed within.
  • If desired, individual AkAcousticPortal and AkSpatialAudioVolume actors can override the default collision channel and choose a different one. This setting is found in the Details panel for both AkAcousticPortal and AkSpatialAudioVolume actors.
  • If automatic Surface Property assignment is desired, set up the Geometry Surface Properties Table in the Integration Settings. 詳細は Automatically Assigning Surface Properties to AkSpatialAudioVolumes を参照してください。
注記： Fit To Geometry機能をAkAcousticPortalアクターやAkSpatialAudioVolumeアクターで使えるのは、レベルエディタのビューポート内だけです。ブループリントエディタのビューポート内で使うことはできず、先ほどのアクター内にある個々のコンポーネント、つまりAkPortalComponent、AkSurfaceReflectorSet、AkRoomComponent、AkLateReverbに対しては、使えません。

Fit To Geometryを使い、AkSpatialAudioVolumeを配置する

  • Fit To Geometryの処理は、まずAkSpatialAudioVolumeのDetailsパネルでこのオプションを有効にしたときに実行されます。オプションを有効にしたあとは、トランスフォームギズモを使ってボリュームを新しい場所に変換するたびに実行されます。
  • トランスレーションギズモをドラッグすると、黄色いプレビューアウトラインが描写され、そのAkSpatialAudioVolumeが、ワールドの特定場所にどのようにフィットするかの目安が表示されます。希望するフィットが見つかるまでボリュームをドラッグしてから、マウスを離せば、このAkSpatialAudioVolumeのブラシのボリュームが更新されます。なお、Fit To Geometryの操作を実行しても、AkSpatialAudioVolumeアクターのトランスフォームは変更されず、子ブラシコンポーネントだけが変更されます。
  • Fit To Geometryでは、アクターの原点から外に向かって、壁を探索するかのように球状に発せられるレイを、何本か追っていくことで成り立ちます。レイが面にヒットしたポイントは、緑色で表示されます（ヒットを無視する場合は、そのポイントは赤色です）。It can be useful to take note of where the rays hit to make sense of the resulting shape, to make sure that the correct collision channel is being used, and lastly, to make sure the correct properties are assigned to the resulting surfaces.
  • 3種類の形に対応していますが、形のタイプは、AkSpatialAudioVolumeのDetailsパネルで選択します。
    1. Oriented Box - 箱型の、任意のオリエンテーションのルーム。ボックスのオリエンテーションは、Fit To Geometryの操作中に自動的に判断されます。ボックスの形は、全ての緑のヒットポイントが中に収まるような、（ボリュームが）最小限のボックスを探して計算されます。
    2. Aligned Box - 箱型の、オリエンテーションが固定されたルーム。ボックスのオリエンテーションは、ユーザーが指定します。オリエンテーションを変えるには、トランスフォームギズモを使ってAkSpatialAudioVolumeを回転させます。Aligned Boxの形は、複数の障害物があるような箱型のエリアにボリュームをフィットさせたいときに、Oriented Boxの形では不揃いになってしまうような場合に便利で、ほかにも壁と壁の間の屋外のエリアや、細道などにボックスをフィットさせたい場合にも便利です。
      • 場合によって、複数のレイトレーシングの結果、ボリュームがゼロであるAkSpatialAudioVolumeが出されることがあります。例えばヒットポイントが全て、同じ平面上にあったときなどです。そのときは、ボックスのアウトラインが赤色に点滅し、ボックスの形が更新されません。画面の左下にエラーメッセージが表示されます。この問題を解決するには、AkSpatialAudioVolumeの場所を変えて、もう一度試してみてください。
    3. Convex Polyhedron - 完全に閉ざされた、凸面の多面体の形のルーム。これが最も複雑な形で、配置時にエラーが起きやすいかもしれませんが、壁が平行でないルームなど、箱型でないルームにボリュームをフィットさせたいときなどに、時間を節約できます。なお、ルームは必ず凸面（convex）の完全に閉ざされた形状とし、開いた壁や天井などがあってはいけません。
      • 場合によって、特定の場所から発せられるレイトレーシングだけでは、閉ざされた凸面の形が見つからないことがあります。そのときは、多面体のアウトラインが赤色に点滅し、多面体の形が更新されず、画面の左下にエラーメッセージが表示されます。この問題を解決するには、AkSpatialAudioVolumeの場所を変えて、もう一度試してみてください。
  • レイキャストのヒットポイントを対象に、AkSpatialAudioVolumeのDetailsパネルにあるスライダーを使ってフィルターをかけることができます。
    • 内部で、レイが長さ順に並べられ、そのうち短い方の何パーセントを計算に取り込むのかを、スライダーで設定します。
      • 例えば、スライダーを0.75に設定すると、フィット処理にレイの短い方から75が適用され、長い方から25が無視されます。
    • レイのヒットポイントのうち、計算に含まれたものは緑色、フィルターで計算から外されたものは赤色で表示されます。
    • ヒットポイントをフィルターにかける操作は、一部のレイが窓やドアから逃れるために、それらのレイのヒットポイントが原因でエラーが起きている場合などに、便利です。
    • ヒットポイントにフィルターをかけることはAligned Boxのときにおそらく一番役に立ち、理由は、レイのヒットポイントの数を減らしてもオリエンテーションの判定エラーが出ない（Aligned Boxのオリエンテーションが固定されている）ためですが、レイのフィルターは、どの形状でも使えます。

Automatically Assigning Surface Properties to AkSpatialAudioVolumes

  • Surface Properties (that is Acoustic textures and Transmission Loss values) are automatically assigned to the surfaces of the AkSpatialAudioVolume based on the collision results of the ray traces performed by Fit To Geometry, and the acoustic material mapping defined in the Geometry Surface Properties Table chosen in the Integration Settings.
    • Since the result of a ray trace in the Unreal Engine yields a physical material, the table maps each physical material to surface properties.
    • AkSpatialAudioVolumeの結果としてつくられた面に、複数のレイがヒットする可能性が高く、それぞれのレイのヒットが、異なる物理マテリアルを返すこともあります。The physical material with the most hits is chosen.
    • It is possible that some rays will hit undesirable surfaces that are not representative of the properties of the resulting AkSpatialAudioVolume surface. For example, a drywall surface may have a wooden trim in some areas, but using 'drywall' for the acoustic texture representation makes more sense than 'wood' for the wall as a whole. ほとんどの場合、広い面のテキスチャに当たるヒットポイントの方が多くなり、適切なテキスチャがアサインされるはずです。If not, try translating the AkSpatialAudioVolume slightly so that the hit points move slightly, or if desired results are still not achieved, the acoustic texture can be manually assigned in the Details panel for the AkSurfaceReflectorSet component.
  • It is necessary to create the desired mapping between physical materials and surface properties in the Geometry Surface Properties Table before using Fit To Geometry on an AkSpatialAudioVolume. If you change the material mapping after fitting an AkSpatialAudioVolume, its properties are not updated.
注記： Fit To Geometryでは、スタティックメッシュの個々の三角を見つけるためにUnreal EngineのComplexコリジョンを使うので、Static Meshアクターの、'Phys Material Override'プロパティにアサインされている物理マテリアルを取得することができません。This property only applies to simple collision, and will not be mapped to Surface Properties.

Fit To Geometryを使ってAkAcousticPortalを配置する

  • AkSpatialAudioVolumeのときと同様に、Fit To Geometryの処理は、AkAcousticPortalのDetailsパネルで、このオプションを有効にしてから実行できます。オプションを有効にしたあとは、トランスフォームギズモを使ってこのアクターを新しい場所に変換するたびに実行されます。 -トランスレーションギズモをドラッグすると、黄色いプレビューアウトラインが描写され、そのAkAcousticPortalが、ワールドの特定場所にどのようにフィットするかの目安が表示されます。希望するフィットが見つかるまでアクターをドラッグしてから、マウスを離せば、このAkAcousticPortalが更新されます。
  • Fit To Geometryは、アクターの原点から数本のレイをトレーシングすることで機能し、窓や戸口を求めて、外に向かって球状に発せられます。窓や戸口らしきものを発見すると、その面法線の方向に第2のレイを発して、窓枠または戸枠の、反対面を検知しようとします。
  • ポータルは、はっきりとした「枠」があり、内向きの垂直な面がある場合に限り、ポータルとして検知されます。
左はAkAcousticPortalが検知するような開口部で、右の開口部はメッシュが薄すぎるため、検知されない。
  • 検知される開口部の大きさを制限するには、Detailsパネルの中にある Detection Radius プロパティを使います。一般的な目安として、この値を、検知しようとする開口部よりは大きく、ルーム全体の寸法よりは小さく設定します。
    • デフォルト値は500なので、単位としてセンチメートルを使い、窓やドアの開口部が平均的な大きさのUnrealプロジェクトは、だいたいこれでうまくいきます。あなたのスタティックメッシュの寸法に合わせて、必要に応じて設定値を調節してください。
    • もし Detection Radius が開口部より小さければ、そのポータルは検知されません。
    • もし Detection Radius が大きすぎれば、ルームの幅全体を覆うようなポータルが、誤って検知されてしまうかもしれません。
  • Collision Channel プロパティで決められたFit To Geometryのレイトレースと、コリジョンを起こしてしまうような固体のドアや窓が、ポータルにあってはいけません。それが存在すると、開口部が検知されません。開口部に窓やドアがある場合は、別のコリジョンプロファイルを使うか、Hを押してメッシュを無視させて、窓やドアが隠れるようにします。

Fit To Geometryの使い方のコツ

  • レベルのAkAcousticPortalアクターやAkSpatialAudioVolumeアクターを簡単に増やすには、まず1つのアクターでFit To Geometryを有効にし、次に、このアクターのトランスレーションギズモをAltを押しながらドラッグしてアクターのコピーを作成し、そのアクターがレベル内の別の場所にフィットするようにします。
  • もし家具、プロップ、電灯など、特定のスタティックメッシュアクターがFit To Geometryで実行されるレイトレースを妨害して誤った結果を引き起こしていれば、それらのアクターを隠す（Hを押下）ことで、Fit To Geometryのレイトレースがこれらを無視します。


Wwise Unreal Integration Documentation: Understanding the Wwise Unreal Integration Modules

Understanding the Wwise Unreal Integration Modules

The following modules are available for you to customize the Wwise Unreal Integration to suit your workflow.

Wwise Sound Engine Runtime Modules:

  • AkAudio Module
    The root module for most of the Integration’s user-facing features. Unless you want to customize your integration, there is generally no need to look beyond this module.
  • Wwise Module
    A simple module that links to all of the other optional modules.
  • WwiseSoundEngine Module
    At the lowest level, provides the bridging between the Wwise Sound Engine libraries and the Unreal project.
  • WwiseFileHandler Module
    Provides the Wwise Sound Engine with the media, SoundBanks, and external sources it needs, including handling requests from the Wwise Location Resolver and I/O Hook.
  • WwiseResourceLoader Module
    At a higher level, handles all Wwise object types and makes sure to properly interface with the WwiseFileHandler Module to load and unload the files for these Wwise objects. Uncooked Project and Editor Modules:
  • WwiseProjectDatabase Module
    Provides a memory-based database view of the current state of the Wwise project’s generated SoundBanks.
  • WwiseResourceCooker Module
    Converts Wwise Object Info structures to Cooked structures for the WwiseResourceLoader and copies a requested object’s files from the GeneratedSoundBanks to the Staging directory of the packaging process. Optional Modules:
  • WwiseSimpleExternalSourceManager Module
    A minimal External Source Manager implementation used in our internal testing, as well as in some of our projects, such as the Wwise Demo Game.
  • AkAudioMixer Module
    Allows a project to pipe the audio output, as well as audio submixes, from Unreal audio components to a Wwise project’s mixer.


Wwise Unreal Integration Documentation: Wwise Module

Wwise Module

The Wwise module is a simple module that contains links to all of the other permanent modules. It is therefore easy to add a reference to the Wwise module in the project's Build.cs file, instead of references to each of the other modules.

The Wwise module also contains the compiled code of the optional modules and handles their initialization as well. For example, the AudioLink Runtime module is actually compiled and embedded within the Wwise module. Because of this module structure, the Wwise plug-in and its optional modules can be properly embedded as an Engine plug-in.

WwiseHelper Build Object

To add module dependencies, we recommend that you set them up individually in the project's module if possible. It is possible to add direct access to one of Wwise plug-in's related modules, but doing so adds complexity and potential difficulty during upgrades, for example.

Instead of adding dependencies individually, we recommend that the project's module call:

WwiseHelper.AddDependencies(this, Target);

This call adds all dependencies from the other modules.

WwiseHelper as an Engine Plug-In

It is not possible to include the WwiseHelper when it is part of the Engine plug-in. However, because it is a standalone file, you can copy it to the final project along with the other Build.cs files and use its contents. It is your responsibility to update its contents whenever a new version of the Wwise plug-in is released.


Wwise Unreal Integration Documentation: WwiseSoundEngine Module

WwiseSoundEngine Module

Static Sound Engine Bridging

The WwiseSoundEngine Module contains the Wwise Sound Engine API interface, as well as various bundled plug-ins.

Most of the functions in the Wwise Sound Engine are bridged at the lowest level possible. In order to call any Wwise Sound Engine API, you must call them through the bridge:

auto* SoundEngine = IWwiseSoundEngineAPI::Get();
if (UNLIKELY(!SoundEngine)) return;
注意： Do not use any AK:: or ak:: functions directly. It can cause linker errors, instability, or a crash.

Prior to Wwise 2022.1, it was necessary to make all AK::SoundEngine calls from AkAudioDevice from within the AkAudio module. While this is no longer necessary, that legacy approach remains possible. It might be preferable in some cases because it provides more functionality to user code, including converting from Unreal classes to Wwise native types, alongside Blueprintable operations.

There is a second module, WwiseSoundEngine_2022_1, that contains the bridging code from the WwiseSoundEngine interface to the actual Wwise 2022.1 Sound Engine API.

Global Callbacks

The Integration includes a Global Callbacks singleton feature. This allows games and tools to leverage the Sound Engine’s AkGlobalCallback. For a description of the callbacks, refer to AkCallbackType in the Wwise SDK documentation.

For each callback, the following functions are available:

  • <Location>Async: The least expensive method, where the callback is executed as soon as a Task Graph thread is available. You must make sure the callback follows the best practices for multithreaded code.
  • <Location>Sync: The fastest, most reactive method, but also the most risky. It executes the callback in the Sound Engine threads, potentially causing slowdowns and audio glitching. You also need to be mindful of the limitations of threads created external to the Unreal thread pools. They don’t have the same Unreal thread-local data, the stack size is different, and the priority might be different. In other words, use at your own risk!
  • <Location>Game: The preferred method for user interface tasks, where the callback must be executed on the Game Thread.

Each function has its own uses; none is perfect for all scenarios.


Wwise Unreal Integration Documentation: WwiseFileHandler Module

WwiseFileHandler Module

The WwiseFileHandler module prepares and handles all External Sources, media, and SoundBank files. It preloads, loads, and streams files, but the module itself doesn't check for any dependencies in the relevant files.

Each file is handled as an individual object that is only opened once, and its usage is tracked independently through a File State. After a File State is made available to one of the three managers described below, the corresponding file is optionally made available to the Sound Engine I/O Hook and Sound Engine File Location Resolver.

The WwiseFileHandler requires the WwiseResourceLoader to register the file first alongside its options as a File State. Then, the file becomes accessible to the Sound Engine’s File Location Resolver.

Because of the metadata stored in the GeneratedSoundBanks folder and cooked with assets as packaging information, the WwiseResourceLoader Module can determine which resources are required, and the WwiseFileHandler provides all the File States prior to loading a resource that might require it.

File States

A File State declares a known file to the WwiseFileHandler module. Using the Load and Unload operations, a file is presented to the WwiseFileHandler, which determines whether it was already loaded and will be ref-counted. As long as there is a user for the file, its File State is kept alive.

Every new operation related to each File State is run in its respective Execution Queue, where the queued operations are run asynchronously, but sequentially. Due to the asynchronous nature of the File State, there are two levels for each File State: the public asynchronous methods and the protected synchronous methods. Each public method is merely a wrapper that pushes an operation to its Execution Queue.

Three main states are available: Closed, Opened, and Loaded. Although the definition of each state is somewhat arbitrary, they can be loosely defined as follows:

  • Closed: The file can be safely deleted. It doesn’t have any resources in use by the system other than a small amount of memory.
  • Opened: The defining file operation is done. The file was opened and potentially read in memory, either partially or fully. In the case of streamed media, the file is open and the required amount of preloaded data is cached. In the case of media residing in memory, the file was opened, fully read, and closed; the available pointer is its Opened state.
  • Loaded: The defining Sound Engine operation is done. The Sound Engine is either aware of the file, or it has been made available. For example, in the case of streamed media, the file is available for the I/O Hook to read its contents. In the case of a media file loaded in memory, its data was sent to the Sound Engine through a SetMedia operation. Similarly, in the case of a SoundBank, its data was processed through the LoadBank method family.

There are also intermediate File States that indicate a transition towards one of the main File States.

Since the operations are asynchronous and can be lengthy, multiple operations might be waiting for the same file to load, in which case only one will make the forward trip, and all of the others will wait for the operation to be completed before returning the status. For example, in a User-Defined SoundBank containing 12 different Events, all 12 Events might request the same SoundBank to be loaded, in which case the Events only proceed when that SoundBank is loaded.

When Unloading, special care is taken in the case of lengthy audio operations. For example, an AK Convolution Reverb file with a long reverberation tail cannot be unloaded until the resonation is finished. Or an unstopped looped media might never stop. These operations might remain in a transient state for multiple seconds.

Additionally, while the reverb’s tail is being processed, there's a chance the same file is requested, for example, while gathering resources for a new map that coincidentally requires the same media. Instead of being stuck in the Unloading state, the state is changed to Reloading, the unloading operation is canceled as soon as possible, and then the state is returned to Loaded.

Sound Engine I/O Hook and Sound Engine File Location Resolver

The Sound Engine I/O Hook and Sound Engine File Location Resolver work together to handle the lifetime of a streamed asset. First, the File Location Resolver asks the WwiseFileHandler to open a file. Then, once it’s open, the I/O Hook requests that the WwiseFileHandler fulfills its asynchronous Read requests for the open file as needed.

Opening a file through the Resolver involves the following steps:

  1. Look up the File State map based on the passed Short ID.
  2. Ask the File State to acknowledge a new streaming request, which might change its state depending on the File State algorithm.
  3. Return the result to the Sound Engine.

In a typical game, this can all be done in less than a millisecond, but it can be considered lengthy nonetheless. However, since the File States are already open and ready for use, additional system I/O operations might not be necessary.

After the file is opened for streaming, the I/O Hook’s asynchronous Read operations are processed through another dedicated Execution Queue, which handles those Read operations exclusively. The goal of that queue is to be efficient and reactive, and eventually batch the Read operations in an optimized manner. It also provides the Close operation for the streamed media, ensuring the Close operation is performed after any pending Read operations.

Like every Sound Engine callback, these are called in a thread that’s not owned by Unreal. They don’t have the same Unreal thread-local data, the stack size is different, and the priority might be different. Because of this, many Unreal operations will fail, such as Stats gathering.

Filename-Based Location Resolver

Most Open operations in the Location Resolver are performed based on a Short ID stored in the various maps.

Opening files based on a file pathname is not supported by the Integration. The Integration only opens files based on Short IDs. However, there are cases when a file could be opened by the Sound Engine based on a file pathname. For example, some algorithms, such as the XML Error Translator, ask for the "SoundBanks.xml" file. Another case is when the Sound Engine is writing files. This is usually done for logging purposes in debug and profile builds.

SoundBank and Media Managers

The SoundBank Manager provides the LoadSoundBank and UnloadSoundBank operations, while the Media Manager provides the LoadMedia and UnloadMedia operations. These two managers track which File States are created and send the information to the Location Resolver when a File State is requested for streaming purposes.

Both work asynchronously through the same Execution Queue pattern. Since the File State creation process is relatively efficient, there is generally little delay when executing several operations simultaneously. However, the callback might take more time to execute since the file must be in a state adequate for its usage, including its Sound Engine loading or unloading.

External Source Manager

The External Source Manager (refer to External Sourcesの使用) manages File States for External Sources. It is designed to be overridden by a user-developed module that implements a data model to track External Source media dependencies. The Wwise Simple External Source Manager is an example that uses Data Tables (.csv files) to map the External Sources to their corresponding media.

The manager provides a supplemental, editor-only operation for cooking that the user can override to properly stage External Source files. With this approach, users don't have to override the WwiseResourceCooker Module only to support their External Source Manager implementations.

Because the posted Events must include the External Sources they use when they are posted, the Integration automatically queries the External Source Manager for this information at the appropriate time. Refer to Using the Wwise Simple External Source Manager for details.


Wwise Unreal Integration Documentation: WwiseResourceLoader Module

WwiseResourceLoader Module

One level above the WwiseFileHandler Module, the WwiseResourceLoader module handles Wwise project assets and their dependencies. Similar to the WwiseFileHandler, the two primary operations performed by the WwiseResourceLoader are loading and unloading various resources. However, the WwiseResourceLoader preforms these operations for all asset types.

For example, an Aux Bus can be associated with one SoundBank. It might also be dependent on another Aux Bus that's associated with a different SoundBank. Furthermore, it can be associated with media files as required by various Effect plug-ins. All of these SoundBanks and media files must be loaded before you can use the Aux Bus. When the WwiseResourceLoader receives a request to load the Aux Bus, the WwiseFileHandler will load all of these resources.

Events and Switch Container Resources

The most complex Wwise object to load is the foundation of Wwise actions: Events. A Wwise Event can contain all sorts of other types of Wwise objects. It can require external sources to be prepared and multiple mandatory SoundBanks and media files to be loaded. It might also have all these dependencies nested inside a Switch Container hierarchy. Moreover, AkAudioEvent assets have the LoadOnReference option, which only loads Switch Container resources when the combination of associated Switches and States is currently loaded in the map. This optimization is disabled by default but can save memory when used with large Switch Container hierarchies.

For example, a Play Footsteps Event using a Switch Container dependent on a ground material Switch, only loads sounds for the Switches in the currently loaded map. In addition, multiple layers of Switch Containers can exist, such as a high-quality version available only through a DLC, or dynamically selected conditions, such as the kind of footwear, the weight of the character, or their speed. Depending on these conditions, it’s possible to have a very complex hierarchy of Switch Containers, all of which can be loaded or not at any given time.

In the Integration, Switch Container Leaves help to organize these conditions, where each leaf represents a set of potential conditions (Switches and States) and the associated SoundBanks, media, and external sources that must be loaded when the conditions are met.

Although Group Values, such as Switches and States, can be included in a project as assets and packaged in deployed games, it is still possible to set them programmatically by directly calling methods exposed in the Sound Engine. In this case, when using the LoadOnReference option, it's important to send that information to the WwiseResourceLoader before setting a Group Value, so it can prepare to load the potential files. For example, code that sets the entire application to High Quality would need to inform the WwiseResourceLoader to consider that Group Value as set. It is possible to provide this data programmatically for Switches, States, and Game Parameters structures even when cooked.

参照
  • Optimizing Memory Usage with Reference-Loaded Switch Containers

Changing Language

If the application language changes, the WwiseResourceLoader reloads localized assets. This lengthy process unloads all localized SoundBanks and media and then loads the equivalent resources for the new language. During this operation, the affected assets are temporarily unavailable and could cause errors if posted.


Wwise Unreal Integration Documentation: WwiseProjectDatabase Module

WwiseProjectDatabase Module

The WwiseProjectDatabase module is available to uncooked projects, including in the Editor. This module provides a memory-based database view of the current state of the Wwise project’s generated SoundBanks. Every value and piece of information available in the JSON metadata files produced when generating SoundBanks is accessible in the Project Database. This view is purely informative and only changes when the generated files are updated. References to structures in the database are thread-safe, even when a new database version is loaded asynchronously.

There are two representations of information in the database:

  • The Metadata structures provide the raw information from the JSON files.
  • The Ref classes allow access to the neighboring information related to the metadata.

Metadata Structures

The Metadata structures are defined exactly like the JSON files that describe the generated SoundBanks metadata. No context is provided and there are few convenience tools. With very few exceptions, the member names in these structures are identical to those in the JSON files.

For the file definition itself, you start from a WwiseMetadataRootFile object that defines the kind of optional root objects the file can declare. Then, the structures expose the different inner objects and values that can occur.

After they are loaded in memory, these structures present a clear image of the generated SoundBanks in a compact and efficient form.

Only one copy of this information is kept in memory in FWwiseRootDataStructure and FWwisePlatformDataStructure JSON files.

Ref Classes

The Ref classes define each metadata object again but through a description of how to locate the necessary metadata. This class is helpful because the metadata in the generated SoundBanks is written with very little information duplication and instead uses references to various data structures. Therefore, Events have a media list referencing them by ID, but the metadata for that media, such as the file location, is defined in the higher-level SoundBank metadata.

For example, to point towards an Event’s Switch Container value, a Ref class keeps a shared pointer copy to the file’s root and contains directions to locate the Switch Container. The directions would be something like: this file, in the SoundBanks structure, the 1st SoundBank, the 4th declared Event, the 3rd declared Switch Container.

This is illustrated by the following code samples:

struct WWISEPROJECTDATABASE_API FWwiseMetadataMediaAttributes : public FWwiseMetadataMediaReference
{
FName Language;
bool bStreaming;
EWwiseMetadataMediaLocation Location;
bool bUsingReferenceLanguage;
uint32 Align;
bool bDeviceMemory;
FWwiseMetadataMediaAttributes(FWwiseMetadataLoader& Loader);
private:
static EWwiseMetadataMediaLocation LocationFromString(const FName& LocationString);
};
struct WWISEPROJECTDATABASE_API FWwiseMetadataMedia : public FWwiseMetadataMediaAttributes
{
FName ShortName;
FName Path;
FName CachePath;
uint32 PrefetchSize;
FWwiseMetadataMedia(FWwiseMetadataLoader& Loader);
};

and this example media:

"Media": [
{
"Id": "274591330",
"Language": "English(US)",
"Streaming": "false",
"Location": "Loose",
"ShortName": "Hello.wav",
"Path": "Media/English(US)/27/274591330.wem",
"CachePath": "Voices/English(US)/Hello_10C4C929.wem"
}

In essence, the Ref classes provide context. Hence, you can get the Switch Container information, and you can also get information about the class parents: the Event, the SoundBank, and the file.

Some referred types mandate supplemental information. For example, the Platform Information has its information split into two complementary files: the ProjectInfo.json and the PlatformInfo.json, so the platform Ref naturally contains two different structures. Similarly, some other referred types might reside in multiple locations, and the Ref class attempts to accommodate these particularities.

Finally, the Ref classes provide additional utilities. If you pass the necessary global maps, you can get supplemental information alongside the Ref classes that are included inside that particular Wwise object. For example, you can ask for the media requested in a particular Event’s definition, and it will return the media as Refs.

Because the Ref information is declared as the base and derived structs, in a Switch Container, you can request all of the Event’s Switch Container values and get the siblings simultaneously. The same is true for other types of information contained in Events.

AnyRef Class

At a higher level, the AnyRef class holds a pointer towards any kind of Ref structure. It contains the type and a shared pointer. There are limited operations available at the AnyRef level, such as retrieving the object’s Short ID, its GUID, and its name. For everything else, you can ask to cast the boxed Ref object to its type. It can point toward a Null object, so the AnyRef type is not a reference but a pointer to a Ref object.

Accessing Information: WwiseProjectDatabase and WwiseDataStructure

The WwiseProjectDatabase module handles queries through its accessing methods. You can, for example, ask for all known SoundBanks or one particular SoundBank. The data itself is kept in its DataStructure member.

Inside the Data structure, there are two structures:

  • The Root structure contains basic information for each platform for a particular project’s structure:
    • The Platform list, which includes all available platforms for a project, even if they aren’t loaded.
    • The Language list
  • The Platforms structure map contains all of the project’s information per platform.

Typically, only one platform is loaded in the WwiseProjectDatabase at one time for cooking and packaging purposes; however, it is possible to load more than one platform.

注記： While working with your project’s Unreal Editor on a Mac, only the Mac platform must be loaded.

The Data structure’s structs contain:

  • A list of all loaded file names in the GeneratedPlatformFiles property.
  • One unique copy of each parsed JSON file in the JsonFiles property.
  • Refs for each accessible piece of data.

In addition, the Data structure allows templated accesses through functions such as GetRef.


Wwise Unreal Integration Documentation: WwiseResourceCooker Module

WwiseResourceCooker Module

The WwiseResourceCooker module provides the following functionalities:

  • Converts WwiseObjectInfo structures to cooked structures for the WwiseResourceLoader Module.
  • Copies requested objects’ files from the GeneratedSoundBanks to the Staging directory used by the packaging process.
参照
  • Content Cooking in Unreal Engine Documentation

Preparing Cooked Data for Wwise Objects

Starting with a WwiseObjectInfo structure that identifies a specific Wwise object, the WwiseResourceCooker gathers all the information from the Project Database related to that Wwise object and returns a "cooked" data structure containing that information.

For a SoundBank or media file, this is a simple operation since these are the building blocks, and they each represent an individual file. External sources are also relatively simple, but since they are expected to be user-defined, their complexity is unknown. That said, the default resulting cooked data only has the cookie as non-debugging information.

Some cooked data only contains a Short ID. Much like external sources with their cookie, the Short ID is the only required information in the cooked data of Triggers, Game Parameters (RTPCs), and Acoustic Textures. Similarly, Switches and States only require the identifier of the group they are a part of and the value they represent.

Other objects, such as Auxiliary Busses and Effect ShareSets, can be a little more complicated. The most complex is the Event, which can have multiple required media, SoundBanks, external sources, Aux Busses, and many optional Switch Container elements.

Default Instantiation versus Platform Instantiations

The WwiseResourceCooker has a default instantiation used in the Editor and uncooked projects. This instantiation is used for Play in Editor mode and provides cooked data on demand when the Wwise assets are loaded in the Editor. This data is similar to the cooked data that is serialized in Wwise assets in the packaged game. The only difference is that Editor cooked data uses resource files (.bnk and .wem) directly in the GeneratedSoundBanks folder. In contrast, packaged cooked data uses resource files that were packaged with the game.

When packaging, an external cooking process is usually spawned and is only responsible for cooking a specific platform. For example, on a Mac computer, where the default instantiation would be for the Mac platform, it is possible to instantiate an Android WwiseResourceCooker to package an Android game.

Since loading the Project Database for a platform can be time-consuming, only required platforms are loaded for each cooking process. Generally, this means only one platform is loaded in the Project Database. However, there can be multiple loaded platforms if the same process is cooking multiple platforms or if cooking is being run directly within the editor process.

From Cooking Wwise Resources to Staging

Based on internally cached cooked data, all required files are copied from the GeneratedSoundBanks to the Staging directory. Media and SoundBanks represent individual files. External sources are user-defined since the cookie doesn't represent a file. Other objects represent more than one file. For example, the Init Bank, which is technically a SoundBank, can also require external media files, so cooking the Init Bank also copies its media files.

Cooking Options

The following cooking options are available for packaged games.

ExportDebugNameRule

When cooking for the default instance (in Editor), each cooked asset has a debug name that contains the complete Wwise Object Path, making it easy to identify assets while debugging.

When you build a packaged game, the ExportDebugNameRule determines whether the debug name field of each asset is populated or left empty. Leaving these fields empty reduces the file size and makes it easier to reverse engineer; however, it also makes it harder to debug since only the assets' Short IDs can be used to identify the corresponding Wwise objects in the cooked data.

LoadOnReference

You can enable the LoadOnReference option on AkAudioEvent assets. When enabled, based on the current set of loaded Switches and States, only the required SoundBanks and media are loaded. Loading and unloading Switches or States, in turn, dynamically loads and unloads the associated resources. With the option disabled, when an Event that contains Switch Containers is loaded, all SoundBanks and media used by those Switch Containers are loaded.

When this option is enabled, the cooking process prepares an Event’s cooked data to support this dynamic loading of resources. When disabled, the cooked data loads all the resources with the Event.

You can enable this option on a per-asset basis.

注記： Enabling this option adds a lot of complexity and requires a clear understanding of the feature, especially if the project sets Switches and States programmatically. In most cases, the optimization provided by the option is not sufficient to outweigh these disadvantages.
参照
  • Optimizing Memory Usage with Reference-Loaded Switch Containers


Wwise Unreal Integration Documentation: リリースノート 2023.1.0.8367.2849

リリースノート 2023.1.0.8367.2849

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2023.1.0.8367.2849版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。 Upgrading Projects to Wwise 2023.1

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.27、5.1、5.2、5.3です。Unreal Engine 5.3を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • APIの変更
  • 動作の変更
  • パフォーマンスの変更
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正
  • ドキュメントの改善

新機能

  • WG-53296 このインテグレーションでは、 DebugおよびDebugGame Unrealの設定でWwise Debug SoundEngineがサポートされるようになりました。
  • WG-58405（Spatial Audio）Room内のリージョンをモデル化するReverb Zoneを追加しました。このReverb Zoneはリバーブ効果を向上させる一方で、Portalが隣接するRoomにこのReverb Zoneを接続する必要はありません。カバーエリア、オーバーパス、パティオなどのオープンスペースをモデル化する際に便利です。
  • WG-62866 UnrealとGenerated SoundBanks間でアセットを簡単に同期できるようにWwise Reconcileコマンドレットを追加しました。
  • WG-63596 Wwise SoundEngine 2023.1向けのWwise IntegrationsがWwise SoundEngine 2022.1と下位互換性を持つようになりました。
  • WG-65226 3Dビューアにトランジションゾーンを表示するオプションを追加しました。
  • WG-66632 Wwise SoundEngineのStaticCRT Windowビルドがデフォルトで使用されるようになりました。
  • WG-68016 WwiseResourceLoaderのユニットテストを追加しました。
  • WG-68279 Added function to confirm that code is being executed in a particular ExecutionQueue.

APIの変更

  • WG-64048（Spatial Audio）1つのエミッターから発することができるゲーム定義AUXセンドの上限を設定できるように、AkSpatialAudioInitSettings::uMaxEmitterRoomAuxSendsを追加しました。
  • WG-65130（Spatial Audio）AkGeometryParams::EnableTrianglesを削除し、AkGeometryInstanceParams::UseForReflectionAndDiffractionに置き換えました。
  • WG-66244（Spatial Audio） AkGeometryInstanceParams::RoomIDの使用が非推奨になったため、今後のバージョンではこのパラメータが削除されます。RoomIDを使用せず、デフォルト値（-1）のままにすることを推奨します。

動作の変更

  • WG-61307 UnrealオブストラクションおよびオクルージョンサービスがAK::SpatialAudio::SetGameObjectToPortalObstructionとAK::SpatialAudio::SetPortalToPortalObstructionのAPI機能をサポートするようになりました。エミッターとリスナーのゲームオブジェクトが異なるSpatial Audioルームに配置されると、同じルーム内のエミッターとポータル間、同じルーム内のリスナーとポータル間、および同じルーム内のポータル間でオブストラクションおよびオクルージョンチェックが実行されます。新しいパラメータPortal OcclusionがUnreal Portal Componentsに追加されました。このパラメータを指定すると、AK::SpatialAudio::SetPortalObstructionAndOcclusion機能を搭載したポータルにオクルージョン値が適用されます。ドアの開閉に対応したサウンドの調整に使用できます。Unrealオブストラクションおよびオクルージョンサービスが独立したモジュール（WwiseObstructionOcclusion）に移動しました。これにより、ユーザ自身が必要に応じてサービスを切り替えることができます。

パフォーマンスの変更

  • WG-67286 The integration now uses TTask and basic Unreal threads for most task usage on Unreal 5.1 and later.

その他の変更

  • WG-62759 RoomsとPortals Visualizationのトグル設定がUser Settingsの下に配置されました。
  • WG-65309 Spatial Audio Unrealのユーザインターフェースとツールチップを改善しました。
  • WG-66557 Unreal Engine 4.27に対するサポートを終了しました。 Unreal Engine 5.1以降を使用してください。

バグ修正

  • WG-63820 修正済み：レベルストリーミング中に、ポータルを開く/閉じるをコールすると、UnrealがUpdateConnectedRoomsでクラッシュします。
  • WG-64283 修正済み：リバーブ予測サービスのEstimateHFDamping()機能が、HF Dampingの定義と一致しない誤った値を返します。
  • WG-64362 修正済み：Spatial Audio Volume名が変更されてもConnected Portalの前面/背面ルーム名が更新されません。
  • WG-64529 修正済み：更新間隔にマイナスの値が設定されることがあります。
  • WG-65139 修正済み：Spatial Audio API機能のSetDiffractionOrder、 SetMaxEmitterRoomAuxSends、 SetNumberOfPrimaryRays、 SetLoadBalancingSpreadがUnreal Blueprintsに対して公開されません。
  • WG-66779 修正済み：作成したゲームでAuto Assign Aux Busを使用してAkLateReverbComponentのT60 Decayを計算する時に、FAkReverbDescriptorでアサートが発生します。
  • WG-67317 修正済み：Unrealのヌルポインタが、Ak EventのないRoomのPost-associated AkEventでクラッシュします。.
  • WG-67343 修正済み：Wwise BrowserおよびReconcileダイアログに孤立アセットが一度に1つしか表示されません。
  • WG-67418 修正済み：レベルを別のレベル内に追加した後にやり直しアクションを実行すると、Unrealがクラッシュします。
  • WG-67848 修正済み：Fit To Geometryが、ヒットしたサーフェスの物理マテリアルに応じてSpatial Audio Volumeのジオメトリプロパティを変更しません。
  • WG-68315 Fixed: Wwise Unreal plugin fails to build in Server mode.
  • WG-68516 Fixed: Renamed items appear twice in the Wwise Browser.
  • WG-68554 Fixed: Crash when SoundBanks are not generated, and then WAAPI is connected and generates SoundBanks multiple times.

コミュニティで報告されたバグの修正

  • WG-60975 修正済み：（Spatial Audio）複数のポータルが配置されたルームに入ると、突然パンニングが変化します。
  • WG-61552 修正済み：DefaultGame.iniがSpatial Audioアセットのデータベースとして使用されます。
  • WG-63321 修正済み：Building Unrealサーバでログエラーが発生し、パッケージングに失敗します。
  • WG-65717 修正済み：レイキャストが値を返さない場合に、UAkSurfaceReflectorSetComponent::AssignAcousticTexturesFromSamples()がデフォルト値を割り当てません。
  • WG-66785 修正済み：パッケージングされたUnrealゲームにおいて、RoomおよびPortalの動的トランスフォームが更新されません。
  • WG-67619 修正済み：Resource Loaderの競合状態が原因でクラッシュします。
  • WG-67950 修正済み：Portalコンポーネントで生ポインタが使用されるとクラッシュします。
  • WG-68029 修正済み： FWwiseExecutionQueueでstd::atomicを使用すると、特定の条件下でデッドロックが発生します。
  • WG-68102 Fixed: Crash on UE 4.27 due to resource loading and unloading.
  • WG-68115 Fixed: Quickly reopening a streamed file causes "Could not open file for asset loading" error.
  • WG-68216 修正済み：Switch Container Leafのリロードやアンロードの条件が原因でクラッシュします。
  • WG-68380 Fixed: VisualCPP generates incorrect warnings in certain unit tests.

ドキュメントの改善

  • WG-66140 プロファイリングに関する情報を Testing with Multiple Play In Editor and Wwise Instances に追加しました。
  • WG-67709 AudioLinkのデフォルトプロパティの設定、および個々のUnrealオーディオアセットでのプロパティの上書きに関する情報を Combining Unreal 5 and Wwise Audio with AudioLink に追加しました。


Wwise Unreal Integration Documentation: Upgrading Projects to Wwise 2023.1

Upgrading Projects to Wwise 2023.1

Spatial Audio

Integration Settings

Before 23.1, Spatial Audio used the Integration Settings to store look up tables. They were then saved in the DefaultGame.ini file. Some of them could be modified by the user or by asset changes in the project, which often made the DefaultGame.ini file dirty.

AcousticTextureParamsMap This array previously stored the absorption values of all the acoustic textures of the project. It has been removed from DefaultGame.ini and made private.

AkGeometryMap This array previously associated the Physical Materials of the project with Acoustic Textures and Transmission Loss values. It has been replaced by a Data Table asset of row type FWwiseGeometrySurfacePropertiesRow. When updating to 23.1, a new asset is created, the contents of AkGeometryMap are moved into it, and the new asset is associated with the Integration Setting's Geometry Surface Properties Table property. A new "Verify and Update" button has been added to remove invalid rows.

EnvironmentDecayAuxBusMap This array previously associated Reverb Decay values with Reverb Auxiliary Busses. It has been replaced by a Data Table asset of row type FWwiseDecayAuxBusRow. When updating to 23.1, a new asset is created, the contents of EnvironmentDecayAuxBusMap are moved into it, and the new asset is associated with the Integration Settings's Reverb Assignment Table property.

Reverb Estimation Service

Before 23.1, the reverb estimation service in Unreal estimated the decay of a room with a Global Decay Absorption value defined in the Project Settings. It now uses the absorption values of the room's textures to estimate this decay. Expect a change in decay value for rooms that have specified acoustic textures. If no textures are specified for a room, then the Global Decay Absorption value is used.

Continuous Ray Casting

Spatial Audio uses a raytracing engine to efficiently evaluate reflection and diffraction paths. In the previous version of Wwise, when the emitter or listener movement exceeded a predefined threshold (see the Movement Threshold Spatial Audio Setting), a number of rays were cast, and the reflection and diffraction paths were recalculated. The combination of the ray casts with the recalculation increased the load on the frame, which caused CPU peaks. In Wwise 2023.1, rays are continuously cast on each frame until a recalculation is triggered. This helps spread the load of ray casting over several frames, which prevents CPU peaks.

For this reason, the default value of the Number Of Primary Rays Spatial Audio Setting has been lowered from 100 to 35. Make sure you re-evaluate the preferred number of primary rays for your project after migrating.

Watertight Geometry

In 23.1, we have introduced new Spatial Audio features that require the Geometry of Rooms to be watertight in order to calculate containment and proximity to transition regions. This means that there can be no holes in the Geometry; every edge connects exactly two triangles. When a Room is sent to Spatial Audio, the Room's Geometry is searched for boundary edges. If any boundary edges are found, the Geometry is not watertight and an error message appears.

If the Room is a Reverb Zone, its Geometry must be watertight. If you encounter the error message, fix the Geometry by looking for holes and boundary edges. Any hole can be covered by a surface with a Transmission Loss value of 0. If there are no apparent holes, look for boundary edges caused by overlapping edges or surfaces.

Note that it is also important to have a watertight Geometry if you depend on Spatial Audio to do room containment. However, the Unreal integration does not use this feature by default. In any other scenario, you can disregard the error message.

Deprecation

The following functions, blueprint nodes and properties were deprecated in the 2022.1.0 Unreal Integration and were removed in the 2023.1.0 Unreal Integration:

Removed Functions

  • FAkAudioInputManager:
    • PostAudioInputEvent: EventName parameter has been removed.
  • UAkComponent:
    • PostAkEvent: EventName parameter has been removed.
    • PostAkEventAndWaitForEnd: EventName parameter has been removed.
    • PostAkEventByIdWithCallback: Use PostAkEvent instead.
    • PostAkEventByNameWithDelegate: Use PostAkEvent instead.
    • PostAssociatedAkEventAndWaitForEndAsync: Use PostAkEventAndWaitForEnd instead.
    • UseEarlyReflections
  • UAkGameObject:
    • PostAkEvent: EventName parameter has been removed.
    • PostAkEventAsyncByEvent: Use PostAkEvent instead.
    • PostAkEventByNameWithDelegate: Use PostAkEvent instead.
    • GetRTPCValue
  • FAkAudioDevice:
    • PostAkAudioEventOnActor: Use UAkAudioEvent::PostOnActor instead.
    • PostAkAudioEventOnComponent: Use UAkAudioEvent::PostOnComponent instead.
    • PostEventOnActor: Use UAkAudioEvent::PostOnActor instead.
    • PostEventOnGameObjectID: Use UAkAudioEvent::PostOnGameObjectID instead.
    • PostEventOnActorWithLatentAction: Use UAkAudioEvent::PostOnActor instead.
    • PostEventOnComponentWithLatentAction: Use UAkAudioEvent::PostOnComponent instead.
    • PostEventOnAkComponent: Use UAkAudioEvent::PostOnComponent instead.
    • PostEventOnAkGameObject: Use UAkAudioEvent::PostOnAkGameObject instead.
    • PostAkAudioEventAtLocation: Use UAkAudioEvent::PostAtLocation instead.
    • PostAkAudioEventAtLocationAsync: Use UAkAudioEvent::PostAtLocation instead.
    • PostAkAudioEventOnActorAsync: Use UAkAudioEvent::PostOnActor instead.
    • PostAkAudioEventOnAkGameObjectAsync: Use UAkAudioEvent::PostOnAkGameObject instead.
    • PostAkAudioEventWithLatentActionOnActorAsync: Use UAkAudioEvent::PostOnActor instead.
    • PostAkAudioEventWithLatentActionOnAkComponentAsync: Use UAkAudioEvent::PostOnComponent instead.
    • ExecuteActionOnEvent: Use UAkAudioEvent::ExecuteAction instead.
    • ExecuteActionOnPlayingID: Use UAkAudioEvent::ExecuteAction instead.

Removed Blueprint Nodes

  • PostAndWaitForEndOfEventAsync: Use PostAndWaitForEndOfEvent or UAkAudioEvent::PostOnActorAndWait instead.
  • PostEventByName: Use PostEvent or UAkAudioEvent::PostOnActor instead.
  • PostEventAtLocationByName: Use UAkAudioEvent::PostAtLocation instead.
  • PostEventAtLocation: EventName parameter has been removed.
  • ExecuteActionOnEvent: Use UAkAudioEvent::ExecuteAction instead.
  • UseEarlyReflections
  • ClearBanks
  • LoadBankByName
  • UnloadBankByName

Removed Properties

  • UAkComponent:
    • EarlyReflectionOrder
    • EarlyReflectionMaxPathLength
    • roomReverbAuxBusGain
    • diffractionMaxEdges
    • diffractionMaxPaths
    • diffractionMaxPathLength
  • UAkGameObject:
    • EventName


Wwise Unreal Integration Documentation: 以前のリリースノート

以前のリリースノート

次のセクションには、以前のリリースで行われたインテグレーションへの変更点をあげています。

  • Release Notes 2022.1.8.8316.2811
  • リリースノート 2022.1.7.8290.2779
  • リリースノート 2022.1.6.8263.2748
  • リリースノート 2022.1.5.8242.2714
  • リリースノート 2022.1.4.8200.2650
  • リリースノート 2022.1.3.8179.2621
  • リリースノート 2022.1.2.8150.2588
  • リリースノート 2022.1.1.8100.2529
  • リリースノート 2022.1.0.8070.2495
  • Release Notes 2021.1.14.8108.2656
  • リリースノート 2021.1.13.8036.2580
  • リリースノート 2021.1.12.7973.2505
  • リリースノート 2021.1.11.7933.2437
  • リリースノート 2021.1.10.7883.2350
  • リリースノート 2021.1.9.7847.2311
  • リリースノート 2021.1.8.7831.2285
  • リリースノート 2021.1.7.7796.2228
  • リリースノート 2021.1.6.7774.2201
  • リリースノート 2021.1.5.7749.2171
  • リリースノート 2021.1.4.7707.2130
  • リリースノート 2021.1.3.7665.2079
  • リリースノート 2021.1.2.7629.2025
  • リリースノート 2021.1.1.7601.1995
  • リリースノート 2021.1.0.7575.1956
  • リリースノート 2019.2.15.7667.2164
  • リリースノート 2019.2.14.7616.2082
  • リリースノート 2019.2.13.7577.2037
  • リリースノート 2019.2.12.7544.1988
  • リリースノート 2019.2.11.7512.1949
  • リリースノート 2019.2.10.7490.1917
  • リリースノート 2019.2.9.7459.1876
  • リリースノート 2019.2.8.7432.1840
  • リリースノート 2019.2.7.7402.1803
  • リリースノート 2019.2.6.7381.1779
  • リリースノート 2019.2.5.7349.1747
  • リリースノート 2019.2.4.7329.1721
  • リリースノート 2019.2.3.7304.1690
  • リリースノート 2019.2.2.7275.1661
  • リリースノート 2019.2.1.7250.1621
  • リリースノート 2019.2.0.7216.1583
  • リリースノート 2019.1.11.7296.1702
  • リリースノート 2019.1.10.7250.1643
  • リリースノート 2019.1.9.7221.1609
  • リリースノート 2019.1.8.7173.1554
  • Release Notes 2019.1.7.7135.1513
  • リリースノート 2019.1.6.7110.1478
  • リリースノート 2019.1.5.7093.1459
  • リリースノート 2019.1.4.7065.1430
  • リリースノート 2019.1.3.7048.1409
  • リリースノート 2019.1.2.7018.1378
  • リリースノート 2019.1.1.6977.1336
  • リリースノート 2019.1.0.6947.1305
  • リリースノート 2019.1.0.6947.1299
  • リリースノート 2018.1.7.6880.1266
  • リリースノート 2018.1.6.6858.1242
  • リリースノート 2018.1.5.6835.1218
  • リリースノート 2018.1.4.6807.1189
  • リリースノート 2018.1.3.6784.1177
  • リリースノート 2018.1.3.6784.1153
  • リリースノート 2018.1.2.6762.1124
  • リリースノート 2018.1.1.6727.1082
  • リリースノート 2018.1.0.6714.1065
  • リリースノート 2017.2.9.6726.1089
  • リリースノート 2017.2.8.6698.1053
  • リリースノート 2017.2.7.6667.1010
  • リリースノート 2017.2.6.6636.979
  • リリースノート 2017.2.5.6619.962
  • リリースノート 2017.2.4.6590.933
  • リリースノート 2017.2.3.6575.917
  • リリースノート 2017.2.2.6553.895
  • リリースノート 2017.2.1.6524.866
  • リリースノート 2017.2.0.6500.836
  • リリースノート 2017.1.9.6501.856
  • リリースノート 2017.1.8.6488.843
  • リリースノート 2017.1.7.6467.822
  • リリースノート 2017.1.6.6446.801
  • リリースノート 2017.1.5.6429.783
  • リリースノート 2017.1.4.6407.760
  • リリースノート 2017.1.3.6377.732
  • リリースノート 2017.1.3.6377.715
  • リリースノート 2017.1.2.6361.696
  • リリースノート 2017.1.1.6340.673
  • リリースノート 2017.1.0.6302.628
  • リリースノート 2016.2.6.6153.513
  • リリースノート 2016.2.5.6121.484
  • リリースノート 2016.2.5.6121.471
  • リリースノート 2016.2.4.6098.451
  • リリースノート 2016.2.3.6077.435
  • リリースノート 2016.2.3.6077.422
  • リリースノート 2016.2.2.6022.371
  • リリースノート 2016.2.2.6022.359
  • リリースノート 2016.2.1.5995.317
  • リリースノート 2016.2.0.5972.301
  • リリースノート 2016.2.0.5972.274
  • リリースノート 2016.1.6
  • リリースノート 2016.1.5
  • リリースノート 2016.1.4
  • リリースノート 2016.1.3
  • リリースノート 2016.1.2
  • リリースノート 2016.1.1
  • リリースノート 2016.1.0 (UE4.12のアップデート)
  • リリースノート 2016.1.0
  • リリースノート 2015.1.7
  • Unreal Engine 4.11 - Wwise 2015.1.6
  • Unreal Engine 4.10 - Wwise 2015.1.4
  • Unreal Engine 4.9 - Wwise 2015.1.2
  • Unreal Engine 4.8 - Wwise 2015.1.0
  • Unreal Engine 4.8 - Wwise 2014.1.5
  • Unreal Engine 4.7 - Wwise 2014.1.3
  • Unreal Engine 4.6 - Wwise 2014.1.1
  • Unreal Engine 4.5 - Wwise 2014.1
  • 2014年8月　- Wwise v2014.1
  • 2014年8月 - Wwise v2013.2.9
  • 2014年7月 - Wwise v2013.2.9
  • 2014年6月 - Wwise v2013.2.8
  • 2014年4月 - Wwise v2013.2.7
  • 2014年3月 - Wwise v2013.2.6
  • 2014年1月 - Wwise v2013.2.5
  • 2013年12月 - Wwise v2013.2.4
  • 2013年10月 - Wwise v2013.2.1
  • 2013年9月 - Wwise v2013.2.1
  • 2013年8月 - Wwise v2013.2
  • 2013年7月 - Wwise v2013.1.1
  • 2013年6月 - Wwise v2013.1.1
  • 2013年5月 - Wwise v2013.1.1
  • 2013年3月 - Wwise v2013.1


Wwise Unreal Integration Documentation: Release Notes 2022.1.8.8316.2811

Release Notes 2022.1.8.8316.2811

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。Here is what has changed in the 2022.1.8.8316.2811 release of the integration (in addition to upgrading to the new Unreal build).

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.27、5.1、5.2、5.3です。Unreal Engine 5.3を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • バグ修正
  • コミュニティで報告されたバグの修正
  • ドキュメントの改善

新機能

  • WG-67296 Unreal Engine 5.3対応を追加しました。

バグ修正

  • WG-54758 Fixed: Audio spike in left channel when exiting Play in Editor mode.
  • WG-60554 修正済み：Root Output Path Overrideを使用した場合、ログや警告がありません。
  • WG-61529 修正済み：(Spatial Audio) 三角形化（triangulate）し、ストレッチ（stretch）した後に、元に戻した場合（undo）、Spatial Audio VolumeのAcoustic Texture面のマッピングが並べ替えられることがあります。
  • WG-63041 修正済み：Root Output Path設定のツールチップがありません。
  • WG-63174 修正済み：AkLateReverbコンポーネントを使用するBlueprintアクターに、未割り当てのAUXバスの警告が表示されます。
  • WG-64028 修正済み：アクションの取り消しや、やり直しの際、Geometry Surfaces Detailsのユーザインターフェースが更新されません。
  • WG-64107 修正済み：サウンドバンクを生成した時に、Wwiseブラウザが更新されません。
  • WG-64764 修正済み：Unreal EditorをLinuxでコンパイルした時に、エラーや警告が発生します。
  • WG-65312 修正済み：Wwiseデモゲーム内にある例で、非推奨の関数が使用されています。
  • WG-67304 修正済み：ロード段階でUnreal Editorがフリーズします。
  • WG-67466 修正済み：AKライブラリは、UnrealBuildTool（UBT）のビルドスクリプトで決定論的にソートされていません。

コミュニティで報告されたバグの修正

  • WG-64458 修正済み：Generated SoundBanksの警告を表示中にUnreal Editorを閉じた場合、クラッシュします。
  • WG-66614 修正済み：Query API関数GetListenerSpatialization()が、誤ってAkGameObjectIDではなくリスナーインデックスを取得します。
  • WG-66848 修正済み：リソースの非同期アンロードを終了させる時にデストラクタではなくUnrealのFinishDestroyを使用するため、ハングまたはクラッシュが発生します。
  • WG-66881 修正済み：アクターなしのコールバックでPostEventを呼び出した場合、クラッシュします。
  • WG-67270 修正済み：すべてのサウンドバンクメタデータファイルSoundBanksInfo.(xml|json)において、生成されなかったUser-definedサウンドバンクの"Hash"フィールドが欠如しています。
  • WG-67357 修正済み：古いアセットがWwise Browserに2回表示されることがあります。
  • WG-67362 修正済み：Wwise Browserを接続した状態で1つのProject Explorerから選択した場合、すべてのProject Explorerが更新されます。
  • WG-67370 修正済み：実行キューは、ワーカースレッドの停止中にポストされたタスクを無視します。

ドキュメントの改善

  • WG-65255 Added some information about CSV file usage to WwiseFileHandler Module.
  • WG-66811 Added details about the directory structure used in asset reconciliation to Reconciling Wwise UAssets.


Wwise Unreal Integration Documentation: リリースノート 2022.1.7.8290.2779

リリースノート 2022.1.7.8290.2779

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2022.1.7.8290.2779版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.27、5.1、5.2です。Unreal Engine 5.2を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-64936 WwiseFileHandler、WwiseResourceLoader、およびWwiseSimpleExternalSourceに対して、Unreal Insightsの対象となるイベントが追加されました。

その他の変更

  • WG-66408 AkAudioMixerがUE 5.3でサポートされるようになりました。
  • WG-66582 バスやAUXバスのサウンドバンクメタデータにAttenuation Max Distanceを追加しました。

バグ修正

  • WG-64677 修正済み：(macOS) AudioLinkを使いUnrealサウンドを選択した後にアニメーションウィンドウを閉じた時、クラッシュすることがあります。
  • WG-65000 修正済み：(Spatial Audio) 反射は、複数の一致する面で反射すると不安定になり、閉じたジオメトリから漏れる場合があります。
  • WG-66583 修正済み：Wwiseでコピー＆ペーストしてもWwise Browserの内容は更新されません。
  • WG-66638 修正済み：Reconcile処理によりアセットパスの最大長を超過するアセットが作成されることがあります。
  • WG-66661 修正済み：(Spatial Audio) Box Collisionに置かれたLate Reverbコンポーネントのボリュームに誤りがあります。
  • WG-66672 修正済み：サウンドバンクのロードに失敗するとサウンドエンジンでクラッシュする可能性があります。
  • WG-66673 修正済み：ガベージコレクションを行うとInit Bankがアンロードされる場合があります。.
  • WG-66720 修正済み：UE 4.27では、Wwise Reconcileコマンドレットを実行するとすべてのUAssetsが削除されます。
  • WG-66776 修正済み：古いWwiseNameのアセットを正しく一致させることはできません。
  • WG-66805 修正済み：AudioLinkを使用してはいけない場合に使用すると、"No Initial Submix" がログに記録されます。

コミュニティで報告されたバグの修正

  • WG-57358 修正済み：Editorリスナーはアニメーションモンタージュビューポートではカメラに追随しません。
  • WG-63861 修正済み：Unrealの "Generated Sound Banks Folder User Override" 設定名は、Wwise Authoring名の "Root Output Path" と一致しません。
  • WG-64181 修正済み：Unreal EngineがインストールされたビルドでビルドするとNull Wwiseプラットフォームエラーが発生します
  • WG-64211 修正済み：Wwise AudioLinkは開始時にサウンドを再生せず、Set Linkは再生中のサウンドを停止します。
  • WG-65769 修正済み：Unrealによるガベージコレクション中にUAkComponent::UnregisterGameObjectでクラッシュが発生します。
  • WG-66665 修正済み： FWwiseFileCacheHandle::RemoveRequestInFlight と FWwiseExecutionQueue でクラッシュが発生します。
  • WG-66840 修正済み：Wwise 2022.1のマイナーバージョンにアップデートすると、プラットフォームに関連するフォルダが削除されます。


Wwise Unreal Integration Documentation: リリースノート 2022.1.6.8263.2748

リリースノート 2022.1.6.8263.2748

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2022.1.6.8263.2748版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.27、5.1、5.2です。Unreal Engine 5.2を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • 動作の変更
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-62841 Unrealアセットと生成されたサウンドバンクを容易に同期できるようになりました。詳細は Reconciling Wwise UAssets ページを参照。
  • WG-65812 Wwise SoundEngineではなくNullのSoundEngineが使用される理由をログで記録するようになりました。
  • WG-66200 リリース前のUnreal 5.3のための基本となるコンパイルのサポートを追加しました。
  • WG-66220 メモリ関連のstatsをすべてWwise/WwiseMemory statの下にまとめました。Wwise SoundEngine Reservedメモリ統計も追加しました。

動作の変更

  • WG-64598 リリース対象外のビルドにAK_ENABLE_ASSERTSが追加されました。
  • WG-64601 AssertHookは、WwiseSoundEngineのWwiseAssertHook関数に移動しました。

その他の変更

  • WG-66542 Unreal WwiseインテグレーションにはAudiokinetic Launcher 2023.1.1以降が必要なりました。

バグ修正

  • WG-60465 修正済み：iOS、tvOS、およびSwitchでは、Wwiseプラグインを見つけて登録することができません。
  • WG-61013 修正済み：Visualize Rooms and Portalsユーザ設定を有効にした場合、ポータルのフロントルームとバックルームの名前が表示されません。
  • WG-66131 修正済み：WAAPI接続なしでWwise Browserを開くと、ログスパムが発生します。
  • WG-66136 修正済み：GetAkAudioTypeUserDataにNullオブジェクトを提供した場合、クラッシュします。
  • WG-66189 修正済み：Wwise Browserでほかのフォルダと同じ名前のフォルダを選択すると、間違ったフォルダが選択される場合があります。
  • WG-66232 修正済み：I/O Hook OpenがWrite操作のためのコールバックを誤って2回コールした時に、フリーズまたはクラッシュする可能性があります。
  • WG-66429 修正済み：無効または欠落したWwiseファイルをロードした場合、それらが内部的にリファレンスされる状態が維持されます。
  • WG-66466 修正済み：アセット名をWwiseのアイテムと同じ名前に変更した場合、Wwise Browserで誤った関連付けがされます。
  • WG-66472 修正済み：Platform SoundBanksの完全なパスが見つからない場合、それはログに記録されません。
  • WG-66474 修正済み：WwiseプロジェクトにJSONファイルがない場合、ログが充分な情報を提供しません。

コミュニティで報告されたバグの修正

  • WG-60514 修正済み：要求されたフレームサイズがAkAudioMixerの使用中に変更された場合にアサートが発生します。今後はエラーを返すようになりました。
  • WG-63893 修正済み：UAkGameplayStatics::ReplaceMainOutputはAK_INVALID_UNIQUE_IDを受領した場合、終了します。
  • WG-64185 修正済み：ライブ編集のためにWwise Authoringがゲームに接続されているとWAAPIサブスクリプションがクリアされません。
  • WG-64323 修正済み：UAkAudioEvent::ExecuteActionは再生中のIDを受領しない場合、終了します。
  • WG-64838 修正済み：ローカライズされたソースで、External Sources: source missing from PostEvent call。
  • WG-65131 修正済み：不在モードで実行するとWAAPIClientConnectionThreadでクラッシュします。
  • WG-65433 修正済み：Play in Editorセッションを開始した時に無効なEditorListenerでクラッシュします。
  • WG-65514 修正済み：StreamMgrモジュールをテアダウンした時にデッドロックが発生します。
  • WG-65834 修正済み：現在のプラットフォームのデータが存在しない場合、ログに詳細がありません。
  • WG-66342 修正済み：(Spatial Audio) AK::SpatialAudio::SetImageSourceをAK_INVALID_AUX_IDと使用している場合, Early Reflections AUXセンドがアサインされていないサウンドが、Early Reflections AUXセンドがアサインされていて同じゲームオブジェクトで再生されている別のサウンドと同じAUXバスに誤って送られます。
  • WG-66360 修正済み：ローンチ時にアセットが2回リロードされるため、常にアクティブなイベントを起動時に"-game"でスタートすることができません。フルアセットのリロードにデリゲートを追加しました。


Wwise Unreal Integration Documentation: リリースノート 2022.1.5.8242.2714

リリースノート 2022.1.5.8242.2714

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2022.1.5.8242.2714版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.27、5.1、5.2です。Unreal Engine 5.2を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • APIの変更
  • パフォーマンスの変更
  • バグ修正
  • コミュニティで報告されたバグの修正
  • Documentation Improvements

新機能

  • WG-64213 Wwise PickerをWwise Browserで置き換えました。詳細は Managing Assets with the Wwise Browser ページを参照。
  • WG-64582 Wwiseインテグレーションのユニットテストを追加しました。
  • WG-64691 Unreal Engine 5.2のサポートを追加しました。
  • WG-64935 Unreal Insights Timersのために基本的なStat Named Eventsを追加しました。
  • WG-65062 SDK関数のAddOutput と RemoveOutput をAkAudioDeviceやブループリントに公開しました。

APIの変更

  • WG-63778 WwiseストリーミングフックのためのAPIレベルのブリッジングが提供されるようになりました。

パフォーマンスの変更

  • WG-65252 ストリーミングのパフォーマンスを改善し、負荷時のUnreal Engine Task Graphへの依存を減らしました。
  • WG-65412 同期リソースの競合を、制約のあるプラットフォームにおいて除外するために、Runtime Future/Promisesでイベントをオンデマンドで作成するようになりました。
  • WG-65520 真に非同期の操作に備え、デフォルトのオープンストリーミングI/O Hookのリファクタリングを行いました。

バグ修正

  • WG-64112 修正済み：アコースティックテキスチャの吸収値の変更が、バンク生成時にUnrealで更新されません。
  • WG-64646 修正済み：部分的な一致のみがある場合に、ネスト化されているスイッチコンテナ間で不要なイベントメディアがロードされます。
  • WG-65314 修正済み：Task Graphなしで削除した場合にExecutionQueueでクラッシュします。
  • WG-65414 修正済み：PostEventAtLocationをSpatial Audioなしで使用した場合のログのメッセージ数を減らしました。
  • WG-65468 修正済み：BeginDestroyは同期操作です。
  • WG-65606 修正済み：FWwisePlatformAPIのGetWindowsDeviceCount関数において、AKネームスペースがありません。
  • WG-65915 修正済み：Mac EditorでWwiseプラグインのホットリロード中にクラッシュします。

コミュニティで報告されたバグの修正

  • WG-51967 修正済み：Unreal EditorのWwiseプラグインがLinuxでコンパイルされません。
  • WG-55294 修正済み: 空（から）のマップ内でPlay in Editorセッションを開始した時にクラッシュします。
  • WG-63309 修正済み：Play In Editorセッションを停止した時にUAkLateReverbコンポーネントでクラッシュします。
  • WG-64233 修正済み：Wwiseをエンジンプラグインとして構築する場合、GTEリンクエラーが発生します。
  • WG-64723 修正済み：UAkPortalComponent DestroyTextVisualizersで問題がある可能性があります。
  • WG-64845 修正済み：サウンドバンクやメディアのアンロード中にWwiseFileHandlerモジュールを削除した場合、クラッシュします。
  • WG-65322 AkGameObjectsList::Term() は GetActiveGameObjects ではコールされません。
  • WG-65363 修正済み：AkAudioモジュールの実行前にイベントなどのAkAudioTypesをロードした場合、"StagePath not set"エラーが発生します。
  • WG-65671 修正済み：ミュージックメディアの再生中にそれをアンロードした場合、クラッシュします。
  • WG-65682 修正済み：まだロードされているストリーミングアセットを終了させた場合、ログではなくエラーとなります。

Documentation Improvements

  • WG-62447 Unreal Engine C++ Projects にパッケージングに関するセクションを追加しました。
  • WG-64544 Wwise Unrealインテグレーションの 入門チュートリアル を更新し、拡張しました。
  • WG-65256 Unreal用Wwise Demo Gameの場所の詳細を追加しました。 Wwise Demo Gameを使用する をご参照ください。


Wwise Unreal Integration Documentation: リリースノート 2022.1.4.8200.2650

リリースノート 2022.1.4.8200.2650

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2022.1.4.8200.2650版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.27、5.0、5.1です。Unreal Engine 5.1を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • APIの変更
  • コミュニティで報告されたバグの修正

APIの変更

  • WG-64604 IWwiseSoundEngineAPI::IQuery::GetMaxRadiusとGetActiveGameObjectsのメソッドは、パラメータとしてAkArrayではなくUnrealアレイを受け取るようになりました。これによりメモリクラッシュを解消できます。

コミュニティで報告されたバグの修正

  • WG-64146 修正済み: レベルシーケンス内のAkEventセクションにイベントが関連付けられていない場合に、クラッシュします。
  • WG-64699 修正済み：Cook on the Flyモードでオーディオがありません。
  • WG-64704 修正済み: メインスレッドにおいてガベージコレクタを実行することで、ハングすることがあります。
  • WG-64730 修正済み: サーバプラットフォームをパッケージングするためには、生成されたサウンドバンクが必要です。
  • WG-64834 修正済み: アセットのロード、アンロード、ストリーミングの際に使用されるスレッドイベントが多すぎます。
  • WG-64835 修正済み: 不足しているストリーミングアセットのロード中に、ハングします。
  • WG-64950 修正済み: 自動定義のZero LatencyプリフェッチメディアがSoundEngineに十分な速度で提供されないため、ミュージックのソーススターベーションを回避できません。


Wwise Unreal Integration Documentation: リリースノート 2022.1.3.8179.2621

リリースノート 2022.1.3.8179.2621

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2022.1.3.8179.2621版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.27、5.0、5.1です。Unreal Engine 5.1を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-63815 UE5.2の初期ブランチに対するコンパイルサポートを追加しました。

バグ修正

  • WG-63526 修正済み: Unreal 4.27でAudio Linkをリクエストした時に終了時にクラッシュします。
  • WG-63964 修正済み: すでにストリーミングメディアを再生している時に別のストリーミングメディアを再生した場合、2番目のものが失敗することがあります。
  • WG-64013 修正済み: HF Damping値を計算するために無効のサーフェスが使われます。
  • WG-64104 修正済み: Unreal Project SettingsでRTPCを使用していない時に、Reverb EstimationサービスのRTPC値がWwise Authoringに送信されます。
  • WG-64137 修正済み: Switch Container Plug-in Mediaがオプションとしてロードされたものとして検知されません。
  • WG-64138 修正済み: Input SubmixをAudio LinkやAudioMixerなしで初期化した時にクラッシュします。
  • WG-64374 修正済み: 終了時に誤ったグローバルコールバック登録ログが記録されます（VerboseのときにLogWwiseConcurrencyが表示されます）。
  • WG-64678 修正済み: Unrealのシャットダウン中にWwiseモジュールを開始した場合に、警告がログに出力されません。

コミュニティで報告されたバグの修正

  • WG-63368 修正済み: Spatial Audio VolumeのGeometry Transmission Loss Valueを編集した後に、Unreal 5.1がクラッシュします。
  • WG-63510 修正済み: UE5.2におけるGetTypeHashのコンパイル問題。
  • WG-64257 修正済み: 削除されたプリフェッチつきのストリーミングファイルは、開いた時にアサートに失敗します。
  • WG-64317 修正済み: WwiseExecutionQueueのdeinitializationが、アプリケーション終了時にハングすることがあります。
  • WG-64523 修正済み: FWwiseExecutionQueue::ProcessWork で断続的なクラッシュが発生します。


Wwise Unreal Integration Documentation: リリースノート 2022.1.2.8150.2588

リリースノート 2022.1.2.8150.2588

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2022.1.2.8150.2588版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.27、5.0、5.1です。Unreal Engine 5.1を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • パフォーマンスの変更
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-62790 Unreal Engine 5.1の公式サポートを追加しました。
  • WG-63373 グローバルコールバック用にマルチキャストデリゲートを追加しました。
  • WG-63770 Wwise SDKが提供する新しい機能に基づき、Advanced Initialization SettingsにuMaxSystemAudioObjectsを追加しました。
  • WG-63771 Wwise SDKが提供する新しい機能に基づき、Advanced Initialization SettingsにbPlotQueueLevelを追加しました。この機能の詳細はWwise SDKのPS4固有の情報を参照してください。

パフォーマンスの変更

  • WG-62583 ファイルストリーミングをUnrealデフォルトクラスではなくカスタムクラスを通して提供するようになりました。UDN IFileCacheHandle checks if file is present を参照してください。
  • WG-63624 マルチコアモードで実行中のWwiseワーカー関数が完了した時に AK::MemoryMgr::TrimForThread を呼び出すようになり、これで複数のスレッドのあるシステムでUnrealを実行する時などは特に、Wwise用に予約して使用しないメモリ量を削減できます。

その他の変更

  • WG-63709 LogWwiseResourceLoaderにおけるVerboseやVeryVerboseのログ情報を改善しました。
  • WG-63832 WindowsでWwiseをUnrealプロジェクトに統合する時に、macOSのWwise SDKを実装する必要がなくなりました。

バグ修正

  • WG-60708 修正済み: ポータルのフロントルーム名やバックルーム名が読みにくい文字です。
  • WG-61802 修正済み: Unreal Editorにおける誤ったReverb Parameter Estimation。
  • WG-62695 修正済み: HF Damping値がリフレッシュされるのはAuto Assign Aux Busをトグルする時だけです。
  • WG-62962 修正済み: WwiseDemoGameの構築時に表示される'IniKeyBlacklist'の非推奨に関する警告。
  • WG-63008 修正済み: Unreal EditorがFAkGeometryComponentDetailsCustomizationでクラッシュします。
  • WG-63286 修正済み: オーディオルーティングの選択肢であるOnly use Unreal audio がWwiseサウンドエンジンを無効化しません。
  • WG-63365 修正済み: Spatial Audio Volumeのジオメトリボリューム計算がUE5.1で2倍になります。
  • WG-63366 修正済み: 新しいSpatial Audio Volumeをマップに追加し、続いてUndo（Ctrl+Z）操作をした時に、Unreal Editorがクラッシュします。
  • WG-63710 修正済み: Reference-Loaded Switch Container Mediaが誤って必須のプラグインメディアとみなされます。
  • WG-63720 修正済み: Ak Submix Inputコンポーネントが5.1または7.1のソースを受信した時に、Audio Linkがクラッシュします。
  • WG-63723 修正済み: Audio Linkを使用するプロジェクトでガベージコレクション中にクラッシュします。
  • WG-63945 修正済み: ストリーミングメディアをアンロードする時にクラッシュします。

コミュニティで報告されたバグの修正

  • WG-62961 修正済み: Wwiseからの音が一部のデバイスのスピーカーにおいて、ほかのデバイスよりも小さくなります。これらのデバイスで低レイテンシオーディオ再生を無効にするための、新しいプラットフォームオプションを追加しました。
  • WG-63417 修正済み: Spatial AudioのGeometryやPortalsをストリーミングする時にパフォーマンス問題が発生します。
  • WG-63433 修正済み: WwiseをEngineプラグインとして統合した時のビルドの失敗。
  • WG-63445 修正済み: マップに多数のアセットがある場合のWaitForFuturesのスタックオーバーフロー。
  • WG-63466 修正済み: Reference-Loaded Switch Container Mediaのあるイベントをアンロードする時に、クラッシュする可能性があります。
  • WG-63483 修正済み: SpawnAkComponentAtLocationのAutoDestroyオプションがコンポーネントを破壊しません。
  • WG-63547 修正済み: AkAudioモジュールの前提モジュールとしてWwiseProjectDatabaseが欠落しています。
  • WG-63605 修正済み: ソースコード全体にわたりundef LOCTEXT_NAMESPACEが欠落しています。
  • WG-63745 修正済み: SN-DBSを使用してビルドする時のエラー。
  • WG-63790 修正済み: FWwiseResourceLoaderImpl::SetLanguage 内のランゲージを渡すロジックにおけるエラー。
  • WG-63824 修正済み: FAkReverbDescriptor::CalculateHFDamping でクラッシュします。
  • WG-63829 修正済み: プロジェクトデータベースのロードにカスタムスレッドプールを使用しません。
  • WG-63938 修正済み: FWwiseExecutionQueue::StopWorkerIfDone() でクラッシュします。


Wwise Unreal Integration Documentation: リリースノート 2022.1.1.8100.2529

リリースノート 2022.1.1.8100.2529

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2022.1.1.8100.2529版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.27、5.0です。Unreal Engine 5.0を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • APIの変更
  • パフォーマンスの変更
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-62176 設定経由でUnrealのオーディオルーティングを変更できるようにしました。
  • WG-63237 プロジェクトモジュール内でWwiseプラグインモジュールをリンクするオプションを簡素化しました。
  • WG-63284 プリコンパイルヘッダを使用しない分散ビルドの基本的なサポート

APIの変更

  • WG-63175 WwiseSoundEngineで非同期の処理を行うのではなく、代わりにオーバーライド可能なWwiseConcurrencyモジュールを作成しました。
  • WG-63176 Gameスレッドで遅延同時処理を繰り返すことにより、呼び出し元に同期させることが可能となりました。

パフォーマンスの変更

  • WG-62668 WwiseResourceLoader処理が完全に非同期となり、ハングの原因となるTask Graphの高い使用率を修正しました。

その他の変更

  • WG-63238 Buildファイル内のSound Engineバージョン検出コードを更新しました。

バグ修正

  • WG-58074 修正済み: Unreal 5.0とUnreal 5.1で、AkAudioMixerが音の再生を阻止します。
  • WG-62497 修正済み: HFDampingのために SetRTPCValue() を呼び出した時に、無効な浮動小数点値であるとの警告が発生します。
  • WG-62693 修正済み: (Spatial Audio) Simple CollisionのないアクターでAk GeometryをSimple Collisionに設定した時に、警告やエラーメッセージがありません。
  • WG-62699 修正済み: (Spatial Audio) 複雑なエッジトポロジを有するジオメトリでクラッシュが発生します。
  • WG-62902 修正済み: Wwise Demo GameのSpatial Audio Tutorialマップで、最初からPlay_ComplexRoomにTransmission lossがあります。
  • WG-62944 修正済み: (Spatial Audio) Roomコンポーネントのあるオブジェクトの一部で、割り当てられていないLate reverb警告があります。
  • WG-63177 修正済み: グローバルコールバックがプラグインのコンテキストを提供しません。
  • WG-63178 修正済み: WwiseExecutionQueueがカスタムスレッドプールを使用しません。
  • WG-63324 Dedicated ServerビルドのためのWwiseモジュールスイート全体を追加。

コミュニティで報告されたバグの修正

  • WG-52856 修正済み: Stomp Allocatorを使用している時にエディタをシャットダウンするとクラッシュします。
  • WG-61296 修正済み: サウンドバンクは、アクティブなUnreal Editorが対応しているプラットフォーム向けのものだけを生成できます。
  • WG-62558 修正済み: SignedVolumeOfTriangleと、BodySetupの定義の間で、コンフリクトがあります。
  • WG-62796 修正済み: "More than one ref per language"エラーメッセージは、充分な情報を提供しません。
  • WG-62797 修正済み: イベント内のSet SwitchやSet Stateで、"More than one ref per language"警告が出ます。これらをオプションのSwitch Containerのロードを伴うAkAudioEventで使用すると、失敗します。
  • WG-62801 修正済み: エディタで各AUXバスをロード中に、"More than one ref per language found"メッセージがログに記録されます。
  • WG-63059 修正済み: クック処理をしたデータがWwiseアセット内で不要にシリアライズされるため、サーバビルド内でシリアルサイズ不一致のアサートが発生します。


Wwise Unreal Integration Documentation: リリースノート 2022.1.0.8070.2495

リリースノート 2022.1.0.8070.2495

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2022.1.0.8070.2495版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。 詳細な移行手順については プロジェクトをWwise 2022.1にアップグレードする を参照してください。

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.27、5.0です。Unreal Engine 5.0を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • APIの変更
  • 動作の変更
  • パフォーマンスの変更
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-49047 Unreal Level Editor ViewportにVisualizeRoomsAndFeaturesのステートをトグルするオプションを追加しました。
  • WG-54310 自動定義サウンドバンクのオプションを追加しました。これを有効にすることで各イベントやAUXバス（補助バス）のサウンドバンクを可能な限りWwiseが自動的に定義します。詳細は Automatically Defining SoundBanks を参照してください。

Auto-defined SoundBanks（自動定義サウンドバンク）は SoundBank Settingsで有効にします。詳細は SoundBank Settings を参照してください。

  • WG-54325 AkSettingsにShowReverbInfoプロパティを追加しました。この新しいプロパティを使用してAkLateReverbComponentsの情報をビューポートで表示または非表示にすることができます。
  • WG-54368 Event-Based PackagingおよびAsset SynchronizationをGenerated SoundBanksフォルダだけで行うようになりました。これはSingle Source Of Truth（SSOT）ワークフローとしても知られています。
  • WG-56798 Unreal Level Editorで、Portalに接続するRoomの名前を表示したテキストを追加しました。
  • WG-57544 AkEffectShareSetアセットを追加しました。

Bus、Output Device、Actor MixerにEffect ShareSetを設定するためにブループリント関数を追加しました。

  • WG-57973 プロジェクトの移行をAkMigrationコマンドレットで行えるようになりました。
  • WG-59194 新しいエラーメッセージトランスレータに関連し、XMLとWAAPIのタイムアウト値を調整するためのWwise User Settingsを新たに2つ追加しました。これらはError Message Translatorという新しいセクションの下にあります。
  • WG-60953 Wwiseで実行される各セグメントを示すタイマーのスコープが、UnrealのCPUプロファイラで記録され、Timing Insightsの一部として表示されるようになり、WwiseのCPU時間をどこで消費しているのかが分かりやすくなりました。ボイススターベーションに関係するイベントも、Timing Insightsにブックマークとして記録されます。
  • WG-61215 完全に非同期なアセットのロードとアンロードを追加しました。

APIの変更

  • WG-55810 WwiseExternalSourceManagerインターフェースで外部ソースの取り扱いを管理するようになり、ここでメディアをロードするデフォルト関数やクラスが提供されますが、完全に機能するためにはユーザコードで拡張する必要があります。
  • WG-55811 Wwise Demo Gameで使用するWwiseSimpleExternalSourceManagerという名前のWwiseExternalSourceManagerを最低限の実装として追加しました。
  • WG-56507 TryUnsetMediaが非同期の停止コマンドを発行し、メディアを利用不可とマークするようになり、TryUnsetMediaへの繰り返しの呼び出しが最終的に必ず成功するようにしました。
  • WG-57220 FAkAudioDeviceクラスにObstructionコールとOcclusionコールを追加しました。
  • WG-59008 ローレベルサウンドエンジンがWwiseSoundEngineモジュールに配置されるようになりました。
  • WG-60672 AkAudioDeviceのPostEvent関数の名前が以前より明示的となり、Eventの指定のために、UAkAudioEventオブジェクトまたはShortIdのみを受け付けるようになりました。
  • WG-61185 Wwise SDK APIに合わせて、 FAkAudioDevice::SetOcclusionAndObstruction の名前を FAkAudioDevice::SetObjectObstructionAndOcclusion に変更しました。
  • WG-61754 ブループリントのPostEventコールは、External Sourcesに対応しなくなりました。Event ShortIDやEvent Nameを含むPostEventコールは、非推奨となりました。非同期PostEventコールは非推奨となりました。

動作の変更

  • WG-56246 BlueprintやC++を使用してランタイムにMastering Suite ShareSetを変更することが可能となりました。
  • WG-57541 自動アセット同期を削除しました。
  • WG-57543 Unrealアセットの自動WAAPI同期を無効にしました。
  • WG-57545 Wwise PickerやWAAPI PickerからWwiseアセットをインポートするためのメニューオプションを追加しました。
  • WG-57546 Wwise PickerやWAAPI Pickerからアセットをブループリント、オブジェクトのプロパティ、Content Browserに直接ドラッグできるようになりました。
  • WG-58218 Wwise PickerとWAAPI Pickerを同時に使用できるようになりました。
  • WG-60762 (Spatial Audio) AK::SpatialAudio::SetEarlyReflectionsVolume を使用して設定したアーリーリフレクションのボリュームは、ジオメトリから計算したリフレクションのほかに AK::SpatialAudio::SetImageSource を使用して設定したイメージソースにも適用されるようになりました。
  • WG-60907 すべてのプラットフォームにおいて"Samples Per Frame"初期設定のデフォルト値を512に変更しました。これによりWwiseの初期CPU使用がわずかに増加する一方、サウンドエンジンのオーディオレイテンシ合計が大幅に減少します。引き続きゲームの総オーディオレイテンシと利用可能な演算リソースのバランスをとるために"Samples Per Frame"や"Number of Refills In Voice"の微調整を行うことが推奨されます。
  • WG-60985 Time To First Reflection変数の単位が秒からミリ秒に変更されました。この変数にマッピングされていたゲームパラメーターは、秒単位からミリ秒単位に変更されました。
  • WG-61088 WwiseAudioMixerがデフォルトでロードされなくなりました。
  • WG-61630 DefaultGame.ini configで定義したプラットフォーム別のAkAudio.AkInitializationSettingsは、該当する場合はプラットフォーム別のGame.iniファイルに保存されるようになりました。既存のDefaultGame.iniの設定もこれまで通り適切にロードされますが、変更した内容は自動的にプラットフォーム別のGame.iniに保存されます。
  • WG-61703 Wwiseサウンドエンジンのモニターメッセージが、LogWwiseMonitorカテゴリに書き込まれるようになりました。
  • WG-61968 Clear Wwise Cacheオプションを削除しました。キャッシュをクリアする必要がある場合はWwiseオーサリングを使用します。

パフォーマンスの変更

  • WG-60585 メディアのストリーミングに非同期ファイル操作を使用するようになりました。

その他の変更

  • WG-49994 AkAcousticPortalアクターとAkSpatialAudioVolumeアクターのCollisionChannelプロパティを更新し、AkComponentのOcclusionCollisionChannelプロパティも更新しました。Wwise Integration Settingsで定義した値を使用するUse Integration Settings Defaultオプションを、これらのプロパティに導入しました。
  • WG-57979 AkAcousticPortal Componentを更新し、OpenPortalやClosePortalへのコールがスタック（stack）しないようにしました。
  • WG-58066 旧式のAkFolderアセットを削除しました。
  • WG-60370 Visual Studio 2022対応を追加しました。
  • WG-60852 Wwise Demo GameのWwiseプロジェクトを"UnrealWwiseDemo"フォルダから"Wwise Project"フォルダに移動しました。
  • WG-61144 ポータル前のルームと後ろのルームが同じである時のAkAcousticPortalメッセージの重大性を下げました。警告ではなくログ記録となりました。
  • WG-61216 Wwiseモジュール用のSubsystemの使用を削除しました。
  • WG-61500 Havokやその他の物理エンジンがWwise Unrealインテグレーションを使用できるようにしました。

バグ修正

  • WG-54552 修正済み: (Spatial Audio) ポータルを通るパスが不正確であり、直線のパスの回折が0でなかったりパスがポータルから完全に外れたりすることがあります。
  • WG-57304 修正済み: Surface Reflectorコンポーネントが大きな値を使用して配置されている場合、Brush Editingモードで1つの面を選択してもその面を編集することができません。
  • WG-57354 修正済み: 平面ジオメトリをWwiseに送信する際の変換が正しくないため、Game Object 3D Viewerに誤ったジオメトリが表示されます。
  • WG-60315 修正済み: アセットをWwise PickerからContent Browserにドラッグした時に、そのアセットがすでに存在している場合はクラッシュします。
  • WG-61042 修正済み: ブループリント関数のSetOcclusionScalingFactorと、GetOcclusionScalingFactorは、何もしません。
  • WG-61121 修正済み: Clear Sound Dataダイアログには不要なオプションがあり、ダイアログ名が誤解を招きます。ダイアログの名前をClear Wwise Cacheに変更しました。
  • WG-61125 修正済み: ServerビルドとClient Unrealビルドが正しいプラットフォームを見つけることができません。
  • WG-61129 修正済み: Standalone Gameモードで音が出ません。
  • WG-61242 修正済み: 外部ソースに関連する変更点が、同期的に行われます。
  • WG-61266 修正済み: Wwise Pickerからアセットをドラッグしてアセットを作成する時に、クラッシュする可能性があります。
  • WG-61518 修正済み: Spatial AudioチュートリアルのBlueprint Buildingに、そのGeometryよりも大きいルームがあり、Geometry ComponentがHF Dampingの測定用にリンクされていません。
  • WG-61525 修正済み: FAkSurfaceReflectorSetDetailsCustomizationのデストラクタがクラッシュします。
  • WG-61658 修正済み: スイッチコンテナにあるプラグインメディアと外部ソースが、WwiseProjectDatabaseにより適切にパースされません。

コミュニティで報告されたバグの修正

  • WG-60332 修正済み: Wwise Project Pathを設定するためのダイアログは、GeneratedSoundBanksフォルダではなくWwiseプロジェクトフォルダを考慮します。
  • WG-60969 修正済み: (Spatial Audio) 回折を使用するエミッタは、リスナーのポジションがポータルに重なった時に聞こえなくなる可能性があります。
  • WG-61202 修正済み: Play in Editorセッションを停止した時に、AkAudioMixerが停止します。
  • WG-61226 修正済み: Play in Editorセッションを一時停止した時に、音が一時停止しません。
  • WG-61291 修正済み: Editor起動時にDefaultGame.iniが更新されます。
  • WG-61334 修正済み: AkSpatialAudioVolumesのフェース固有の音響情報が、フェースを移動するとリセットされます。
  • WG-61790 修正済み: AkGeometryを複雑なメッシュに追加すると、Unrealはスタティックメッシュの計算中にフリーズします。
  • WG-61953 修正済み: クック処理中に、空のアセットが警告ではなくエラーを発生させます。


Wwise Unreal Integration Documentation: Release Notes 2021.1.14.8108.2656

Release Notes 2021.1.14.8108.2656

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。Here is what has changed in the 2021.1.14.8108.2656 release of the integration (in addition to upgrading to the new Unreal build).

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.26、4.27、5.1、5.2、5.3です。Unreal Engine 4.27.2と5.3.1を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-66138 Unreal Engine 5.2のサポートを追加しました。
  • WG-67089 Unreal Engine 5.3対応を追加しました。

その他の変更

  • WG-66542 Wwise UnrealインテグレーションにはAudiokinetic Launcher 2023.1.1以降が必要なりました。
  • WG-66817 WindowsのデフォルトのVisual Studioバージョンが2022になりました。

バグ修正

  • WG-63820 修正済み：レベルストリーミング中に、ポータルを開く/閉じるをコールすると、UnrealがUpdateConnectedRoomsでクラッシュします。
  • WG-66661 修正済み：(Spatial Audio) Box Collisionに置かれたLate Reverbコンポーネントのボリュームに誤りがあります。
  • WG-67418 修正済み：レベルを別のレベル内に追加した後にやり直しアクションを実行すると、Unrealがクラッシュします。
  • WG-68221 Fixed: Crash in switch container loading when changing levels.

コミュニティで報告されたバグの修正

  • WG-58615 修正済み：Event-Based Packagingを使用した時、無効な弱いポインタのためクラッシュします。
  • WG-64770 修正済み：UAkMediaAssetでBulkDataIORequestがリークします。
  • WG-66952 ハングの原因であるスイッチコンテナの長さを確認しようとする際、"Mixed"のDurationTypeが欠落しています。


Wwise Unreal Integration Documentation: リリースノート 2021.1.13.8036.2580

リリースノート 2021.1.13.8036.2580

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2021.1.13.8036.2580版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.26、4.27、5.0、5.1です。Unreal Engine 4.27.2と5.1.1を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • コミュニティで報告されたバグの修正
  • ドキュメントの改善

新機能

  • WG-63815 UE5.2の初期ブランチに対するコンパイルサポートを追加しました。

コミュニティで報告されたバグの修正

  • WG-55294 修正済み: 空（から）のマップ内でPlay in Editorセッションを開始した時にクラッシュします。
  • WG-56795 修正済み: (Spatial Audio) ジオメトリブラッシュの編集モードを使用して変更されたAkSurfaceReflectorSetsで建設したルームは、ルーム範囲が不正確です。
  • WG-64787 修正済み: (Spatial Audio) Spatial Audio Unreal Detail Customizationクラス内でクラッシュします。

ドキュメントの改善

  • WG-65256 Unreal用Wwise Demo Gameの場所の詳細を追加しました。 Wwise Demo Gameを使用する をご参照ください。


Wwise Unreal Integration Documentation: リリースノート 2021.1.12.7973.2505

リリースノート 2021.1.12.7973.2505

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2021.1.12.7973.2505版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.26、4.27、5.0、5.1です。Unreal Engine 4.27.2と5.1.1を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • 動作の変更
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-62790 Unreal Engine 5.1の公式サポートを追加しました。
  • WG-63770 Wwise SDKが提供する新しい機能に基づき、Advanced Initialization SettingsにuMaxSystemAudioObjectsを追加しました。

動作の変更

  • WG-63047 修正済み: インテグレーションをUnreal Engine 5.1と使用する時に、非推奨の警告。

その他の変更

  • WG-63832 WindowsでWwiseをUnrealプロジェクトに統合する時に、macOSのWwise SDKを実装する必要がなくなりました。

バグ修正

  • WG-63448 修正済み: 外部ソースメディアが、アンロードすることができないようなステートに入ります。
  • WG-63731 修正済み：ローカライズしたメディアをロード中にレベルをアンロードすると、非同期PostEvent関数でクラッシュします。
  • WG-63884 修正済み: PostEventAsyncブループリントにおいてStopWhenAttachedToDestroyedをtrueに設定した場合でも、ワールドをアンロードした時にイベントが停止されません。

コミュニティで報告されたバグの修正

  • WG-60362 修正済み: FAkUnrealIOHookの一部の操作は信頼性のないUObjectリファレンスに依存するため、スレッドセーフではありません。
  • WG-60972 修正済み: (Spatial Audio) ポータル間を移動する時にパンニング問題が発生します。
  • WG-62961 修正済み: Wwiseからの音が一部のデバイスのスピーカーにおいて、ほかのデバイスよりも小さくなります。これらのデバイスで低レイテンシオーディオ再生を無効にするための、新しいプラットフォームオプションを追加しました。
  • WG-63417 修正済み: Spatial AudioのGeometryやPortalsをストリーミングする時にパフォーマンス問題が発生します。
  • WG-63483 修正済み: SpawnAkComponentAtLocationのAutoDestroyオプションがコンポーネントを破壊しません。


Wwise Unreal Integration Documentation: リリースノート 2021.1.11.7933.2437

リリースノート 2021.1.11.7933.2437

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2021.1.11.7933.2437版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。 重要な移行の注意 2021.1.11.7933.2437

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.26、4.27、5.0です。Unreal Engine 4.27.2と5.0.2を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-62395 Unreal Engine 5.1の初歩的なサポートを追加しました。

その他の変更

  • WG-60370 Visual Studio 2022対応を追加しました。
  • WG-61144 ポータル前のルームと後ろのルームが同じである時のAkAcousticPortalメッセージの重大性を下げました。警告ではなくログ記録となりました。
  • WG-61500 Havokやその他の物理エンジンがWwise Unrealインテグレーションを使用できるようにしました。

バグ修正

  • WG-61803 修正済み: AkAudioDevice::TryUnsetMedia でクラッシュします。

コミュニティで報告されたバグの修正

  • WG-53480 修正済み: Unrealパッケージにビルトしたプラットフォーム以外のプラットフォームのサウンドバンクが含まれます。
  • WG-59395 修正済み: PostEventAsyncブループリントがガベージコレクタのイベントを追加でもう1回ピン留めするため、メモリリークが発生します。
  • WG-59779 修正済み: ゲーム終了時に AkAudioDevice::CleanPinnedObjects でクラッシュする可能性があります。
  • WG-60234 修正済み: プリフェッチされたチャンクのないストリーミングサウンドはUnreal IOフックに登録されないため、"Failed creating source"エラーが発生します。
  • WG-60969 修正済み: (Spatial Audio) 回折を使用するエミッタは、リスナーのポジションがポータルに重なった時に聞こえなくなる可能性があります。
  • WG-60974 修正済み: AkSpatialAudioVolumesにおいて面特有の音響情報が、その面を移動した時にリセットされます。
  • WG-61026 修正済み: Unreal Editorのメモリ内のメディアは、Wwiseでオーディオソースのデータを置き換えてサウンドデータを再生成した後に更新されません。
  • WG-61050 修正済み: スイッチコンテナの2つのスイッチ値の間でメディアを共有している場合に"Media not loaded"エラーが発生します。
  • WG-61202 修正済み: Play in Editorセッションを停止した時に、AkAudioMixerが停止します。
  • WG-61226 修正済み: Play in Editorセッションを一時停止した時に、音が一時停止しません。
  • WG-61291 修正済み: Editor起動時にDefaultGame.iniが更新されます。
  • WG-61296 修正済み: サウンドバンクは、アクティブなUnreal Editorが対応しているプラットフォーム向けのものだけを生成できます。
  • WG-61297 修正済み: Blueprint Clusteringを使用した時の誤った警告。
  • WG-61323 修正済み: HF DampingはRTPCとともに使用した時に常に0と表示します。
  • WG-61597 修正済み: ガベージコレクタが不適切なタイミングでストリーミングメディアのインスペクションを行うと、ストリーミングメディアが停止することがあります。AkUnrealIOHookにより詳細なログを追加しました。
  • WG-61790 修正済み: AkGeometryを複雑なメッシュに追加すると、Unrealはスタティックメッシュの計算中にフリーズします。
  • WG-61850 修正済み: (Spatial Audio) 回折を使用するエミッタは、リスナーのポジションがポータルに重なった時に聞こえなくなる可能性があります。
  • WG-61910 修正済み: Wwise Projectファイルが見つからない時にログに記録されるエラーが、ビルドを失敗させることがあります。
  • WG-62182 修正済み: マップを変えた時にAkOcclusionObstructionServiceでクラッシュが発生する可能性があります。
  • WG-62514 修正済み: 数字ではじまるフォルダやワークユニットを表すUnrealアセットが、アセットの同期を実行する時に動きません。
  • WG-62722 修正済み: コマンドレットの実行中にWwise Settingsダイアログが開きます。


Wwise Unreal Integration Documentation: 重要な移行の注意 2021.1.11.7933.2437

重要な移行の注意 2021.1.11.7933.2437

Spatial Audio AkGeometryコンポーネント

AkGeometryComponent のデフォルトのMesh Typeは、あなたのマップへのコンポーネント追加を最適化するために、Simple Collisionに変更しました。 AkGeometryComponent をStatic Meshに設定していた場合は、Simple Collisionに変更されているため、21.1.11への更新後に再度設定する必要があります。


Wwise Unreal Integration Documentation: リリースノート 2021.1.10.7883.2350

リリースノート 2021.1.10.7883.2350

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2021.1.10.7883.2350版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.26、4.27、5.0です。Unreal Engine 4.27.2と5.0.2を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • パフォーマンスの変更
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

パフォーマンスの変更

  • WG-57180 AkComponent.hコードを最適化してUnrealインテグレーションAPIのパフォーマンスを改善しました。

その他の変更

  • WG-59977 Static MeshコンポーネントのSimple CollisionメッシュをSpatial Audio Geometryに変換するためのコードを最適化しました。

バグ修正

  • WG-60030 修正済み: UE5では、新しく作成したAk Actorをエディタでプロファイリングすると（期待されたオブジェクト名称ではなく）一般的な名前がつきました。
  • WG-60291 修正済み: UnrealのBrush EditingモードでSpatial Audio Volumeの頂点を結合するとUnrealがクラッシュしました。
  • WG-60292 修正済み: Spatial Audio Tutorial MapのすべてのSAVのアコースティックテキスチャがNoneに設定されていました。
  • WG-60331 修正済み: Static MeshコンポーネントにAk Late Reverbコンポーネントを追加後、ガベージコレクション中にUnrealがクラッシュしました。
  • WG-60348 修正済み: SetGameObjectRadius APIの呼び出しでGame Object IDが返されませんでした。
  • WG-60351 修正済み: Unrealでゲームがアクティブでない時に SetPosition と SetGameObjectInRoom が毎フレーム呼び出されました。
  • WG-60626 修正済み: Unreal Editorを閉じる時に不要なエラー"Could not unload media"がログに記録されました。
  • WG-60744 修正済み: レベルを切り替えてゲームを閉じる時にクラッシュする可能性がありました。

コミュニティで報告されたバグの修正

  • WG-55309 修正済み: Unrealエディタが閉じている時にWwiseアセットを作成し、続いてUnrealエディタを開くと、Unrealはアセットを作成しますがソースコントロールに自動的に追加しませんでした。
  • WG-56694 修正済み: Wwiseをアップグレードした後に初めてプロジェクトを開くとクラッシュしました。
  • WG-57295 修正済み: WAAPIでSoundBankを生成した時にUnreal Editorがクラッシュしました。
  • WG-57514 修正済み: AddressSanitizerの実行中に文字列が正しく変換されませんでした。
  • WG-58812 修正済み: Portalをシーンから登録解除するとすべてのSpatial Audioルームが更新されました。
  • WG-60364 修正済み: メディアアセットのロードが完了する前にそのメディアアセットを破壊すると、ゲームスレッドやレンダースレッドがブロックされることがありました。
  • WG-60527 修正済み: メディアメモリを割り当てることができないとクラッシュしました。
  • WG-60592 修正済み: 組み込みプロパティにバインドされたRTPCを使用するモジュレータを使用するとクラッシュしました。
  • WG-60619 修正済み: UE 4.27でChaos Physicsを有効にした時のコンパイル問題。
  • WG-60820 修正済み: Wwiseで設定したUnreal CultureからWwise Cultureへのマッピングは、Wwise Project Infoが見つからないと削除されました。
  • WG-60864 修正済み: Sequencerを一時停止してもサウンドが一時停止されませんでした。
  • WG-61029 修正済み: エディタを専用サーバモードで実行した時、"Skipping media load"ログスパムが発生していた。


Wwise Unreal Integration Documentation: リリースノート 2021.1.9.7847.2311

リリースノート 2021.1.9.7847.2311

このインテグレーションの各バージョンは、それぞれUnreal Engineの特定のビルドに対応しています。以下が、このインテグレーションの2021.1.9.7847.2311版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engineの実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.26、4.27、5.0です。Unreal Engine 4.27.2と5.0.1を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

その他の変更

  • WG-60187 Geometric Tools Engineライブラリコードファイルに誤って付加された著作権表示を削除しました。

バグ修正

  • WG-55708 修正済み: Wwise Unreal Engine Integrationのプラグインの名前と説明にUnreal Engine 4の表示。
  • WG-58756 修正済み: Set Inner/Outer RadiusとSetGameObjectRadiusブループリント関数の混乱。
  • WG-58918 修正済み: Spatial Audio Volumesのボリューム値がUE5で誤っていました。
  • WG-59253 修正済み: Ak Geometry コンポーネントがStatic Meshタイプに設定されている状態でStatic Meshコンポーネントのマテリアルを変更すると、クラッシュが発生しました。
  • WG-59951 修正済み: ボックス形状以外のSpatial Audio Volumesの表面積が誤っていました。
  • WG-59965 修正済み: AkAcousticPortalsをSpectatorモードで回転させると更新に失敗しました。
  • WG-60023 修正済み: Fit to GeometryのAutomatic Texture Assignmentが壊れていました。
  • WG-60059 修正済み: 対象ランゲージのアセットデータを含まないAkAudioBankアセットでランゲージの切り替えを行うと、クラッシュが発生しました。AkAudiobankの "Could not find localized data" ログをエラーから警告に引下げました。
  • WG-60069 修正済み: Ak GeometryコンポーネントでAcoustic TexturesがNoneではなくUnknownと報告されました。
  • WG-60074 修正済み: XB1プラットフォームでプラグインが見つかりませんでした。
  • WG-60086 修正済み: ブループリントでコリジョンコンポーネントのAk Geometryコンポーネントを静的メッシュタイプに設定できました。
  • WG-60394 修正済み: Unityビルドをオフにした時のビルドの失敗
  • WG-59600 修正済み: FAkAudioModuleがnon-editorビルドでアイコンをロードしてWAAPIを初期化しようとしました。

コミュニティで報告されたバグの修正

  • WG-58518 修正済み: 新しく使用したメディアアセットはGenerateSoundBanksコマンドレットを実行した時に作成されませんでした。新 forceAssetSync スイッチを使用して強制的に新しいアセットを作成します。


Wwise Unreal Integration Documentation: リリースノート 2021.1.8.7831.2285

リリースノート 2021.1.8.7831.2285

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2021.1.8.7831.2285版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。 重要な移行の注意 2021.1.8.7831.2285

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.26、4.27、5.0です。Unreal Engine 4.27.2と5.0.1を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンをサポートしていませんが、今後のパッチリリースでサポートします。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • 動作の変更
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-54828 Unreal Content Browserに個々のWwiseアセットのサウンドデータをクリアする新しいオプションができました。Sound VoiceをSound SFXに、またはSound SFXをSound Voiceに変更した後に必要なSound Dataをクリアするという作業が、これで容易になります。
  • WG-59571 Unreal Engine 5.0.1対応を追加しました。

動作の変更

  • WG-58889 Play in Editorセッションを終了すると全サウンドが停止するようになりました。
  • WG-59966 アセットをロードした時にアセット内にあるShortIDを、インテグレーションが自動的に修正しなくなりました。OutputログにInvalid ShortIDの警告が表示された場合は、Sound Dataを再生成し、変更されたアセットをすべて保存してください。

その他の変更

-WG-53953 Wwiseの初期化エラーがこれまでより早くローカル出力で報告されるようになりました。

  • WG-56843 UPROPERTY がデフォルトで初期化されるようになりました。

バグ修正

-WG-54251 修正済み: ローカライズしたUnrealのアセットデータが、"Clear Sound Data "ユーティリティで削除されませんでした。

  • WG-59502 修正済み: 同じメディアがSetMediaを複数回コールすることができ、これによりメディアリークが発生しました。 -WG-59589 修正済み: Unrealのバンクアセットで、それを参照するアセットがないものは、そのバンクのすべてのEventがLinked Eventsリストに追加されました。（このバグはバンク動作に影響しませんが、エディタのパフォーマンスに悪影響を与える可能性があります。）
  • WG-60163 修正済み: オーディオソースをWwiseに再インポートしてサウンドデータを再生成した後に、Unreal Editorのメモリにあるメディアが更新されませんでした。
  • WG-60218 修正済み: Event-Based Packagingを使わなかった場合のパッケージングエラー。
  • WG-60252 修正済み: Sound VoiceにConvolution Reverbを追加する時に、オートロードエラーを設定できませんでした。
  • WG-60254 修正済み: AkMediaMemoryManager::ReleaseMediaMemory: ローカライズしたメモリのNegative RefCountエラー。
  • WG-60263 修正済み: ゲーム起動時にRecursionNotAllowedのアサートが発生しました。

コミュニティで報告されたバグの修正

  • WG-50111 修正済み: ローカライズしたEventをSoundBankにまとめて入れると、ランゲージを変更した時にエラーが発生しました。
  • WG-50220 修正済み: Set Current Audio Cultureブループリントを使いカルチャを変更した時に、クラッシュが発生しました。
  • WG-51577 修正済み: レベルをロードした直後にローカライゼーションを変更すると、クラッシュが発生する可能性がありました。
  • WG-53151 修正済み: レベルロード（Level Sequenceタイムラインからのロードなど）の際にすぐにポストしたEventのローカライズしたメディアデータが、ロードされるのが遅すぎました。
  • WG-55967 修正済み: ローカライズしたEventは、Content Browserでプレビューした時に再生されませんでした。
  • WG-56459 修正済み: 同じメディアを参照するEventを再生するマップが2つあり、これらのマップ間で切り替えると、クラッシュが発生しました。
  • WG-56793 修正済み: Switch Container内のローカライズしたボイスをストリーミングすると、再生に失敗することがありました。
  • WG-56935 修正済み: Event再生中のマップの遷移時に、クラッシュが発生しました。
  • WG-57378 修正済み: Unreal DirectoryWatcher APIに誤ったフラグが渡されました。
  • WG-57751 修正済み: Split Switch Container Mediaを有効にしたSwitch Container内のローカライズしたメディアが、正しくロードされませんでした。さらに、Sound Data生成中にメディアをストリーミングと非ストリーミングの両方としてパースした時のレポートが原因で、再生に問題が発生しました。
  • WG-58000 修正済み: UAkSettings::OnAssetAdded が適切に最適化されていませんでした。
  • WG-58616 修正済み: ローカライズしたメディアが欠落していると、新しいロケールに切り替えることができませんでした。
  • WG-58659 修正済み: レガシーSoundBankを使うとマップのロードに時間がかかりました。
  • WG-59006 修正済み: Unreal Spatial Audioポータルは、トランスフォームが変更された時に更新されませんでした。
  • WG-59266 修正済み: AkPolyと、AkEdgeInfoは、2021.1.4でそれぞれ名前がAkSurfacePoly、AkSurfaceEdgeInfoに変更されましたが、これらが移行されていませんでした。
  • WG-59294 修正済み: 続けてロードした2つのレベルでストリーミングサウンドをポストすると、その再生に失敗しました。
  • WG-59295 修正済み: UnrealインテグレーションのAkRoomComponent.cppで、未使用の変数がありました。
  • WG-59440 修正済み: GenerateSoundBanksコマンドレットで、存在しないプラットフォームを引数として指定しても、警告がログに記録されませんでした。
  • WG-60111 修正済み: プロジェクトにWwise Convolution Reverb Effectが存在すると、WAAPI経由でサウンドデータを生成した時にクラッシュが発生しました。
  • WG-60162 修正済み: 親メディアアセットのロードが始まる前に、Media Asset Dataがオートロードが必要かどうかをチェックするとハングしました。
  • WG-60165 修正済み: コマンドレットでサウンドデータをクックするとハングしました。
  • WG-60208 修正済み: UAkAssetDataSwitchContainer デフォルトオブジェクトをシリアライズした時の"Event data not up to date"警告。
  • WG-60233 修正済み: Linux Serverビルドでクックに失敗しました。


Wwise Unreal Integration Documentation: 重要な移行の注意 2021.1.8.7831.2285

重要な移行の注意 2021.1.8.7831.2285

ローカライゼーション

メディアやプラットフォームデータのロードに関する修正を行ったため、21.1.8への移行後に、Sound Dataを再生成する必要があります。Wwise Unrealアセットの大部分はこの処理によって更新されます。Sound Data生成後も、引き続き次のメッセージ"Media data [...] is not up to date. Please regenerate sound data."（メディアデータが最新状態ではありません。サウンドデータを再生成してください）が表示される場合は、Wwise Unrealアセット内のデータをクリアしてからSound Dataを生成する必要があります。


Wwise Unreal Integration Documentation: リリースノート 2021.1.7.7796.2228

リリースノート 2021.1.7.7796.2228

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2021.1.7.7796.2228版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 動作の変更
  • コミュニティで報告されたバグの修正

動作の変更

  • WG-57995 Sound Data生成中の、アセット読み込みのパフォーマンスを改善しました。

コミュニティで報告されたバグの修正

  • WG-57987 修正済み: Sound DataをLegacy (non-EBP) モードで生成するときに、ゲームスレッド上でないときにアセットを読み込むことで発生するクラッシュ。
  • WG-58133 修正済み: AkAudioモジュールの前にWwiseアセットを読み込むと、クラッシュしました。
  • WG-58160 修正済み: AkSurfaceReflectorSetComponent からジオメトリを送信すると、クラッシュしました。
  • WG-58882 修正済み: Unreal 5のLinuxコンパイルエラー。


Wwise Unreal Integration Documentation: リリースノート 2021.1.6.7774.2201

リリースノート 2021.1.6.7774.2201

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2021.1.6.7774.2201版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。 重要な移行の注意 2021.1.6.7774.2201

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-55555 GenerateSoundBanks コマンドレットに、新しい引数を2つ追加しました: autosubmit は生成したアセットをソースコントロールに 自動的にサブミットするためのもので、 clnum はコミット番号を指定するためのものです。
  • WG-57694 Unreal Engine Release_5.0ブランチとの互換性を改善しました。インテグレーションをchangelist #18425151に対してテストしました。
  • WG-58002 AkRoomComponent に SetGeometryComponent 関数を追加しました。Wwiseにルームのジオメトリを送信するために使う AkGeometryComponent を選択するために使えます。

その他の変更

  • WG-54479 AkAcousticPortal Component を更新し、OpenPortalやClosePortalへのコールがスタック（stack）しないようにしました。

バグ修正

  • WG-51015 修正済み : マーカーのラベルや、ミュージックキューの名前が、Eventコールバックで正しくコピーされませんでした。
  • WG-54245 修正済み: 非ASCII文字をWAAPIメッセージで正しく送信できませんでした。
  • WG-55387 修正済み: Unreal Asset Registryがアセットを発見し終わる前にレベルシーケンスを開くと、Sequencerがクラッシュしました。
  • WG-57433 修正済み: Unreal Demo Gameは、コンフィギュレーションフィールドが不足しているため、Unreal 4.27.1では、XDKでXbox Oneプラットフォーム用にパッケージできませんでした。

コミュニティで報告されたバグの修正

  • WG-53110 修正済み: Content Browserのコンテキストメニューで再生したイベントは、Play In Editor (PIE) モードを出ると無音になりました。
  • WG-54864 修正済み: 汎用パスに対してマッピングされた、ネスト化されたMusic Switch Containerのメディアが、ロードされませんでした。
  • WG-56245 修正済み: AkAudioBanksでLinkedAkEventsをトラッキングすると、バンクアセットが誤ってダーティにマークされました。
  • WG-57271 修正済み: AkBankManagerが、SoundBankをレガシーモードでアンロードするのを阻止しました。
  • WG-57276 修正済み: AkAudioMixerで FAkMixerPlatform::GetPlatformSettings() 関数が FPlatformProperties で指定したカスタムプラットフォーム設定を返しませんでした。
  • WG-57789 修正済み: Blueprintコールバックを使ったときのクラッシュ、メモリリーク。
  • WG-57791 修正済み: AkLateReverbComponent のBoolean論理演算子における誤記。
  • WG-57812 修正済み: BlueprintノードでPostAndWaitEndOfEventを使ったときのクラッシュ。
  • WG-57933 修正済み: UnrealのレガシーI/Oフックを使い、ゲームセッションにAuthoringを接続したときのクラッシュまたはハング。


Wwise Unreal Integration Documentation: 重要な移行の注意 2021.1.6.7774.2201

重要な移行の注意 2021.1.6.7774.2201

Spatial Audioのポータル

  • AkPortalComponent 機能が更新され、OpenPortalやClosePortalへのコールがスタック（stack）しないようになりました。つまり、OpenPortalをコールするとすぐにこのポータルが開き、ClosePortalをコールするとすぐにポータルが閉じます。従来の機能では、ポータルを閉じるために、OpenPortalと同数のClosePortalのコールが必要でした。この機能に依存するコードがある場合は、更新してください。


Wwise Unreal Integration Documentation: リリースノート 2021.1.5.7749.2171

リリースノート 2021.1.5.7749.2171

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2021.1.5.7749.2171版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • その他の変更
  • コミュニティで報告されたバグの修正

その他の変更

  • WG-57402 Matineeのサポートは、Wwise Unrealインテグレーションの次のバージョンからは含まれません。今回が、MatineeからLevel Sequenceに移行するために使えるWwise Unrealインテグレーションの最終バージョンとなります。

コミュニティで報告されたバグの修正

  • WG-56161 修正済み: CreateStreamingRequestは、ストリーミングメディアのメディアアセットが誤ったタイミングでアンロードされると、アサートすることがありました。新しいストリーミングデータをリクエストする前に、メディアアセットの有効性を確認するようになりました。
  • WG-56267 修正済み: ランダムなシリアライゼーション順序によって発生する、Split Switch Container Mediaを使ったときの、"Media not loaded"エラー。
  • WG-56455 修正済み: Switch Container内の複数の異なるSwitchが、同じMediaを参照したときに、XML/JSONバンクファイル内の一部Media IDが欠落していました。
  • WG-56716 修正済み: Split Switch Container Mediaと、ネスト化されたSwitch Containerを使ったときの、"Media not loaded"エラー。
  • WG-56795 修正済み: Spatial Audioルームを AkSurfaceReflectorSets で構築し、ジオメトリブラッシュの編集モードで変更すると、ルームの大きさが不正確になりました。


Wwise Unreal Integration Documentation: リリースノート 2021.1.4.7707.2130

リリースノート 2021.1.4.7707.2130

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2021.1.4.7707.2130版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • APIの変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-29814 オフラインレンダリングへの対応を追加しました。
  • WG-55847 AkAudioMixer という、Unreal Audio Mixerの出力をWwise Audio Inputソースに対して出力できるようにする新モジュールを、Unrealプラグインに追加しました。 AkSubmixInputComponent という、UnrealサブミックスをWwise Audio Inputソースに使えるようにする新インプットコンポーネントを、Unrealプラグインに追加しました。
  • WG-56104 サーフェスプロパティのオーバーライドを制御するためのカスタムセクションを、 AkGeometry Details Panel に追加しました。
  • WG-56197 オフラインレンダリングのSDK関数を AkAudioDevice で公開しました。

APIの変更

  • WG-55479 オフラインレンダリングのSDK関数を AkAudioDevice で公開しました。

バグ修正

  • WG-52933 修正済み: 名前を変えたWwise UAssetを置き換えるときに、Automatic Asset Synchronizationがオフの場合は、クラッシュする可能性がありました。
  • WG-54119 修正済み: ブラシのジオメトリを編集したあとに、Spatial Audio Volumesでアコースティックテキスチャが誤った面にアサインされました。
  • WG-54524 修正済み: "Ensure condition failed" エラーが、Sound Data生成中に発生しました。
  • WG-55714 修正済み: アドレスサニタイザー下でUE4を使ったときに、Spatial Audioで不良メモリを読み込みました。
  • WG-55920 修正済み: 非ゼロの値が、 AkPortalComponent 、 AkRoomComponent 、 AkLateReverbComponent 、および AkGeometryComponent の、Transformプロパティに表示されました。
  • WG-55941 修正済み: AkRoomComponentのルームの向きが誤っていました。

コミュニティで報告されたバグの修正

  • WG-51494 修正済み: Sound Data生成中にAutoSaveがトリガーされると、クラッシュする可能性がありました。生成処理中は、AutoSaveがオフにトグルされるようになりました。
  • WG-54995 修正済み: FAkMixerPlatform::GetOutputDeviceInfo が、要求されたチャンネル情報を適切に初期化しませんでした。
  • WG-55312 修正済み: AkAudio モジュールが初期化される前にメディアがロードされたために発生した、 RecursionNotAllowed エラー。
  • WG-55548 修正済み: AkGeometryComponent のコリジョンジオメトリの配置が、誤っていました。
  • WG-55715 修正済み :レベル遷移中に、メディアアセットの破壊が構築後に発生するようなエッジケースで、メディアがSound Engineでunsetされることがありました。
  • WG-55966 修正済み: アンロード中に、コンボリューションリバーブのメディアの解放が早すぎたため、クラッシュしました。
  • WG-56058 修正済み: UAkLateReverbComponent のUPROPERTY でカテゴリーが欠如しているため、エンジンプラグインがビルドできませんでした。
  • WG-56139 修正済み: SoundBankアセットデータをパースするときに、サウンドデータ生成中にデッドロックする可能性がありました。


Wwise Unreal Integration Documentation: リリースノート 2021.1.3.7665.2079

リリースノート 2021.1.3.7665.2079

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2021.1.3.7665.2079版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • APIの変更
  • 動作の変更
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-52844 Unrealに {{AK::SoundEngine::RegisterOutputDeviceMeteringCallback}} を公開し、Audio Deviceメーターをモニターできるようにしました。
  • WG-52873 新しいブループリント関数が、次のSpatial Audio API関数を使うようになりました: SetPortalObstructionAndOcclusion 、 SetGameObjectToPortalObstruction 、 SetPortalToPortalObstruction 。
  • WG-53713 Unreal IO Storeのパッケージングオプションに対応するようになりました。

APIの変更

  • WG-53512 SetRTPCValueByPlayingID を AkAudioDevice に対して公開しました。
  • WG-53543 GetRTPCValue 、 SetRTPCValue 、 SetState 、 SetSwitch のShort IDを、 FAkAudioDevice に対して公開しました。

動作の変更

  • WG-54766 メディアアセットをアンロードするのは、メディアを強制的にアンロードするのではなく、最初にメディアを再生するのを停め、次にこれが使用されなくなるまで待ってからアンロードするようになりました。
  • WG-55592 SoundEngineをtear downするときに、 StopAll のコールを追加しました。

その他の変更

  • WG-55062 修正済み: Wwise Demo Gameで、イグルーのReverb VolumeのRoomVerbリファレンスが欠落していました。

バグ修正

  • WG-54232 修正済み: 親が設定されていなメディアは、Clear Sound Dataでオプションを選択したときに、正しくクリーンアップされませんでした。
  • WG-54273 修正済み: 非同期PostEventコールをExternal Sourceで使うと、イベントのポスト前に、External Sourceファイル名がメモリからクリアされました。
  • WG-54493 修正済み: Clear Sound Dataで、常にアイテムがダーティとマークされました。
  • WG-54950 修正済み: Event-Based Packagingを使い、各種EventをSoundBankに入れてグループ分けすると、サウンドデータの生成時にUnreal Editorがクラッシュしました。
  • WG-54998 修正済み: GenerateSoundbanksCommandletが、チェックアウトできなかったファイルを、チェックインしようとしました。
  • WG-55086 修正済み: SoundBank生成中にミュージックコンテナの汎用パスに関連付けられたメディアを解析すると、クラッシュしました。
  • WG-55097 Event-Based Packagingへの移行を、InitBankアセットを適切なフォルダに確実に移動させることで、修正しました。
  • WG-55201 修正済み: Split Switch Container Media を有効にすると、Music Switch ContainerのGeneric Pathに関連付けられたメディアがロードされませんでした。今は、それを参照するEventと共に、自動的にロードされるようになりました。
  • WG-55229 修正済み: Switch Containerが参照するメディアアセットをUnreal Editorで削除すると、Editorがクラッシュしました。
  • WG-55318 修正済み: ビルドをパッケージング中に、WAAPI Pickerによってクラッシュする可能性がありました。
  • WG-55336 修正済み: 元に戻す（undo）のあとに、AkSpatialAudioVolume Actorに誤ったVolume値やArea値が表示されました。
  • WG-55460 修正済み: コールバックと、ガベージで収集した破壊後の潜在的アクションが、相互に作用することが原因で、クラッシュする可能性がありました。
  • WG-55591 Switch Valueアセットをアンロードすると、関連付けられたメディアが適切にアンロードされるようになりました。

コミュニティで報告されたバグの修正

  • WG-51927 修正済み: DirectoriesToAlwaysCookを検証するときに、そこにルートフォルダのエントリが含まれていると、クラッシュしました。
  • WG-53436 修正済み: UAkInputComponentは、一定の時間（数秒から数分）が経過すると、予期せず停止しました。
  • WG-54287 修正済み: パーサの問題で、Init BankアセットのDefaultLanguageが誤って設定されました。
  • WG-54729 修正済み: Event Based Packaging以外のワークフローで、Sound Data生成中に、Wwise UnrealアセットがSoundBank情報の解析時に不必要にダーティとなり、不必要にロードされました。
  • WG-54843 修正済み: 時期尚早にレベルをアンロードすると、非同期のロードリクエストが不適切にキャンセルされました。
  • WG-54947 修正済み: アセットの保存が、処理の早すぎる段階で行われると、そのアセットはGenerateSoundBanksCommandletのチェンジリストに追加されませんでした。
  • WG-55002 修正済み: Auto Destroyを有効にしたAkComponentsを、非同期にポストすると、自動的にクリーンアップされませんでした。
  • WG-55006 修正済み: レベルをアンロードしたときに破壊されたFWaitEndOfEventActionの潜在的なアクションを、破壊されたのにコールしてしまうと、クラッシュしました。
  • WG-55081 修正済み: "Clear data in assets" によってクリアされたWwise UAsset Short IDが、State値用に再生成されないことがありました。誤ったShort IDは、警告としてUnreal Logで報告されるようになりました。
  • WG-55107 修正済み: Returned Playing IdがAkComponentの PostAkEventAndWaitForEnd Blueprint関数に適切に設定されず、遅延アクションが作成されず、Eventが AkComponent の PostAkEventAndWaitForEndAsync Blueprint 関数でポストされませんでした。
  • WG-55464 修正済み: AkAcousticPortalが、正しいポジションのときでも無効なルームIDを返しました。
  • WG-55578 Wwiseの初期化設定の、 MONITOR_QUEUE_DEFAULT_SIZE のデフォルト値を1 MBに更新しました。


Wwise Unreal Integration Documentation: リリースノート 2021.1.2.7629.2025

リリースノート 2021.1.2.7629.2025

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2021.1.2.7629.2025版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • パフォーマンスの変更
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

パフォーマンスの変更

  • WG-54411 Editorのロード時間を改善しました。

その他の変更

  • WG-53918 AkRoomComponent におけるAkEventプロパティの優先順位を変更し、Detailsパネルでほかのプロパティの近くに表示されるようにしました。
  • WG-54267 Unreal Demo GameのMonitor Queue Pool Sizeを増やしました。

バグ修正

  • WG-54115 修正済み: Spatial Audioコンポーネントを、レベルにあるBlueprint ActorインスタンスにAdd Componentボタンで追加したときにクラッシュしました。
  • WG-54151 修正済み: AkRoomComponentのDetailsパネルにおいて、AkEventセクション内のプロパティを編集すると、そのあとにセクションが縮小表示されました。
  • WG-54171 修正済み: AkLateReverbComponentに、兄弟AkRoomComponentがないときのプロパティ変更の処理が、誤っていました。
  • WG-54264 修正済み: (Spatial Audio) Room Game Objectsの自動登録中に必要なRoomが登録されないことがあり、これが原因で、Capture Logに"Unknown listener game object ID."メッセージがプリントされました。
  • WG-54417 修正済み: イベントが、複数のActor-Mixerを参照するスイッチ値を含むSwitch Containerを参照すると、Sound Data生成後に、必ずダーティとマークされました。
  • WG-54494 修正済み: Content Browserで、AkEvent UAssets の削除や無効な移動操作を実行すると、クラッシュする可能性がありました。
  • WG-54517 修正済み: Spatial Audio Volume DetailsパネルのFit To Geometryセクションが、関連セクションから離れていました。
  • WG-54536 Unreal Acoustic Portal: ポータルをその場で回転させたときに、ポータルの有効性が更新されないのを、修正しました。
  • WG-54597 修正済み: Late Reverb Componentを、Level Editorから無効な親に追加してから、親を変更（reparent）しても、インアクティブのままでした。
  • WG-54662 修正済み: テキストビジュアライザーのプロパティを保存すると、Unrealマップが不必要にダーティ（dirty）とマークされました。
  • WG-54750 修正済み: AkAcousticPortal DetailsパネルのFit To Geometryセクションが、関連セクションから離れていました。
  • WG-54751 修正済み: Fit To Geometryプロパティを元に戻したり、やり直したりすると、Spatial Audio Volumeジオメトリが不正確になりました。
  • WG-54780 修正済み: Late Reverb Componentを無効なComponentタイプに追加すると、クラッシュしました。
  • WG-54791 修正済み: Play in Editorセッション中に、Room Componentを編集するとクラッシュしました。

コミュニティで報告されたバグの修正

  • WG-54498 修正済み : Split Switch Container Mediaを有効にしてSound Dataを生成すると、クラッシュする可能性がありました。
  • WG-54558 修正済み: ストリーミングするサウンドのzero-latencyを有効にしていない場合に、そのサウンドをリロードすると、クラッシュや再生上の問題が発生する可能性がありました。
  • WG-54581 修正済み : ストリーミングするレベルに、ルーム以外のSpatialAudioVolumesが含まれると、そのレベルをアンロードしたりリロードしたりするときにクラッシュしました。


Wwise Unreal Integration Documentation: リリースノート 2021.1.1.7601.1995

リリースノート 2021.1.1.7601.1995

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2021.1.1.7601.1995版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

その他の変更

  • WG-53145 Spatial Audio Volume詳細パネルで、'Geometry Settings'を'Geometry Surfaces'から切り離しました。

バグ修正

  • WG-50934 修正済み: AkBankManagerでバンクをアンロードするときに、クラッシュすることがありました。
  • WG-51387 修正済み: InitBankアセットを、リロードしたあとにSound Dataを生成すると、クラッシュしました。
  • WG-53164 修正済み: AkRoomComponentsは、IsEnabledがfalseに設定されていると、ランタイム中に有効にできませんでした。
  • WG-53257 修正済み: IntegrationsのCPU Limit値が、クランプしていませんでした。
  • WG-53440 修正済み: *Enable Surface Reflectors*のチェックボックスは、EditorでPlay中に効力がありませんでした。
  • WG-53456 修正済み: Wwiseで、アセットと同じ名前のフォルダまたはWork Unitの中に、そのアセットを作成すると、Unrealでエラーが起きました。この修正により、既存の隠しフォルダのメタデータuassetの名前が変えられ、名前に"_FOLDER"というサフィックスが追加されます。
  • WG-53589 修正済み: Editorプロパティの変更の通知が、AkLateReverbComponentsと、AkGeometryComponentsには、ありませんでした。
  • WG-53604 修正済み: Blueprintで作成したComponentのUPROPERTYの変更への対応。
  • WG-53645 修正済み: Wwise User Settingsで、 Wwise.app への相対パスが無効と報告されました。
  • WG-53803 修正済み: Split Switch Container Mediaが、機能しませんでした。
  • WG-53984 修正済み: レベルエディタでアクターにAkRoomComponentを追加すると、クラッシュしました。
  • WG-54031 修正済み: Auto-Assign Aux Busのデフォルトがtrueであり、Auto-Assign Aux Busがレベルエディタの詳細パネルで変更されていると、カスタムBlueprintに追加したAkLateReverbComponentのAux Busは編集不可能でした。
  • WG-54088 修正済み: AkLateReverbComponentのユーザーがアサインしたAux Busは、Blueprintで追加したコンポーネントのauto-assign aux busを無効にすると、復元されませんでした。
  • WG-54244 修正済み: スイッチコンテナを使うと、パッケージされたゲームに、不足するメディアがありました。この修正により、全メディアアセットが変更されます。

コミュニティで報告されたバグの修正

  • WG-51186 修正済み: 使用中のSoundBankを非同期でアンロードし、直後にリロードすると、クラッシュしました。
  • WG-53031 修正済み: Convolution Reverbがテールモードにあるときにレベルをアンロードすると、Event-Based Packagingがクラッシュする可能性がありました。
  • WG-53340 修正済み: Event-Based Packagingを使用中でないと、イベントのメタデータが変更されると、ダーティとなりませんでした。
  • WG-53585 修正済み: SoundBank生成中に、全ての解析タスクが終了するのを待たずに、メディアのクック処理へと前に進みました。
  • WG-53707 修正済み: 必要なバンクの中のLinked Ak Eventsのリストで、Eventアセットが削除されても項目がクリアされませんでした。
  • WG-53789 修正済み: AkAudioEventの破壊中の、UAkAudioEvent::IsReadyForFinishDestroy() のフレームドロップ。
  • WG-53850 修正済み: FAkAudioStyle::TextMaterial がUnreal Editorでガベージコレクターに削除されることがあり、その結果クラッシュしました。
  • WG-53947 修正済み: AuxBusしか含まないSoundBankは、Event-Based Packagingを使わない限り、生成されませんでした。
  • WG-54076 修正済み: ゲームスレッドコードを非同期タスクで実行したことが原因で、Sound Data生成中にクラッシュしました。
  • WG-54116 修正済み: Sound Data生成中にデバグでEditorを使うと、クラッシュしました。


Wwise Unreal Integration Documentation: リリースノート 2021.1.0.7575.1956

リリースノート 2021.1.0.7575.1956

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2021.1.0.7575.1956版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。 重要な移行の注意 2021.1.0.7575.1956

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • APIの変更
  • 動作の変更
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-35740 ブループリントのSpatial Audio: UPrimitiveParentコンポーネントにアタッチできる、UAkPortalComponentを追加しました。UAkRoomComponent、UAkLateReverbComponent、そしてUAkGeometryComponentを汎用化したので、どのUPrimitiveComponentにも、これらをアタッチできるようになりました。Integration SettingsにVisualize Rooms and Portalsオプションを追加したので、ポータルやルームを配置するときに使えます。
  • WG-46375 Ak Portalコンポーネントをブループリントクラスに追加できるようになりました。
  • WG-48244 System Audio Deviceが、Microsoft Spatial Sound経由で3D Audioに対応するようになりました。
  • WG-48270 AkLateReverbComponentに、Auxバスの自動アサインとリバーブパラメータ推定を、追加しました。
  • WG-48507 Volumetric Emitterコンポーネントを追加しました。
  • WG-48703 Unreal Editorのビューポートにルームやポータルの可視化を追加したので、UnrealのProject Settingsメニューの、WwiseのIntegration Settingsで有効・無効を設定できます。
  • WG-50210 Game Object 3D Viewerの全てのUser-definedサイズを拡大縮小するための、ゲームから送信される新設定への対応を、追加しました。
  • WG-51976 WwiseプロジェクトとUnrealプロジェクトで、アコースティックテキスチャの色が同期されるようになりました。
  • WG-52051 Ak Surface Reflector Setコンポーネントの、アコースティックサーフェスのプロパティ（そしてSpatial Audio Volume）のUIを更新しました。Unreal EditorのBrush Editingモードを使い、1つまたは複数の面に、テキスチャをアサインできるようになりました。
  • WG-52685 物理フォルダ階層を、プロジェクトファイルから直接解析するようになりました。

APIの変更

  • WG-47085 AK::IAkPluginMemAlloc に、リアローケーションの新しい方式として AK::IAkPluginMemAlloc::Realloc と、 AK::IAkPluginMemAlloc::ReallocAligned を追加しました。
  • WG-50742 Spatial Audioで"occlusion"に言及するパラメータは、"transmission loss"を使うようにパラメータ名を変更しました。

動作の変更

  • WG-47039 Virtual Folderが、WwiseとUnreal Content Browserの間で自動的に同期されるようになりました。
  • WG-48155 Ak Roomコンポーネントや、Ak Late Reverbコンポーネントを、AVolume以外のアクターにも追加できるようになりました。Ak RoomコンポーネントやAk Late Reverbコンポーネントのブループリント関数を、アクターブループリントからコールできるようになりました。
  • WG-49551 AkAssetDatabaseが、エディタを開いたときやアセットの同期中にアセットをロードしなくなり、全体的にロード時間が削減されました。
  • WG-52785 コマンドレットの実行中は、WAAPIが停止されるようになりました。

その他の変更

  • WG-47980 プラグインが静的ライブラリの名前を指定できるように、新しい任意のXML属性を追加しました。
  • WG-49988 ポータルはUnreal座標軸システムに合わせて、X軸を"フロント"として使うようになりました。
  • WG-53093 アセットの移動やアセット同期時の、不要なダイアログメッセージを減らしました。

バグ修正

  • WG-48689 修正済み: ブループリントクラスでAkGeometryコンポーネントをインスタンス化したときの、nullptr exception。
  • WG-50804 修正済み: MaxSimultaneousReverbVolumesの名前とツールチップに、不足するコンポーネントがありました。
  • WG-50861 修正済み: AkComponentのポジションを更新すると、全てのUAkRoomComponentやUAkLateReverbComponentのリニアサーチが行われるため、最適ではありません。このリニアサーチが、スペーシャルインデックスデータ構成へのクエリに置き換えられ、コンポーネントの数で対数的に増減します。
  • WG-52242 修正済み: 特殊文字を含む名前のフォルダを移動するようにUnreal Editorが出したWAAPIコマンドが、失敗しました。
  • WG-52305 修正済み: アセットの同期に関する様々な問題点。
  • WG-52824 修正済み: 多数のアセットをまとめて削除すると、クラッシュしました。
  • WG-53335 修正済み: WEM Opusフォーマットが、AkExternalSourceInfoのCodec IDのドロップダウンにありませんでした。

コミュニティで報告されたバグの修正

  • WG-52245 Unreal EditorでWwiseオブジェクトの変更を行っても、必ずしもWwise Authoringに反映されませんでした。
  • WG-52893 修正済み: ネスト化されているWork Unitを変更しても、Wwise Pickerに反映されませんでした。
  • WG-53195 修正済み: AkGeometryの ConvertConvexMeshToGeometryData() は、凸型メッシュをフェッチせず、常にバウンディングボックスを使いました。
  • WG-53444 修正済み: AkLowLevelMemory::Alloc が、ページにアラインされたメモリを返さないことがありました。


Wwise Unreal Integration Documentation: 重要な移行の注意 2021.1.0.7575.1956

重要な移行の注意 2021.1.0.7575.1956

2021.1で、Spatial AudioのInitialization Settingsが更新され、改善されました。あなたのプロジェクトを2021.1に更新する場合は、必ずSpatial AudioのInitialization Settingsを再確認し、全ての設定がまだ希望通りであることを確認してください。新しい設定の詳細は、 AkSpatialAudioInitSettings Struct Reference を参照してください。

Spatial Audioのポータル

  • AkPortalComponent が更新され、Unrealの座標システムに合わせて、接続したルームを検知したときにローカルのX軸を'フロント'として使うようになりました。既存レベルのポータルは、適切な方向を向くように変換されます。
  • AkAcousticPortal の Initial State プロパティが廃止されました。初期ステートは、 AkPortalComponent で扱うようになりました。既存の AkAcousticPortal アクターの初期ステートは、その AkPortalComponent に渡されます。


Wwise Unreal Integration Documentation: リリースノート 2019.2.15.7667.2164

リリースノート 2019.2.15.7667.2164

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.15.7667.2164版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

  • 重要な移行の注意 2019.2.15.7667.2164
注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.26と4.27です。Unreal Engine 4.27.2を対象にテストしました。現在、上記Unreal Engineバージョンより新しいバージョンはサポートしていません。Unreal Engine 5はWwise 2019.2でサポートされません。Unreal Engine 5をサポートするにはWwise 2021.1に更新してください。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • 動作の変更
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-54828 Unreal Content Browserに個々のWwiseアセットのサウンドデータをクリアする新しいオプションができました。Sound VoiceをSound SFXに、またはSound SFXをSound Voiceに変更した後に必要なSound Dataをクリアするという作業が、これで容易になります。
  • WG-55555 GenerateSoundBanks コマンドレットに、新しい引数を2つ追加しました: autosubmit は生成したアセットをソースコントロールに 自動的にサブミットするためのもので、 clnum はコミット番号を指定するためのものです。

動作の変更

  • WG-57995 Sound Data生成中の、アセット読み込みのパフォーマンスを改善しました。
  • WG-58889 Play in Editorセッションを終了すると全サウンドが停止するようになりました。
  • WG-59966 アセットをロードした時にアセット内にあるShortIDを、インテグレーションが自動的に修正しなくなりました。OutputログにInvalid ShortIDの警告が表示された場合は、Sound Dataを再生成し、変更されたアセットをすべて保存してください。

その他の変更

  • WG-56843 UPROPERTY がデフォルトで初期化されるようになりました。

バグ修正

-WG-54251 修正済み: ローカライズしたUnrealのアセットデータが、"Clear Sound Data "ユーティリティで削除されませんでした。

  • WG-55387 修正済み: Unreal Asset Registryがアセットを発見し終わる前にレベルシーケンスを開くと、Sequencerがクラッシュしました。
  • WG-59502 修正済み: 同じメディアがSetMediaを複数回コールすることができ、これによりメディアリークが発生しました。
  • WG-59600 修正済み: FAkAudioModuleがnon-editorビルドでアイコンをロードしてWAAPIを初期化しようとしました。
  • WG-60059 修正済み: 対象ランゲージのアセットデータを含まないAkAudioBankアセットでランゲージの切り替えを行うと、クラッシュが発生しました。AkAudiobankの "Could not find localized data" ログをエラーから警告に引下げました。
  • WG-60163 修正済み: オーディオソースをWwiseに再インポートしてサウンドデータを再生成した後に、Unreal Editorのメモリにあるメディアが更新されませんでした。
  • WG-60218 修正済み: Event-Based Packagingを使わなかった場合のパッケージングエラー。
  • WG-60252 修正済み: Sound VoiceにConvolution Reverbを追加する時に、オートロードエラーを設定できませんでした。
  • WG-60254 修正済み: AkMediaMemoryManager::ReleaseMediaMemory: ローカライズしたメモリのNegative RefCountエラー。
  • WG-60263 修正済み: ゲーム起動時にRecursionNotAllowedのアサートが発生しました。
  • WG-60394 修正済み: Unityビルドをオフにした時のビルドの失敗。

コミュニティで報告されたバグの修正

  • WG-50111 修正済み: ローカライズしたEventをSoundBankにまとめて入れると、ランゲージを変更した時にエラーが発生しました。
  • WG-50220 修正済み: Set Current Audio Cultureブループリントを使いカルチャを変更した時に、クラッシュが発生しました。
  • WG-51577 修正済み: レベルをロードした直後にローカライゼーションを変更すると、クラッシュが発生する可能性がありました。
  • WG-53110 修正済み: Content Browserのコンテキストメニューで再生したイベントは、Play In Editor (PIE) モードを出ると無音になりました。
  • WG-53151 修正済み: レベルロード（Level Sequenceタイムラインからのロードなど）の際にすぐにポストしたEventのローカライズしたメディアデータが、ロードされるのが遅すぎました。
  • WG-55967 修正済み: ローカライズしたEventは、Content Browserでプレビューした時に再生されませんでした。
  • WG-56793 修正済み: Switch Container内のローカライズしたボイスをストリーミングすると、再生に失敗することがありました。
  • WG-56935 修正済み: Event再生中のマップの遷移時に、クラッシュが発生しました。
  • WG-57271 修正済み: AkBankManagerが、SoundBankをレガシーモードでアンロードするのを阻止しました。
  • WG-57378 修正済み: Unreal DirectoryWatcher APIに誤ったフラグが渡されました。
  • WG-57751 修正済み: Split Switch Container Mediaを有効にしたSwitch Container内のローカライズしたメディアが、正しくロードされませんでした。さらに、Sound Data生成中にメディアをストリーミングと非ストリーミングの両方としてパースした時のレポートが原因で、再生に問題が発生しました。
  • WG-57789 修正済み: Blueprintコールバックを使ったときのクラッシュ、メモリリーク。
  • WG-57791 修正済み: AkLateReverbComponent のBoolean論理演算子における誤記。
  • WG-57812 修正済み: BlueprintノードでPostAndWaitEndOfEventを使ったときのクラッシュ。
  • WG-57933 修正済み: UnrealのレガシーI/Oフックを使い、ゲームセッションにAuthoringを接続したときのクラッシュまたはハング。
  • WG-57987 修正済み: Sound DataをLegacy (non-EBP) モードで生成するときに、ゲームスレッド上でないときにアセットを読み込むことで発生するクラッシュ。
  • WG-58133 修正済み: AkAudioモジュールの前にWwiseアセットを読み込むと、クラッシュしました。
  • WG-58518 修正済み: 新しく使用したメディアアセットはGenerateSoundBanksコマンドレットを実行した時に作成されませんでした。新 forceAssetSync スイッチを使用して強制的に新しいアセットを作成します。
  • WG-58616 修正済み: ローカライズしたメディアが欠落していると、新しいロケールに切り替えることができませんでした。
  • WG-59294 修正済み: 続けてロードした2つのレベルでストリーミングサウンドをポストすると、その再生に失敗しました。
  • WG-60035 修正済み: ローカライズしたメディアやバンクデータをロードする時に様々な問題が発生しました。
  • WG-60111 修正済み: プロジェクトにWwise Convolution Reverb Effectが存在すると、WAAPI経由でサウンドデータを生成した時にクラッシュが発生しました。
  • WG-60162 修正済み: 親メディアアセットのロードが始まる前に、Media Asset Dataがオートロードが必要かどうかをチェックするとハングしました。
  • WG-60165 修正済み: コマンドレットでサウンドデータをクックするとハングしました。
  • WG-60233 修正済み: Linux Serverビルドでクックに失敗しました。


Wwise Unreal Integration Documentation: 重要な移行の注意 2019.2.15.7667.2164

重要な移行の注意 2019.2.15.7667.2164

ローカライゼーション

メディアやプラットフォームデータのロードに関する修正を行ったため、2019.2.15への移行後に、Sound Dataを再生成する必要があります。Wwise Unrealアセットの大部分はこの処理によって更新されます。Sound Data生成後も、引き続き次のメッセージ"Media data [...] is not up to date. Please regenerate sound data."（メディアデータが最新状態ではありません。サウンドデータを再生成してください）が表示される場合は、Wwise Unrealアセット内のデータをクリアしてからSound Dataを生成する必要があります。


Wwise Unreal Integration Documentation: リリースノート 2019.2.14.7616.2082

リリースノート 2019.2.14.7616.2082

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.14.7616.2082版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

その他の変更

  • WG-57433 修正済み: Unreal Demo Gameは、コンフィギュレーションフィールドが不足しているため、Unreal 4.27.1では、XDKでXbox Oneプラットフォーム用にパッケージできませんでした。

バグ修正

  • WG-51015 修正済み : マーカーのラベルや、ミュージックキューの名前が、Eventコールバックで正しくコピーされませんでした。
  • WG-54245 修正済み: 非ASCII文字をWAAPIメッセージで正しく送信できませんでした。

コミュニティで報告されたバグの修正

  • WG-54864 修正済み: 汎用パスに対してマッピングされた、ネスト化されたMusic Switch Containerのメディアが、ロードされませんでした。
  • WG-55312 修正済み: AkAudio モジュールが初期化される前にメディアがロードされたために発生した、 RecursionNotAllowed エラー。
  • WG-55715 修正済み :レベル遷移中に、メディアアセットの破壊が構築後に発生するようなエッジケースで、メディアがSound Engineでunsetされることがありました。
  • WG-56139 修正済み: SoundBankアセットデータをパースするときに、サウンドデータ生成中にデッドロックする可能性がありました。
  • WG-56161 修正済み: CreateStreamingRequestは、ストリーミングメディアのメディアアセットが誤ったタイミングでアンロードされると、アサートすることがありました。新しいストリーミングデータをリクエストする前に、メディアアセットの有効性を確認するようになりました。
  • WG-56245 修正済み: AkAudioBanksでLinkedAkEventsをトラッキングすると、バンクアセットが誤ってダーティにマークされました。
  • WG-56455 修正済み: Switch Container内の複数の異なるSwitchが、同じMediaを参照したときに、XML/JSONバンクファイル内の一部Media IDが欠落していました。
  • WG-56716 修正済み: Split Switch Container Mediaと、ネスト化されたSwitch Containerを使ったときの、"Media not loaded"エラー。


Wwise Unreal Integration Documentation: リリースノート 2019.2.13.7577.2037

リリースノート 2019.2.13.7577.2037

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.13.7577.2037版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • APIの変更
  • 動作の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-52794 Unreal Engine 5のアーリーアクセスの互換性を追加しました。
  • WG-53713 Unreal IO Storeのパッケージングオプションに対応するようになりました。
  • WG-55316Unreal Engine UE4.27の対応を追加しました。

APIの変更

  • WG-55748 修正済み: Unreal静的関数に AK::SoundEngine::ResetRTPCValue() を公開し、Game Parameter値をデフォルト値にリセットできるようにしました。
  • WG-56084 AkUtilities.GetWwiseSoundBankDestinationFolder 関数シグニチャを更新しました。

動作の変更

  • WG-55592 SoundEngineをtear downするときに、 StopAll のコールを追加しました。

バグ修正

  • WG-48540 修正済み: WAAPI Pickerを閉じたり再開したり、WAAPIの機能をトグルして切り替えたりしたあとは、WAAPI Pickerのサブスクリプションがリフレッシュされませんでした。
  • WG-52933 修正済み: 名前を変えたWwise UAssetを置き換えるときに、Automatic Asset Synchronizationがオフの場合は、クラッシュする可能性がありました。
  • WG-54273 修正済み: External Sourceと非同期のPostEventコールを使うと、Eventをポストする前に、 メモリからExternal Sourceファイル名がクリアされました。
  • WG-55097 修正済み: InitBankアセットが適切なフォルダに移ったことを確認したうえで、Event-Based Packagingに移行します。
  • WG-55318 修正済み: ビルドをパッケージング中に、WAAPI Pickerによってクラッシュする可能性がありました。
  • WG-55460 修正済み: コールバックと、ガベージで収集した破壊後の潜在的アクションが、相互に作用することが原因で、クラッシュする可能性がありました。
  • WG-55591 修正済み: Switch Valueアセットをアンロードしても、それに関連するメディアはアンロードされませんでした。
  • WG-55891 修正済み: Automatic Asset Synchronizationを無効にした状態でWwiseアセットの名前を変更したときの動作に、一貫性がありませんでした。
  • WG-55939 修正済み: PIEの最中にプロファイリングすると、WAAPI Picker選択の同期でクラッシュしました。

コミュニティで報告されたバグの修正

  • WG-51494 修正済み: Sound Data生成中にAutoSaveがトリガーされると、クラッシュする可能性がありました。生成処理中は、AutoSaveがオフにトグルされるようになりました。
  • WG-54995 修正済み: FAkMixerPlatform::GetOutputDeviceInfo が、要求されたチャンネル情報を適切に初期化しませんでした。
  • WG-55006 修正済み: レベルをアンロードしたときに破壊されたFWaitEndOfEventActionの潜在的なアクションを、破壊されたのにコールしてしまうと、クラッシュしました。
  • WG-55081 修正済み: "Clear data in assets" によってクリアされたWwise UAsset Short IDが、State値用に再生成されないことがありました。誤ったShort IDは、警告としてUnreal Logで報告されるようになりました。
  • WG-55107 修正済み: Returned Playing IdがAkComponentの PostAkEventAndWaitForEnd Blueprint関数に適切に設定されず、遅延アクションが作成されず、Eventが AkComponent の PostAkEventAndWaitForEndAsync Blueprint 関数でポストされませんでした。
  • WG-55548 修正済み: AkGeometryComponent のコリジョンジオメトリの配置が、誤っていました。
  • WG-55881 修正済み: includes内の大文字小文字の間違いで、Linuxでインテグレーションをビルドすることができませんでした。
  • WG-55966 修正済み: アンロード中に、コンボリューションリバーブのメディアの解放が早すぎたため、クラッシュしました。


Wwise Unreal Integration Documentation: リリースノート 2019.2.12.7544.1988

リリースノート 2019.2.12.7544.1988

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.12.7544.1988版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • APIの変更
  • 動作の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

APIの変更

  • WG-53512 SetRTPCValueByPlayingID を AkAudioDevice に対して公開しました。
  • WG-53543 GetRTPCValue 、 SetRTPCValue 、 SetState 、 SetSwitch のShort IDを、 FAkAudioDevice に対して公開しました。

動作の変更

  • WG-54766 メディアアセットをアンロードするのは、メディアを強制的にアンロードするのではなく、最初にメディアを再生するのを停め、次にこれが使用されなくなるまで待ってからアンロードするようになりました。

バグ修正

  • WG-54232 修正済み: 親が設定されていなメディアは、Clear Sound Dataでオプションを選択したときに、正しくクリーンアップされませんでした。
  • WG-54493 修正済み: Clear Sound Dataで、常にアイテムがダーティとマークされました。
  • WG-54524 修正済み: "Ensure condition failed" エラーが、Sound Data生成中に発生しました。
  • WG-54950 修正済み: Event-Based Packagingを使い、各種EventをSoundBankに入れてグループ分けすると、サウンドデータの生成時にUnreal Editorがクラッシュしました。
  • WG-54998 修正済み: GenerateSoundbanksCommandletが、チェックアウトできなかったファイルを、チェックインしようとしました。
  • WG-55086 修正済み: SoundBank生成中にミュージックコンテナの汎用パスに関連付けられたメディアを解析すると、クラッシュしました。
  • WG-55201 修正済み: Split Switch Container Media を有効にすると、Music Switch ContainerのGeneric Pathに関連付けられたメディアがロードされませんでした。今は、それを参照するEventと共に、自動的にロードされるようになりました。
  • WG-55229 修正済み: Unreal EditorでSwitch Containerが参照するメディアアセットを削除すると、Editorがクラッシュしました。

コミュニティで報告されたバグの修正

  • WG-53436 修正済み: UAkInputComponentは、一定の時間（数秒から数分）が経過すると、予期せず停止しました。
  • WG-54287 修正済み: パーサの問題で、Init BankアセットのDefaultLanguageが誤って設定されました。
  • WG-54558 修正済み: ストリーミングするサウンドのzero-latencyを有効にしていない場合に、そのサウンドをリロードすると、クラッシュや再生上の問題が発生する可能性がありました。
  • WG-54729 修正済み: Event Based Packaging以外のワークフローで、Sound Data生成中に、Wwise UnrealアセットがSoundBank情報の解析時に不必要にダーティとなり、不必要にロードされました。
  • WG-54843 修正済み: 時期尚早にレベルをアンロードすると、非同期のロードリクエストが不適切にキャンセルされました。
  • WG-54947 修正済み: アセットの保存が、処理の早すぎる段階で行われると、そのアセットはGenerateSoundBanksCommandletのチェンジリストに追加されませんでした。
  • WG-55002 修正済み: Auto Destroyを有効にしたAkComponentsを、非同期にポストすると、自動的にクリーンアップされませんでした。
  • WG-55128 修正済み: "Clear data in assets" でクリアされたWwise UAsset Short IDは、必ずしもState値用に再生成されませんでした。誤ったShort IDは、警告としてUnreal Logで報告されるようになりました。


Wwise Unreal Integration Documentation: リリースノート 2019.2.11.7512.1949

リリースノート 2019.2.11.7512.1949

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.11.7512.1949版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • パフォーマンスの変更
  • バグ修正
  • コミュニティで報告されたバグの修正

パフォーマンスの変更

  • WG-54411 Editorのロード時間を改善しました。

バグ修正

  • WG-51387 修正済み: InitBankアセットを、リロードしたあとにSound Dataを生成すると、クラッシュしました。
  • WG-53456 修正済み: Wwiseで、アセットと同じ名前のフォルダまたはWork Unitの中に、そのアセットを作成すると、Unrealでエラーが起きました。この修正により、既存の隠しフォルダのメタデータuassetの名前が変えられ、名前に"_FOLDER"というサフィックスが追加されます。
  • WG-53645 修正済み: Wwise User Settingsで、 Wwise.app への相対パスが無効と報告されました。
  • WG-54244 修正済み: Switch Containerを使うと、パッケージされたゲームで、不足するメディアがありました。この修正により、全メディアアセットが変更されます。
  • WG-54417 修正済み: イベントが、複数のActor-Mixerを参照するスイッチ値を含むSwitch Containerを参照すると、Sound Data生成後に、必ずダーティとマークされました。
  • WG-54494 修正済み: AkEvent UAssets の削除や無効な移動操作を実行すると、クラッシュする可能性がありました。
  • WG-54498 修正済み: Split Switch Container Mediaを有効にしてサウンドデータを生成すると、クラッシュする可能性がありました。

コミュニティで報告されたバグの修正

  • WG-51186 修正済み: 使用中のSoundBankを非同期でアンロードし、直後にリロードすると、クラッシュしました。
  • WG-53340 修正済み: Event-Based Packagingを使用中でないと、イベントのメタデータが変更されると、ダーティとなりませんでした。
  • WG-53789 修正済み: AkAudioEventsの破壊中に、 UAkAudioEvent::IsReadyForFinishDestroy() でフレームレートが低下。
  • WG-53947 修正済み: AuxBusしか含まないSoundBankは、Event-Based Packagingを使わない限り、生成されませんでした。
  • WG-54076 修正済み: ゲームスレッドコードを非同期タスクで実行したことが原因で、Sound Data生成中にクラッシュしました。
  • WG-54116 修正済み: Sound Data生成中にデバグでEditorを使うと、クラッシュしました。


Wwise Unreal Integration Documentation: リリースノート 2019.2.10.7490.1917

リリースノート 2019.2.10.7490.1917

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.10.7490.1917版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

警告： 参照システムが変更されたため、プロジェクトをWwise 2019.2.10に移行したあとに、すべてのWwise Assetを更新する必要があります。ユーザーは"Clear Sound Data"操作を実行し、続いて"Generate Sound Data"操作を実行することが推奨されます。これを行わない場合は、パッケージされたゲームに以下の行を含むUnreal Assertが出現することがあります。 Error: Assertion failed: Offset + BytesToRead <= UncompressedFileSize && Offset >= 0
注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • 動作の変更
  • その他の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-52685 物理フォルダ階層を、プロジェクトファイルから直接解析するようになりました。

動作の変更

  • WG-47039 Virtual Folderが、WwiseとUnreal Content Browserの間で自動的に同期されるようになりました。
  • WG-49551 AkAssetDatabaseが、エディタを開いたときやアセットの同期中にアセットをロードしなくなり、全体的にロード時間が削減されました。
  • WG-50863 Event内のメディアレファレンスがハードレファレンスとなり、メディアデータをロードするのに、Bulk Data Async IO APIを使うようになりました。Audio Eventを使いたいときは、多くの場合、アセットをロードしてしまえばすべての関連メディアが使用可能になります。
  • WG-52785 コマンドレットの実行中は、WAAPIが停止されるようになりました。

その他の変更

  • WG-53093 アセットの移動やアセット同期時の、不要なダイアログメッセージを減らしました。

バグ修正

  • WG-50934 修正済み: AkBankManagerでバンクをアンロードするときに、クラッシュすることがありました。
  • WG-52242 修正済み: 特殊文字を含む名前のフォルダを移動するようにUnreal Editorが出したWAAPIコマンドが、失敗しました。
  • WG-52305 修正済み: アセットの同期に関する様々な問題点。
  • WG-52824 修正済み: 多数のアセットをまとめて削除すると、クラッシュしました。
  • WG-53335 修正済み: WEM Opusフォーマットが、AkExternalSourceInfoのCodec IDのドロップダウンにありませんでした。

コミュニティで報告されたバグの修正

  • WG-50334 修正済み: GIsInitialLoad がTrueの間にEventをロードした場合の、パッケージビルドの起動時のアサート。
  • WG-51258 修正済み: メディアメモリの解放が早すぎた場合に起きる、SoundEngineのクラッシュ。
  • WG-52893 修正済み: ネスト化されているWork Unitを変更しても、Wwise Pickerに反映されませんでした。
  • WG-52991 修正済み: グループ値に格納されたパッケージパスが、 Load() 関数を直接コールするたびに、増加します。
  • WG-53031 修正済み: Convolution Reverbがテールモードにあるときにレベルをアンロードすると、Event-Based Packagingがクラッシュする可能性がありました。
  • WG-53195 修正済み: AkGeometryの ConvertConvexMeshToGeometryData() は、凸型メッシュをフェッチせず、常にバウンディングボックスを使いました。
  • WG-53444 修正済み: AkLowLevelMemory::Alloc が、ページにアラインされたメモリを返さないことがありました。
  • WG-53585 修正済み: SoundBank生成中に、全ての解析タスクが終了するのを待たずに、メディアのクック処理へと前に進みました。
  • WG-53707 修正済み: 必要なバンクの中のLinked Ak Eventsのリストで、Eventアセットが削除されても項目がクリアされませんでした。


Wwise Unreal Integration Documentation: リリースノート 2019.2.9.7459.1876

リリースノート 2019.2.9.7459.1876

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.9.7459.1876版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.25に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 動作の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

動作の変更

  • WG-51199 Auto Connnect to WAAPI と Auto Enable Automatic Asset Synchronization を、ユーザー専用のWwise設定に移動しました。

バグ修正

  • WG-47326 修正済み: Spatial Audioチュートリアルで、ダイアログサウンドの距離減衰に設定したローパスフィルタが、強すぎました。
  • WG-51371 修正済み: UE4 Editorで、SoundBankアセットの名前変更ができませんでした。
  • WG-52226 修正済み: AkGeometryが、メッシュから無効なデータを取得すると、Spatial Audioがクラッシュしました。
  • WG-52494 修正済み: Editorの立ち上げで、Wwiseプロジェクトを変更すると、誤ったXMLパーシングがありました。
  • WG-52529 修正済み: デバイス別の圧縮オーディオを再生できませんでした。
  • WG-52595 修正済み: AkComponent が、それに関連するデリゲートコールバックがゲームスレッドで実行される前に破壊されてしまうと、クラッシュしました。
  • WG-52611 修正済み: 新しいWwise Objectが、 GenerateSoundBanks コマンドレットを通して発見されると、それはUnreal側で作成されませんでした。
  • WG-52624 修正済み: WwiseConsole Sound Data生成中にエラーが報告されても、生成されたデータはパースされ、アセットに保存されました。
  • WG-52762 修正済み: AkMemFreeVMの実装が誤っているため、バーチャルメモリの一部がリークしていました。
  • WG-52877 修正済み: Work Unitのパースのエラーが報告されず、有効なアセットが削除スケジュールに入れられました。

コミュニティで報告されたバグの修正

  • WG-51695 修正済み: ネスト化されているWork Unitを変更しても、Wwise Pickerに反映されませんでした。
  • WG-52245 修正済み: Unreal Editorで、Wwiseプロジェクト構成を変更しても、必ずしもWwise Authoringに反映されませんでした。


Wwise Unreal Integration Documentation: リリースノート 2019.2.8.7432.1840

リリースノート 2019.2.8.7432.1840

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.8.7432.1840版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

  • 重要な移行の注意 2019.2.8.7432.1840
注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.25に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • 動作の変更
  • バグ修正

新機能

  • WG-49536 フォルダ内のファイル数を減らせるように、メディアをフォルダ分けできるオプションを、Integration Settingsに追加しました。
  • WG-51110 Unreal 4.26のサポートを追加しました。

動作の変更

  • WG-51592 Event-Based Packagingは、デフォルトで無効にしたほか、既存プロジェクトを移行させたときに、これに移行するように促していたプロンプトを削除しました。

バグ修正

  • WG-50752 修正済み: SoundBanksInfo.xml 用の、Interactive Music Hierarchyのネスト化されたステート値のパーシングの問題。
  • WG-51495 修正済み: あるSequencerトラックから別のものに、イベントセクションをコピーしたときのクラッシュ。
  • WG-51670 修正済み: AkGeometryが、メッシュから無効なデータを取得すると、Spatial Audioがクラッシュしました。
  • WG-51886 修正済み: State値やSwitch値のアセットの、無効なGroup Short ID。


Wwise Unreal Integration Documentation: 重要な移行の注意 2019.2.8.7432.1840

重要な移行の注意 2019.2.8.7432.1840

BitcodeとiOSを使う

2019.2.8以降、iOS用のWwise SDKはXCode 12を使ってビルドしています。あなたがまだXCode 11を使っている場合は、必ずShippingコンフィギュレーションでBitcodeを無効にしてください。これは、UnrealのProject SettingsのiOSプラットフォームで設定できます。メニューでEdit > Project Settingsを選択し、左ペインに"Platforms"セクションが表示されるまで、スクロールします。次に、"iOS"をクリックします。"Build"セクションの、"Support bitcode in Shipping"を無効にします。


Wwise Unreal Integration Documentation: リリースノート 2019.2.7.7402.1803

リリースノート 2019.2.7.7402.1803

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.7.7402.1803版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.25に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • APIの変更
  • パフォーマンスの変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-49997 Unrealのプロパティインスペクタで見ることができるLinked AkEventsのリストが、SoundBankに含まれるようになりました。

APIの変更

  • WG-51158 イベントのリストを使って、C++からSound Dataを生成することを可能にしました。

パフォーマンスの変更

  • WG-50843 FAkAudioDevice::Get() のパフォーマンスを最適化しました。

バグ修正

  • WG-49667 修正済み: External Source Factoryが、相対パスに対応していませんでした。
  • WG-49678 修正済み: Reverb VolumeやSpatial Audio Volumeが、レイキャストやパーティカルシステムと衝突しました。
  • WG-50785 修正済み: EventをグループにまとめてSoundBankに入れると、Sound Data GenerationをWwiseConsoleで行った場合に、SoundBank名が重複してしまいました。
  • WG-50888 修正済み: Sound Data生成中に発生する文字列のパーシングエラーで、一部のメディアファイルを生成できないことがありました。
  • WG-50936 修正済み: サウンドデータをクックするときに、ローカライズされたデータのためにメディアアセットのコピーが作成され、これによってサウンドデータ生成が妨げられました。
  • WG-50995 修正済み: UAkAssetDataWithMedia::Load で、不正なアクセス。
  • WG-51157 修正済み: GenerateSoundBanksコマンドレット内で、誤った引数パーシング。
  • WG-51190 修正済み: FAkAudioDevice::EventToPlayingIDMap がスレッドセーフでありませんでした。
  • WG-51307 修正済み: Wwiseでメディアを変更しても、SoundData生成後にUnrealに反映されませんでした。
  • WG-51379 修正済み: ロードが完了していないアセットをアンロードすると、クラッシュしました。
  • WG-51392 修正済み: InitBankアセットで、デフォルトランゲージが空でした。
  • WG-51470 修正済み: Event-Based Packagingを使用しないと GenerateSoundBanks コマンドレットが、自動的にアセットを同期しました。

コミュニティで報告されたバグの修正

  • WG-50921 修正済み: Unreal Editorを終了するときの、SoundBankアンロード関連のエラーメッセージ。


Wwise Unreal Integration Documentation: リリースノート 2019.2.6.7381.1779

リリースノート 2019.2.6.7381.1779

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.6.7381.1779版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.25に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • APIの変更
  • 動作の変更
  • バグ修正
  • コミュニティで報告されたバグの修正

新機能

  • WG-50055 Editorで閉じたポータルを選択すると、違う表示で示されます。
  • WG-50993 AkGeometryコンポーネントの、Welding Thresholdという新しいパラメータ。スタティックメッシュタイプを選択したときに、Welding Thresholdを調整してウェルドする頂点の間の距離を指定できます。

APIの変更

  • WG-50332 WAAPIサブスクリプションの ak.wwise.core.soundbank.generate が、すべてのログメッセージを、重大度に従いパブリッシュするようになりました。

動作の変更

  • WG-50108 Unrealのメディアアセットを保存するのに、ダーティフラグのコンテンツのハッシュが使われるようになりました。バージョンコントロールを使って共有するようなプロジェクトでは、この方が確実です。
  • WG-50675 Event-Based Packagingで、不足するアセットや古いアセットを再度ビルドするためのチェックを改善しました。

バグ修正

  • WG-47325 修正済み: Spatial Audioチュートリアルで使われるリバーブは、Early Reflectionsが有効でした。
  • WG-47374 修正済み: Spatial Audio Roomを削除すると、Room toneがオーファン（孤立）になりました。
  • WG-48701 修正済み: Surface Reflectorコンポーネントのディフラクションがデフォルトで有効になっていませんでした。
  • WG-49620 修正済み: Editorを初期化すると、"Master bus structure not loaded"のエラー。
  • WG-49910 修正済み: プロジェクトをEvent-Based Packagingに移行させるのに、何度も試す必要がありました。
  • WG-49936 修正済み: チュートリアルのSpatial AudioメッシュをSpatial Audio Geometryとして使うと、エラーが表示されました
  • WG-50109 修正済み: (Windows) AkComponentCallbackManager EndOfEvent コールバックで、クラッシュしました。
  • WG-50116 修正済み: WAAPI Sound Data生成中のレースコンディションによって、メディアレファレンスが壊れることがありました。
  • WG-50283 修正済み: ロードが完了していないEventやSoundBankをアンロードすると、クラッシュしました。
  • WG-50439 修正済み: 外部ソースに関連するパッケージング警告。
  • WG-50580 修正済み: メディアだけを再生成すると、Eventがダーティ（dirty）とマークされました。
  • WG-50619 修正済み: Init Bankで、Default Languageが正しく設定されないことがありました。
  • WG-50683 修正済み: Launcherのインテグレーション処理において、XboxOne_vc150フォルダやXboxOne_vc160フォルダが、ThirdPartyフォルダにコピーされませんでした。
  • WG-50730 修正済み: AkGeometryを大型のメッシュに追加すると、UE4がクラッシュしました。
  • WG-50796 修正済み: Event名を使ってEventをポストすると、クラッシュしました。
  • WG-50835 修正済み: SoundBankでEventをグループに分けてEvent-Based Packagingを使うと、必須バンクを使用しないEventにオーディオがありませんでした。
  • WG-50895 修正済み: 非Unityのビルドが失敗しました。

コミュニティで報告されたバグの修正

  • WG-49209 修正済み: パッケージ名に丸括弧を使うと、問題が起きました。そこで今は、Wwiseアセットを自動インポートするときに置き換えられます。無効な文字の入った古いアセットを移行するには、コマンドレットのSanitizeWwiseObjectPathを使います。


Wwise Unreal Integration Documentation: リリースノート 2019.2.5.7349.1747

リリースノート 2019.2.5.7349.1747

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.5.7349.1747版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.25に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • バグ修正

バグ修正

  • WG-49849 修正済み: AkGeometryコンポーネントのTransformが、Blueprint Editorで公開されていませんでした。
  • WG-49611 修正済み: ロードが完了していないメディアをアンロードすると、クラッシュしました。
  • WG-49758 修正済み: メディアをサウンドエンジンが再生中に、そのメディアをアンロードすると、クラッシュしました。
  • WG-49438 修正済み: Post Event Blueprintが、ロードが完了していないメディアを再生しようとしたときに、ログに警告メッセージが記録されませんでした。
  • WG-49411 修正済み: Post Eventノードのインプットピン"Stop when attached to Destroyed"が、作動しませんでした。
  • WG-49634 修正済み: Editorビルドで、Ak Geometryコンポーネントのあるレベルをロードすると、シリアライズ中にハングしました。
  • WG-49991 修正済み: AkGeometryコンポーネントのデリゲートの登録が解除される前に、コンポーネントの親を削除すると、クラッシュしました。
  • WG-50327 修正済み: Sound Data生成中に、あるSwitch Containerをイベントが参照するのをやめると、クラッシュしました。
  • WG-50228 修正済み: Spatial Audio: 'Outdoors'に接続するポータルがないと、デフォルトの'Outdoors'ルームが作成されず、結果として'Outdoors'で再生中の音からの音の伝達がありませんでした。
  • WG-49786 修正済み: リスナーのポジションがオーバーライドされると、このリスナーは、ルームやリバーブのボリュームのコンテインメントを、誤ったポジションを使ってテストしました。


Wwise Unreal Integration Documentation: リリースノート 2019.2.4.7329.1721

リリースノート 2019.2.4.7329.1721

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.4.7329.1721版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.25に対してだけです。

動作の変更

  • WG-49413 リダイレクタのfix-upを行わなくても済むように、Event-Basedパッケージングへの移行のオプションを追加しました。

その他の変更

  • WG-49857 SoundBanksInfoファイルに、EventのSwitchコンテナの、デフォルトスイッチ値に関する新情報を追加しました。

バグ修正

  • WG-47623 修正済み: すでにオクルージョン状態のポジションからポストしたEventは、そのオクルージョン値でフェードしました。
  • WG-48631 修正済み: プロジェクトの中にあるSoundBankのサブセットを生成すると、必須プラグインのリストが変わりました。
  • WG-48803 修正済み: Eventで、特定のアクション（Post Event、Post Trigger、Set State、Set Switch）のときに、Media not loadedエラー。
  • WG-48806 修正済み: Wwiseでモーダルウィンドウが開いているときにWAAPI Pickerで Populate をクリックすると、クラッシュしました。
  • WG-49105 修正済み: コンフィギュレーションファイルがPerforceソースコントロールで管理されている場合にエディタを起動すると、常にMigration to Event-Based Packagingダイアログが表示されました。
  • WG-49266 修正済み: "Re-set Wwise Path" ダイアログの "Don't show this again" オプションの設定が、保存されないことがありました。
  • WG-49366 修正済み: Integration Settingsで、 "Use Event-Based Packaging" チェックボックスの扱い方が不適切でした。
  • WG-49384 修正済み: プロジェクトをEvent-Based Packagingに移行しても、 "Additional non-asset directory to package" (DirectoriesToAlwaysStageAsUFS) のSound Dataパスが、設定されたままでした。
  • WG-49390 修正済み: プラグインメディアは、User-defined auxiliary send経由で使用すると、パッケージされませんでした。
  • WG-49435 修正済み: Sound Dataを生成するときのアサート。
  • WG-49442 修正済み: パッケージされたゲームで、LogStreamingエラー。
  • WG-49730 修正済み: AkAudioEventのメタデータgetter (MinimumDuration、MaximumDuration、IsInfinite、MaxAttenuationRadius）が壊れていました。
  • WG-49735 修正済み: Sound Data生成のあとに、アセットが不必要にダーティ（dirty）とマークされました。

コミュニティで報告されたバグの修正

  • WG-49432 修正済み: Wwiseに関連しないドラッグ＆ドロップEventの扱い方が不適切でした。
  • WG-49604 修正済み: ガベージコレクション中にストリーミングメディアをアンロードすると、ハングしました。


Wwise Unreal Integration Documentation: リリースノート 2019.2.3.7304.1690

リリースノート 2019.2.3.7304.1690

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.3.7304.1690版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.25に対してだけです。

新機能

  • WG-49104各種PostEventブループリントノードや、AkAudioDeviceファンクションの、asyncバージョンを新しく追加しました。asyncバージョンは、メディアが正しくロードされるのを待ってからイベントをポストします。

動作の変更

  • WG-48918 ランタイムの不足アセットの問題を解決するために、Wwise Sound DataフォルダをPackage設定の Directories to Always Cook に、自動的に追加します。
  • WG-49019 AkPluginActivator コマンドレットを削除しました。

バグ修正

  • WG-47563 修正済み: IO Hookがファイルパッケージを正しく閉じませんでした。
  • WG-48787 修正済み: メディアをロードするときのエラー: "Attempt to sync load bulk data"。
  • WG-48801 修正済み: ClientとServerのコンフィギュレーションでプラグイン起動中にビルドが失敗しました。
  • WG-48914 修正済み: Generate SoundBank Commandletの軽微な問題: AssetRegistryのロード完了前にWork Unitがパースされます、ソースコントロールモジュールが正しく初期化されません、変更されたパッケージを保存するときに不要なダイアログボックスが表示されました。
  • WG-48919 修正済み: 通常のEditor使用で、Wwiseプロジェクトが見つからないとエラーが印刷されました。
  • WG-48936 修正済み: AkRoomComponent でアクティブなルームトーンを再生中に、再生を終了すると、クラッシュしました。
  • WG-49032 修正済み: Init bankロード中にクラッシュしました。
  • WG-49045 修正済み: AkBankManagerによってゲームを出るときに、クラッシュしました。
  • WG-49060 修正済み: ローカライズしたイベントを再生中にランゲージを変更すると、クラッシュしました。
  • WG-49132 修正済み: Unrealでレガシーモードを使うときに、Sound DataフォルダのWEMファイルの問題で、SoundBankを生成できませんでした。
  • WG-49307 Hololensのビルドを修正しました


Wwise Unreal Integration Documentation: リリースノート 2019.2.2.7275.1661

リリースノート 2019.2.2.7275.1661

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.2.7275.1661版で変更された点です。

重要な移行の注意 2019.2.2.7275.1661

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.24に対してだけです。

Unreal Engine 4.23/4.24/4.25 - Wwise 2019.2.2.7275.1661

  • WG-42472 HoloLens 2 プラットフォームに対応します。
  • WG-45207 WAAPI PickerとWwise Project Explorerの間で選択が、同期されるようになりました。
  • WG-48046 Unreal 4.25のサポートを追加しました。
  • WG-48212 修正済み: (Xbox One) Visual Studioのバージョンが、 .Build.cs ファイルで正しく検知されませんでした。
  • WG-48229 修正済み: 名前にアンダースコアが含まれるWorkUnitをWwiseで動かすときに、エラーが発生しました。
  • WG-48251 修正済み: ゲームのパッケージ中やビルド中に、Paper2Dエディタプラグインがクラッシュしました。
  • WG-48403 修正済み: CommandletからSoundBankを生成しようとすると、エラーメッセージ 'ReadFile beyond EOF' が表示されます。
  • WG-48682 修正済み: Blueprintで、新アセットタイプを変数として使えませんでした。
  • WG-48745 修正済み: パッケージしたゲームで "Assertion failed: AsyncLoadingThread.RecursionNotAllowed" でクラッシュしました。
  • WG-48762 修正済み: AkMeterプラグインを使うときのパッケージングエラー


Wwise Unreal Integration Documentation: 重要な移行の注意 2019.2.2.7275.1661

重要な移行の注意 2019.2.2.7275.1661

Unreal Engine 4.25

  • Unreal Engine 4.25で導入されたAndroidツールチェーンの変更のため、ThirdPartyフォルダ内のAndroid SDKフォルダ階層を変更する必要があります。以下のフォルダを Android フォルダ内で移動し、それに合わせて名前を変更してください:
    • Android_armeabi-v7a を移動して、名前を Android/armeabi-v7a に変更します
    • Android_arm64-v8a を移動して、名前を Android/arm64-v8a に変更します
    • Android_x86 を移動して、名前を Android/x86 に変更します
    • Android_x86_64 を移動して、名前を Android/x86_64 に変更します
  • Windows用にコンパイルするのにVisual Studio 2019を使っている場合は、プラグインを x64_vc150/∗/bin フォルダから x64_vc160/∗/bin フォルダにコピーする必要があります。


Wwise Unreal Integration Documentation: リリースノート 2019.2.1.7250.1621

リリースノート 2019.2.1.7250.1621

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.1.7250.1621版で変更された点です。

重要な移行の注意 2019.2.1.7250.1621

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.24に対してだけです。

Unreal Engine 4.23/4.24 - Wwise 2019.2.1.7250.1621

  • WG-29995 ローカリゼーションのサポートを追加しました。
  • WG-33506 SoundBankの管理機能を変更しました
  • WG-44463 Wwiseを開いていないときにSoundBankを生成するのに、Unreal Integrationで、WwiseCLI.exe の代わりにWwiseConsole.exe を使うようにしました
  • WG-47524 修正済み: ガベージコレクションフェーズ中に、BlueprintからのEvent Callbackを使うときのデッドロック。
  • WG-47698 (Switch) プロファイリングのために、直接HTCSで接続できる新しいコミュニケーション設定を、Wwise Communication Settingsで公開しました。
  • WG-47809 tvOSプラットフォームのサポートを追加しました
  • WG-47981 修正済み (PS4): パブリックヘッダファイル内で、モジュールの依存性を排除しました。


Wwise Unreal Integration Documentation: 重要な移行の注意 2019.2.1.7250.1621

重要な移行の注意 2019.2.1.7250.1621

新機能: Event-Based Packaging

Unreal Integration 2019.2では、アセット管理の方法が大きく変わり、例えばEvent-based Packagingという新しいワークフローが導入されました。Wwise Eventを手作業でContent Browserにインポートし、手作業で作成したSoundBankのUnrealアセットでリファレンスを管理するのは、もう過去の話です。

この新しいワークフローでは、あなたのプロジェクトに必要なアセットであるEvent、Auxiliary Bus、Media、Init Bank、RTPC (Game Parameters) 、Switch Value、State Value、Trigger、Acoustic Texturesなどが自動的に作成されます。サウンドデータをビルドすると、EventやAuxiliary Busのアセットに、メディアの入っていないサウンドバンクが含まれます。メディアアセットは、それぞれUnrealアセットにラッピングされ、EventにはそのEventに必要なメディアのリストがあります。もう手作業でSoundBankをロードする必要がなくなり、マップでリファレンスするEventやAux Busがあれば、それに必要なSoundBankデータや、必要なメディアが、自動的にメモリにロードされます。

Audiokinetic Launcherを使ってあなたのUnrealプロジェクトにWwiseをインテグレートすると、デフォルトでこの新しいワークフローが有効になり、Wwiseプロジェクト側に必要な変更が自動的に実行されます。WAAPIとの接続も有効になり、これでサウンドデータ生成のパフォーマンスが大幅に改善され、インテグレーション内の追加機能が有効になります。詳しくは Wwiseプロジェクトに対する変更点 を参照してください。

注記： このEvent-Based PackagingワークフローにおいてIOフックを最適化するために、Wwiseをエディタやゲームに接続すると、Advanced ProfilerのLoaded Mediaタブには、ファイル名でなくMediaIDが表示されます。

以前のWwiseインテグレーションを使用したプロジェクトでは、既存のUnrealアセットを新しいワークフローに移行する必要があります。大きいプロジェクトの移行方法として強く推奨されるのが、まずAudiokinetic LauncherでWwise Unreal Integrationをアップデートしてから、-Migrationスイッチを使ってGenerateSoundBanksコマンドレット経由で移行する方法です（詳しくは Generating SoundBanks with the GenerateSoundBanks Commandlet を参照）。なお、この移行処理には時間がかかります。小さいプロジェクトの場合は、Audiokinetic LauncherでWwise Unreal Integrationをアップデートすれば、Unreal Editorで初めてUnrealプロジェクトを開くとき移行がトリガーされます。この新しいワークフローを使いたいかどうかを確認するダイアログが表示されます。Yesをクリックすると、移行プロセスが開始します。

この移行処理を行うと、あなたのUnityプロジェクトは以下のように変更されます:

  • Wwiseプロジェクトにある各Wwiseオブジェクト（Event、State、Switch、Trigger、Auxiliary Bus、Acoustic Texture）を表すUnrealアセットがすべて、デフォルトで自動的に、Content/WwiseAudioフォルダ内に作成されます。
    • 以前のWwise Unreal Integrationバージョンを使って手作業で作成した既存アセットは、新しく作成されるアセットに統合されます。
  • Sound Dataが生成されます。
    • SoundBankがWwiseで生成され、対応するUnrealアセット内で番号がふられます。
    • メディアファイルは、対応するWwise Media Unrealアセットにラッピングされます。
    • EventやAuxiliary Busと、メディアの間に、依存関係がつくられます。
    • 必要であれば、変更点がソースコントロールにサブミットされます。

このEvent-based Packagingを使いたくない場合は、あなたのUnrealプロジェクトとWwiseプロジェクトが、以下のように変更されます.

  • プラグインのリストを保存するためだけに使う、InitBankアセットが作成されます。
  • Generate Metadata File 、 Generate XML Metadata 、 Generate JSON Metadata 、 Generate Per Bank Metadata File 、 Include GUID 、 Max Attenuation 、 Estimated Duration が、Wwise Project Settings で有効になります。


Wwise Unreal Integration Documentation: リリースノート 2019.2.0.7216.1583

リリースノート 2019.2.0.7216.1583

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.2.0.7216.1583版で変更された点です。

重要な移行の注意 2019.2.0.7216.1583

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.24に対してだけです。

Unreal Engine 4.23/4.24 - Wwise 2019.2.0.7216.1583

  • WG-34431 サポートされるすべてのUnrealプラットフォームで、共有ライブラリを使うことが可能になりました。
  • WG-34896 (WAAPI) SoundFrameへの依存を排除しました。
  • WG-42515 APIの変更に伴い、Unreal Spatial Audio Integrationをアップデートしました。

  • WG-42760 (Spatial Audio) Unreal AkRoomComponent が、以下のとおり、ルームトーンをサポートするようになりました:

    Spatial Audio Geometry用に、新しく AkGeometryComponent というUnrealコンポーネントができ、これをStaticMeshComponentsに適用できます。AkGeometryComponentは、StaticMeshComponentのメッシュをSpatial Audioに送ります。

  • WG-44742 UnrealとUnityにおける、Spatial Audio設定の範囲制限を更新しました。
  • WG-45586 Spatial Audioに bEnableDirectPathDiffraction パラメータを追加し、ディフラクションをグローバル（全体的）に有効化・無効化できるようにしました。
  • WG-46105 このインテグレーションはUnreal Engineバージョン4.21以上を使いコンパイルしますが、テストしたのはUnreal Engine 4.23だけです。
  • WG-47309 修正済み: macOS Editorを使い、Sequencerセクションに関連するAkAudioEventを変更するときに、クラッシュすることがありました。


Wwise Unreal Integration Documentation: 重要な移行の注意 2019.2.0.7216.1583

重要な移行の注意 2019.2.0.7216.1583

Spatial Audio機能をWwise Unreal Integrationで移行する

Wwiseオーサリングツール内から直接、Spatial Audioを設定できるので、AkComponentの一部のSpatial Audioパラメータを非推奨としました。

  • Early Reflection Order: このパラメータは、グローバルになりました。Initialization settingsにあります。
  • Early Reflection Max Path Length: 今後は使わないので、このゲームオブジェクトが出すサウンドのAttenuation Max Distanceと同じにしてください。
  • Room Reverb Aux Bus Gain:: このパラメータは、AuthoringツールのSound Property EditorにあるGame-Defined Auxiliary Sends Volumeに置き換えられました。
  • Diffraction Max Edges、Diffraction Max Paths、Diffraction Max Path Length: これらのパラメータはなくなり、代わりに、 Sound Property EditorのPositioningタブにある、Enable Diffractionという1つのチェックボックスに置き換えられました。

ブループリント機能

UseEarlyReflections** ブループリント機能を非推奨としました。完全に排除し、これらのパラメータをAuthoringツール側で設定することができます。


Wwise Unreal Integration Documentation: リリースノート 2019.1.11.7296.1702

リリースノート 2019.1.11.7296.1702

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.1.11.7296.1702版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.25以上ですが、テストしたのはUnreal Engine 4.26に対してだけです。

UE4.26はXCode 12を必要とするので、本WwiseインテグレーションはmacOSでサポートされません。macOSで、UE4.26を使って作業中のプロジェクトは、最新のWwise 2019.2.x Unrealインテグレーションにアップグレードしてください。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • 新機能
  • 動作の変更

新機能

  • WG-52934 Unreal 4.26のサポートを追加しました。

動作の変更

  • WG-52861 Unreal Engineバージョン4.24以前のAndroidビルドに対する公式サポートを終了しました。


Wwise Unreal Integration Documentation: リリースノート 2019.1.10.7250.1643

リリースノート 2019.1.10.7250.1643

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.1.10.7250.1643版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。
注記： このインテグレーションのコンパイル対象はUnreal Engineバージョン4.23以上ですが、テストしたのはUnreal Engine 4.25に対してだけです。

以前のバージョンについては、 以前のリリースノート を参照してください。

  • バグ修正

バグ修正

  • WG-47623 修正済み: すでにオクルージョン状態のポジションからポストしたEventは、そのオクルージョン値でフェードしました。
  • WG-47563 修正済み: IO Hookがファイルパッケージを正しく閉じませんでした。


Wwise Unreal Integration Documentation: リリースノート 2019.1.9.7221.1609

リリースノート 2019.1.9.7221.1609

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.1.9.7221.1609版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

重要な移行の注意 2019.1.9.7221.1609

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.21/4.22/4.23/4.24/4.25 - Wwise 2019.1.9.7221.1609

  • WG-47524 修正済み: ガベージコレクションフェーズ中に、BlueprintからEvent Callbacksを使うときにハングしました。
  • WG-48046 Unreal 4.25のサポートを追加しました。
  • WG-48877 vc_160ライブラリの配信を、Windows Wwiseのすべてのサウンドエンジンとプラグイン静的ライブラリ用に追加しました。（これはUnreal 4.25用に必須です。）vc_120ライブラリの一部配信を、Crankcaseプラグインから削除しました。


Wwise Unreal Integration Documentation: 重要な移行の注意 2019.1.9.7221.1609

重要な移行の注意 2019.1.9.7221.1609

Unreal Engine 4.25

  • Unreal Engine 4.25で導入されたAndroidツールチェーンの変更のため、ThirdPartyフォルダ内のAndroid SDKフォルダ階層を変更する必要があります。以下のフォルダを Android フォルダ内で移動し、それに合わせて名前を変更してください:
    • Android_armeabi-v7a を移動して、名前を Android/armeabi-v7a に変更します
    • Android_arm64-v8a を移動して、名前を Android/arm64-v8a に変更します
    • Android_x86 を移動して、名前を Android/x86 に変更します
    • Android_x86_64 を移動して、名前を Android/x86_64 に変更します


Wwise Unreal Integration Documentation: リリースノート 2019.1.8.7173.1554

リリースノート 2019.1.8.7173.1554

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.1.8.7173.1554版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.21/4.22/4.23/4.24 - Wwise 2019.1.8.7173.1554

  • WG-47309 修正済み: macOS Editorを使い、Sequencerセクションに関連するAkAudioEventを変更するときに、クラッシュすることがありました。


Wwise Unreal Integration Documentation: Release Notes 2019.1.7.7135.1513

Release Notes 2019.1.7.7135.1513

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.1.7.7135.1513版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.21/4.22/4.23/4.24 - Wwise 2019.1.7.7135.1513

  • WG-45876 修正済み: 欠落していたURIを、BlueprintのWAAPI URIリストから追加しました。
  • WG-46047 UE4.24のサポートを追加しました。
  • WG-46662 修正済み: initプロセスにおいて、init bankのロードが今までより早いタイミングで行われるようにしました。


Wwise Unreal Integration Documentation: リリースノート 2019.1.6.7110.1478

リリースノート 2019.1.6.7110.1478

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.1.6.7110.1478版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.21/4.22/4.23 - Wwise 2019.1.6.7110.1478

Wwise 2019.1.6のUnreal Integrationのアップデートはありません。


Wwise Unreal Integration Documentation: リリースノート 2019.1.5.7093.1459

リリースノート 2019.1.5.7093.1459

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.1.5.7093.1459版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.21/4.22/4.23 - Wwise 2019.1.5.7093.1459

  • WG-44704 (Switch) マルチコアレンダリングを有効にしたときのクラッシュを修正しました。
  • WG-44792 DefaultGame.iniの不要な変更を防止しました。
  • WG-44937 エンジンをシャットダウンするときにハングしてしまうのを、修正しました。
  • WG-45030 PostAndWaitForEndOfEvent の再生中のIDを、正しく返しました。
  • WG-45095 クッキング時のPythonの警告を削除しました。
  • WG-45549 (PS4) ACP Batch Buffer Sizeのデフォルト値を変更しました。


Wwise Unreal Integration Documentation: リリースノート 2019.1.4.7065.1430

リリースノート 2019.1.4.7065.1430

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.1.4.7065.1430版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.21/4.22/4.23 - Wwise 2019.1.4.7065.1430

  • WG-43178 Stadiaの初歩的なサポートを追加しました（これにアクセスするにはAudiokineticサポートに連絡してください)。
  • WG-44197 Unreal 4.23対応を追加しました。
  • WG-44645 修正済み: ルームやポータルのサウンドを再生すると、未知のリスナーIDのエラーメッセージが印刷されました。
  • WG-44675 WAAPIがunavailableであるときのログのスパムを減らしました。
  • WG-44783 Wwiseインストールパスの移行を、プロジェクト設定からユーザー別設定に修正しました。
  • WG-44830 AK::SoundEngine::RegisterPluginDLL にオーバーロードを追加し、プラグインを特定パスに登録できるようにしました。


Wwise Unreal Integration Documentation: リリースノート 2019.1.3.7048.1409

リリースノート 2019.1.3.7048.1409

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.1.3.7048.1409版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.21/4.22 - Wwise 2019.1.3.7048.1409

  • WG-43403 NiagaraのタイムラインにAkAudioEventをドラッグ＆ドロップで追加できなくなりました。
  • WG-43602 SoundBankにイベントが入っていないときの、ログメッセージを排除しました。
  • WG-44056 Magic Leapで共有ライブラリをアップロードする方法はmabuファイル経由しかないので、そのgetPluginDLLPath()の実装は、これを説明するエラーメッセージで置き換えられています。
  • WG-44118 文字列の引数を使ったときに正しくresolveされなかったLoad BankとUnload Bankのblueprintノードを、修正しました。
  • WG-43178 Stadiaの初歩的なサポートを追加しました。


Wwise Unreal Integration Documentation: リリースノート 2019.1.2.7018.1378

リリースノート 2019.1.2.7018.1378

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.1.2.7018.1378版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.21/4.22 - Wwise 2019.1.2.7018.1378

  • WG-42524 AK EventとRTPCのシーケンサートラックが、Niagaraエディタで絶対に使えないことを確認しました。
  • WG-42885 External Sources APIをBlueprintに公開しました
  • WG-43007 WAAPI IPアドレスとポートを、Wwise User Settingsウィンドウに公開しました。
  • WG-43682 アクティブなストリーミング中のサウンドのあるゲームを終了するときのクラッシュを、修正しました。
  • WG-43725 長さが不明のWwiseイベントの、再生の繰り返しを修正しました。
  • WG-43878 AkEventにリンクしていないAkEvent Sequencerセクションを、作成できるようにしました。
  • WG-39214 Suspendと、WakeupFromSuspendを、FAkAudioDeviceに公開しました。


Wwise Unreal Integration Documentation: リリースノート 2019.1.1.6977.1336

リリースノート 2019.1.1.6977.1336

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.1.1.6977.1336版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.21/4.22 - Wwise 2019.1.1.6977.1336

  • WG-42262 オクルージョンのRaycastが、PlayerControllerを確実に無視するようにしました。
  • WG-42728 修正済み: プラグインをエンジンプラグインとしてインストールしたときの、ビルド時の問題。
  • WG-42747 Spatial Audioの各種オプションを、 AkComponent プロパティから見えるようにしました。


Wwise Unreal Integration Documentation: リリースノート 2019.1.0.6947.1305

リリースノート 2019.1.0.6947.1305

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.1.0.6947.1305版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.21/4.22 - Wwise 2019.1.0.6947.1305

  • Unreal Engine 4.22 対応を追加しました。


Wwise Unreal Integration Documentation: リリースノート 2019.1.0.6947.1299

リリースノート 2019.1.0.6947.1299

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2019.1.0.6947.1299版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.21 - Wwise 2019.1.0.6947.1299

  • WG-31477 生成されたSoundBankフォルダを設定するための、Project Settingsのオプションを追加しました。
  • WG-36379 初期設定をUI経由で公開しました。
  • WG-36438 AnimNotify_AkEvent を変更し、 AkComponent を作成したときに警告をログに記録するようにしました。より詳細な情報については下記を参照下さい Triggering Wwise Events in Animation Sequences 。
  • WG-37825 GetRTPCValue をBlueprintに公開しました。
  • WG-38260 初期設定をUIに公開しました。
  • WG-38693 修正済み: (WAAPI) AkAutobahnで、様々なインテグレーションやサンプルで使われたように、競合状態が発生しました。
  • WG-40368 修正済み: AK::SoundEngine::SetSpeakerAngles のパラメータの in_pfSpeakerAngles 。 AkReal32* の代わりに const AkReal32* となりました。
  • WG-40554 SoundBank生成プロセスをノンブロッキングにしました。
  • WG-40869 新しいBlueprintファンクションの SetMultipleSpeakerEmitterPositions を追加し、これは SetMultipleChannelEmittePositions のように作用しますが、チャンネルコンフィギュレーションの代わりにスピーカーマスクを直接、受け取ります。


Wwise Unreal Integration Documentation: リリースノート 2018.1.7.6880.1266

リリースノート 2018.1.7.6880.1266

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2018.1.6.6858.1242版と、{WWISE_MAJOR}.{WWISE_MINOR}.{WWISE_SUBMINOR}.{WWISE_BUILD}.{UNREAL_BUILD} 版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.19/4.20/4.21/4.22 - Wwise 2018.1.7.6880.1266

  • WG-41693 Unreal Engine 4.22対応を追加しました。
  • WG-42262 オクルージョンのRaycastが、PlayerControllerを確実に無視するようにしました。
  • WG-42728 修正済み: プラグインをエンジンプラグインとしてインストールしたときの、ビルド時の問題。
  • WG-42747 Spatial Audioの各種オプションを、 AkComponent プロパティから見えるようにしました。


Wwise Unreal Integration Documentation: リリースノート 2018.1.6.6858.1242

リリースノート 2018.1.6.6858.1242

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2018.1.5.6835.1218版と、2018.1.6.6858.1242版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.19/4.20/4.21 - Wwise 2018.1.6.6858.1242

  • WG-40782 Blueprintの AkCallbackInfo を変更し、プール制にして需要に応じて作成するようにしました。
  • WG-41003 "Structure member is not initialized properly" という警告を排除しました。
  • WG-41101 モノリシックヘッダの使用をやめ、コンパイル時間を削減しました。
  • WG-41204 修正済み: Unrealウィンドウが、headlessモードで稼働中でWwise Projectパスが空のときに、ハングしました。
  • WG-41245 修正済み: Wwise Demo Gameで、ブーリアンコールに対するWAAPIのサブスクリプションで、コール失敗のメッセージが返却されませんでした。
  • WG-41259 Integration DemoからWwise Motionを削除しました。
  • WG-41339 修正済み: Sequencer Eventクリップの長さがEvent長さよりも長いと、このクリップが繰り返し再トリガーされました。


Wwise Unreal Integration Documentation: リリースノート 2018.1.5.6835.1218

リリースノート 2018.1.5.6835.1218

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2018.1.4.6807.1189版と、2018.1.5.6835.1218版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

注記： このインテグレーションは、Unreal Engine 4 の実験的な機能をサポートしていません。

Unreal Engine 4.19/4.20/4.21 - Wwise 2018.1.5.6835.1218

  • WG-38420 修正済み: Sequencer AkAudioEventセクションが、プレイ中に収集されたガベージである場合のクラッシュを、フィックスしました。
  • WG-39056 WAAPIウィジェット内で利用できるプロパティのリストを更新しました。
  • WG-40197 オクルージョン値やオブストラクション値が、SpatialAudioルームの利用に基づいて、正しく設定されるようにしました。
  • WG-40318 修正済み: WAAPI Pickerがリフレッシュされませんでした。
  • WG-40420 修正済み: AkRoomやAkLateRevebのコンポーネントを使って新しいアクターを作成するときに、クラッシュしました。
  • WG-40542 初めてSoundBankを生成しようとするときに、そこにEventへのレファレンスが全くないときのための、ナイスなエラーを追加しました。


Wwise Unreal Integration Documentation: リリースノート 2018.1.4.6807.1189

リリースノート 2018.1.4.6807.1189

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2018.1.3.6784.1177版と、2018.1.4.6807.1189版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.19/4.20/4.21 - Wwise 2018.1.4.6807.1189

  • WG-39671: ExecuteActionOnEvent をBlueprintに公開しました。
  • WG-40333: すべての PostEvent コールが確実にCallback Managerを経由するようにしました。
  • WG-40344: GetSpeakerAnglesとSetSpeakerAnglesを、Blueprintで公開しました。
  • WG-40365: SoundBank生成時のメッセージを変更し、エラーがあってもSoundBankを生成できることを、より明確に示しました。
  • WG-40380: 無効のAkEventで PostAkEventAndWaitForEnd をコールしたときのクラッシュを防止しました。


Wwise Unreal Integration Documentation: リリースノート 2018.1.3.6784.1177

リリースノート 2018.1.3.6784.1177

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2018.1.3.6784.1153版と、2018.1.3.6784.1177版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.19/4.20/4.21 - Wwise 2018.1.3.6784.1177

  • Unreal 4.21 対応を追加しました。
  • WG-38379: Ak Componentに使われるOcclusion Collision Channelのデフォルト値に、新しいWwise設定を追加しました。
  • WG-38497: AkAudioEventを再生したり動かしたりするときの、Sequencerの安定性を改善しました。
  • WG-38746: Multi-coreレンダリングの使用を許可するための設定を追加しました。
  • WG-39181: 修正済み: シーケンサーでAkAudioEventセクションを最小幅までサイズ変更したときに、クラッシュしました。
  • WG-39408: Wwise Installation Pathをユーザー毎に設定できるようになりました。Wwiseインストールパスを修正するには、Project SettingsのWwise User Settingsを使用します。
  • WG-39669: Ak RoomコンポーネントのWall Occlusionと、Ak Late Reverb ComponentのSend Levelに、パラメータの制限を追加しました。
  • WG-39713: UAkAuxBusにより、FAkAudioDeviceの早すぎる初期化が発生しなくなりました。
  • WG-40128: 修正済み: IOフックのファイルハンドルリーク。


Wwise Unreal Integration Documentation: リリースノート 2018.1.3.6784.1153

リリースノート 2018.1.3.6784.1153

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2018.1.2.6762.1124版と、2018.1.3.6784.1153版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.19/4.20 - Wwise 2018.1.3.6784.6784.1153

  • WG-36728 コマンドラインからSoundBankを生成できるコマンドレットを追加しました。
  • WG-39113 修正済み: (iOS, Linux, macOS) Shippingコンフィギュレーションにオーディオがありませんでした。
  • WG-39715 AkComponentのSpatial Audioを無効化するためのチェックボックスを追加しました。これにより、そのようなコンポーネントに SetMultiplePositions を使えるようになりました。
  • WG-39833 修正済み: 不要な SetAuxSends へのコール数を減らしました。


Wwise Unreal Integration Documentation: リリースノート 2018.1.2.6762.1124

リリースノート 2018.1.2.6762.1124

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2018.1.1.6727.1082版と、2018.1.2.6762.1124版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.19/4.20 - Wwise 2018.1.2.6762.1124

  • WG-37990 修正済み: (Xbox One) PAKファイルを使わないパッケージ済みゲームで、大きいSoundBankをロードするときに、クラッシュしました。
  • WG-38420 修正済み: Sequencer AkAudioEventセクションが、プレイ中に収集されたガベージである場合のクラッシュを、フィックスしました。
  • WG-38693 修正済み: (WAAPI) AkAutobahnで、様々なインテグレーションやサンプルで使われたように、競合状態が発生しました。
  • WG-39055 修正済み: Sequencerセクションで、波形がテキストに重ねてレンダリングされてしまう表示の問題をフィックスしました。
  • WG-39091 修正済み: RoomComponent と LateReverbComponent に、レベルストリーミングとの互換性をもたせました。
  • WG-39097 修正済み: ないサンプルフォルダーに関するビルド警告を削除しました。
  • WG-39115 修正済み: Portalで、オブストラクションのリフレッシュ問題。
  • WG-39170 修正済み: UnloadBankに、無効の引数がパスされました。
  • WG-39219 修正済み: Wwise Authoringをすぐにリスタートしたときの、WAAPI再接続の問題をフィックスしました。
  • WG-39301 修正済み: CancelEventCallbackCookie でキャンセルするときに、ユーザー提供のクッキーを正しく使いませんでした。
  • WG-39334 AndroidやMacで、Opusコーデックをもう一度有効にしました。
  • WG-39393 修正済み: (Switch) 無効なState Group ID。
  • WG-39604 修正済み: PostAndWaitForEndOfEventに説明を追加しました。


Wwise Unreal Integration Documentation: リリースノート 2018.1.1.6727.1082

リリースノート 2018.1.1.6727.1082

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2018.1.0.6714.1065版と、2018.1.1.6727.1082版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.19/4.20 - Wwise 2018.1.1.6727.1082

  • WG-32970 (Xbox One) ビルド中の警告を削除しました。
  • WG-38486 修正済み: AkRoomComponents や AkLateReverbComponents を使う、常にロードされているレベルを削除するときに、クラッシュしました。
  • WG-38741 修正済み: 一部の重要なセクションが、 AK::SoundEngine::Init より先に初期化されたため、初期化でハングしました。
  • WG-38805 サウンドエンジンの停止後に全てのグローバルコールバックを登録解除するように、インテグレーションを修正しました。
  • WG-39228 修正済み: Wwise AuthoringとUnreal editorを同時に閉じたときに、WAAPIがクラッシュしました。


Wwise Unreal Integration Documentation: リリースノート 2018.1.0.6714.1065

リリースノート 2018.1.0.6714.1065

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2018.1.0.6714.1065版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.19/4.20 - Wwise 2018.1.0.6714.1065

  • Unreal Engine 4.20 対応を追加しました。
  • WG-30002 Wwise Audio Inputプラグインを使うオーディオ入力のサポートを追加しました。 Providing Audio Input to Wwise 参照。
  • WG-33507 EventとSoundBankのコールバックを、Blueprintに公開しました。詳細は Using Callbacks in Blueprints を参照ください。
  • WG-34570 グローバルコールバックに、デリゲート経由で登録する機能を追加しました。
  • WG-35615 サウンドエンジンの初期化の時点で、 AkInitSettings の新しい値を使って底面を設定できます。Audiokinetic Unrealインテグレーションで、AkAudioDevice.cppにあるこの値が設定され、X-Yが底面として使われます。
  • WG-38608 Luminの実験的サポートを追加しました。
  • WG-38676 修正済み: Spatial Audio Volumeの形状を変えると、Unreal Editorがフリーズしました。


Wwise Unreal Integration Documentation: リリースノート 2017.2.9.6726.1089

リリースノート 2017.2.9.6726.1089

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.2.8.6698.1053版と、2017.2.9.6726.1089版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.17/4.18/4.19/4.20/4.21 - Wwise 2017.2.9.6726.1089

  • Unreal 4.21 対応を追加しました。
  • WG-38420 修正済み: Sequencer AkAudioEventセクションが、プレイ中に収集されたガベージである場合のクラッシュを、フィックスしました。
  • WG-39408 Wwise Installation Pathをユーザー毎に設定できるようになりました。Wwiseインストールパスを修正するには、Project SettingsのWwise User Settingsを使用します。
  • WG-40128 修正済み: IOフックのファイルハンドルリーク。


Wwise Unreal Integration Documentation: リリースノート 2017.2.8.6698.1053

リリースノート 2017.2.8.6698.1053

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.2.7.6667.1010版と、2017.2.8.6698.1053版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.17/4.18/4.19/4.20 - Wwise 2017.2.8.6698.1053

  • WG-36728 コマンドラインからSoundBankを生成できるコマンドレットを追加しました。
  • WG-37990 修正済み: (Xbox One) PAKファイルを使わないパッケージ済みゲームで、大きいSoundBankをロードするときに、クラッシュしました。
  • WG-38420 修正済み: Sequencer AkAudioEventセクションが、プレイ中に収集されたガベージである場合のクラッシュを、フィックスしました。
  • WG-39091 RoomComponent と LateReverbComponent に、レベルストリーミングとの互換性をもたせました。
  • WG-39097 ないサンプルフォルダーに関するビルド警告を削除しました。
  • WG-39113 修正済み: (iOS, Linux, macOS) Shippingコンフィギュレーションにオーディオがありませんでした。
  • WG-39115 修正済み: Portalで、オブストラクションのリフレッシュ問題。
  • WG-39170 修正済み: UnloadBankに、無効の引数がパスされました。
  • WG-39301 修正済み: CancelEventCallbackCookie でキャンセルするときに、ユーザー提供のクッキーを正しく使いませんでした。
  • WG-39393 修正済み: (Switch) 無効なState Group ID。
  • WG-39833 修正済み: 不要な場合のSetAuxSendsへのコールの回数を減らしました。


Wwise Unreal Integration Documentation: リリースノート 2017.2.7.6667.1010

リリースノート 2017.2.7.6667.1010

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.2.6.6636.979版と、2017.2.7.6667.1010版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.17/4.18/4.19 - Wwise 2017.2.7.6667.1010

  • Unreal Engine 4.20 対応を追加しました。
  • WG-38486: 修正済み: AkRoomComponents や AkLateReverbComponents を使う、常にロードされているレベルを削除するときに、クラッシュしました。
  • WG-38608: Luminの実験的サポートを追加しました。
  • WG-38676: 修正済み: Spatial Audio Volumeの形状を変えると、Unreal Editorがフリーズしました。


Wwise Unreal Integration Documentation: リリースノート 2017.2.6.6636.979

リリースノート 2017.2.6.6636.979

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.2.5.6619.962版と、2017.2.6.6636.979版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.17/4.18/4.19 - Wwise 2017.2.6.6636.979

  • WG-37921 Teardownのハングを修正しました。
  • WG-38187 OcclusionRefreshIntervalを使ったオクルージョンの有効化と無効化を修正しました。
  • WG-38282 Switchプラットフォームのスタックサイズを1 MBまで増やしました。
  • WG-38418 ゲームを終了するときのUnload bank failedエラーを修正しました。


Wwise Unreal Integration Documentation: リリースノート 2017.2.5.6619.962

リリースノート 2017.2.5.6619.962

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.2.4.6590.933版と、2017.2.5.6619.962版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.17/4.18/4.19 - Wwise 2017.2.5.6619.962

  • WG-37624 Wwise .uassetファイルについて、アセットのdiffを実行できるようになりました。
  • WG-37736 "Audiokinetic" カテゴリ下のWAAPI Blueprintノードの一部を、整理しなおしました。
  • WG-37790 EditorでSpatial Audioの失敗原因となった、リスナーの取り扱いに関する不具合をフィックスしました。
  • WG-37808 Visual Studio 2017のWAAPIビルドに関連するエラーをフィックスしました。
  • WG-37917 ゲームでプリコンパイル済みヘッダーが使われない場合、プラグインがこれに準拠するようにしました。
  • WG-38041 オクルージョン計算中に発生するクラッシュをフィックスしました。
  • WG-38142 Refresh intervalが0のときに、 AkOcclusionObstructionService が SetOcclusionObstructionFcn をバインディングしないことが原因のクラッシュを、フィックスしました。


Wwise Unreal Integration Documentation: リリースノート 2017.2.4.6590.933

リリースノート 2017.2.4.6590.933

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.2.3.6575.917版と、2017.2.4.6590.933版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.17/4.18/4.19 - Wwise 2017.2.4.6590.933

  • WG-37256 ゲームをEditorで起動すると、誤って AK::SpatialAudio::SetPortal エラーが報告されます。
  • WG-37453 専用サーバーを稼働中にPlay in Editorセッションで正しく作動しないAuxiliary Busを、フィックスしました。
  • WG-37561 RoomやLateReverbのコンポーネントが、ガベージコレクターと問題なく動くことを確認しました。


Wwise Unreal Integration Documentation: リリースノート 2017.2.3.6575.917

リリースノート 2017.2.3.6575.917

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.2.2.6553.895版と、2017.2.3.6575.917版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.17/4.18/4.19 - Wwise 2017.2.3.6575.917

  • Unreal Engine 4.19 対応を追加しました。
  • WG-36727 Visual Studio 2017ビルドからWAAPIを排除しました。
  • WG-36883 オクルージョンのレイキャストをasync taskに移動しました。
  • WG-37088 UWorld->GetFirstPlayerController()の代わりに、GEngine->GetFirstLocalPlayerController()を使用することにしました。
  • WG-37246 -nosoundフラグでスタートした場合のEditorのクラッシュをフィックスしました。


Wwise Unreal Integration Documentation: リリースノート 2017.2.2.6553.895

リリースノート 2017.2.2.6553.895

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.2.1.6524.866版と、2017.2.2.6553.895版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.17/4.18 - Wwise 2017.2.2.6553.895

  • WG-35044 同じAuxiliary Busを通る、重なり合うリバーブのボリュームの動作を、より決定的（deterministic）にしました。
  • WG-36335 不要なログを削除しました。
  • WG-36369 AkAudioDevice.hの、不足していたincludeを追加しました。
  • WG-36429 LoadModuleChecked を、 GetModulePtr in FAkAudioDevice::Init()に置き換えました。
  • WG-36494 非Editorクラッシュを回避するために、 FAkAudioStyle をsingletonにしました。


Wwise Unreal Integration Documentation: リリースノート 2017.2.1.6524.866

リリースノート 2017.2.1.6524.866

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.2.0.6500.836版と、2017.2.1.6524.866版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.17/4.18 - Wwise 2017.2.1.6524.866

  • WG-34960 AkSliderウィジェットのMinとMaxのプロパティを排除して、WAAPI経由で自動的に設定されるようにしました。
  • WG-35238 修正済み: 開いたAkEvent Sequencerセグメントのワークユニットに変更を検知すると、全てdirtyにアップデートされます。
  • WG-35773 UAkComponent::UseEarlyReflections の order パラメータに、boundsを追加しました。
  • WG-35949 1つのAuxiliaryバスしか入っていない単一のサウンドバンクを生成する機能を追加しました。
  • WG-36083 Sequencerウィンドウが開いた状態でサウンドバンクを生成したときの、WAAPIログスパムを排除しました。
  • WG-36200 エディタを-gameフラグで稼働させたときのクラッシュをフィックスしました。
  • WG-36357 Launcherを変更して、Visual Studio 2017のdependencies（依存関係）を、ThirdPartyフォルダにコピーするようにしました。
  • WG-36415 UMGで新しいAkSliderを追加したときの、Unrealのクラッシュをフィックスしました。


Wwise Unreal Integration Documentation: リリースノート 2017.2.0.6500.836

リリースノート 2017.2.0.6500.836

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2017.2.0.6500.836版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

移行の注意点 2017.2.0.6500.836

Unreal Engine 4.17/4.18 - Wwise 2017.2.0.6500.836

  • Editor内で、リスナーの操作を改善しました。 詳細は Using the Editor Listener を参照ください。
  • 新しいWAAPI対応のWwiseピッカーを追加しました。 詳細は Using Waapi Features を参照ください。
  • Sequencerインテグレーションを改善して、スクラビングや、「どこからでも再生」機能に対応しました。 詳細は Using the Level Sequencer を参照ください。
  • WAAPI対応の波形レンダリング機能を、AkAudioEventSectionのSequencerセクションに追加しました。 詳細は Using the Level Sequencer を参照ください。
  • WAAPIをBlueprintに公開しました。 詳細は WAAPI Blueprint 機能 を参照ください。
  • WAAPI対応ウィジェットを、UMGで利用できるように追加しました。 詳細は WAAPI Widgets を参照ください。
  • WG-30009 修正済み: Blueprint経由で複数リスナーをサポートできるようにしました。
  • WG-30010 修正済み：SetMultiplePositionsをブループリントで公開しました。
  • WG-33932 Fixed：実験的なオクルージョン代替機能を削除しました。
  • WG-34745 修正済み: ロワーエンジンメモリサイズを削減しました。
  • WG-34879 修正済み：オクルージョンラインのトレースに使うコリジョンチャンネルを、AkComponentのプロパティで公開しました。
  • WG-35104 修正済み：リスナーを修正して、マルチプレイヤのシナリオで正しく操作できるようにしました。
  • WG-35307 修正済み：Set Bus Config Blueprintノードに、コンフィグレーションをさらに追加しました。
  • WG-35614 修正済み：座標変換を削除しました。詳細は 新しい座標システムに移行。 を参照してください。


Wwise Unreal Integration Documentation: 移行の注意点 2017.2.0.6500.836

移行の注意点 2017.2.0.6500.836

新しい座標システムに移行。

座標システムの変換が、2017.2.0インテグレーションから削除されました。この変換は、Unreal Engine 4の左手の座標システム（X・Y軸が床）から、Wwise Game Object 3D Viewerのデフォルトの左手システム（X・Z軸が床）に変換するために導入されたものです。Wwise Game Object 3D ViewerでUnrealのゲームオブジェクトを正しく表示するには、Game Object 3D Viewerの設定で、Floor PlaneをX-Yに設定します:

Ak Acoustic Portalオブジェクトの移行

Wwise 2017.2.0では、Spatial Audio Portalが独特のオリエンテーション（方向）になっているので、注意してください。ポータルのローカルのY軸に沿って、2つのRoomがリンクします。Room同士をY軸に沿ってリンクさせるには、既存のポータルを全て確認して、そろっていないものを回転（Z軸に沿って90度）する必要があります。ポータルに追加された新しいビジュアルコンポーネントによって、ポータルのオリエンテーションが一目で分かるようになりました。ポータルの位置が正しくそろっていないと、予期せぬ動作を起こしたり、Wwiseスペーシャルオーディオに送信した時にエラーが返されたりすることがあります。


Wwise Unreal Integration Documentation: リリースノート 2017.1.9.6501.856

リリースノート 2017.1.9.6501.856

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.1.8.6488.843版と、2017.1.9.6501.856版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.15/4.16/4.17/4.18/4.19 - Wwise 2017.1.9.6501.856

  • Wwise 2017.1.9のUnreal Integrationのアップデートはありません。


Wwise Unreal Integration Documentation: リリースノート 2017.1.8.6488.843

リリースノート 2017.1.8.6488.843

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.1.7.6467.822版と、2017.1.8.6488.843版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.15/4.16/4.17/4.18/4.19 - Wwise 2017.1.8.6488.843

  • LAUN-858 修正済み: Unrealプロジェクトに、Visual Studio 2015と2017の、2種類のWwise SDKがインストールされました。


Wwise Unreal Integration Documentation: リリースノート 2017.1.7.6467.822

リリースノート 2017.1.7.6467.822

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.1.6.6446.801版と、2017.1.7.6467.822版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.15/4.16/4.17/4.18 - Wwise 2017.1.7.6467.822

  • Unreal Engine 4.19 対応を追加しました。


Wwise Unreal Integration Documentation: リリースノート 2017.1.6.6446.801

リリースノート 2017.1.6.6446.801

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.1.5.6429.783版と、2017.1.6.6446.801版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.15/4.16/4.17/4.18 - Wwise 2017.1.6.6446.801

  • WG-35044 同じAuxiliary Busを通る、重なり合うリバーブのボリュームの動作を、より決定的（deterministic）にしました。
  • WG-36446 修正済み: SpatialAudioVolumeのあるマップから、ないマップに切り替えると、クラッシュします。


Wwise Unreal Integration Documentation: リリースノート 2017.1.5.6429.783

リリースノート 2017.1.5.6429.783

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.1.4.6407.760版と、2017.1.5.6429.783版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.15/4.16/4.17/4.18 - Wwise 2017.1.5.6429.783

  • WG-36016 空（から）のマップをロードするときに表示される、不明のゲームオブジェクトIDに関するエラーメッセージをフィックスしました。
  • WG-36200 エディタを-gameフラグで稼働させたときのクラッシュをフィックスしました。


Wwise Unreal Integration Documentation: リリースノート 2017.1.4.6407.760

リリースノート 2017.1.4.6407.760

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.1.3.6377.732版と、2017.1.4.6407.760版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.15/4.16/4.17/4.18 - Wwise 2017.1.4.6407.760

  • WG-33333 グローバルフォーカスに対応しようとする不要コードを、排除しました。
  • WG-34745 ロワーエンジンメモリプールサイズを削減しました。
  • WG-34879 オクルージョンラインのトレースに使うコリジョンチャンネルを、AkComponentのプロパティで公開しました。
  • WG-35035 Blueprintからオクルージョンリフレッシュ間隔を0に設定したときに、この機能が確実に無効になるようにしました。
  • WG-35104 マルチプレイヤーシナリオで、リスナーが正しく扱われるようになりました。
  • WG-35463 修正済み: ポータルが32-bitプラットフォームで機能しません。
  • WG-35473 ゲームオブジェクトの登録を、ワールドが有効な場合だけに行うようになりました。
  • WG-35614 座標変換を削除しました。詳細は 新しい座標システムに移行。 を参照してください。


Wwise Unreal Integration Documentation: リリースノート 2017.1.3.6377.732

リリースノート 2017.1.3.6377.732

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.1.3.6377.715版と、2017.1.3.6377.732版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.15/4.16/4.17/4.18 - Wwise 2017.1.3.6377.732

  • Unreal 4.18 対応を追加しました。
  • WG-35104 修正済み: 専用サーバでは、リスナーを作成しません。
  • WG-35272 修正済み: Android 64-bitビルドのサポートを追加しました。
  • WG-35286 修正済み: どこにも接続していないAdd Surface Reflector Set Component Blueprintノードがある時のクラッシュを、回避します。


Wwise Unreal Integration Documentation: リリースノート 2017.1.3.6377.715

リリースノート 2017.1.3.6377.715

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.1.2.6361.696版と、2017.1.3.6377.715版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.15/4.16/4.17 - Wwise 2017.1.3.6377.715

  • WG-34797 Spatial Audio Volumeで、surfaceの削除をやり直す（undoする）と、そのDetailsパネルを正しくリフレッシュできます。
  • WG-34810 Late Reverb Componentのプロパティの順番が、正しくなりました。
  • WG-34878, WG-34906 Play in Editorセッションで、音が正しくスペーシャリゼーションされます。
  • WG-34907 FAkAudioDevice::Get()のパフォーマンス改善。


Wwise Unreal Integration Documentation: リリースノート 2017.1.2.6361.696

リリースノート 2017.1.2.6361.696

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.1.1.6340.673版と、2017.1.2.6361.696版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.15/4.16/4.17 - Wwise 2017.1.2.6361.696

  • WG-32413 修正済み: Content Browserと、Animation Editorで、音が聞こえません。
  • WG-33970 修正済み: (Mac) ゲームをPAKファイルで実行する時に、クラッシュします。
  • WG-34030 修正済み: AkSpatialAudioVolumeから、サーフェスを削除すると、詳細パネルが正しく更新されます。
  • WG-34083 修正済み: Spatial Audio Volumeのジオメトリプロパティを変更する時の、リフレッシュの問題。
  • WG-34213 修正済み: Content Browserと、Animation Editorで、音が聞こえるようになりました。
  • WG-34222 Virtual Acousticsのファクトリ（出荷時）ShareSetsが、Wwise Pickerに表示されるようになりました。
  • WG-34276 ポストされたEventが、Level Sequence内で関連セクションが過ぎても、再生され続ける設定を追加しました。
  • WG-34605 修正済み: 状況によって、ゲーム起動時にポータルがWwise Spatial Audioにプッシュされません。
  • WG-34630 修正済み: -nosound オプションを有効にした時に、クラッシュします。
  • WG-34703 修正済み: 複数のSpatialAudioVolumesを、同時に変更する場合のクラッシュを防止します。
  • WG-34704 修正済み: デフォルトのリスナーであるAkComponentの登録を解除する時にクラッシュを防止します。
  • WG-34745 修正済み: ロワーエンジンメモリサイズを削減しました。


Wwise Unreal Integration Documentation: リリースノート 2017.1.1.6340.673

リリースノート 2017.1.1.6340.673

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2017.1.0.6302.628版と、2017.1.1.6340.673版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.15/4.16/4.17 - Wwise 2017.1.1.6340.673

  • Unreal Engine 4.17 対応を追加しました。
  • Unreal 4.17以降、UnrealオーディオシステムをXbox OneとSwitchのプラットフォームで無効にする必要があります。詳細は、 よくある質問 を参照してください。
  • WG-34098 (Mac) AkRoomComponent 付きのボリュームと全く同じ場所にある AkComponent は、そのroomに正しくアサインされます。
  • WG-34119 修正済み: 初期化されていない listener ID 値が、SpatialAudio API に、SetEmitterAuxSendValues経由で送信されます。
  • WG-34368 修正済み: FAkAudioDevice::PostEventAtLocation が、ゲームオブジェクトを登録しません。
  • WG-34388 修正済み: Level Sequencerで、RTPCシーケンス名をデフォルトにリセットした時に、Editorがクラッシュします。


Wwise Unreal Integration Documentation: リリースノート 2017.1.0.6302.628

リリースノート 2017.1.0.6302.628

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2017.1.0.6302.628版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.15/4.16 - Wwise 2017.1.0.6302.628

  • Spatial Audioのコンポーネントを追加しました。 詳細は Wwise Spatial Audioオブジェクト を参照ください。
  • WG-30695 Visual Studio 2017対応を追加しました。
  • WG-32388 修正済み: SoundBank生成時に最大減衰半径（Max attenuation radius）を正しくパースします。


Wwise Unreal Integration Documentation: リリースノート 2016.2.6.6153.513

リリースノート 2016.2.6.6153.513

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2016.2.5.6121.484版と、2016.2.6.6153.513版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.15/4.16/4.17/4.18 - Wwise 2016.2.6.6153.513

  • Unreal 4.18 対応を追加しました。
  • WG-33970 修正済み: (Mac) ゲームをPAKファイルで実行する時に、クラッシュします。
  • WG-34907 FAkAudioDevice::Get()のパフォーマンス改善。


Wwise Unreal Integration Documentation: リリースノート 2016.2.5.6121.484

リリースノート 2016.2.5.6121.484

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2016.2.5.6121.471版と、2016.2.5.6121.484版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.15/4.16/4.17 - Wwise 2016.2.5.6121.484

  • UE 4.12、4.13、4.14のサポートを削除しました
  • UE 4.17 対応を追加しました。
  • Unreal 4.17以降、UnrealオーディオシステムをXbox OneとSwitchのプラットフォームで無効にする必要があります。詳細は、 よくある質問 を参照してください。
  • WG-34388 修正済み: Level Sequencerで、RTPCシーケンス名をデフォルトにリセットした時に、Editorがクラッシュします。


Wwise Unreal Integration Documentation: リリースノート 2016.2.5.6121.471

リリースノート 2016.2.5.6121.471

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.2.4.6098.451版と、2016.2.5.6121.471版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.12/4.13/4.14/4.15/4.16 - Wwise 2016.2.5.6121.471

  • WG-32388 修正済み: Max Attenuationが、SwitchesをコールするEventsを更新しません。
  • WG-32554 修正済み: Unrealプロジェクトをクッキングする時に、 AkComponent::UpdateGameObjectPosition でクラッシュします。


Wwise Unreal Integration Documentation: リリースノート 2016.2.4.6098.451

リリースノート 2016.2.4.6098.451

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.2.3.6077.435版と、2016.2.4.6098.451版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.12/4.13/4.14/4.15/4.16 - Wwise 2016.2.4.6098.451

  • Unreal Engine 4.16 対応を追加しました。
  • WG-31942 修正済み: Wwiseファイルパッケージのサポートを追加しました。
  • WG-33251 修正済み: ユニティ以外のビルドをビルドする時の不足includeファイルを追加しました。


Wwise Unreal Integration Documentation: リリースノート 2016.2.3.6077.435

リリースノート 2016.2.3.6077.435

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.2.3.6077.422版と、2016.2.3.6077.435版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.12/4.13/4.14/4.15 - Wwise 2016.2.3.6077.435

  • WG-32914 修正済み: パッケージ後のゲームで、AK Unreal IOコード内のデッドロックやクラッシュの可能性を回避します。


Wwise Unreal Integration Documentation: リリースノート 2016.2.3.6077.422

リリースノート 2016.2.3.6077.422

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.2.2.6022.371版と、2016.2.3.6077.422版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.12/4.13/4.14/4.15 - Wwise 2016.2.3.6077.422

  • WG-30020 修正済み：エディタ起動時にWwiseプロジェクトがないとする警告表示を、無視できるようにしました。
  • WG-30695 Switchプラットフォームのサポートを追加しました。
  • WG-31076 修正済み：Wwise Blueprintノードを全て BlueprintCosmetic とマークして、専用サーバで実行することを回避しました。
  • WG-31455 AkComponentCallbackManagerを追加しました。AkComponentに必要なコールバックの取り扱いを改善して、並列処理のリスクを削減しました。
  • WG-32046修正済み：BeginPlayでAkAmbientSoundを自動的にスタートできるようにしました。
  • WG-32490 修正済み：レベルシーケンサーコードを非推奨としました。
  • WG-32763 修正済み："Engine.h"などモノリシックなエンジンヘッダファイルを、非継続としました。
  • WG-32768 修正済み：EDLを使って大きいバンクをロードする時に、クラッシュします。
  • WG-32799 修正済み：エディタの並列IO転送数を増加させて、SoundBankのロードを速めました。


Wwise Unreal Integration Documentation: リリースノート 2016.2.2.6022.371

リリースノート 2016.2.2.6022.371

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.2.2.6022.359版と、2016.2.2.6022.371版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.12/4.13/4.14/4.15 - Wwise 2016.2.2.6022.371

  • WG-32464 UE4.15の既存プロジェクトをMacプラットフォームで開けるようにしました。


Wwise Unreal Integration Documentation: リリースノート 2016.2.2.6022.359

リリースノート 2016.2.2.6022.359

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.2.1.5995.317版と、2016.2.2.6022.359版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.12/4.13/4.14/4.15 - Wwise 2016.2.2.6022.359

  • WG-31087 Level Sequenceサポートが追加されました。
  • WG-31687 Event Driven Loaderのサポートを追加しました。
  • WG-31816 MatineeトラックからSequencerトラックへの移行を追加しました。
  • WG-31924 対応済み：　自動的に破棄されているAkComponentにEvent を投稿しようとすると、エディタがクラッシュする。
  • WG-32259 対応済み： AkComponentをBlueprintableコンポーネントに。Blueprintコンポーネントは、AkComponentを基本クラスとして使用できるようになりました。


Wwise Unreal Integration Documentation: リリースノート 2016.2.1.5995.317

リリースノート 2016.2.1.5995.317

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.2.0.5972.301版と、2016.2.1.5995.317版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.12/4.13/4.14 - Wwise 2016.2.1.5995.317

  • WG-31588 修正済み：消えていくアクターには音がでないようにする。
  • WG-31590 コールバックに関連するメモリ不足の状態が改善されました。
  • WG-31860 修正済み：clangの静的コード解析で見つかった警告を削除。
  • WG-31876 修正済み：Wwiseインストールパスの相対パスを許可する。
  • WG-31888 修正済み：削除されたFStringへのアクセスによる終了時の潜在的なクラッシュ。


Wwise Unreal Integration Documentation: リリースノート 2016.2.0.5972.301

リリースノート 2016.2.0.5972.301

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.2.0.5972.274版と、2016.2.0.5972.301版の間で、（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.12/4.13/4.14 - Wwise 2016.2.0.5972.301

  • WG-31589 修正済み: 自動破壊（auto-destroy）が未設定で、Eventをポストしないスポーンされたコンポーネントは、破壊しません。
  • WG-31678 修正済み: ストリーミングファイルを正しく開くことができるようになった。
  • WG-31771 修正済み: AnimNotify_AkEventを再生中のアニメーションに追加するときにクラッシュを避けるように。


Wwise Unreal Integration Documentation: リリースノート 2016.2.0.5972.274

リリースノート 2016.2.0.5972.274

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.2.0.5972.274版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.12/4.13 - Wwise 2016.2.0.5972.274

  • WG-29980 ランゲージ別のフォルダをパースして、Eventの最大減衰値を取得するようになりました。
  • WG-30448 無効AkEventをポストしようとする時のAkComponentのログを、改善しました。
  • WG-30491 Fixed: PIEセッション終了時にサウンドを必ず停止するようにしました。
  • WG-31030 対応済み: FAkAudioDevice::Get()の最適化を行いました。
  • WG-31040 Fixed: 無効AkEventをポストしようとする時の、AkComponentのメモリリーク。
  • WG-31075対応済み: モジュールマネージャでクラッシュを防止するに、バンクロードコールバックから FAkAudioDevice::Get() へのコールを排除しました。
  • WG-31186 対応済み: AkComponentが破棄されたとき、Eventコールバックのキャンセルによって AkComponentCallback でのクラッシュを防止します。
  • WG-31204 Fixed: スポーン（spawn）したAkComponentが、関連するEventをポストしようとして失敗した時の、メモリリーク。
  • WG-31277 Fixed: 破壊された（destroyed）アクターに対してEventをポストしようとすると発生する、エディタのクラッシュ。


Wwise Unreal Integration Documentation: リリースノート 2016.1.6

リリースノート 2016.1.6

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.1.6版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.12/4.13/4.14 - Wwise 2016.1.6

  • UE 4.11のサポートを削除しました。


Wwise Unreal Integration Documentation: リリースノート 2016.1.5

リリースノート 2016.1.5

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.1.5版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.11/4.12/4.13/4.14 - Wwise 2016.1.5

  • WG-31588 修正済み：消えていくアクターには音がでないようにする。
  • WG-31860 修正済み：clangの静的コード解析で見つかった警告を削除。
  • WG-31876 修正済み：Wwiseインストールパスの相対パスを許可する。


Wwise Unreal Integration Documentation: リリースノート 2016.1.4

リリースノート 2016.1.4

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.1.4版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.11/4.12/4.13/4.14 - Wwise 2016.1.4

  • WG-29980 ランゲージ別のフォルダをパースして、Eventの最大減衰値を取得するようになりました。
  • WG-31030 FAkAudioDevice::Get()の最適化を行いました。
  • WG-31075モジュールマネージャでクラッシュを防止するに、バンクロードコールバックから FAkAudioDevice::Get() へのコールを排除しました。
  • WG-31186 修正済み: AkComponentがdestroyされたとき、Eventコールバックのキャンセルによって AkComponentCallback がクラッシュしました。
  • WG-31204 Fixed: スポーン（spawn）したAkComponentが、関連するEventをポストしようとして失敗した時の、メモリリーク。
  • WG-31277 Fixed: 破壊された（destroyed）アクターに対してEventをポストしようとすると発生する、エディタのクラッシュ。


Wwise Unreal Integration Documentation: リリースノート 2016.1.3

リリースノート 2016.1.3

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.1.3版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.11/4.12/4.13 - Wwise 2016.1.3

  • WG-30993 対応済み: XAudio 2.7の明確なLoadLibraryを削除。
  • WG-31015 対応済み: Recorderプラグインとのリンク。


Wwise Unreal Integration Documentation: リリースノート 2016.1.2

リリースノート 2016.1.2

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.1.2版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.11/4.12 - Wwise 2016.1.2

  • WG-30304 対応済み: "Unload stream level" の時に、SoundEngineに対するグローバル（全てに適用する）"Stop All" がポストされなくなりました。
  • WG-30754 対応済み: FAkAudioDevice::PostEvent の時に、必ず再生IDを返すようになりました。
  • WG-30804 Fixed: Wwise SDKサンプルの依存関係を排除しました。新IOシステムで利用するのは、Unreal IOユーティリティのみです。


Wwise Unreal Integration Documentation: リリースノート 2016.1.1

リリースノート 2016.1.1

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの 2016.1.1版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

UE4.11/4.12 Wwise 2016.1.1 インテグレーションに移行する。

Unreal Engine 4.11/4.12 - Wwise 2016.1.1

  • WG-29972 対応済み: AkComponent のauto-destroy （自動破壊）動作で発生する可能性のある、スレッド関連の複数の問題。
  • WG-29979 対応済み: EndOfEvent コールバックを必ずコールするようになりました。
  • WG-30004 対応済み: SetGameObjectOutputBusVolume が、Blueprints やAkAudioDevice で公開されるようになりました。
  • WG-30404 対応済み: Attenuation Scaling Factor （減衰スケーリングファクター）が AkComponents で正しく作動するようになりました。
  • WG-30409 対応済み: Vorbis でエンコードしたファイルをデコードできるようになりました。


Wwise Unreal Integration Documentation: UE4.11/4.12 Wwise 2016.1.1 インテグレーションに移行する。

UE4.11/4.12 Wwise 2016.1.1 インテグレーションに移行する。

WG-30404 のフィックスに関連して、 AkComponent の AttenuationScalingFactor UPROPERTY がBlueprintsでリードオンリー（書き込み不可）となりました。今後この値を設定するには、 AkComponent で SetAttenuationScalingFactor メソッドを呼び出す必要があります。


Wwise Unreal Integration Documentation: リリースノート 2016.1.0 (UE4.12のアップデート)

リリースノート 2016.1.0 (UE4.12のアップデート)

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.1.0版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.11.2 - Wwise 2016.1

  • UE4.12 対応を追加しました。
  • WG-29917 Fixed: AkAmbientSounds の減衰半径がEditorに表示されないというケースを修正しました。
  • WG-30000 Fixed: StartAllAmbientSounds とStopAllAmbientSoundsのメタデータプロパティを変更しました。
  • WG-30012 修正済み："Generate Sound Banks"ウィンドウの"Available Platforms"に、プロジェクトが対応しているプラットフォームを表示します。
  • WG-30014 Fixed: 専用サーバを使用するPlay in Editorセッションを開始する時のクラッシュを修正しました。
  • WG-30031 Fixed: World global pointerの使用を排除しました。
  • WG-30205 Fixed: Macプラットフォームで、Wwise.appパスにスペースを入れられるようにしました。


Wwise Unreal Integration Documentation: リリースノート 2016.1.0

リリースノート 2016.1.0

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2016.1.0版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.11.2 - Wwise 2016.1

  • WG-29917 Fixed: AkAmbientSounds の減衰半径がEditorに表示されないというケースを修正しました。
  • WG-30000 Fixed: StartAllAmbientSounds とStopAllAmbientSoundsのメタデータプロパティを変更しました。
  • WG-30012 修正済み："Generate Sound Banks"ウィンドウの"Available Platforms"に、プロジェクトが対応しているプラットフォームを表示します。
  • WG-30014 Fixed: 専用サーバを使用するPlay in Editorセッションを開始する時のクラッシュを修正しました。
  • WG-30031 Fixed: World global pointerの使用を排除しました。
  • WG-30205 Fixed: Macプラットフォームで、Wwise.appパスにスペースを入れられるようにしました。


Wwise Unreal Integration Documentation: リリースノート 2015.1.7

リリースノート 2015.1.7

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションの2015.1.7版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.12 - Wwise 2015.1.7

  • WG-29917 Fixed: AkAmbientSounds の減衰半径がEditorに表示されないというケースを修正しました。
  • WG-29991 AkEvent String Input Fieldを AkAmbientSound に追加しました。
  • WG-29997 アウトプットログの重複する"LogAkAudio: StopAll API called"のエントリーを阻止しました。
  • WG-30000 Fixed: StartAllAmbientSounds とStopAllAmbientSoundsのメタデータプロパティを変更しました。
  • WG-30012 修正済み：サウンドバンク生成のために選択することのできるプラットフォームのリストと、Unrealプロジェクト設定下のSupported Platformsを一致させます。
  • WG-30014 Fixed: 専用サーバを使用するPlay in Editorセッションを開始する時のクラッシュを修正しました。
  • WG-30031 Fixed: World global pointerの使用を排除しました。
  • WG-30218 Fixed: Androidプラットフォームに Wwise Profilerを接続する際のクラッシュ。
  • WG-30255 Fixed: MatineeでAk Event Trackにキーを追加する際のクラッシュ。


Wwise Unreal Integration Documentation: Unreal Engine 4.11 - Wwise 2015.1.6

Unreal Engine 4.11 - Wwise 2015.1.6

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションのUnreal Engine 4.11版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

移行の注意点

Unreal Engine 4.11 - Wwise v2015.1.6

  • Wwise Unrealインテグレーションがプラグインになりました。移行の注意については UE4 Wwiseインテグレーションのソースコードから、プラグインバージョンに移行する を参照ください。
  • UI-273 Fixed: AUXタイプ用に新uassetタイプを作成しました。これでAuxBusをSoundBankにアサインできます。詳細は UAkAuxBus を参照ください。
  • UI-280 Fixed: "...by name" メソッドを非推奨とし、該当するメソッドの文字列フィールドに置き換えました。 詳細は "...by name"メソッドを移行 を参照ください。
  • UI-309 Fixed: WwiseプロジェクトパスをUE4Editor.exeに対するパスではなく、ゲームフォルダに対するパスとしました。 詳細は Wwiseのプロジェクトパスを移行する を参照ください。


Wwise Unreal Integration Documentation: 移行の注意点

移行の注意点

UE4 Wwiseインテグレーションのソースコードから、プラグインバージョンに移行する

Unreal Engine 4.11以降、Wwise UE4インテグレーションはプラグインとして提供されます。

注記： Wwise から Unreal Content Browserへイベントをドラッグ＆ドロップしてAkAudioEventオブジェクトを作成することが、できなくなりました。 その代わりにWwise PickerからUnreal Content Browserにイベントを直接ドラッグすれば、対応するオブジェクトが作成できます。

UE4プロジェクトをUE 4.10以前のバージョンからUE 4.11以降のバージョンにアップデートするには：

  1. ゲームプロジェクトをバックアップする。
  2. Unreal EngineをEpic Games Launcherからインストールするか、ソースコードから自分でUnreal Engineをコンパイルする。
  3. インストール に従い、Wwise UnrealプラグインをEngineまたはGame plug-inとしてインストールする。この際、必ず自分でビルドしたSDKファイルを使うこと。
  4. ゲームプロジェクトをUnreal Editorにロードする。
  5. Wwise UnrealプラグインをEngineプラグインとしてインストールした場合は、Edit > Plugins > AudioのWwise Unreal Engine 4 Integrationセクションにある"enable"オプションを選択して、Wwiseプラグインを有効にすること。プラグインを有効にするには、プロジェクトをリロードする必要がある。
  6. プロジェクトでAkEventやAkEventByName AnimNotifyを使用している場合は、この新しいプラグイン方式に合わせて一部のアセットが変更されているので、プロジェクトをリロードするようプロンプトが表示されます。

最後のステップは、プラグインで提供するAnimNotifiesをEngineのコンテンツフォルダからプラグインのコンテンツフォルダに移動したため、必要となります。レファレンスを移動するためには、プロジェクトのリロードが必要です。

全てのステップが完了すれば、Wwise Unrealプラグインを使用できます。

"...by name"メソッドを移行

Wwise Unrealプラグイン4.11以降では、全ての"...by Name"メソッド（例えばPostEventByName、LoadBankByNameなど）が推奨されません。文字列を使ってイベントをポストしたりSoundBankをロードしたりするのは、Blueprintノードの詳細フィールドで可能です。例えばイベント名を使ってイベントをポストする場合は、"PostEvent" Blueprintノードの"Event Name"フィールドを使用します：

Wwiseのプロジェクトパスを移行する

Wwise Unrealプラグイン4.11以降では、Wwise設定画面にあるWwiseのプロジェクトパスが、UE4Editor.exeファイルに対するパスではなくゲームフォルダに対するパスとなります。4.11 Wwise Unrealプラグインをはじめて稼働させる時に、自動的に変更されます。


Wwise Unreal Integration Documentation: Unreal Engine 4.10 - Wwise 2015.1.4

Unreal Engine 4.10 - Wwise 2015.1.4

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションのUnreal Engine 4.10版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.10 - Wwise v2015.1.4

  • UI-265 Fixed: AnimNotifiesで、AkComponentを使用する前に有効性をチェックします。これでUEを -nosound オプションで使用する時のログスパムが減少します。
  • UI-270 修正済み: non-Unity モードでビルドが可能になりました。


Wwise Unreal Integration Documentation: Unreal Engine 4.9 - Wwise 2015.1.2

Unreal Engine 4.9 - Wwise 2015.1.2

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションのUnreal Engine 4.9版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.9 - Wwise v2015.1.2

  • UI-249 Fixed: Windows環境で使用可能なオーディオ再生デバイスが存在しない場合に不正終了していたのを修正しました。
  • 新規Blueprintノード"Spawn AkComponent at location"を追加しました。 詳細は Spawn Ak Component at Location を参照ください。
  • Macエディターに対応しました。
  • Macプラットフォーム対応を追加しました。
  • iOSプラットフォーム対応を追加しました。
  • Linuxプラットフォーム対応を追加しました。


Wwise Unreal Integration Documentation: Unreal Engine 4.8 - Wwise 2015.1.0

Unreal Engine 4.8 - Wwise 2015.1.0

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションのUnreal Engine 4.8版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.8 - Wwise v2015.1

  • UE4.8 インテグレーションが Wwise 2015.1に移行しました。
  • App manifest にWwise 通信ポートの定義が含まれない場合にXbox Oneにおいてクラッシュする不具合を修正しました。


Wwise Unreal Integration Documentation: Unreal Engine 4.8 - Wwise 2014.1.5

Unreal Engine 4.8 - Wwise 2014.1.5

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションのUnreal Engine 4.8版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.8 - Wwise v2014.1.5

  • UI-206 Fixed: 減衰設定付のサウンドが、アニメーションウインドウが開いている際にも聞くことが出来るようになりました。
  • UI-212 Fixed: "Load Init Bank" Blueprint ノードを追加しました。
  • UI-213 Fixed: Blueprint ノードにnullチェックを追加し、クラッシュを防ぐようにしました。
  • UI-214 Fixed: アウトプットキャプチャをディスクにセーブする際にクラッシュしないようにしました。
  • UI-215 Fixed: actorにアタッチ時に、AkComponentの減衰スケーリングファクターが 設定されていない場合にも問題が無いよう対応にしました。
  • UI-217 Fixed: 詳細パネルでAkReverbVolumeのコリジョン設定が表示されるようにしました。
  • UI-220 Fixed: スポーンが遮蔽されるサウンドの遮蔽フェードの振る舞いを修正しました。
  • UI-223 Fixed: 任意のサウンドバンクのパースが失敗した際に、AkEventの最大減衰の合算処理が停止しないようにしました。
  • UI-226 Fixed: 64-bit WwiseCLI.exeが見つからない場合に、サウンドバンク生成は32-bit WwiseCLI.exeを使用して行なわれるようになりました。
  • UI-230 Fixed: Wwise Game Objectのunregisterに FinishDestroy ではなく OnComponentDestroyed を使用するようにしました。これでGame Objects が必要以上に登録された状態であることが無くなりました。
  • UI-233 Fixed: GetGameObjectID関数にActorに対する有効性チェックを追加しました。
  • UI-234 Fixed: SetListener関数のMultiple viewportが正しく扱われるようになりました。 これにより AkAudioDevice.cpp内でのクラッシュが修正されました。
  • UI-236 Fixed: GetAkComponent Blueprint ノードに渡されるLocation Typeが正しく扱われるようになりました。
  • UI-239 Fixed: エンジンのシャットダウン時に、Bank Managerが既に破棄された可能性のあるSoundbankをアンロードしようとする結果としてのクラッシュが起こらないようにしました。
  • AnimNotify_AkEventに"Follow"チェックボックスを追加しました。 これをチェックしないままでおくと、親にアタッチするのではなく、特定の場所でAkEventをポストします。
  • 新規 AnimNotify: AnimNotify_AkEventByNameを追加し、名称を文字列として使用しイベントをポストできるようにしました。
  • Blueprintsにデバッグツールを追加しました。詳細は Blueprint 関数のデバッグ を参照下さい。


Wwise Unreal Integration Documentation: Unreal Engine 4.7 - Wwise 2014.1.3

Unreal Engine 4.7 - Wwise 2014.1.3

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションのUnreal Engine 4.7版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.7 - Wwise v2014.1.3

  • Androidプラットフォーム対応の追加。
  • Epic Games社提供のFirst Personテンプレートをベースとした新規デモゲームを追加しました。より詳細な情報については下記を参照下さい Wwise Demo Gameを使用する 。
  • 全てのWwiseインテグレーションの設定は Unrealプロジェクト設定ウインドウ内にそれぞれページが用意されています。INIファイルを直接編集する必要が無くなりました。
  • UI-157 対応済み: サウンドバンクを生成時、最大減衰情報をAkEventsに追加する。Blueprint経由で取得可能です。
  • UI-187 対応済み: スペースバーを押すことで、コンテントブラウザーでAkEventのプレビューを可能にする。
  • UI-188 対応済み: AkAmbientSound の破棄時に、破棄されたオブジェクトがコールバックで使用されないようにイベントコールバックをキャンセルするようにしました。
  • UI-189 対応済み: AkComponentに減衰スケールファクターを追加し、アクター毎に減衰半径を設定できるようにしました。
  • UI-190 対応済み: 新規Blueprintノードを追加し、ロードするサウンドバンクのリストを設定できるようにしました。より詳細な情報については下記を参照下さい Removed and Deprecated Functions
  • UI-193 対応済み: ドラッグ・アンド・ドロップで UAkAudioEvents を生成時に、 UAkAudioEventFactory を直接取得できるようにしました。
  • UI-194 対応済み: 位置に対応する AkReverbVolumes の特定を最適化しました。
  • UI-195 対応済み: blueprint_actor_posteventbyname, features_blueprintsoundbanks_removed 、 及び Removed and Deprecated Functions Blueprint ノードを追加しました。
  • UI-196 対応済み: サウンドに同時適用するリバーブボリュームの最大数を指定するパラメータを追加しました。
  • UI-201 対応済み: AkComponentにUAkAudioEventを追加し、Unreal側の AudioComponentと同期するようにしました。AkComponentをBlueprint へUAkAudioEventをドラッグ・アンド・ドロップで追加できるようになりました。AkComponentがアタッチされたアクターはエディター内で減衰半径が表示されるようになりました。
  • UI-204 対応済み: 自動ロードされたサウンドバンクをアンロードするコードを追加しました。
  • UI-205 対応済み: オーディオ再生を許可していないワールドへイベントをポストしないようにしました。
  • UI-208 対応済み: サウンドバンク生成時に起こりうるクラッシュを防ぐ修正をしました。


Wwise Unreal Integration Documentation: Unreal Engine 4.6 - Wwise 2014.1.1

Unreal Engine 4.6 - Wwise 2014.1.1

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションのUnreal Engine 4.6版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.6 - Wwise v2014.1.1

  • UI-183 対応済み: UnrealBuildToolがデバッグCRTライブラリを使用する設定になっている場合 (bDebugBuildsActuallyUseDebugCRT = true)、デバッグサウンドエンジンライブラリを使用するようにしました。
  • UI-184 対応済み: ビルボードコンポーネントをAkComponent へ追加し、エディタ内で表示されるようにしました。
  • UI-186 対応済み: .bnk ファイルをコンテントブラウザー内でドラッグ・アンド・ドロップすることでUAkAudioBank アセットを生成できるようにしました。


Wwise Unreal Integration Documentation: Unreal Engine 4.5 - Wwise 2014.1

Unreal Engine 4.5 - Wwise 2014.1

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、このインテグレーションのUnreal Engine 4.5版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

Unreal Engine 4.5 - Wwise v2014.1

  • UI-172 Fixed:AkReverbVolumeChannel コリジョンチャネルにより生成されたアサートを解消しました。
  • UI-174 Fixed:"Generate SoundBanks"ウインドウの最適化を行ないました。
  • UI-175 Fixed:プリプロセッサのガードを追加し、本インテグレーションでサポートされていないプラットフォームでのコンパイルエラーを取り除きました。


Wwise Unreal Integration Documentation: 2014年8月 - Wwise v2014.1

2014年8月　- Wwise v2014.1

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2014年8月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2014年8月　- Wwise v2014.1

  • UI-166 Fixed：Auxiliary Busプロパティがリバーブボリュームに含まれているアンビエントサウンドに適用されるようになりました。
  • 対応するWwiseバージョンを2014.1に更新しました.。対応するWwiseバージョンを2014.1に更新しました.。継続して2013.2.xを使用される場合には よくある質問 をご確認下さい。


Wwise Unreal Integration Documentation: 2014年8月 - Wwise v2013.2.9

2014年8月 - Wwise v2013.2.9

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2014年8月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2014年8月 - Wwise v2013.2.9

  • 日本語ドキュメントを追加しました。


Wwise Unreal Integration Documentation: 2014年7月 - Wwise v2013.2.9

2014年7月 - Wwise v2013.2.9

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2014年7月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2014年7月 - Wwise v2013.2.9

  • SwitchDemo mapをUnrealWwiseDemoサンプルゲームに追加し、Switchの使用について解説をしています。
  • UI-161 Fixed：アンビエントサウンドを再生開始時にAkComponentが重複生成されないようにしました。 これが原因でアンビエントサウンド停止がが正しく動作していませんでした。


Wwise Unreal Integration Documentation: 2014年6月 - Wwise v2013.2.8

2014年6月 - Wwise v2013.2.8

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2014年6月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2014年6月 - Wwise v2013.2.8

  • UI-152 Fixed：パッケージングプロセスに、SoundBankやストリーミングファイルを追加。


Wwise Unreal Integration Documentation: 2014年4月 - Wwise v2013.2.7

2014年4月 - Wwise v2013.2.7

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2014年4月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2014年4月 - Wwise v2013.2.7

  • UI-149 Fixed：AkReverbVolumesの正しいデフォルト値を設定。


Wwise Unreal Integration Documentation: 2014年3月 - Wwise v2013.2.6

2014年3月 - Wwise v2013.2.6

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2014年3月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2014年3月 - Wwise v2013.2.6

  • Visual Studio 2013をデフォルトで使用。詳細は 必要条件 ページを参照。
  • UI-146 Fixed：非Unityビルドコンパイルエラーをフィックス。
  • UI-147 Fixed：
    • AkComponentのtick関数でサウンドエンジンが初期化されることを確認
    • AkReverbVolumesのCollisionチャンネル名を正しく設定
    • コマンドレット内でバンクをロードすることを回避
    • バンクの自動作成機能を削除。
  • UI-148 Fixed：RTPCDemoブループリントの"Get Player Controller"を使い、Editorで"Simulate"モードと"Possess"モードを切り替える時もサウンドを継続させる。


Wwise Unreal Integration Documentation: 2014年1月 - Wwise v2013.2.5

2014年1月 - Wwise v2013.2.5

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2014年1月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2014年1月 - Wwise v2013.2.5

  • ShooterGameにAkAnimNotifyの例を追加。場所は、FPP_RifleReloadアニメーション内。
  • UI-131 Fixed：Animation Editorで空間化されたサウンドを視聴可能に：Animation Editorウィンドウ用に2つ目のリスナーを追加して、このウィンドウで作成したゲームオブジェクトをこの新しいリスナーにルーティングする。
    警告： このフィックスで、AnimNotify_AkEvent Blueprintが変更される。ブループリントに変更を加えてある場合は、このインテグレーションにマージする前に、必ずバックアップすること。
  • UI-134 Fixed：GetAkComponentへの入力フラグStopWhenOwnerDestroyedを削除。このフラグは不要なので、混乱を避けるために削除。AkComponentに、SetStopWhenOwnerDestroyedメソッドを追加。
  • UI-136 Fixed：Wwise AuthoringがXbox Oneアプリケーションとやりとりできるようにする。
  • UI-137 Fixed：一時的なゲームオブジェクト（"Post Event at Location"で作成されたもの）が、必ずAAkReverbVolumesの対象となるようにする。
  • UI-138 Fixed：サウンドエンジンがcommandletで稼働中に、UEエラーを作成することを防止。これは迂回策である。そもそもサウンドエンジンの初期化を行うべきではないかもしれない。
  • UI-139 Fixed：サウンドエンジンでリスナーポジションを設定する時の、Z軸のFMath::Absの表示を削除（Unrealコードの変更なし）。これで、上下逆のリスナーが可能となる。
  • UI-145 Fixed：RTPCの正しい適用を妨げていたAkComponent::SetRTPCValueメソッドのエラーをフィックス。


Wwise Unreal Integration Documentation: 2013年12月 - Wwise v2013.2.4

2013年12月 - Wwise v2013.2.4

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2013年12月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2013年12月 - Wwise v2013.2.4

  • Unreal Wwiseインテグレーションが正式にPS4、Xbox Oneのプラットフォームに対応！
  • バンク生成のダイアログボックスに、プラットフォーム選択機能を追加。
  • ビルドメニューに、バンク生成のダイアログボックスを追加。
  • コンフィグレーションパラメータ LinkedProject を、Engine/Config/BaseEditor.iniから<Your Game>/Config/DefaultGame.iniに移動。
  • 簡単なオクルージョン対応を追加。
  • UAkComponentをオーナーのない別のコンポーネントから取得する際のクラッシュをフィックス。
  • UI-130 Fixed：UAkComponent::UpdateAkReverbVolumeListメソッドのパフォーマンス問題をフィックス。
  • UI-130 Fixed：UAkComponentに、リバーブボリュームに左右されるかどうかを指定するフラグを追加。
  • UI-132 Fixed：サーバコンフィギュレーションに対するUAkComponentsのTickを防止。
  • UI-135 Fixed：RTPC補間時間を公開。


Wwise Unreal Integration Documentation: 2013年10月 - Wwise v2013.2.1

2013年10月 - Wwise v2013.2.1

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2013年10月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2013年10月 - Wwise v2013.2.1

  • PlayStation4、Xbox One用にバンク生成を追加。
  • 空間にあるボリュームをWwiseのAUXバスにマッピングできるように、AkReverbVolumeを追加。
  • UI-128 Fixed：非同期IOアクセスを実装。


Wwise Unreal Integration Documentation: 2013年9月 - Wwise v2013.2.1

2013年9月 - Wwise v2013.2.1

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2013年9月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2013年9月 - Wwise v2013.2.1

  • Visual Studio 2012のビルド設定をフィックス。
  • AkAudioDeviceしかない時にUEngine::UseSound()がFalseを返すのをフィックス。
  • UAkComponent::PostAkEventでNullイベントの時のクラッシュをフィックス。
  • スタティックアクタのゲームオブジェクトのポジションをフィックス。


Wwise Unreal Integration Documentation: 2013年8月 - Wwise v2013.2

2013年8月 - Wwise v2013.2

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2013年8月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2013年8月 - Wwise v2013.2

  • アクタ、AkComponent、Wwiseゲームオブジェクトについての混乱や、それぞれのライフスパンについての混乱をフィックス。
    • AkComponentは、EpicのAudioComponentのアタッチメントのセマンティックに従う。すべてのアタッチメントパラメータが一致する場合は、AkComponentを再利用する。
    • ブループリントで簡単に使えるように、AkGameplayStaticsにアクタをターゲットとしたグローバルヘルパーが含まれる。
  • SoundBank Definition Fileで欠如していたイベントやバンクをフィックス。
  • Wwise Profilerのゲームオブジェクト名をフィックス。
  • SoundBankを生成すると、ロード済みバンクのリフレッシュがトリガーされる。
  • グローバルヘルパーSet RTPC Valueが、グローバルスコープのゲームパラメータ設定に対応（アクタターゲットなし）。


Wwise Unreal Integration Documentation: 2013年7月 - Wwise v2013.1.1

2013年7月 - Wwise v2013.1.1

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2013年7月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2013年7月 - Wwise v2013.1.1

  • SoundBank生成中のエラーのためのメッセージボックスを追加。
  • Content Browserで、アセットタイプであるAudiokinetic Event、Audiokinetic Bankを分かりやすい新色で表示。
  • Xbox One、PS4の両プラットフォームのコンパイルをフィックス。
  • AnimNotify_AkEventが間違ったタイプを使う問題をフィックス。
  • AkComponent Game Objectポジションアップデートをフィックス。


Wwise Unreal Integration Documentation: 2013年6月 - Wwise v2013.1.1

2013年6月 - Wwise v2013.1.1

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2013年6月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2013年6月 - Wwise v2013.1.1

  • DebugGameビルドコンフィギュレーションのサポートを追加。
  • インテグレーションの設定を行いやすくするために、Wwise SDKの一部を含める。
  • Windows 64-bitビルドの、xaudio2/mmdev DLLのアンロード問題をフィックス。
  • ユーザ入力を阻止してしまうので、デモマップのMatineeムービー再生を取りやめる。
  • FLevelEditorViewportClient::UpdateAudioListenerの、AkAudioDeviceリスナーポジションアップデートをフィックス。
  • WindowsプラットフォームのAudioDeviceModuleNameデフォルト名を、XAudio2に変更。


Wwise Unreal Integration Documentation: 2013年5月 - Wwise v2013.1.1

2013年5月 - Wwise v2013.1.1

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2013年5月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2013年5月 - Wwise v2013.1.1

  • doxygenドキュメンテーションを導入。
  • ビルドにWwise 2013.1.1 build 4677を使用。


Wwise Unreal Integration Documentation: 2013年3月 - Wwise v2013.1

2013年3月 - Wwise v2013.1

このインテグレーションの各バージョンは、それぞれUnreal Engine 4の特定のビルドに対応しています。以下が、Unreal Engineインテグレーションの2013年3月版で（Unrealの新しいビルドにアップグレードしたこと以外に）変更された点です。

2013年3月 - Wwise v2013.1

  • ビルドにWwise 2013.1 beta build 4609を使用。


Wwise Unreal Integration Documentation: 既知の問題

既知の問題

Implementation Notes and Known Issues for Wwise Unreal Integration 2022.1

Debugging

There should be Log, Warning, and Error messages when something is wrong. However, if you have trouble pinpointing the issue with asset loading and packaging, set the log for all relevant Wwise modules to Verbose, or VeryVerbose.

If you have issues with memory usage and performance, many Stats were added in the lower-level Wwise constructs. You can use Unreal Frontend to start a profiling session, or use the Stats menu to enable real-time visualization of the available statistics. For example, the WwiseFileHandler stats has information about all the currently loaded assets.

The GeneratedSoundBanks folder is usually relative to the project root. When using the editor with the -Game option, the working directory might need to be set at the same folder than the root where your .uproject file is.

Editor Load Time

The code was designed to be asynchronous for load-time performance. However, this optimization was not pursued in time for 2022.1. This means all SoundBank information files are parsed on Editor start, which can take a significant amount of time, depending on your hardware and project size.

Cooking and Packaging

Iterative cooking is currently not supported in 2022.1. Unreal doesn't support our particular use case, and we are working on mitigating this issue. For now, the simplest solution is to manually delete the staged files. See https://issues.unrealengine.com/issue/UE-167603.

There is currently no automated way to separate assets by package. It is not possible to split languages into different optional packages, or make particular assets loadable independently. Although these features are planned, we need your feedback on your particular use cases so we can develop the most appropriate default feature set. Remember, it’s always possible to overwrite the different libraries in order to adapt the cooking functionality to your particular needs. You can also write specific rules directly in Unreal's Game - Asset Manager project preferences that would encompass the different Wwise assets in the Staging folder.

Unreal Engine 5.1

Unreal Engine 5.1 is not currently supported.

Unreal Stat (Mac Only)

The statistics for Wwise might not be accessible in the Unreal Stat menu on Mac if your Unreal project is out of date. Update your Unreal project in order to see the Wwise Stat category.

既知の問題

  • WG-29964 現状、Linux版のゲームにWwiseプロファイラー接続することはできません。
  • WG-29982 フラグUse Reverb Volumesがリアルタイムで作動せず、ブループリントボックス"Set use reverb volumes"が正しく機能しません。
  • WG-44750 MeshのPhysical Material Overrideは、AkGeometryComponentのAcoustic Textureのアサインに使用できません。
  • WG-48803 EventからEventをポストしたり、Switch値やState値を設定したりすると、パッケージされたゲームでメディアが不足する可能性があります。

  • WG-52497 現在のオーディオデバイス上のSpatial Soundオプションを変更すると、Unreal Editorがハングすることがあります。例えば Windows Sonic for Headphones から、 Off に切り替えたときに、この問題が発生することがあります。

    この問題が起きてしまう場合は、ハングを防止するためにUE Audioを無効にすることができます。

    UE Audioを無効にするには、以下を行います:

    1. あなたのUEプロジェクトの Config フォルダを開きます。（例えばWwiseAudioLab/Configなど。）
    2. Windowsという名前の新しいフォルダを作成します。
    3. 新しく作成した Windows フォルダに、 WindowsEngine.ini ファイルを作成し、中身を以下のようにします:
      [Audio]
      AudioDeviceModuleName=
      AudioMixerModuleName=


Wwise Unreal Integration Documentation: Androidに固有の情報

Androidに固有の情報

This page lists requirements and special considerations for developers who use the Unreal Integration to build applications for Android.

Upgrading to Unreal 4.25 or Later

  • The Android toolchain was changed in Unreal Engine 4.25. If you are migrating from an earlier version of Unreal to 4.25 or later, you must change the Android SDK folder hierarchy within the ThirdParty folder. Move the following folders into an Android folder and rename them as indicated:
    • Move and rename Android_armeabi-v7a to Android/armeabi-v7a
    • Move and rename Android_arm64-v8a to Android/arm64-v8a
    • Move and rename Android_x86 to Android/x86
    • Move and rename Android_x86_64 to Android/x86_64


Wwise Unreal Integration Documentation: iOS-Specific Information

iOS-Specific Information

This page lists requirements and special considerations for developers who use the Unreal Integration to build applications for iOS.

Building Remotely from Windows

You can build projects for iOS from a Windows system with Remote Build Options. However, some additional configuration is necessary because not all files are copied to the remote macOS system by default.

To ensure that this type of build functions correctly, you must create an RsyncProject.txt file that forces Unreal to copy the files under the /Build/Rsync/ path. The file must contain the following lines:

+ /Plugins/Wwise/ThirdParty/include/**
+ /Plugins/Wwise/ThirdParty/iOS/**

Using Unreal Audio

If you are using built-in Unreal audio in addition to Wwise on iOS, you might encounter an error that causes your game to crash or prevents it from loading. If that happens, you must either disable Unreal audio or use Using the AkAudioMixer Module.

To disable Unreal audio, you must update the IOSEngine.ini file.

In <UE_ROOT>/Engine/Config/iOS/IOSEngine.ini, locate the following line:

AudioDeviceModuleName=IOSAudio

Replace it with the following:

AudioDeviceModuleName=


Wwise Unreal Integration Documentation: Wwiseにおけるオープンソースコンポーネント

Wwiseにおけるオープンソースコンポーネント

以下のオープンソースコンポーネントがUnreal Wwiseインテグレーションの一部として含まれています。

Wwiseに含まれるその他のオープンソースコンポーネントについてはこちらをご確認ください: Wwiseにおけるオープンソースコンポーネント

GTE Mathematics

Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.


Wwise Unreal Integration Documentation: ReleaseNotes ディレクトリリファレンス

  • Input_ja
  • ReleaseNotes
ReleaseNotes ディレクトリリファレンス


Wwise Unreal Integration Documentation: Android ディレクトリリファレンス

  • Input_ja
  • Android
Android ディレクトリリファレンス


Wwise Unreal Integration Documentation: iOS ディレクトリリファレンス

  • Input_ja
  • iOS
iOS ディレクトリリファレンス


Wwise Unreal Integration Documentation: Input_ja ディレクトリリファレンス

  • Input_ja
Input_ja ディレクトリリファレンス

ディレクトリ

ディレクトリ | Android
ディレクトリ | iOS
ディレクトリ | ReleaseNotes


Wwise Unreal Integration Documentation: 諸情報

諸情報
諸情報の一覧です。