menu
バージョン
2021.1.14.8108
2024.1.4.8780
2023.1.12.8706
2022.1.18.8567
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
2024.1.4.8780
2023.1.12.8706
2022.1.18.8567
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
ゲームに存在する全ての条件や結末を再現することは困難で時間がかかり、コストもかかるので、思いつかなかった状況や作成が間に合わなかった状況に対処するための何らかのフォールバック機能が求められます。Wwiseでは、フォールバック用のパスを作成して対処します。フォールバック用パスには、Stateの代わりに1つ以上のState Groupが含まれ、一般的に、使い回せるダイアログ(台詞)が設定されています。例えば、RTSゲームで、プレイヤーの軍隊の最終目的地など、あるオペレーションの結末が不明確な状況を考えます。この状況をカバーするために、Stateの代わりに、1つ以上のState Groupを使ったパスを作成します。このパスに、オペレーションの結論が未定のサウンドオブジェクトをアサインします。軍隊が最終目的地に向かう事例では、例えば「君の軍隊は前進中だ」といったサウンドオブジェクトを設定します。
ゲームのダイアログを作成する前に、スクリプトライターがWwiseのフォールバックのアルゴリズムを理解することが重要です。例えば、以下のState GroupとStateから成るダイアログイベントを考えます。
![]() |
ゲームがこのダイアログイベントが呼び出すとアルゴリズムは、ゲームの現在の条件(例えば、A1、B1、C1)とマッチするダイアログイベントのパスを1つみつけて再生するサウンドを決めようとします。現在の条件に合うパスが複数ある場合は、Wwiseのダイアログイベントのモードによって、パスとそれに該当するサウンドがどう選ばれるかが最終的に決まります。ダイアログイベントがBest Matchモードの場合は、ゲームの現状とダイアログイベント内で作成されたパスを比較して、正確にマッチするパスを探します。もし正確にマッチするパスがない場合、またはマッチするパスにダイアログが設定されていない場合は、フォールバック用パスがあれば、アルゴリズムがその中から最も近いものを探します。
ダイアログイベントがWeightedモードの場合は、Wwiseがフォールバックパスも含めマッチするものを全て探し出します。次に、マッチした全てのパスのWeight(ウェイト付け)を確認してから、どのパスを選択するのか、どのダイアログ(台詞)を再生するのかを決めます。
Best Match(最も近い)決定のアルゴリズムが、全ての候補を確認して再生するオブジェクトを決定する様子を、下図に示します。
![]() |
上図の通り、フォールバックがあるかどうかをアルゴリズムが右から左へと探します。今回の事例では、Cから始め、次にB、そして最後にAを確認します。左端のフォールバックは、他の可能な組み合わせが全てマッチしなかった場合にのみ検討の対象となります。
info | 注釈 |
---|---|
ダイアログイベント用に汎用パスを作成することもできます。この汎用パスはあらゆる状況に対応できるもので、ゲームがどのStateをトリガーしても確実にダイアログが再生されることを確保します。 |
フォールバック用のパスを作成するには:
Dialogue Event Editorに、ダイアログイベントを1つロードする。
ダイアログイベントの全てのState Groupに関して、それぞれStateやState Groupをクリックする。
Add Pathボタンが有効になる。
info | 注釈 |
---|---|
フォールバックパスを作成するには、パスで最低1つのState Groupを選択する必要があります。 |
Add Pathをクリックして、パスを1つ作成する。
パスが、パスリストに追加される。
info | 注釈 |
---|---|
State Groupを使ってフォールバック用のパスを作成した場合、そのState Groupはパス名中に「*(アステリスク)」で示されます。 |
引き続き新しいパスを追加するには、別のState GroupやStateを選択して組み合わせる。
info | 注釈 |
---|---|
パスを削除するには、一連のStateまたはパス自体を選択してRemove Pathをクリックします。 |