Class Diagrams for FPShooter3D


More on Picking

The Java 3D tutorial (http://java.sun.com/developer/onlineTraining/java3d/) has a long section on picking in Chapter 4, "Interaction and Animation," with two examples: MousePickApp.java and PickCallbackApp.java. The former shows how to use the PickRotateBehavior subclass of PickMouseBehavior to select and rotate shapes. The other predefined subclasses are PickTranslateBehavior and PickZoomBehavior. PickCallbackApp.java explains how to attach a callback method to the PickRotateBehavior object, which is called automatically when a pick operation takes place. The code is derived from MousePickApp.java.

There's not much information in the Java 3D documentation on how to create your own subclasses of MousePickBehavior, but it's possible to look at the source code for these utilities in java3d-utils-src.jar. A potential source of confusion is that the JAR contains two copies of each of the picking classes: deprecated ones in com.sun.j3dutils.behaviors.picking and the current versions in com.sun.j3dutils.picking.behaviors.

There are several Java 3D picking demos, in PickTest/, PickText3D/, and TickTockPicking/. The TickTockPicking example involves the picking of cubes and tetrahedrons to change their appearance and utilizes a simple subclass of PickMouseBehavior called PickHighlightBehavior.

I'll return to picking in Chapter 26 when I use it to determine terrain coordinates below viewers as they move around a landscape. This is a common approach to handling movement over irregular surfaces. The code utilizes a PickTool object to fire a ray straight down beneath the viewer to intersect with the shape representing the ground.



Killer Game Programming in Java
Killer Game Programming in Java
ISBN: 0596007302
EAN: 2147483647
Year: 2006
Pages: 340

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net