view3dscene 3.8.0: 3D sound, skinned H-Anim, more
(January 6, 2011)
3D sound in VRML/X3D worlds is implemented. Grab the new view3dscene 3.8.0, and for some demo open files
x3d/sound_location_animate.x3dv from the kambi_vrml_test_suite. Detailed documentation for Sound support is here.
Note that you have to install some additional libraries to hear sounds (OpenAL to hear anything, and VorbisFile to load OggVorbis format). For Windows, these are already included in the zip file, and you actually don't have to do anything. For Linux, you should install them using your package managar. For Mac OS X, OpenAL is already preinstalled and you can get VorbisFile from fink.
If you want to mute / unmute sound, you can use File -> Preferences -> Sound menu item of view3dscene. There's also File -> Preferences -> Sound Device choice. Command-line options for controlling sound are documented here.
For developers, as usual we release a new Kambi VRML game engine 2.3.0. Besides sound in VRML/X3D, you will notice a new shiny SoundEngine (instance of TALSoundEngine, in ALSoundEngine unit) that makes using OpenAL a breeze from ObjectPascal code. Sample usage:
var Buffer: TALBuffer; ... Buffer := SoundEngine.LoadBuffer('sample.wav'); SoundEngine.PlaySound(Buffer, ...); // see TALSoundEngine.PlaySound parameters
See the engine reference, in particular TALSoundEngine class reference, for details. You can try adding this code spinnet to any example in engine sources, e.g. to the
Animating skinned H-Anim humanoids is also implemented. You can use view3dscene to open e.g. "Lucy" examples from Seamless3D, also "The famous boxman" linked from the bottom of InstantReality H-Anim overview. The details about H-Anim support are here. The new view3dscene menu item "Edit -> Add Humanoids Joints Visualization" may be useful too.
See also the video below. At first you see InstantReality results and then the view3dscene. Thanks to Peter "griff" Griffith for testing and creating this video!
Some other notable features implemented:
MultiGeneratedTextureCoordinatenode introduced, to better define the Box/Cone/Cylinder/Sphere.texCoord.
Also castle 0.9.0 is released. This doesn't bring any new user-visible features, however internally a lot of stuff was simplified and ported to our engine 2.x line.