目次

Wwise SDK 2018.1.11
統合の詳細 - ダイナミックダイアログ

イントロダクション

ダイアログイベントは、Wwise ユーザーにより作成されます。ランタイム時に、Wwise ユーザが選択した引数に対応する指定された引数パスを使用して、ダイアログイベントがオーディオノードIDに解決(resolve)されます。

続いて、このオーディオノードIDは、再生用ダイナミックシーケンスのプレイリストに配置されます。ダイナミックシーケンスとは、基本的にランタイム時に作成されるサンプル精度のシーケンスコンテナのことです。

ダイアログイベントの統合

指定された引数パスを使用して、ダイアログイベントをオーディオノードIDに 解決 することができます。パスの引数値の順序は、Wwiseオーサリングアプリケーションで設定された引数の順序と一致ししている必要があります。

引数パスは、引数値のIDまたは名前のどちらかを使用して指定可能です。フォールバック引数値を示すには、AK_FALLBACK_ARGUMENTVALUE_ID または空の名前 (L"") を使用します。

ダイナミックシーケンスの使用

ダイナミックシーケンスで以下が可能です:

  • サンプル精度の動作で再生するよう、いくつかのオーディオノードを、アイテム間に任意の遅延を加えながらエンキューすることができる。
  • 再生中にプレイリストの修正可能。
  • ポーズ レジューム および ストップ 再生。
  • (通常のイベント関連の全てのコールバックに加えて)コールバックを介して、各プレイリスト終了時に通知を受信可能。

ダイナミックシーケンス(Dynamic Sequence)を オープン すると、更なるインターアクションに使用される AkPlayingID を取得できます。クローズ は、与えられた AkPlayingID を用いた最終的なコールである必要があります。再生中のダイナミックシーケンスのクローズにより、再生は停止しません:最後まで再生してから、deallocate(割当解除)します。プレイ は、再生を開始します:再生中に、ダイナミックシーケンスがプレイリストからアイテムを取得します。プレイリストは、徐々に空になり、アイテムが無くなると再生が停止します。

プレイリストを修正するには、これを ロック しなければなりません。修正が終わったら、これに対応する アンロック コールを実行する必要があります。ロックを保ったままにしておくと、サウンドエンジンスレッドのプレイリストへのアクセスがブロックされます。したがって、ロックを保つ期間をできるだけ短くすることが重要です。

Note: プレイリストコンテンツの修正は、同期呼び出しですが、Pause、Stop、Resume および Break は、非同期的に実行されます。

プレイリスト クラスは、AkArray から導出されるため、プレイリストの修正には、標準的な配列アクセス方法が使用できます。単純なエンキュー メソッドが便宜のために用意されています。プレイリストアイテムは、オーディオノードID、ミリ秒単位の遅延時間、ユーザーデータフィールドで構成されています。