Articulation and Skinning


Other Articulated Figures

Several excellent Java 3D articulated figure examples are out on the Web:


Ana

Alessandro Borges has developed an articulated figure with named parts, with a similar joint-based transformGroup implementation as here but with spheres at the limb intersections (http://planeta.terra.com.br/educacao/alessandroborges/ana/ana.html). Movement/rotation commands are grouped together to form keyframe animations. Forward kinematics controls the interaction between the limbs.


The Virtual Drummer

This 3D drummer by Martijn Kragtwijk is coded in a similar way to my figure, but the emphasis is on animating the model by having it play along to the drum parts of music (http://parlevink.cs.utwente.nl/Projects/virtualdrummer/). The site contains a number of papers on the work.

The fun idea of animation through music recognition has been extensively developed in Wayne Lytle's Animusic (http://www.animusic.com/), which is unfortunately not Java-based.


Robot Simulation

Yuan Cheng wrote a graphical, interactive, physical-based robot control simulation environment using Java 3D (http://icmit.mit.edu/robot/simulation.html) back in 1999. The robots are built using a hierarchy of transformGroups.


H-Anim Working Group

The H-Anim (Humanoid Animation) Working Group (http://www.h-anim.org/) has developed a VRML97 specification for representing figures. There is no Java 3D implementation available, but the specification contains numerous good ideas on how to model an articulated figure.

A Joint node defines limb position, orientation, and other attributes such as skin properties. Joints are linked together to form a hierarchy, so Joint is somewhat similar to the Limb class developed here. The Segment node is concerned with the shape of the body part, including its mass, and allows the shape's geometry to be adjusted. Segment could be equated with the LatheShape3D class but has greater functionality. Site nodes are used to attach items to Segments, such as clothing and jewelry. Site nodes may be employed to fix a camera so it stays in a certain position relative to the figure. The Displacer node permits groups of vertices in a Segment to be associated with a higher-level feature of the figure. For example, the location of the nose, eyes, and mouth on a face can be identified with Displacer nodes.



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