バージョン
menu_open

Managing Game Parameters used in RTPCs

ゲーム中のパラメータを、Wwiseのプロパティにマッピングする前に、まずGame Parameterを作成する必要があります。Game Parameterリストの管理や、最小値や最大値の設定は、Project Explorerの、Game Syncsタブで行います。

インターフェース上で分かりやすいように、Game Parameterは、以下のアイコンで表されます。

アイコン

内容

Game Parameter

Creating Game Parameters

オブジェクトのプロパティ値をGame Parameterで変化させるには、まずGame Parameterを作成する必要があります。Wwiseでは、以下の2つの場所のいずれかで、Game Parameterを作成できます:

  • Project Explorerの、Game Syncsタブ

  • Property Editor、Attenuation Editor、またはEffect Editorの、RTPCタブ

[注意]注意

Game Parameterの名前に、文字、数字、アンダースコアのみを使用し、またGame Parameterの名前は、必ず固有のものとします。

Project Explorerで、新規Game Parameterを作成するには:

  1. Project Explorerで、Game Syncsタブに切り替える。

  2. Game Parametersセクションで、以下のいずれかを行う。

    • ワークユニット(または仮想フォルダ)を選択して、Project Explorerのツールバーの、Game Parameterアイコンをクリックする。

    • ワークユニット(または仮想フォルダ)を右クリックして、ショートカットメニューで、New Child > Game Parameterを選択する。

    Game Parameterのリストに、新規Game Parameterが追加される。

  3. デフォルトのGame Parameter名を、内容が分かる名前に変更する。

    [注釈]注釈

    名前は必ず文字またはアンダースコアで始めます。

  4. 必要に応じて、Game Parameterをさらに追加する。

RTPCタブで新規Game Parameterを作成するには:

  1. Property Editor、Attenuation Editor、またはEffect EditorのRTPCタブで、RTPCリストの項目を1つ選択する。

    選択した項目のプロパティがまだ選択されていない場合は、ボタンを使って1つ選択する。

  2. メニューでGame Parametersを選択してから、Newを選択する。

    The New Game Parameter dialog opens.

  3. 作成する新規ゲームパラメータを入れる、ワークユニットを選択する。

  4. Nameフィールドに表示されるデフォルトのGame Parameter名を、内容が分かる名前に変更する。

  5. OKをクリックすると、新規Game Parameterが作成される。

Defining the range of values for a Game Parameter

Game Parameterを作成したあとは、その最小値と最大値を設定する必要があります。例えばレーシングカーの場合は、最低スピードと最高スピードを、「時速0km」と「時速300km」に設定できます。

また、デフォルトのGame Parameter値を指定することもできます。これは、特定の数値が明示されていないゲームオブジェクトにおいて、必ず使用するグローバル値です。なお、Wwiseで設定したデフォルトのGame Parameter値は、以下の状況では無視されます。

  • あるゲームオブジェクトに関して、特定の数値が明示されている場合

  • ゲームプログラマーが、SDKで、グローバルRTPC値を定義している場合

Game Parameter値の範囲を設定するには:

  1. Project Explorerで、Game Syncsタブに切り替える。

  2. Game Parametersセクションで、範囲を設定するGame Parameterを、ダブルクリックする。

    Property Editorに、このGame Parameterがロードされる。

  3. パラメータのMin(最小値)とMax(最大値)を指定して、パラメータ値の範囲を設定する。

  4. ゲームオブジェクトに対して、特定の数値が明示されていない場合に使用するグローバル数値を、テキストボックスDefaultで指定する。

Deleting Game Parameters

プロジェクトで不要となったGame Parameterは、削除できます。Game Parameterを削除すると、そのGame Parameterを使用していたオブジェクト、イベント、プリセットで、以後はそれを使えなくなります。

[注釈]注釈

Game Parameterを削除する前に、必ずオーディオプログラマーに連絡して、ゲームコードに影響しないことを確認してください。

Game Parameterを、削除するには:

  1. Project Explorerで、Game Syncsタブに切り替える。

  2. Game Parametersセクションで、削除するGame Parameterを右クリックして、Delete Selectionを選択する。

    このGame ParameterがWwiseから削除される。

Binding Game Parameters to built-in parameters

サウンドエンジンは、サウンドデザイナーがダイナミックなオーディオやモーションの作成に活用できるような、標準的な値のセットを、ゲームからのインプットに基づいて計算します。この「ビルトイン」パラメータは、Game Parameter Property EditorにあるBind to Built-In Parameterリストを使ってアクセスします。ビルトインパラメータ値は、ゲームから受け取ったゲームオブジェクトのポジショニングデータに基づき、フレームごとにアップデートされます。Wwise Authoringでは、ゲームにリモート接続している場合にのみ、ビルトインパラメータ値がアップデートされます。

標準的なGame Parameterと異なり、ビルトインパラメータに結び付いたGame Parameterを使用する場合、ゲームプログラミングは必要ありません。

[注釈]注釈
  1. RTPC がビルトインパラメータに結びついている場合には、サウンドエンジンが各ゲームプロジェクトの値を更新します。バスもしくはバスエフェクトなどのゲームオブジェクトに関連性のないグローバルのWwise オブジェクトでRTPCが使われている場合には、デフォルト値が使用されます。

  2. Distance、Azimuth、Emitter Coneなどの、エミッターのポジションに依存するようなビルトインパラメータは、 ゲームオブジェクト のポジションから判断します。このため、AutomationやHold Listener Orientationなどの3Dポジション設定は、無視されます。

利用できるビルトインパラメーター:

  • Distance (距離)

    ゲームオブジェクトとリスナー間の距離。ゲームオブジェクトに複数のリスナーや複数のポジションが関連付けられている場合には、全てのリスナーおよびサウンドポジションの組み合わせの間で最短距離の値を取ります。

  • Azimuth(方位)

    水平面におけるリスナーとゲームオブジェクトの間の角度を度で示します。0°の値は、そのサウンドがリスナー直接正面にあることを示し、-90°はサウンドが左側、90 °は右側、そして +/- 180°はサウンドがリスナーの直接後ろにあることを示します。

    ゲームオブジェクトが複数のリスナーやサウンドポジションに割り当てられている場合、リスナーとサウンドポジションを最も近くに寄せる角度が取られます。

  • Elevation(高度)

    リスナーとゲームオブジェクト間の、水平方向に対して垂直の角度を度で示します。0°の値は、そのサウンドがリスナーと同じ水平面にあることを示し、90°はサウンドが直接上、-90 °は直接下にあることを示します。

    ゲームオブジェクトが複数のリスナーやサウンドポジションに割り当てられている場合、リスナーとサウンドポジションを最も近くに寄せる角度が取られます。

  • Emitter Cone

    Emitter Coneは、エミッターのorientation(向き)ベクトルと、エミッター・リスナー間の直線で形成されたベクトルの間の、3D角度を表します。値が0度の時はエミッターの正面にリスナーがあり、 値が180度の時はエミッターがリスナーと反対の方向を向いていることを示します。

    ゲームオブジェクトが複数のリスナーやサウンドポジションに割り当てられている場合、リスナーとサウンドポジションを最も近くに寄せる角度が取られます。

  • Obstruction

    Obstruction は、 SetObjectObstructionAndOcclusion APIを経由してゲームオブジェクトに設定された値へのアクセスを提供します。

    ゲームオブジェクトに複数のリスナーが割り当てられている場合、Obstruction値は現在のサウンドポジションに一番近いリスナーに割り当てられた値を取ります。

  • Occlusion

    Occlusion は、SetObjectObstructionAndOcclusion APIを経由してゲームオブジェクトに設定された値へのアクセスを提供します。

    ゲームオブジェクトに複数のリスナーが割り当てられている場合、このOcclusion値は現在のサウンドポジションに一番近いリスナーに割り当てられた値を取ります。

  • Listener Cone

    Listener Cone は、リスナーの向きベクトル間の3Dの角度であり、リスナーとリスナー間の直線で形成されたベクトルです。0度の値はそのエミッターがエミッターの方向に直接向いており、 値が180度はそのリスナーがリスナーの方向の反対向きになっていることを示します。

    ゲームオブジェクトが複数のリスナーやサウンドポジションに割り当てられている場合、リスナーとサウンドポジションを最も近くに寄せる角度が取られます。

  • Diffraction

    ルームやポータルや、ジオメトリなどで、音の伝播を適用する時に、DiffractionはWwise Spatial Audioが計算した回折角にアクセスできるようにします。

    このビルトインパラメータを受信するには、Property EditorのPositioningタブの、 Diffraction and Transmissionチェックボックスを選択する必要があり、エミッターとリスナーは、1つ以上のPortalでつながった別々のRoomにあるか、Wwise Spatial Audioへ送られたジオメトリで遮られている必要があります。

    ルームとポータルの時は、エミッターゲームオブジェクトは、「ドライ」回折に関する値として、エミッターとリスナーを結ぶ直線パスからずれた角度を示す発散角を、受信します。Spatial Audio内に登録されたルームゲームオブジェクトも回折値を受信しますが、これはウェット回折に関連する、ルーム内にある音の拡散音場の回折です。ウェット回折は、ポータル開口部の垂直線からの発散角度です。

    複数のPortalがある場合や、リスナーに到達するまでにサウンドが通るパス(経路)が複数ある場合は、これらのパスのうち、最も小さい回折角を採用します。Diffraction値の範囲は0から100までで、これは角度でなく回折率(%)を表しています。

  • Transmission Loss

    ルームやポータルや、ジオメトリなどで、音の伝播を適用する時に、Transmission LossはWwise Spatial Audioが計算した透過損失にアクセスできるようにします。

    このビルトインパラメータを受信するには、Property EditorのPositioningタブの、 Diffraction and Transmissionチェックボックスを選択する必要があり、エミッターとリスナーは、1つ以上のPortal(有効・無効にかかわらず)でつながった別々のRoomにあるか、Wwise Spatial Audioへ送られたジオメトリで遮られている必要があります。

    エミッターとリスナーを直接つなぐレイ(ray)に関して、Transmission Lossを計算します。ジオメトリのTransmission Lossは、ジオメトリに対し定義し(AkAcousticSurface::transmissionLoss)、一方、ルームのTransmission Lossは、Roomに対し定義します(AkRoomParams::TransmissionLoss)。範囲は0から100までです。

    最も高い値を、エミッターとリスナーのそれぞれのルームや、交差する全てのジオメトリの面で、使います。

    [注釈]注釈

    Transmission Lossを、ダイレクトパスに対応するレイから取得しますが、Wwiseでは、レイを独立して信号処理することは、Attenuationカーブを使う場合や、プロジェクト全体のObstructionやOcclusionを使う場合を除き、許可していません。例えば伝播パスと並行する回折パスがあり、ビルトイン(組み込み)のTransmission Loss RTPCを使って、このサウンドやEffectのプロパティを制御したいとすると、そのプロパティは、透過パスや回折パスを合算した結果である信号に対して適用され、これは求めるエフェクトとは違うと考えられます。これを考慮する必要があります。このためTransmission Lossによるボリュームやフィルタの処理には、Attenuation Curveに頼る方が得策です。


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

サポートは必要ですか?

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

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

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

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

Wwiseからはじめよう