バージョン
menu

Wwise SDK 2025.1.0
統合の詳細 - Dynamic Dialogue(ダイナミックダイアログ)

イントロダクション

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

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

Dialogue Eventの統合

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

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

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

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

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

ダイナミックシーケンス(Dynamic Sequence)を オープン すると、更なるインターアクションに使用される AkPlayingID を取得できます。クローズ は、与えられた AkPlayingID を用いた最終的なコールである必要があります。再生中のダイナミックシーケンスのクローズにより、再生は停止しません:最後まで再生してから、deallocate(割当解除)します。Play starts playback. During playback, the dynamic sequence takes items either from a playlist or a user callback.

Playlist-based sequences

Playlist-based sequences determine the next item to play from a AK::SoundEngine::DynamicSequence::Playlist object. プレイリストは、徐々に空になり、アイテムが無くなると再生が停止します。

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

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

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

Callback-based sequences

Callback-based sequences determine the next item to play from an event callback. A sequence opened with the AK_DynamicSequenceSelect callback flag is a callback-based dynamic sequence. Callback-based sequences have no associated Playlist object.

When a new item must be selected, the user event callback is invoked with type AK_DynamicSequenceSelect. The callback info pointer can be cast to AkDynamicSequenceSelectCallbackInfo and then filled out with the playback information for the next item to play. The callback blocks the sound engine thread. It is therefore necessary to return from the callback as soon as possible.

If the user callback fails to provide a valid audio node ID, the sequence is stopped. Use AK::SoundEngine::DynamicSequence::Play to start it when you are ready to provide a new playback item.


このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう