menu
 

Wwise 2024.1 for Godotの新機能

Wwiseの使い方やツール

Wwise 2024.1 for Godotの最新版がリリースされ、統合プロセスを最適化するための大幅な改善と新機能が追加されました。使いやすさを向上するために設計された今回のアップデートでは、既存のUnityやUnrealインテグレーションと似たワークフローが導入され、これらのプラットフォームに慣れているデベロッパにとって簡単にはじめられるようになりました。具体的な変更点としてWwiseProjectDatabaseが新たなデータソースとして取り込まれたほか、 Auto-Defined SoundBanksへの対応、 Wwise Types、対応全プラットフォームにおけるPluginサポートの改善などがあります。アップデートの内容を以下に詳しく説明し、すぐに使いはじめるための方法を紹介します。

 

主なアップデート内容

WwiseProjectDatabaseをデータソースとして使用

本インテグレーションの以前のバージョンではWAAPIでGodotと互換性のあるWwise IDを生成し、WwiseオブジェクトをWwise PickerWAAPI Browserに表示していました。しかしこのアプローチにはいくつかの限界がありました:

  • IDを生成するために、Godot Editorと同時にWwise Authoringプロジェクトを開く必要がありました。
  • 複数のプロジェクトが同時に開かれている場合、オーサリングアプリケーションに接続する際にコンフリクトが発生することがありました。
  • Wwiseプロジェクトの階層の全体像を把握できませんでした。オブジェクトは平面的なリストとして表示され、背景状況が不明でした(PickerにフォルダやWork Unitが表示されないなど)。
  • SoundBankが更新されるたびに、Godot Editorにおいて手動でIDを再生成する必要がありました。

改善点

WwiseProjectDatabase」がユーザ指定のSoundBankディレクトリを監視するようになり、Wwiseプロジェクトのすべての関連データが追跡され自動更新されます:

  • WwiseProjectDataというアセットが生成されるようになり、Wwiseプロジェクトのデータや、 Acoustic TextureAUXバスSoundBankイベントゲームパラメータステート スイッチトリガーなどの主要Wwiseオブジェクトのデータにアクセスしやすくなりました。これらのアセットを通してWwiseオブジェクト階層のデータを取得することができ、 ProjectDatabaseが自動的にデータを入力してくれるため、Wwiseプロジェクトの変更に基づきアセット側が確実に更新されます。
  • エディタを構成するWwise Pickerや新Wwise Browserなどは、静的なWwise IDではなく、この整理されたデータを使用するため、余計な手作業なしでWwiseプロジェクトの最新スナップショットを得ることができます。この変更により、これまで以上に正確にWwiseプロジェクトが表示されます。

Wwise BrowserとWwise Picker共に、ProjectDatabaseのデータで更新されます。

WwiseBrowser

WwisePicker

Wwise Typesに対応

Unity IntegrationのWwise Typesと同様、GodotのWwise TypesもWwise内のコアオブジェクトを示すさまざまなクラスの集合体であり、例えばサウンドバンク、イベント、ゲームパラメータ、ステート、スイッチなどです。Wwise TypesがGodotスクリプトにエクスポートされ(つまりシリアライズされてInspectorで編集可能な状態となり)、Godot Inspectorにボタンが表示され、ユーザは専用のWwise Pickerで必要なオブジェクトを選択することができます:

Wwise TypesはWwiseオブジェクトを表すと共に、このオブジェクトをデベロッパが直接操作できるような機能を提供します。これによりWwiseシングルトンで公開される関数だけに頼る必要がなくなりました。 

例えば:

  • WwiseEventクラスには、オブジェクトから直接イベントをpostするメソッドがあります。
  • WwiseRTPCクラスは、RTPC値を設定するset_valueメソッドを提供します。

これらはWwise TypesがもたらすWwiseオブジェクトの直感的な操作方法の代表例です。

Auto-Defined SoundBanksに対応

本インテグレーションはAuto-Defined SoundBanksにデフォルトで対応するようになりました。User-Defined SoundBankに含まれないイベントを参照するWwiseEventオブジェクトがエンジンでインスタンス化された場合、インテグレーションはそのSoundBankをロードし、AK::SoundEngine::PrepareEventAPIを使用してイベントを自動的に準備します。このWwiseEventが破壊されて参照されなくなると、本インテグレーションがイベントの準備を解除し、SoundBankをアンロードします。イベントがUser-Defined SoundBankに所属するかどうかは、ProjectDatabaseが判断します。

今回の変更により、Wwise PickerでAkBankノードやWwiseBankタイプの選択肢となるのはUser-Defined SoundBanksだけとなりました。

全プラットフォームにおいてプラグイン対応が改善

以前よりこのインテグレーションはプラグインに対応していましたが、プラグインを有効にする手順が複雑でした。ユーザがインテグレーションを再コンパイルし、使用するプラグイン(AK Convolution Reverbなど)を明確に指定する必要がありました。サポートされているプラットフォームすべてにおいて、この手順が簡単になりました:

  • プロジェクトで使用されているプラグインをProjectDatabaseが特定します。
  • エクスポート段階においてインテグレーションが自動的にエクスポートディレクトリに必要なプラグインをコピーし、Wwiseサウンドエンジンがそれらを自動的にロードできるようにします。
  • エディタでゲームをプレビュー表示する際に、サウンドエンジンが必要とする共通ライブラリへのパスを、AkInitSettings::szPluginDLLPathを使用して指定します。
  • iOSなどのプラットフォームでは、エクスポート中に静的ライブラリや必要な初期化コードがXcodeプロジェクトに追加されます。この時に使われるGodot Export APIは、EditorExportPlugin::add_ios_project_static_lib 
     EditorExportPlugin::add_ios_cpp_codeなどです。

さらにユーザが独自のカスタムプラグインを使用する場合、インテグレーションを再コンパイルする必要がありません。プロジェクトでカスタムプラグインが使用されていることをインテグレーションが検知します。ただしサウンドエンジンプラグインを、インテグレーション内の該当プラットフォームのDSPフォルダに手作業でコピーする必要があります。手順についてはWiki(英文)をご参照ください。

アセットとしてのWwiseオブジェクト

Wwise PickerでWwiseオブジェクトを選択した時に、対応するGodot Asset(Resource)が res://Wwise/resourcesに作成されます。このResourceに以下のような情報が保存されます:

  • Wwiseオブジェクトの名前、ID、GUID。
  • 追加のメタデータ、例えばイベントがUser-Defined SoundBankに含まれているのかなど。

インテグレーションNodeのAkEvent3DAkBank AkSwitchAkStateなどや、エクスポートされたWwise Typesがこれらを使用し参照します。
Resourceはユーザが能動的に使用する時(例えばWwise Pickerで選択する時)にはじめて作成され、Wwiseプロジェクトのすべてのオブジェクトに対して作成されるわけではないことに注意することが大切です。

エンジン内のドキュメント

WwiseWAAPIシングルトン内の関数やさまざまなWwise Typesについて、短い説明文やコードスニペットをエディタより直接アクセスできるようになりました。CTRLを押下しながら関数をクリックすることにより、ドキュメントページに飛ぶことができます:

 

WwiseとGodotを使いはじめる

以下の簡単な手順で、Wwise Godotインテグレーションをセットアップすることができます:

最新バージョンのダウンロード

  • Wwise Godotインテグレーションの最新バージョンをポジトリReleasesページより取得してください。
  • Wwise 2024.1.1およびGodot 4.3がインストールされていることを確認してください。

インストールと設定

Wikiの活用

  • インテグレーションを最大限に使いこなすための包括的なチュートリアルや便利な事例が、Wiki(英文)に掲載されています。

Discordコミュニティに参加し、あなたの経験や質問を投稿することができます。

アレッサンドロ・ファマ

フィールド・アプリケーション・エンジニア

Audiokinetic

アレッサンドロ・ファマ

フィールド・アプリケーション・エンジニア

Audiokinetic

オランダのユトレヒト在住。フィールド・アプリケーション・エンジニアとして2024年にAudiokineticに入社しました。ゲーム開発やマーケティングの経験があり、オーディオプログラマーとしてインディーズタイトルに携わりました。オープンソースを熱心に支援し、Godot Engineにも貢献しています。プライベートではDJを楽しみ、自宅でシチリアのストリートフードを再現することも。

コメント

Replyを残す

メールアドレスが公開されることはありません。

ほかの記事

ジオメトリ情報を活用するダイナミックなアーリーリフレクションを、UnrealとWwise Reflectでシミュレーションする

Wwise 2017.1から導入されたスペーシャルオーディオの新機能に含まれる Wwise...

18.10.2017 - 作者 タリー・ケクリキャン(THALIE KEKLIKIAN)

MIDIベースの複雑なサンプルインストゥルメントを、Wwiseで作成するには

MIDIミュージックの時代に戻りたいとお考えの方は、PS4の内蔵シンセサイザーは利用できない(存在しないので)、自分のPCサウンドカードのGeneral...

20.2.2018 - 作者 ダニエル・ベック(DANIEL BECK)

Wwise 2022.1 最新情報

Wwise 2022.1がリリースされ、Audiokinetic Launcherからインストールできるようになりました。本ブログでは最新機能の概要をご紹介いたします。 ...

16.11.2022 - 作者 Audiokinetic

Max 8におけるWwise Authoring API(WAAPI)活用の導入

はじめに...

11.4.2023 - 作者 ミカエル・アルトゥング

Wwiseのリリースサイクルに関するニュース | Sim-PatchリリースとUnreal Engine Previewに対する開発サポート

28.5.2024 - 作者 ギヨーム・ルノー(GUILLAUME RENAUD)

Wwiseトレーニングからの24のヒントとコツ

18.3.2025 - 作者 マス・マレティ・スナロプ(MADS MARETTY SØNDERUP)

ほかの記事

ジオメトリ情報を活用するダイナミックなアーリーリフレクションを、UnrealとWwise Reflectでシミュレーションする

Wwise 2017.1から導入されたスペーシャルオーディオの新機能に含まれる Wwise...

MIDIベースの複雑なサンプルインストゥルメントを、Wwiseで作成するには

MIDIミュージックの時代に戻りたいとお考えの方は、PS4の内蔵シンセサイザーは利用できない(存在しないので)、自分のPCサウンドカードのGeneral...

Wwise 2022.1 最新情報

Wwise 2022.1がリリースされ、Audiokinetic Launcherからインストールできるようになりました。本ブログでは最新機能の概要をご紹介いたします。 ...