TDDSDListenerオブジェクトは、リスナー(アプリケーションのユーザ)が、仮想空間内のどこにいて、どんな方向を向いているか、といった状態を格納・設定します。
TDDSDオブジェクトの内部にListener変数として格納されています。単体で生成することはあまり無いでしょう。
Positionプロパティは、仮想空間内での位置を示します
(凡例:
読み取り専用
Published)
| 位置 | Position |
| 姿勢 | Orientation |
| 速度 | Velocity |
| 設定 | DistanceFactor |
| DopplerFactor | |
| RolloffFactor |
property Position:D3DVector;
リスナーの位置を示します。
property Orientation:TDDSDOrientation;
リスナーの姿勢を示します。
リスナーの姿勢は、頭の中心から頭頂部に向かうベクトルと、頭の中心から鼻に向かうベクトルという、二本の互いに垂直なベクトルで現されます。
TDDSDOrientation型は、次のように定義されています。
type TDDSDOrientation = record Front:D3DVector; Top:D3DVector; end;
デフォルトでは、Frontは(0,0,1)で、Topは(0,1,0)です。
property Velocity:D3DVector;
リスナーの速度をベクトルで示します。
このプロパティはドップラー効果の計算用にあるため、このプロパティに値をセットしてもPositionプロパティには影響しません。
property DistanceFactor:Single;
DirectSound3Dでは、基本的に距離を指定する際はメートルを単位としますが、例えば宇宙もののゲームで巨大な戦艦同士の砲撃戦などを演出したいときには、単位にはメートルではなくキロメートルを使った方が便利でしょう。
このように距離の単位を変えたいときは、このプロパティを操作してください。デフォルトでは1.0です。先ほどの例のように、1キロメートルを1としてあらわしたい時は、1000を指定してください。
property DopplerFactor:D3DValue;
DirectSound3Dでは、音源・リスナー各々の動きにより生じるドップラー効果をシミュレートします。
このプロパティによって、ドップラー効果のかかり具合を調節することができます。
デフォルトは1.0で、自然界におけるドップラー効果のかかり方に準じます。
指定できる範囲は0〜10で、0にするとドップラー効果の影響は全く現れず、10にすると、10倍大袈裟にドップラー効果の影響が出ることになります。
property RolloffFactor:D3DValue;
リスナーから音源が離れるにつれて、音は小さく聞こえます。このとき、どのくらい急激に音が小さくなってゆくかを示すのが、このプロパティです。
デフォルトでは1.0で、実世界に準じた減衰の仕方をします。
パラメータとして指定できる範囲は0〜10で、0を指定すると距離に伴った音量の減衰は全く起こらなくなり、10を指定すると、その分だけ急に減衰が起こるようになりれます。