目次

Wwise SDK 2019.2.9
新機能概要 2019.2

Profilerのフィルタリング

Captureセッションの内容を見ると、その時にキャプチャされた多数のデータが表示されていることがよくあり、その場合は調査したいと思う具体的な情報を見つけるのが容易ではありません。フィルタリングツールバーを使えば、検索を絞り込み、知りたいと思うサウンド、問題、プロジェクトエリアなどにフォーカスできます。フィルタリング条件は、全プロファイリングビュー共通でグローバルに適用したり、特定のビューだけでローカルに適用したりでき、いつでもリセットしたり同期したりできます。また、MuteやSoloのフィルターを使えば、プロファイリング中に "聞こえてくるものだけを表示させる" ことができるので聴力を活かせるほか、フィルター式で結果をさらに絞り込むこともできます。様々なフィルタリング方式を組み合わせて利用すれば、今まで以上に、キャプチャされたデータを整理したり探し求めたりすることができます。

フィルタリングツールバーは以下のビューに表示されます:

  • Voice Monitor
  • Voice Explorer
  • Voices Graph
  • Voices
  • Game Sync Monitor
  • Game Object 3D Viewer

Profilerのフィルターツールバー

ツールバーのフィルター機能で、ビューに表示される情報量を絞り込み、必要な要素に焦点を当てられます。

  1. Unlink Filter: ほかのプロファイリングビューと、フィルターを同期または非同期にできます。
  2. Text Filter: テキストを指定してコンテンツをフィルターできます。指定した単語と、コンテンツに出てくる名前や文字列の冒頭を照合します。単語を1つ追加するたびに、検索結果が絞り込まれます。照合の際に大文字・小文字は区別されません。
  3. Object Filter: Wwiseオブジェクトを指定してコンテンツをフィルターできます。指定したプロジェクトのWwiseオブジェクトとビューにあるコンテンツを照合します。また、オブジェクト同士の関係、例えば親子関係やアウトプットバスとの関係なども、コンテンツの照合に使われます。
  4. Browse Object Filter: フィルターするオブジェクトを選択できるように、Project Explorerブラウザが表示されます。
  5. Mute/Solo Filtering: これを有効にするとMuteに設定したオブジェクトが結果から外され、Soloに設定したオブジェクトだけが表示されます。
  6. Reset Filter: テキストフィルタやオブジェクトフィルタなど、すべてのフィルタ設定がリセットされます。
  7. Options: その他のアクションを表示します。

Filter Expression

Filter expressions(フィルタ式)は、フィルタ条件としてテキスト、ゲームオブジェクト、バス、イベントを含めたり除外したり、これらにワイルドカードを組み合わせたりする機能を提供します。複雑なフィルタ条件を設定して、表示範囲をさらに絞り込むことが可能になるので、各種プロファイリングビューに表示させたい内容を洗練させたり、探したりすることができます。キャプチャされたデータにフィルタ式を用いて整理することで、フィルタの対象が、グローバルで全プロファイリングビューであれ、ローカルで特定ビューであれ、プロジェクトの特定の範囲に注目して情報を確認できるような柔軟性が生まれます。

フィルタのテキストを使い、以下のオブジェクトの名前をデフォルトで検索します。

  • Bus
  • Sound
  • Event
  • Play Target
  • Effect
  • Game Syncs
  • Game Object

Filter Expressionsの詳細については、 Using Profiler Filter Expressions を参照してください。

Game Sync Monitor

Game Sync Monitor がアップデートされ、再生中のボイスのGame Synch値を時間軸で、ゲームオブジェクト別に表示できるようになりました。Game Sync Watchesリストに明示的にRTPCを追加する必要性がなくなり、再生中のゲームオブジェクトに設定されたすべてのRTPC値が表示されるようになりました。Profiler Filteringの中核には "すべてを表示させ、結果を絞り込む" という考え方があり、プロジェクトを素早く正確に理解するために、簡単にデータキャプチャを操作できるようになっています。

Game Object 3D Viewer

Game Object 3D Viewer の様式が一新され、キャプチャデータ全体を有効利用できるようになったのと同時に、ほかのプロファイリングビューで導入されたプロファイルフィルタ機能も、提供されています。さらに、フィルタの対象をゲームオブジェクトの名前にし、ゲームオブジェクトのフィルタをピン付けしてほかのプロファイリングセッションでも維持できるようになったので、簡単に再利用できるワークフローが実現しました。

Profiler View

Voice Monitor

Voice Monitorに、改良されたフィルターバーが入りました。

Voice Explorer

Voice Explorer には、プロファイリングキャプチャセッションで設定したカーソルタイム時点において再生中のボイスが、表示されます。各種ボイスは再生インスタンス別に整理されますが、再生インスタンス1つが、ポストされた1つのEventに相当します。例えば、同じEventに対してPostEventを2回コールすると、2つの再生インスタンスがVoice Explorerで生成されます。Voice Explorerの表示オプションを使えば、Game Object、Event名、Eventターゲットを、列に分けて表示できます。

Voices Graph

Voices Graphに、改良されたフィルターバーが入りました。

Spatial Audio

Audiokineticでは、Spatial Audioチームが日々努力を重ね、ダイナミックリフレクションや複雑な回折の動きなどをリアルに再現するためにオーサリング技術を改良してきました。

新しいReflectionエンジン

確率に基づくレイトレーシング(ray-tracing)を基盤にすることで、リフレクションや回折(diffraction)の伝播パスの拡張性が向上したのと同時に、パフォーマンスも最適化されました。ランタイムの観点では、高次のリフレクションや回折によるパフォーマンスへの悪影響が少なくなり、これはパスを決めるこの新アルゴリズムのおかげです。4次リフレクションも可能になりました!

オーサリングでサウンドごとにReflection、Diffractionを設定する

Spatial Audioのプロパティは、サウンド別に設定できるようになったので、作成者が、指定のReflect Aux Busに送るサウンドを選択し、そこに回折を適用するのかを決めることができます。スペーシャルオーディオ機能を適用したり微調整したりする設定は、今までゲームエディタ上でしか使えず、しかもゲームオブジェクト別の設定に制限されていましたが、今回のアップデートで音の階層にあるその他のコンポーネントに影響されることなく利用できるようになりました。

"Early Reflections" をGeneral Settingsタブに追加

"Enable Diffraction" をPositioningタブの "3D Position" 下に追加

音の透過モデル

音は壁を通り抜けます。Roomsやジオメトリ(各三角形)はオクルージョンの要素を公開し、これがエミッターからリスナーまでの直接パスに対するフィルタとなります。さらに、ウェットパスがジオメトリの周りで回折するようになりました。

4次アンビソニックス、5次アンビソニックス

Wwiseは、4次アンビソニックスや5次アンビソニックスのオーディオソースの再生やバスのチャンネルコンフィギュレーションに、ランタイムエンコーディングで、対応するようになりました。

メッシュに対応

Unreal: 今まではジオメトリプリミティブに制限されていましたが、新AkGeometryコンポーネントはサーフェスリフレクタを静的またはコリジョンメッシュに適用し、自動的にフィジカルマテリアルを音響テキスチャにマッピングできるようになりました。

Unity: メッシュに、各レンダリングマテリアルのAcoustic Textureを設定できるようになりました。今までスペーシャルオーディオのジオメトリに使われていたUnityコンポーネント(AkSurfaceReflector)は、ゲームオブジェクトのメッシュを、スペーシャルオーディオのジオメトリとして使っていました。これからは、AkSurfaceReflectorコンポーネントに、任意のメッシュをアサインすることができます。さらに、メッシュのどのマテリアルにも、異なるAcoustic Textureをアサインできます。

RoomのAmbient Soundのインテグレーション

Roomでは、そのルーム内に、向きが不変のアンビエントサウンド(ルームトーン)があるとき、リスナー周りを360°スペーシャリゼーションさせた音を再生するためにAK Eventをポストする機能が加わりました。また、ルーム外にあるときは、ポータルに配置されたポイントソースのエミッターに、滑らかにトランジションします。

Preset

様々なコンテナタイプのプリセットを保存したり呼び出したりするワークフローは、オーサリング作業のワークフローに直接の影響がありますが、これが強化され、Spatial Audioでは特に改善されています。ワークフローが強化されたおかげで、Aux Busの複雑な設定や頻繁に使う設定を保存できるようになり、システムをつくるときのスタートポイントになります。

Wwise 2019.2に移行すると、Wwiseの以前のバージョンでSpatial Audioを使って作成したプロジェクトの場合、ゲームのコードやWwiseプロジェクトにマニュアルの作業が必要になるので、注意してください。詳細は Wwise Spatial Audioの移行ガイド を参照してください。

メモリプールの代わりに、新Memory Category

メモリの管理方法が大幅に変わり、今までのMemory Poolの代わりに、メモリのアロケーションに基づくMemory Categoryが導入されました。

  • サイズが固定され、事前にアロケーションされるメモリプールはなくなりました。メモリはオンデマンドでアロケーションされるようになり、グローバルメモリの上限を設定することもできます。
  • メモリマネージャのデフォルト実装に rpmalloc が使われるようになりました。今までのアロケータよりもパフォーマンスが良く、特にマルチコアレンダリング時に優れています。
  • メモリアロケーションのトラッキング方法がプール別からカテゴリ別に変わり、プロファイリングだけのために行われます。
  • プラットフォーム専用デバイスメモリを、プール別でなくアロケーション別に指定できます。

Memory Managementの詳細については、 Managing Memory を参照してください。

Master-Mixer Hierarchy - Work Unit

Master-Mixer Hierarchy全体でWork Units (.wwu) を作成できるようになり、オーディオチームの生産性が大幅に改善し、特に多数のDLCパックをリリースするゲームで向上しました。

WAAPI 2019.2

WAAPIが強化され、今まで以上にパワフルで使いやすくなりました。

  • WAAPIユーザーが作業しやすいように、ドキュメンテーションの改善、多くのバグフィックス、その他様々な変更が行われました。
  • Command Add-onを使うときのユーザーエクスペリエンスが、以下のとおり改善されました:
    • 新しいCommand Add-onをKeyboard Shortcutダイアログから直接作成できるようになりました。
    • Command Add-onの説明から、既知のディレクトリ場所を参照できるようになり、Command Add-onを簡単に展開できます。

Wwiseコンソール

Wwise Consoleという新システムがこれまでのWwise CLIの代わりに導入され、Wwise CLIはまだ使えますが、非推奨となりました。SoundBank バンク生成を含め Wwise オペレーションの多くは、コマンドラインインターフェースから利用可能です。自動化された処理、例えば毎日のオーディオアセット込みゲームビルドなどに、Wwiseを組み込みたいときに役立つはずです。

Device Enumeration

Device enumeration(デバイスの列挙)は、今までWwiseオーサリングではAudio Preferencesメニューだけで設定できました。新しく、SDKからもオーディオデバイスプラグイン用の提供中のデバイスを列挙することが、できるようになりました(使うのは、 AK::SoundEngine::GetDeviceList )。つまり、SDKを使ってインゲームのAudio Preferencesメニューを実装できるようになったのです。また、オーディオデバイスプラグインが対応するのはデフォルトのデバイスだけなのか、複数のデバイスが利用可能なのかを、ランタイムに知ることもできます。このAPIは、複数デバイス(PC、Mac、Linux、XboxOne、PS4)に対応できるすべてのプラットフォームの組込みオーディオデバイス用に、提供されています。例えばASIOオーディオデバイスプラグインなど、外部のオーディオデバイスプラグインも、デバイス列挙を実装できるようになりました。

メディアIDを1つのファイルにまとめる

Media IDを別のプロジェクトファイルに保存できるようになったので、管理方法を変えることができます。Media IDをWork Unitファイルに保存しなくなったので、バージョン管理のコンフリクトの件数が減ります。Media IDを1つのファイルにまとめることで、プロジェクトのライフサイクルの最後まで、Media IDを管理しやすく、把握しやすくしました。Media Asset IDの詳細については、 Managing Media Asset IDs を参照してください。