250 likes | 461 Views
A Standard Humanoid Representation on The Web: VRML/X3D Humanoid Animation Working Group (H-anim). Che-Jen Chen fake3d@imlab.cs.nccu.edu.tw May/30/2003 Intelligent Media Laboratory Department of Computer Science, NCCU. Outline. Introduction Background H-Anim Specifications
E N D
A Standard Humanoid Representation on The Web:VRML/X3D Humanoid Animation Working Group (H-anim) Che-Jen Chen fake3d@imlab.cs.nccu.edu.tw 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 … • The Creation of Interchangeable Humanoids • 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 <X3D> <head><meta content="ball.x3d" name="filename"/> </head> <Scene> <Shape> <Appearance> <Material/> </Appearance> <Sphere radius="1.0"/> </Shape> </Scene> </X3D>
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 0 0 0 (-∞,∞) MFString [in,out] info [] SFString [in,out] name "" SFRotation [in,out] rotation 0 0 1 0 (-∞,∞)|[-1,1] SFVec3f [in,out] scale 1 1 1 (0,∞) SFRotation [in,out] scaleOrientation 0 0 1 0 (-∞,∞)|[-1,1] SFVec3f [in,out] translation 0 0 0 (-∞,∞) SFString [in,out] version "1.1" SFVec3f [] bboxCenter 0 0 0 (-∞,∞) SFVec3f [] bboxSize -1 -1 -1 (0,∞)|[-1 -1 -1] }
The Nodes : Joint Node Joint : X3DGroupingNode { MFNode [in] addChildren [Joint] MFNode [in] removeChildren [Joint] MFNode [in,out] children [] [Joint] SFVec3f [in,out] center 0 0 0 (-∞,∞) MFFloat [in,out] llimit [] (-∞,∞) SFRotation [in,out] limitOrientation 0 0 1 0 (-∞,∞)|[-1,1] SFString [in,out] name "" SFRotation [in,out] rotation 0 0 1 0 (-∞,∞)|[-1,1] SFVec3f [in,out] scale 1 1 1 (0,∞) SFRotation [in,out] scaleOrientation 0 0 1 0 (-∞,∞)|[-1,1] MFFloat [in,out] stiffness [0 0 0] [0,1] SFVec3f [in,out] translation 0 0 0 (-∞,∞) MFFloat [in,out] ulimit [] (-∞,∞) SFVec3f [] bboxCenter 0 0 0 (-∞,∞) SFVec3f [] bboxSize -1 -1 -1 (0,∞)|[-1 -1 -1] }
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 0 0 0 (-∞,∞) SFFloat [in,out] mass 0 (0,∞) MFFloat [in,out] momentsOfInertia [0 0 0 0 0 0 0 0 0] [0,∞) SFString [in,out] name "" SFVec3f [] bboxCenter 0 0 0 (-∞,∞) SFVec3f [] bboxSize -1 -1 -1 (0,∞) or -1 -1 -1 }
The Nodes : Site Node Site : X3DGroupingNode { MFNode [in] addChildren [X3DChildNode] MFNode [in] removeChildren [X3DChildNode] MFNode [in,out] children [] [X3DChildNode] SFVec3f [in,out] center 0 0 0 (-∞,∞) SFString [in,out] name "" SFRotation [in,out] rotation 0 0 1 0 (-∞,∞)|[-1,1] SFVec3f [in,out] scale 1 1 1 (0,∞) SFRotation [in,out] scaleOrientation 0 0 1 0 (-∞,∞)|[-1,1] SFVec3f [in,out] translation 0 0 0 (-∞,∞)|[-1,1] SFVec3f [] bboxCenter 0 0 0 (-∞,∞) SFVec3f [] bboxSize -1 -1 -1 (0,∞)|[-1 -1 -1] }
The Nodes : Diplacer Node Displacer : X3DGeometricPropertyNode { MFInt32 [in,out] coordIndex [] [0,∞) or -1 MFVec3f [in,out] displacements [] [X3DCoordinateNode] SFString [in,out] name "" }
H-Anim Applications • Humanoid Animation/Simulation • Agent, Avatar, Tutor… • 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 Thank You! Presented by Che-Jen Chen fake3d@imlab.cs.nccu.edu.tw May/30/2003 Intelligent Media Laboratory Department of Computer Science, NCCU