Wwise SDK 2024.1.1
|
一部の 2019.2 の新機能 の影響で、Wwise 2019.2 に移行する際にいくつかの点を注意してください。
Visual studio 2013のサポートを削除したので、サウンドエンジンのWindowsランタイムDLLのコンパイル前のバージョンを入手するには、Visual Studio 2017のWindows SDKがあるWwiseを、インストールする必要があります。
Authoringを、Visual Studio 2015でなく、Visual Studio 2019でビルドしました。Visual C++ Redistributableは、Visual Studio 2015、2017、2019のどの版も同じなので、プラグイン開発者はコンパイル作業にどのツールセットを使っても問題ありません。 なお、ここでVisual Studio 2019ツールセットをvc160と呼ぶのは、Visual Studioのバージョン番号(16)に基づいています。ただし、ツールセットの正式なバージョン番号はvc142であり、Visual Studio 2015ツールセット(vc140)や2017(vc141)との互換性を示しています。 同じ論理に基づいて、ここでvc150と呼ぶのは、vc141を指しています。
正しくコンパイルするには、Wwise SDKのヘッダに有効なC++11が必要となりました。対応コンパイラの一覧が プラットフォーム要件 にあります。
Wwise Authoringアプリケーションから出されるテキストファイルのエンコーディングフォーマットが、UTF-8になりました。今まで、ANSIとUnicodeのどちらかをエンコーディングフォーマットとして 選択できたのが、廃止されました。SoundBank生成の前後に提供されていた組込みマクロContentFileFormatは非推奨となり、次のバージョンで削除されます。2019.2では、常に値が "Unicode" となります。SoundFrameに渡されるSoundBank生成の設定も、 AK::SoundFrame::SoundBankGenerationSettings::eContentTxtFileFormat を無視するようになり、 AK::SoundFrame::SoundBankContentTxtFileFormat_UNICODE がデフォルトとなります。
サウンドバンク用PluginInfo.jsonメタデータファイルのフォーマットが変わりました。実は "Plugins" が複数のマップのアレイとなり、重複するキーを持つ複数のマップの入ったマップではなくなりました。今までのフォーマットでは、JSONリーダによってデータを正しくパースできないことがありました。
メモリプールの代わりに、新Memory Category に記載された変更点を反映して、関係するいくつかのインターフェースも変更されました。
AK::MemoryMgr インターフェース (AkMemoryMgr.h) では:
デバグのファンクションである、 AK::MemoryMgr::CheckForOverwrite 、AK::MemoryMgr::DumpToFile を、削除しました。
AK::MemoryMgr (AkModule.h) のデフォルト実装では:
その他のインターフェースでは、プールを削除したことにより:
もし AK::IAkStdStream のカスタム実装を利用している場合は、インターフェースで指定された新ファンクションである AK::IAkStdStream::WaitForPendingOperation()
を実装する必要があります。これで、実行をブロックし、ペンディングのI/Oがあれば、それが完了してから初めてreturnすることができ、ストリームの新ステータスをreturnする必要があります。
Wwise 2019.2には、Spatial Audio関連の面白い変更点がいくつかあり、例えばSpatial Audio機能のインテグレーションと使い方がシンプルになり、パフォーマンスや拡張性が劇的に改善されました。残念ながら、この変更によって既存プロジェクトが悪影響を受けることがあり、2019.1の一部の機能が、そのまま2019.2につながらないこともあり、そのため 手作業の移行 が発生してしまいます。このガイドは、変換を希望するユーザー向けの情報を提供し、今回の変更に至った背景と理由を説明し、エクスペリエンス全体がどのように改善されるかを説明するものです。
Wwiseの中核には、サウンドデザイナーの力を拡大し、プログラマーへの依存度を減らしていこうという考えがあるので、Spatial Audioの設定もゲームエンジンからでなく、Wwiseのオーサリングツールから直接、設定できるようにすることは、自然の流れでした。* 以下のプロパティが、Wwiseのサウンドオブジェクトとバスオブジェクトの両方に追加されました:*
プロジェクトの中で直接、設定を指定できるようになったため、Spatial Audioランタイムに、Spatial Audioプロパティを定義するオブジェクトの上でサウンドが再生されているのが分かるようになり、処理が必要だということが分かります。そこで、今までのように ゲームオブジェクトを “Spatial Audio Emitter” として登録できなくなった ので、 AkEmitterSettings も排除されました。Spatial Audioをもっと分かりやすく、使いやすくするために、オーサリングツールでは、 AkEmitterSettings にあった設定数よりも 設定数を減らしました 。AkEmitterSettings の各フィールドを移行する方法と、新しい値をWwiseプロジェクトでどう設定するのかを、以下に説明します。
Wwise 2019.1以前はSpatial Audioに、サウンドエンジンと結果的には重複しているAPIがいくつかありましたが、それらはSpatial Audioのエミッタとして登録されていたゲームオブジェクトに対して適用されていました。これは、分かりにくいだけでなく、ユーザーが正しいAPIをコールできているのかを確認する方法もありませんでした。2019.2からはエミッタを登録する必要がなくなったので、 以下のAPIが削除されました。
ほとんどの場合、 Wwise Authoring Toolでroom busに適用したAttenuation(減衰)をすべて、ユーザーが削除するべきです。 ルームオブジェクトに減衰を適用することが不要となったためで、その理由は、Wwise 2019.2のSpatial Audioが、エミッタとリスナーの間の通り道(path)全体の距離を、音の減衰に適用するからです。
Wwise 2019.2の前は、ポータルに関してよくユーザーが経験した問題があり、それはポータルを通して伝達されるリバーブが、異なる減衰の2つの音であるのに、その相対的な関係が維持されなかったことでした。例えば短い減衰のフットステップと、長い減衰の銃声が、同じポータルを通して再生されていたとします。2つの音がポータルの位置で一緒にミキシングされ、その同じ位置で再度スペーシャリゼーションの処理が施されました。これらの音の減衰は、エミッタとポータルの距離に従い分析されますが、これは、エミッタとリスナー間の距離全体の、ほんの一部の間であり、Spatial Audioはポータルの減衰に基づいて、このリバーブをさらに減衰させたのです。その結果、リスナーがポータルから離れると、2つの音の相対的なボリュームは変わることなく、フットステップは、当初の減衰カーブで設定されていたように銃声音よりも早くディケイすることはありませんでした。なお、この問題はウェットパスの場合のみで、ダイレクトパスの場合は想定通りに実現されました。
Wwise 2019.2のSpatial Audioでは、ポータルが音を拾う場所をリスナーと同じ位置にすることで、この問題を解決できました。こうすれば、音源とリスナーの間の通り道(path)の全体の距離を、音の減衰カーブに適用してから、そのサウンドをRoomの3Dバスにミキシングします。ポータル(つまりRoomバス)に減衰を適用することはもう必要ありませんが、場合によっては望まれます。ミックス後の減衰は、リバーブのボリュームをさらに下げたり、ポータルを通るリバーブに追加のフィルターを適用したりする効果があります。
WwiseCLIが非推奨となり、今後はWwiseConsoleとなります。WwiseCLIは引き続き提供され、今まで通りに機能します。今までWwiseCLIでやっていたことは、すべてWwiseConsoleでも可能で、シンタックスを変更するだけです。WwiseConsoleに移行することが推奨されるのは、これからの新機能がWwiseConsoleだけに追加されるからです。
WwiseConsoleの情報が、中に入っています。パラメータなしで稼働させると、サポートされる操作のリスト表示されます。次に、具体的な操作のHelpを表示できます。WwiseConsoleのドキュメンテーションはSDKドキュメンテーションにもあり、オンラインやオフラインで見ることができます。
例えば、SoundBankの生成に関するHelpを表示するには:
WwiseConsole generate-soundbank --help
標準シンタックスは:
WwiseConsole operation project --option1 valueOfOption1 --option2 valueOfOption2
以下に、WwiseCLIシンタックスと、新しいWwiseConsoleシンタックスを比較した例をいくつか示します。
WindowsとLinuxのプラットフォームのSoundBankだけを生成します。
WwiseCLI C:\MyProject\MyProject.wproj -GenerateSoundBanks -Platform Windows -Platform Linux
WwiseConsole generate-soundbank C:\MyProject\MyProject.wproj --platform Windows Linux
WAAPIサーバをverboseログで実行します。
WwiseCLI C:\MyProject\MyProject.wproj -Waapi -Verbose
WwiseConsole waapi-server C:\MyProject\MyProject.wproj --verbose
WindowsプラットフォームとLinuxプラットフォームに対応する新しいプロジェクトを作成します。
WwiseCLI C:\MyNewProject\MyNewProject -CreateNewProject -Platform Windows -Platform Linux
WwiseConsole create-new-project C:\MyNewProject\MyNewProject.wproj --platform Windows Linux