#1
|
|||
|
|||
3D sound & child objects
Phenomenologically, 3D-sound played from objects loaded with viz.add() seem to be generated from the correct position. However, 3D-sound playback from objects loaded with viz.getchild() seem to be at the wrong position. For example,
objRoom = viz.add('Room.wrl') objVent = objRoom.getchild('obj_Vent') # start sound playing objVent.playsound('air-vent.wav', viz.LOOP) The 'air-vent' wave file seems to be playing at the position of the "Room" object, not the actual "Vent" subobject. |
#2
|
|||
|
|||
Hi,
This is due to the fact that objVent is at position (0,0,0) relative to its parent objRoom. I believe this has been fixed in 2.11, which computes the objects position relative to world coordinates by adding all the translations of its parents. For now you could do the following: Code:
# Create a GROUP object which is simply a child object that has no geometry. vent = viz.add(viz.GROUP) vent.translate(x,y,z) #place the object at the vents true location vent.playsound('air-vent.wav',viz.LOOP) |
|
|