フォーカスポイント

フォーカスポイントとは

「フォーカスポイント」 は、3Dポジショニング時にリスニングポイントを細かく制御するための機能です。
フォーカスポイントを使用することで、音源からリスナまでの「距離」と「方向」を分離して制御することが可能となります。
主な用途

フォーカスポイントは、カメラとキャラクタが独立した三人称視点のゲームで主に使用します。
3Dポジショニング機能を使用して三人称視点のゲームを作成する場合、リスナをどこに配置すべきか検討する必要があります。
カメラに配置した場合、距離に応じた音量の減衰が音源〜カメラ間を基準に計算されるため、キャラクタが音源近くにいる場合でも、音量が小さくなってしまいます。
(ユーザがキャラクタと音源との距離感を把握し辛くなってしまいます。)
ADX_A_53_focuspoint.png

また、カメラが音源に近づいた際には、画面上に表示されていない音源の音量が大きく聞こえてしまう恐れもあります。
ADX_A_54_focuspoint.png

上記の問題を回避する選択肢として、キャラクタにリスナを配置する方法がありますが、この方法も万全ではありません。
キャラクタにリスナを配置した場合、キャラクタ〜音源間の距離に応じて音量の減衰が決まるため、キャラクタと音源の位置関係に応じて音量が自然に減衰します。
ADX_A_55_focuspoint.png

しかし、音源の位置が下図のようにキャラクタとカメラの間にある場合、音源がキャラクタの背後に存在するため、音がリアスピーカーから鳴る形になります。
この場合、ゲームを操作するプレーヤーにとっては、音源は前方に見える(モニタに表示される)にもかかわらず音が後ろから聞こえる形になるため、映像と音声に矛盾を感じてしまいます。
ADX_A_56_focuspoint.png

以上の問題は、フォーカスポイントを使用することで解消可能です。
リスナに加えてフォーカスポイントを配置すると、音源の距離や方向を計算する起点をリスナ〜フォーカスポイント間の任意の場所に設定することが可能となります。
例えば、キャラクタにフォーカスポイント、カメラにリスナをそれぞれ配置し、距離計算の起点をキャラクタ、角度計算の起点をカメラに設定すると、音量は音源〜キャラクタ間の距離に応じて減衰し、音源の方向はカメラに対する角度で決定されることになります。
ADX_A_57_focuspoint.png

使用するAPI

フォーカスポイントの制御には、以下のAPIを使用します。
criAtomEx3dListener_SetFocusPoint 関数でフォーカスポイントを配置し、criAtomEx3dListener_SetDistanceFocusLevel 関数と criAtomEx3dListener_SetDirectionFocusLevel 関数で距離と方向の起点を設定します。
備考:
距離・方向の起点となる位置は0.0f〜1.0fの範囲で指定します。
0.0fがリスナ上、1.0fがフォーカスポイント上に該当します。
0.5f等を指定することで、リスナとフォーカスポイントの間の位置に起点を置くことも可能です。
Next:カテゴリ

CRI Middleware logo Copyright (c) 2006-2018 CRI Middleware Co., Ltd.