バージョン
ゲームの初期デザインが完了したら、Wwiseのゲームシンク(Game Syncs)を使いゲームで起きる変化や変更を整理し、扱い方を検討します。以下の4種類のゲームシンクから、ゲームのビジュアルを強化する最適の手段を選んで下さい。
ステート(States) ― ゲーム内の現行のサウンド、ミュージック、またはモーションのプロパティに、グローバルスケールで影響するゲーム中の変化。
スイッチ(Switches) ― あるゲームエレメントに関して存在する複数の選択肢の提示であり、全く新しいサウンド、ミュージック、またはモーションが要求されることもある。
RTPC ― ゲームパラメータの変数値にマッピングされたプロパティであり、ゲームパラメータ値を変えるとプロパティ自体が変更される。
トリガー(Triggers) ― ゲーム中に発生した事象へのレスポンスのことで、再生中のミュージックの上から重ねてミキシングされる短いミュージックフレーズであるスティンガーを起動させる。
ゲームプロジェクトを進めていく上で、常に品質、メモリ制限、そして開発スケジュールをバランスさせる必要があります。ゲームシンクを戦略的に活用することで、作業を簡素化しメモリ使用量を削減できるため、真に没入感のあるゲームの制作に役立ちます。
ステートとは基本的に「ミキサースナップショット」であり、オーディオやモーションのプロパティに対するグローバルなオフセットや調整を設定して、ゲーム内の物理的条件や環境条件の変化を表現します。ステートの活用でオーディオやモーションのデザイン行程が効率化され、アセットの最適化に役立ちます。
「ミキサースナップショット」であるステートを使うことで、アウトプットされるサウンドを細かくコントロールでき、複数のステートを組み合わせて目的を達成することもできます。また、1つのオブジェクトを複数のステートに登録すると、1つのプロパティが複数の値の変更によって影響されます。この場合、値の変化の合計が適用されます。例えば、別々のステートグループに所属する2つのステートのボリュームチェンジがそれぞれ「-6 db」であり、両者が同時に有効となった場合、最終的なボリュームは「-12 db」になります。
このようにして「ミキサースナップショット」を作成し定義すると、オブジェクト(サウンド、ミュージック、またはモーション)の新たなプロパティセットを設定しても、メモリやディスクの使用量は増加しません。ここで定義したプロパティセットが、あるステート(単一または複数)の時のサウンド再生のルールとなります。また、多数のオブジェクトにグローバルレベルでプロパティチェンジを適用することでリアルなサウンドスケープを簡単に作れ、オーディオとゲーム全体の表現力が強化されます。既に再生中のサウンド、ミュージック、モーションのプロパティを変更することで、アセットを再利用でき貴重なメモリを節約できます。
Example 3. ステートの活用例
例えば、キャラクターが水中に潜る時のサウンド処理を考えてみましょう。この場合、ステートを利用して再生中のサウンドのボリュームやLPF(ローパスフィルター)を変更できます。キャラクターが水中にいる時に聞こえる銃声音や手榴弾の爆発音を表現するサウンドのシフトを、プロパティ変更によって作り出します。
下図は、ゲーム側が Underwater(水中)ステートを呼び出した時に、Gunfire(銃声音)と Grenade(手榴弾)の2つのサウンドオブジェクトのボリュームとLPFのプロパティが変更される様子を示しています。
Wwiseのスイッチは、ゲーム内のゲームオブジェクトについて、様々な選択肢を提示するものです。スイッチにオブジェクト(サウンド、ミュージック、モーション)を整理して割り当てることによって、ゲーム中の状況がある選択肢から別の選択肢へ移った場合に、適切なサウンドまたはモーションオブジェクトが再生されます。スイッチに割り当てられるWwiseのオブジェクトは、まとめてスイッチコンテナに入れます。イベントが変化を通知すると、スイッチコンテナがスイッチを検証し、正しいサウンド、ミュージック、またはモーションオブジェクトを再生させます。
Example 4. スイッチの活用例
例えば、ファーストパーソン・シューティングゲームで、メインキャラクターが次々と変わる環境を歩いたり走ったりする状況を考えてみましょう。環境に応じて地面も変化し、コンクリート、芝生、土などの地面素材によって足音も変えていきます。この場合、それぞれの地面素材に対してスイッチを作成し、適切な足音サウンドを各スイッチに割り当てます。メインキャラクターがコンクリート面を歩くとconcrete(コンクリート)スイッチが有効になり、該当するサウンドが再生されます。続いてコンクリート面から芝生面に移動した場合は、grass(芝生)スイッチが有効になり、該当するサウンドが再生されます。
下図は、有効になったスイッチによって、再生する足音サウンドが決まる様子を示しています。
RTPC (リアルタイム・パラメータコントロール、Real-time Parameter Control)を使うことによって、ゲーム内でリアルタイムに起きる様々なパラメータ値の変化に合わせて、オブジェクトのプロパティをリアルタイムで編集できます。RTPCでゲームパラメータをプロパティ値にマッピングし、プロパティ変更を「自動化」することにより、ゲームがさらにリアルになります。パラメータ値はグラフ化され、Y軸にWwise内のスイッチグループまたはプロパティ値が、X軸にゲーム内のパラメータ値が表示されます。プロパティ値をゲームパラメータ値にマッピングすることで、両者の全体的な関係を定義するRTPCカーブが作成されます。リッチで没入感あふれるゲーム体験を提供するために、必要なだけの数のカーブが作れます。
Example 5. RTPCの活用例
例えば、レーシングゲームの制作を考えてみましょう。エンジンサウンドのボリュームやピッチは、車のスピードやRPMに合わせて変動させる必要があります。この場合RTPCを使い、車のエンジンサウンドのピッチとボリュームのレベルを、ゲーム内のスピードやRPMにマッピングします。車が加速すると、マッピングに従ってピッチやボリュームのプロパティ値が反応します。
下図は、Wwiseのマッピングに基づき、ゲーム内のレーシングカーのスピードに合わせてボリュームが変化する様子を示しています。
他のゲームシンクと同じく、トリガーもゲームに呼び出され、ゲーム内の状況に応じてWwiseのレスポンスを決定するWwiseの要素です。具体的には、インタラクティブミュージックにおいて、ゲームで発生した事象にトリガーが反応して、スティンガー(stinger)を起動させます。スティンガーは再生中の音楽に重ねてミキシングされる短いミュージックフレーズのことで、ゲームに対する音楽的な反応となります。例えば、忍者が武器を取り出した時、シーンのインパクトを更に強めるために、既に再生中のアクションミュージックに重ねてスフォルツァンド風の音楽エフェクトを挿入できます。この場合、ゲームがトリガーを呼び出し、そのトリガーでスティンガーが起動し、流れているスコアに重ねてスティンガーのミュージッククリップが再生されます。
Example 6. トリガーの活用例
例えば、忍者ファイターがメインキャラクターの格闘ゲームを考えてみましょう。ゲーム中のいくつかのポイントで、キャラクターが敵と戦うアクションモードに入ります。ファイターが強力なキックを決めた時は、そのシーンの聴覚的な効果を強めるミュージッククリップを流すとします。このような場面の音楽を構築するには、ゲーム中の特定ポイントで呼び出されるトリガーが必要で、今回の例では、 High Kick(ハイキック)というトリガーを設定します。同時に、興奮を高める瞬間的なブラス音楽を鳴らす、短いミュージックセグメントを定義します。
下図は、ゲームの重要ポイントでスティンガーを再生させるトリガーのメカニズムを示しています。