A Standard Humanoid Representation on The Web: VRML/X3D Humanoid Animation Working Group (H-anim) Che-Jen Chen May/30/2003 Intelligent Media Laboratory Department of Computer Science, NCCU
Outline Introduction Background H-Anim Specifications H-Anim Applications Conclusion
Introduction Representing Humanoid Is an Increasing Need on the Growing 3D Internet! What We Need … 1.The Creation of Interchangeable Humanoids 2.Tools For Creating and Animating Humanoids H-Anim : A Standard Way Representing Humanoids Based on VRML/X3D
Background VRML X3D VRML/X3D and H-Anim MPEG-4, AML, VHML and H-Anim
VRML (Virtual Reality Modeling Language) VRML 1.0 : 1995, Silicon Graphics Inc. Geometries, Materials, Viewpoints… VRML 2.0 : 1997, Web3D Consortium Animation, Prototyping, Scripting… VRML97 : 1997 NURBS, EAI (External Authoring Interface)… An ISO Standard
VRML (Cont.) Not A Tag Language ? Inherit Concepts From Open Inventor -Node -Scene Graph #VRML V2.0 utf8 DEF ball Shape { appearance Appearance { material Material { } } geometry Sphere { radius 1.0 } #Inventor V2.1 ascii DEF ball Group { Material { } Sphere { radius 1.0 }
X3D (Extensible 3D) Extending and Upgrading the Geometry and Behavior Capabilities VRML97 Using XML
VRML/X3D and H-Anim VRML97 H-Anim 1.0 Specification H-Anim 1.1 Specification H-Anim 2001 Specification X3D H-Anim 2.0 Specification
MPEG-4, AML, VHML and H-Anim MPEG-4 and H-Anim Facial Expression: Identical to FAPs AML (Avatar Markup Language, Mira Lab, VR Lab) Text To Speech, Facial and Body Animation Encapsulation and Synchronization VHML (Virtual Human Markup Language, au) Mentor System BAML Body Animation Markup Language
H-Anim Specifications The Nodes Level of Articulation
The Nodes : Humanoid Node Humanoid : X3DHumanoidNode { MFNode [in] addChildren MFNode [in] removeChildren MFNode [in,out] humanoidBody [] [HumanoidRoot] MFNode [in,out] joints [] [Joint] MFNode [in,out] segments [] [Segment] MFNode [in,out] sites [] [Site] MFNode [in,out] viewpoints [] [Viewpoint] SFVec3f [in,out] center (-∞,∞) MFString [in,out] info [] SFString [in,out] name "" SFRotation [in,out] rotation (-∞,∞)|[-1,1] SFVec3f [in,out] scale (0,∞) SFRotation [in,out] scaleOrientation (-∞,∞)|[-1,1] SFVec3f [in,out] translation (-∞,∞) SFString [in,out] version "1.1" SFVec3f [] bboxCenter (-∞,∞) SFVec3f [] bboxSize (0,∞)|[ ] }
The Nodes : Joint Node Joint : X3DGroupingNode { MFNode [in] addChildren [Joint] MFNode [in] removeChildren [Joint] MFNode [in,out] children [] [Joint] SFVec3f [in,out] center (-∞,∞) MFFloat [in,out] llimit [] (-∞,∞) SFRotation [in,out] limitOrientation (-∞,∞)|[-1,1] SFString [in,out] name "" SFRotation [in,out] rotation (-∞,∞)|[-1,1] SFVec3f [in,out] scale (0,∞) SFRotation [in,out] scaleOrientation (-∞,∞)|[-1,1] MFFloat [in,out] stiffness [0 0 0] [0,1] SFVec3f [in,out] translation (-∞,∞) MFFloat [in,out] ulimit [] (-∞,∞) SFVec3f [] bboxCenter (-∞,∞) SFVec3f [] bboxSize (0,∞)|[ ] }
The Nodes : Segment Node Segment : X3DGroupingNode { MFNode [in] addChildren [Site] MFNode [in] removeChildren [Site] MFNode [in,out] children [] [Site] SFNode [in,out] coord NULL [X3DCoordinateNode] MFNode [in,out] displacers [] [Displacer] SFVec3f [in,out] centerOfMass (-∞,∞) SFFloat [in,out] mass 0 (0,∞) MFFloat [in,out] momentsOfInertia [ ] [0,∞) SFString [in,out] name "" SFVec3f [] bboxCenter (-∞,∞) SFVec3f [] bboxSize (0,∞) or }
The Nodes : Site Node Site : X3DGroupingNode { MFNode [in] addChildren [X3DChildNode] MFNode [in] removeChildren [X3DChildNode] MFNode [in,out] children [] [X3DChildNode] SFVec3f [in,out] center (-∞,∞) SFString [in,out] name "" SFRotation [in,out] rotation (-∞,∞)|[-1,1] SFVec3f [in,out] scale (0,∞) SFRotation [in,out] scaleOrientation (-∞,∞)|[-1,1] SFVec3f [in,out] translation (-∞,∞)|[-1,1] SFVec3f [] bboxCenter (-∞,∞) SFVec3f [] bboxSize (0,∞)|[ ] }
The Nodes : Diplacer Node Displacer : X3DGeometricPropertyNode { MFInt32 [in,out] coordIndex [] [0,∞) or -1 MFVec3f [in,out] displacements [] [X3DCoordinateNode] SFString [in,out] name "" }
Level of Articulation
H-Anim Applications Humanoid Animation/Simulation Agent, Avatar, Tutor… Multi-User Virtual Community Human Anthropometrics
Humanoid Animation/Simulation
Multi-User Virtual Community
Human Anthropometrics
Conclusion H-Anim 2.0 Persevere the Compatibilities to Old VRML Virtual Humanoid/Environment Extending the Capabilities of Humanoid Representation Other Compatibility Issue The Convention of Joint Rotation
Q & A Presented by Che-Jen Chen May/30/2003 Intelligent Media Laboratory Department of Computer Science, NCCU Thank You!