휴먼모션데이터표준화 2008 년 10 월 24 일 정철희 / 이명원 수원대학교
목차 1 H-Anim 2 모션캡처데이터 3 H-Anim 과모션캡처데이터 4 모션캡처컴포넌트정의 5 모션리타게팅 6 구현및결과 웹 3D 서비스표준화포럼 2
H-Anim H-Anim ISO/IEC 19774:2005, Humanoid animation (H-Anim) Information technology Computer graphics and image processing Humanoid animation (H-Anim) 관절이있는인체형데이터구조정의, 모션생성에필요한계층 구조정의 모션생성방법을위한데이터에대해서는정의되지않음 웹 3D 서비스표준화포럼 3
H-Anim 필요성 3D 인터넷의성장과함께온라인가상환경에서의인체형애니메이션데이터의공유및재사용새로운휴머노이드를손쉽게제작할수있는저작기능제공다양한방법으로움직이도록하기위한호환성있는휴머노이드 (humanoid) 라이브러리제작의필요 웹 3D 서비스표준화포럼 4
H-Anim 설계목표 호환성 (Compatibility) 유연성 (Flexibility) 단순성 (Simplicity) 웹 3D 서비스표준화포럼 5
H-Anim 모델링 관절의가동범위와부위의질량과같은정보의도출필요파일은계층형태를이루며배열된 Joint( 관절 ) 노드의집합을포함각관절노드는다른관절노드를포함하며, 자신에관계된신체부위를묘사하는 Segment( 인체부위 ) 노드역시포함 H-Anim 에서인체모형모델링 웹 3D 서비스표준화포럼 6
H-Anim 노드 인체모형의생성을단순화하기위해서몇개의새로운노드형도 입 Humanoid Node: 관절, 인체부위, 시야의참조점을제공하고전체인체모형의용기역할을수행 Joint Node: 인체의각관절은 Joint 노드로표현되며, 인체의각부위와상위부위와의관계를정의하는데사용 Segment Node: 모든신체부위는 Segment 노드에저장 Site Node: 의류나보석같은장식들의부착점, 가상카메라의위치를정의 Displacer Node: 움직임의범위에관한정보포함 웹 3D 서비스표준화포럼 7
H-Anim 구조 HumanoidRoot Joint에서 Humanoid의최하위노드까지 Joint 객체들을트리구조로표현하여구성관절단계 저단계 (Low Level) 관절 -14개의결합을가진형태고단계 (High level) 관절 -72개의결합을가진형태 H-Anim 구조 웹 3D 서비스표준화포럼 8
H-Anim 파일 트리구조로표현되는 H-Anim 파일의예 웹 3D 서비스표준화포럼 9
모션캡처데이터 모션캡처객체의움직임을감지하고디지털화하여저장자연스럽고사실적인동작표현가능 H-Anim 구조캐릭터의자연스럽고사실적인동작정의를위해서모션캡쳐데이터사용 웹 3D 서비스표준화포럼 10
모션캡쳐데이터의종류 BVH (Biovision Hierarchy) - 가장먼저개발된파일포맷으로대부분의 3 차원기반의 CAD tool 에서지원함 HTR (Hierarchical Translation-Rotation) ETC - BVH의 skeleton 구조를근간으로하며, BVH보다폭넓게데이터를표현 - ASK/SDL, ASF/AMC, C3D, FBX, GMS 등 웹 3D 서비스표준화포럼 11
모션캡처파일 (BVH) 헤더부분 계층구조, 초기위치채널수 정의 데이터부분 프레임수, 프레임시간, Rotation 정보포함 웹 3D 서비스표준화포럼 12
BVH 데이터구조 Biovision 에서 3 차원모션에대한정보를정의 하기위해개발 헤더부분과데이터부분으로구성 Hip 를루트로하는계층구조정의 BVH 계층구조에의한모델 웹 3D 서비스표준화포럼 13
BVH 파일 트리구조로표현되는 BVH 파일의예 ( 헤더부분 ) 계층구조, 초기위치채널수정의 웹 3D 서비스표준화포럼 14
BVH 파일 트리구조로표현되는 BVH 파일의예 ( 데이터부분 ) 프레임수, 프레임시간, Rotation 정보포함 웹 3D 서비스표준화포럼 15
H-Anim & 모션캡쳐 모션캡처데이터의각관절에 H-Anim 의 Humaniod 관절과세그먼트의정보를넘겨주어애니메이션동작실행 모션캡처 (BVH) 관절이름 Hips LeftHip LeftKnee LeftAnkle RightHip RightKnee RightAnkle Chest LeftCollar LeftShoulder LeftElbow LeftWrist RightCollar RightShoulder RightElbow RightWrist Neck Head BVH 구조와 H-Anim 구조매치 H-Anim 관절이름 HumanoidRoot l_hip l_knee l_ankle r_hip r_knee r_ankle vl1 l_sternoclavicular l_shoulder l_elbow l_wrist r_sternoclavicular r_shoulder r_elbow r_wrist vc4 skullbase 웹 3D 서비스표준화포럼 16
모션데이터인터페이스 3D 모델러 H-Anim 변환기 모션캡처데이터 H-Anim 에디터 H-Anim 애니메이터 구조제어 키프레임제어 파서 H-Anim 구조인터페이스 속성표시 모션제어인터페이스 애니메이션프레임제어 H-Anim 뷰어 웹 3D 서비스표준화포럼 17
모션캡처컴포넌트정의 모션캡처데이터에 H-Anim 의 Humanoid 를적용하기위해모션 캡처컴포넌트를정의 Joint Node 에필드추가 새로운 Motion Node 추가 웹 3D 서비스표준화포럼 18
Joint Node (1) 기존의노드구성 interface Joint { float[3] bboxcenter 0 0 0 float[3] bboxsize -1-1 -1 float[3] center 0 0 0 sequence<object> children [] sequence<object> displacers [] sequence<float[3]> limit [] float[4] limitorientation 0 0 1 0 string name "" float[4] rotation 0 0 1 0 float[3] scale 1 1 1 float[4] scaleorientation 0 0 1 0 sequence<integer> skincoordindex [] sequence<float> skincoordweight [] sequence<float[3]> stiffness [0 0 0] float[3] translation 0 0 0 sequence<float[3]> ulimit [] } 웹 3D 서비스표준화포럼 19
Joint Node (2) 추가필드 : Channels, ChannelsNumber Interface Joint { int[2] sequence<string> } ChannelsNumber Channels ChannelsNumber 필드 : 현재관절의채널의개수 Channels 필드 : 각각의채널에고유한 ID 부여 적용예 Joint { ChannelsNumber [ 1, 3 ] Channels Xrotate Yrotate Zrotate } The Joint Node 의 1 번째채널에 Xrotate 정보, 2 번째채널에 Yrotate 정보, 3 번째채널에 Zrotate 정보가들어감을의미 웹 3D 서비스표준화포럼 20
Motion Node Motion Node 정의 Frames, FrameTime, transformation Channels 필드추가 Interface Motion { int float sequence<float> } Frames FrameTime transformation Frames 필드 : Animate 할프레임의수혹은모션샘플들의수 FrameTime 필드 : Sampling Rate 를지정하는필드 transformation 필드 : 각프레임당관절의변환값 적용예 Motion { Frames 601 } Frametime 0.033333 transformation [ 11.623, 31.312, 64.121, -0.700, -4.023, 11.616, 31.313, 64.107, -0.696, -3.954, ] 웹 3D 서비스표준화포럼 21
모션리타겟팅 (1) 동일한움직임이캐릭터에게골격치수 및메시구성과무관하게배치될수 있도록하는기술 애니메이터의시간과노력을크게 절감할수있음 수많은애니메이션대신하나의 애니메이션만보관하므로런타임 메모리를절감 모션리타겟팅을적용안했을시 자연스러운애니메이션불가능 모션리타겟팅미적용시문제점 웹 3D 서비스표준화포럼 22
모션리타겟팅 (2) 캐릭터의각신체부위위치를모션캡처데이터의관절위치로이동시켜준다. 캐릭터의이동 웹 3D 서비스표준화포럼 23
시스템구성도 휴머노이드모션생성시스템 웹 3D 서비스표준화포럼 24
캐릭터애니메이션구현결과 모션캡처데이터 (BVH) H-Anim 캐릭터 모션리타겟팅을적용한애니메이션 웹 3D 서비스표준화포럼 25
결론 휴먼모션데이터의표준화를위한 H-Anim 기반의모션정의방법 제안 모션캡처데이터를 H-Anim 의휴머노이드모델에적용하여인체 애니메이션구현 모션정의를위해 H-Anim 기존노드에새로운노드와필드추가 모션재적용 (Motion Retargetting) 이가능한호환성있는데이터정 의방법모색 ( 향후계획 ) 모션뷰어기능 & 모션데이터 웹 3D 서비스표준화포럼 26