声音节点

Sound{
#source域的域值用于设定声源。其域值就是用来创建声源的AudioClip节点或MovieTexture节点。该域的默认值为NULL,表示没有
#声源引入,即没有声音可播放。
exposedField SFNode source NULL
#location域的域值用于设定声音发射器位置的三维坐标。该域的默认值为0.0 0.0 0.0,即坐标系的原点。
exposedField SFVec3 location 0.0 0.0 0.0
#direction域的域值用于设定声音发射器的空间朝向,即规定声音发射器所指的方向,声音发射器将以这个方向发射声音。该域的默认#值为0.0 0.0 1.0,即指向坐标系的Z轴正方向。
exposedField SFVec3f direction 0.0 0.0 1.0
#intensity域的域值用于设定声音发射器发射声音的强度,即音量。该域值在0.0到1.0范围内变化。1.0表示音量最大,为声音文件建立
#时的全音量;0.0表示静音。当intensity域的域值大于1.0时,会使该声音失真。
exposedField SFFloat intensity 1.0
#maxBack、maxFront、minBack、minFront域的域值用于设定从声音发射器所在位置沿direction域所指定方向的前后最大、最小直线距离
exposedField SFFloat maxBack 10.0
exposedField SFFloat maxFront 10.0
exposedField SFFloat minBack 1.0
exposedField SFFloat minFront 1.0
#priority域的域值用于设定声音的优先级。该域的取值范围为0.0到1.0。1.0表示最高的优先级,0.0最低。priority域的默认值为0.0。
exposedField SFFloat priority 0.0
#spatialize域的域值用于设定是否实现声音立体化,即是否将声音经过立体化数字处理。
exposedField SFBool spatialize TRUE
}
音频剪辑节点
AudioClip{
#url的是声音文件名,包括扩展名。从第一个文件开始,按文件优先级依次查找。
exposedField MFString url [ ]
#description域的域值用于设定一组描述所引用声音文件的字符串。
exposedField SFString description “”
#是否循环播放
exposedField SFBool loop FALSE
#pitch用于设定快速或慢速播放的因子。0-1表示速度减慢,音调降低;大于1表示速度加快,音调升高。 Pitch与固有长度相乘就#是实际播放长度。
exposedField SFFloat pitch 1.0
exposedField SFTime startTime 0.0
exposedField SFTime stopTime 0.0
#出事件duration_changed表示声音固有持续时间,isActive表示是否正在播放。
eventOut SFTime duration_changed
eventOut SFBool isActive
}
#VRML V2.0 utf8
Group{
children[
Transform{
translation 0.0 1.05 0.0
children [
Shape{
appearance Appearance{
texture ImageTexture{
url "si2.jpg"
}
}
geometry Box{
size 1.0 2.1 1.0
}
},
Transform{
translation 0.0 0.0 0.51
children [
Shape{
appearance Appearance{
texture ImageTexture{
url "si1.jpg"
}
}
geometry Box{
size 1.0 2.1 0.02
}
}
]
},
Sound{
location 0.0 0.0 0.0
direction 0.0 0.0 1.0
intensity 1.0
spatialize TRUE
maxFront 36.0
maxBack 18.0
minFront 6.0
minBack 2.0
source AudioClip{
url "music.mid"
loop TRUE
}
}
]
}
]
}
音频剪辑节点
例子:
#VRML V2.0 utf8
Transform{
translation 0 0 -0.1
children[
Shape{
appearance Appearance{
material Material{
diffuseColor 0.3 0.3 0.3
}
}
geometry Box{
size 5.1 3.4 0.2
} #电视造型
}
]
}
Shape{
appearance Appearance{
texture DEF dy MovieTexture{ #电影纹理节点
url "ylsy.MPG" #电影文件
loop TRUE
}
}
geometry Box{
size 4.5 3 0.01
} #电影屏幕造型
}
Sound { #声音节点
source USE dy #引用电影纹理节点
maxBack 10
maxFront 80
minBack 5
minFront 30
}
一般来说,为了实现真实的衰减效果,应将maxBack域值设为minBack域值的10倍。同时将maxFront域值设为minFront域值的10倍。如果其值比大于10,则衰减相对较缓慢,若比值小于10则衰减较快。