Original Spec|
Sample
定義
Sound {
exposedField SFVec3f direction 0 0 1 # (-,)
exposedField SFFloat intensity 1 # [0,1]
exposedField SFVec3f location 0 0 0 # (-,)
exposedField SFFloat maxBack 10 # [0,)
exposedField SFFloat maxFront 10 # [0,)
exposedField SFFloat minBack 1 # [0,)
exposedField SFFloat minFront 1 # [0,)
exposedField SFFloat priority 0 # [0,1]
exposedField SFNode source NULL
field SFBool spatialize TRUE
}
- direction
- 音の向き
- intensity
- 音の強さ
- location
- 音源の位置
- maxBack
- directionの方向に音の聞こえる範囲
- maxFront
- directionの方向に音が最大の強さで聞こえる範囲
- minBack
- directionの反対方向に音の聞こえる範囲
- minFront
- directionの反対方向に音が最大の強さで聞こえる範囲
- priority
- 音源の優先度、複数の音源の音が聞こえる場合に比較される
- source
- 音源、AudioClipノードで指定。
spatialize 方向の設定を有効にします。
方向の設定を有効にすると音の放射する方向を定めることが出来ます。
この時音源の位置を焦点として二つの楕円が設定されます。大きい楕円
の外では音は聞こえず、小さい楕円の中では最大の強さで音が聞こえます。
その間では距離に応じて次第に小さくなります。楕円の大きさの設定は
長径、短径がそれぞれFront,Backで表され外の円はmax,中の円はminが
その前につきます。
サンプル
三角角錐の先端に向かって音を出しています。
Cosmoplayer2.0ではdirectionのデフォルトが仕様と異なっているようで
したので設定してあります。
#VRML V2.0 utf8
Sound {
source AudioClip {
loop TRUE
url ["rd.mid"]
stopTime -1
}
direction 0 0 1
maxFront 10000
maxBack 3
}
Shape {
geometry IndexedFaceSet {
coord Coordinate { point [0 0 2, 1 0 0, 0 1 0, -1 0 0, 0 -1 0] }
coordIndex [
0 1 2 -1, 0 2 3 -1, 0 3 4 -1, 1 0 4 -1, 4 3 2 1 -1
]
}
appearance Appearance {material Material {}}
}
NavigationInfo {
type ["EXAMINE" "ANY"]
}
#http://vrmlbyhand.hoops.ne.jp/ref/Sound.wrl