Java 3D F.A.Q.

Q) Is Java & Java 3D fast enough for game development?

A) Yes - as of April 2002, Chien Yang of Sun stated: "At present, on Solaris and Windows 2000, Java 3D is <25% slower than C/OpenGL in most cases. We do have a few cases where Java 3D is ~2X slower."

Q) How do I get rid of the "WARNING: Canvas3D constructed with a null GraphicsConfiguration." message?

A) If you are using the SimpleUniverse classes, try:
  GraphicsConfiguration gc = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas = new Canvas3D(gc);

otherwise try:

  GraphicsDevice screenDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D();
GraphicsConfiguration gc = screenDevice.getBestConfiguration(template);
Canvas3D canvas = new Canvas3D(gc);

Q) I added sounds to the scene, but no sound is heard.

A) You may have forgotten to create an AudioDevice. Try:
  AudioDevice audioDev = simpleU.getViewer().createAudioDevice();

Q) How do I move the view (for a SimpleUniverse)?

A) Move the TransformGroup of the View Platform via:

  Transform3D T3D = new Transform3D();
Vector3f translate = new Vector3f();
TransformGroup vpTrans = simpleU.getViewingPlatform().getViewPlatformTransform();
T3D.rotY(angle);
translate.set(x,y,z);
T3D.setTranslation(translate);
vpTrans.setTransform(T3D);

Q) How can I check the version of Java 3D being used at runtime?

A) There is a simple example code of this in the Java 3D demo source code called "PackageInfo".