28
H-Anim Motion Data H-Anim Motion Data Definition Web3D Korea Chapter Meeting July 29, 2010 The University of Suwon Myeong Won Lee

H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Embed Size (px)

Citation preview

Page 1: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

H-Anim Motion DataH-Anim Motion Data Definition

Web3D Korea Chapter Meeting

July 29, 2010

The University of SuwonMyeong Won Leey g

Page 2: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

H-Anim Motion Component

M i C

(1) animation generation by motion capture data

Motion Capture Data H-Anim

Motion Definition

H-Anim MotionGenerator

Motion Retargeting

3D ModelData

3D ModelData

Component

H-AnimMotion

DataData

H-AnimKeyframe

Parser

H Anim

Animation DataH-Anim

KeyframeAnimator H-Anim

MotionViewer

Animator

(2) animation generation by keyframe animation definition

July 29, 2010 2Web3D Korea Chapter

Page 3: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

H-Anim Character Modelling Example

16 Segments

A human figure model is composed of 16 segments

h i d l d bEach segment is modeled by a separate graphics toolAll 16 segments are combined ginto an H-Anim structure model and stored in a wrl fileThe wrl file is converted into anThe wrl file is converted into an H-Anim x3d file

July 29, 2010 3Web3D Korea Chapter

Page 4: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

H-Anim File (x3d)

H-Anim File Examplep

July 29, 2010 4Web3D Korea Chapter

Page 5: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Motion Capture File

HeaderHi hi l t t I iti l

DataN b f f FHierarchical structure, Initial

position, Number of channels

Number of frames, Frame time, Rotation info

July 29, 2010 5Web3D Korea Chapter

Page 6: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

H-Anim and Motion CaptureHuman motion is defined by applying motion capture data to each joint of an H-Anim human modelAnim human model

Capture model joints (BVH) H-Anim model jointsHips HumanoidRoot

LeftHip l_hipLeftKnee l_kneeLeftAnkle l_ankleRightHip r_hip

RightKnee r_kneeRightAnkle r_ankle

Chest vl1LeftCollar l_sternoclavicular

LeftShoulder l_shoulderLeftElbow l_elbowLeftWrist l_wrist

RightCollar r_sternoclavicularRightShoulder r_shoulder

RightElbow r_elbowRightWrist r_wrist

Neck vc4Head skullbase

Match capture model joints to H-Anim model joints

July 29, 2010 6Web3D Korea Chapter

Page 7: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Motion Retargetting Before applying motion capture data to an H-Anim figure

model we must solve the motion retargetting problemmodel, we must solve the motion retargetting problem

Before motion data definition, the motion captured model must be adjustedmust be adjusted to an H-Anim model

H-Anim model Abnormal results if no motion retargetting

July 29, 2010 7Web3D Korea Chapter

Page 8: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Motion Retargetting (1)

Modification of Segment Length Adj t th ti t d t l th t th H A i fi ’Adjust the motion captured segment length to the H-Anim figure’s segment length

July 29, 2010 8Web3D Korea Chapter

Page 9: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Motion Retargetting (2)

Modification of Segment Length

Mapping motion capture joints to p jH-Anim figure

joints

July 29, 2010 9Web3D Korea Chapter

Page 10: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Motion Data DefinitionDefine a motion data component

Joint nodeAdd fields for specifying motion parameters

Motion nodeDefine motion capture data in H-Anim modelsPrerequisite - solve motion retargetting problem

July 29, 2010 10Web3D Korea Chapter

Page 11: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Joint Node (2)Define additional fields: Channels, ChannelsNumber (new fields)

Interface Joint {int[2] ChannelsNumbersequence<string> Channels

}

ChannelsNumber: Number of channels at a jointChannels: Identifiers for channels

ExampleJoint {Joint {

ChannelsNumber [ 1, 3 ]Channels “ Xrotate Yrotate Zrotate”

}

Indicates that the first channel has Xrotate, the second channel has Yrotate, and the third channel has Zrotate information

July 29, 2010 11Web3D Korea Chapter

Page 12: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Motion NodeDefinition of Motion Node (a new node)

Define fields of Frames, FrameTime, transformation ChannelsDefine fields of Frames, FrameTime, transformation Channels

Interface Motion {int Framesfloat FrameTime

Frames: Number of frames for an animation sequence

sequence<float> transformation}

qFrameTime: Specifies a sampling ratetransformation: Transformation values of a joint for each frame

ExampleMotion {

Frames 601Frametime 0.033333transformation [ 11.623, 31.312, 64.121, -0.700, -4.023, ……

11.616, 31.313, 64.107, -0.696, -3.954, ………… ]

}

July 29, 2010 12Web3D Korea Chapter

Page 13: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Hanim File CreationOur Hanim Viewer reads an H-Anim figure model’s x3d file and a motion capture file and applies a simple motion retargettingmotion capture file and applies a simple motion retargetting method to each jointThe output data after retargetting is stored as a new Hanim fileThe output data after retargetting is stored as a new Hanim file

Hanim.x3d

Motion bvh

Hanim Viewer NewHanim.hanimSave

Motion.bvh

July 29, 2010 13Web3D Korea Chapter

Page 14: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Hanim Animation FileOur Hanim Viewer displays an H-Anim figure animation sequencefrom an hanim file

N H i h i

from an hanim file

NewHanim.hanim

Hanim Viewer

Human Animation

July 29, 2010 14Web3D Korea Chapter

Page 15: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

NewHanim.hanim

<HAnimHumanoid DEF="sample"HAnimHumanoid DEF sample name="humanoid"version="1.1">

<HAnimJoint DEF="hanim_HumanoidRoot" center="0 -3.596 -91.49" name="HumanoidRoot" containerField="children"ChannelsNumber=”1 3”Channels=”Xrotate Yrotate Zrotate”><HAnimSegment DEF="hanim_pelvis" name="pelvis" containerField="children"></HAnimSegment>

HA i J i DEF "h i l k "<HAnimJoint DEF="hanim_l_knee" center="10.4 0.7352 -49.93"

July 29, 2010 15Web3D Korea Chapter

Page 16: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

NewHanim.hanim

name="l_knee" containerField="children"containerField= childrenChannelsNumber=”4 6”Channels=”Xrotate Yrotate Zrotate”> <HAnimSegment DEF="hanim l calf"<HAnimSegment DEF hanim_l_calf name="l_calf”></HAnimSegment></HAnimJoint>/ Jo t</HAnimJoint>

<HAnimMotion DEF=”hanim Hips”_ pFrames=”601”Frametime”0.03333”

Transformation=”11.623 31.312 …. 11.616, 31.313 ……”

</HAnimMotion></HAnimHumanoid>

July 29, 2010 16Web3D Korea Chapter

Page 17: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

H-Anim Motion Generation

HumanoidHumanoid modeling

data

Joint node

H AnimMotion

H-Animmotion

definition

retargetting(segment adjusting)

Motion capture data

Motion node

H-Anim motion Viewer

H-Anim motion Parser

July 29, 2010 17Web3D Korea Chapter

Page 18: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Motion Capture and H-Anim Figure

July 29, 2010 18Web3D Korea Chapter

Page 19: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Joints Connection

July 29, 2010 19Web3D Korea Chapter

Page 20: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Example H-Anim Character (1): Young-hee

H-Anim model file: Young-hee.x3dH Anim animation file: Young hee hanimH-Anim animation file: Young-hee.hanim

July 29, 2010 20Web3D Korea Chapter

Page 21: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Example H-Anim Character (2): Soon-hee

H-Anim model file: Soon-hee.x3dH Anim animation file: Soon hee hanimH-Anim animation file: Soon-hee.hanim

July 29, 2010 21Web3D Korea Chapter

Page 22: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Example H-Anim Character (3): Dong-hee

H-Anim model file: Dong-hee.x3dH Anim animation file: Dong hee hanimH-Anim animation file: Dong-hee.hanim

July 29, 2010 22Web3D Korea Chapter

Page 23: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Example H-Anim Character (4): Chul-hee

H-Anim model file: Chul-hee.x3dH Anim animation file: Chul hee hanimH-Anim animation file: Chul-hee.hanim

July 29, 2010 23Web3D Korea Chapter

Page 24: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Example H-Anim Character (5): Hyun-ee

H-Anim model file: Hyun-hee.x3dH Anim animation file: Hyun hee hanimH-Anim animation file: Hyun-hee.hanim

July 29, 2010 24Web3D Korea Chapter

Page 25: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Implementation H-Anim Motion Viewer

Visual C++ (Visual Studio 2005), OpenGL

MotionMotionCapture(BVH)

H-AnimFigureFigure

July 29, 2010 25Web3D Korea Chapter

Page 26: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

H-Anim Motion Viewer (1) -Video

July 29, 2010 26Web3D Korea Chapter

Page 27: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

H-Anim Motion Viewer (2) - Video

July 29, 2010 27Web3D Korea Chapter

Page 28: H-Anim Motion DataAnim Motion Data Definition - web3d.org · PDF fileJoint node Add fields for specifying motion parameters Motion node Define motion capture data in H-Anim models

Conclusions A proposal for H-Anim motion specification

H Anim motion componentH-Anim motion component Joint node updateM ti d d fi itiMotion node definition

G t H A i h t d l * 3dGenerate H-Anim character model: *.x3dGenerate H-Anim character animation: *.hanim

Development of an H-Anim motion viewerGeneration of standard H-Anim character models

July 29, 2010 28Web3D Korea Chapter