三维声音示例
3DSound.py
newScene()
loadGeometry("$VRED_EXAMPLES/geo/sound.osb")
updateScene()
hideNode(findNode("Environments"))
vrLogInfo("On the red objects position you hear a beating sound.")
vrLogInfo("On the green objects position you hear a diesel engine sound.")
# find node and convert it into transformation node
rot = findNode("Rotate");
rot.makeTransform()
# define 360 degree rotation and activate it
rotInt = vrInterpolator()
rotSlide = vrRotationSlide(rot, 0,0,0, 0,359,0, 8.0)
rotInt.add(rotSlide)
rotInt.setActive(true)
#define key r to toggle rotation
keyR = vrKey(Key_R)
keyR.connect(rotInt, SWITCH_TOGGLE)
vrLogInfo("Press key r to toggle rotation")
newScene()
sound = createNode("Sound", "Sound")
filename = getFileIOBaseDir() + "audio/motor_b8.wav"
sound.setFieldString("soundFile", filename)
def play(s):
sound.setFieldBool("play", s)
def pitch(v):
sound.setFieldReal32("pitch", v)
keyP = vrKey(Key_P)
keyP.connect(play, true)
keyS = vrKey(Key_S)
keyS.connect(play, false)
keyH = vrKey(Key_H)
keyH.connect(pitch, 2.0)
keyL = vrKey(Key_J)
keyL.connect(pitch, 0.5)
keyR = vrKey(Key_R)
keyR.connect(pitch, 1.0)
vrLogInfo("Press key 'p' to play")
vrLogInfo("Press key 's' to stop")
vrLogInfo("Press key 'h' increase pitch")
vrLogInfo("Press key 'j' decrease pitch")
vrLogInfo("Press key 'r' reset pitch")