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".