TDDSDListener

タスク

  TDDSDListenerオブジェクトは、リスナー(アプリケーションのユーザ)が、仮想空間内のどこにいて、どんな方向を向いているか、といった状態を格納・設定します。

 TDDSDオブジェクトの内部にListener変数として格納されています。単体で生成することはあまり無いでしょう。

 

リファレンス目次

プロパティ

(凡例:    読み取り専用   Published)

位置 Position
姿勢 Orientation
速度 Velocity
設定 DistanceFactor
DopplerFactor
RolloffFactor

 

リファレンス〜プロパティ

Position

property Position:D3DVector;

 リスナーの位置を示します。

 

Orientation

property Orientation:TDDSDOrientation;

 リスナーの姿勢を示します。

 リスナーの姿勢は、頭の中心から頭頂部に向かうベクトルと、頭の中心から鼻に向かうベクトルという、二本の互いに垂直なベクトルで現されます。

 TDDSDOrientation型は、次のように定義されています。

type TDDSDOrientation = record
  Front:D3DVector;
  Top:D3DVector;
end;

 デフォルトでは、Frontは(0,0,1)で、Topは(0,1,0)です。

Velocity

property Velocity:D3DVector;

 リスナーの速度をベクトルで示します。

 このプロパティはドップラー効果の計算用にあるため、このプロパティに値をセットしてもPositionプロパティには影響しません。

 

DistanceFactor

property DistanceFactor:Single;

 DirectSound3Dでは、基本的に距離を指定する際はメートルを単位としますが、例えば宇宙もののゲームで巨大な戦艦同士の砲撃戦などを演出したいときには、単位にはメートルではなくキロメートルを使った方が便利でしょう。

 このように距離の単位を変えたいときは、このプロパティを操作してください。デフォルトでは1.0です。先ほどの例のように、1キロメートルを1としてあらわしたい時は、1000を指定してください。

 

DopplerFactor

property DopplerFactor:D3DValue;

 DirectSound3Dでは、音源・リスナー各々の動きにより生じるドップラー効果をシミュレートします。

 このプロパティによって、ドップラー効果のかかり具合を調節することができます。

 デフォルトは1.0で、自然界におけるドップラー効果のかかり方に準じます。

 指定できる範囲は0〜10で、0にするとドップラー効果の影響は全く現れず、10にすると、10倍大袈裟にドップラー効果の影響が出ることになります。

 

RolloffFactor

property RolloffFactor:D3DValue;

 リスナーから音源が離れるにつれて、音は小さく聞こえます。このとき、どのくらい急激に音が小さくなってゆくかを示すのが、このプロパティです。

 デフォルトでは1.0で、実世界に準じた減衰の仕方をします。

 パラメータとして指定できる範囲は0〜10で、0を指定すると距離に伴った音量の減衰は全く起こらなくなり、10を指定すると、その分だけ急に減衰が起こるようになりれます。