KR100782974B1 - 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법 - Google Patents
모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법 Download PDFInfo
- Publication number
- KR100782974B1 KR100782974B1 KR1020060054120A KR20060054120A KR100782974B1 KR 100782974 B1 KR100782974 B1 KR 100782974B1 KR 1020060054120 A KR1020060054120 A KR 1020060054120A KR 20060054120 A KR20060054120 A KR 20060054120A KR 100782974 B1 KR100782974 B1 KR 100782974B1
- Authority
- KR
- South Korea
- Prior art keywords
- motion capture
- skeleton
- data
- mesh
- motion
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 모션 캡춰 대상으로부터 프레임과 마커 위치, 뼈대 구조 및 회전 정보를 포함하는 모션 캡춰 데이터를 입력받는 제1단계와; 뼈대 계층구조와 골격 구조, 메쉬 구조 및 스킨 메쉬 구조를 포함하는 3D 모델링 모델 데이터를 입력받는 제2단계와; 상기 제1단계에 입력받은 모션 캡춰 데이터를 이용하여, 상기 제2단계에서 입력받은 3차원 모델링 데이터에 포함된 뼈대 계층 구조를 갱신하고 뼈대를 상기 프레임에 매핑하며 스킨 메쉬를 갱신하고 스킨 메쉬를 랜더링하는 제3단계를 포함하여 구성되는 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법을 제공한다.
모션 캡춰, 3차원 애니메이션, 뼈대, 마커, 스킨 메쉬
Description
도 1은 종래 일반적인 광학식 모션 캡춰 시스템을 이용하여 3D 캐릭터를 모델링하는 과정을 개략적으로 도시한 도면이다.
도 2는 종래 모션 캡춰 시스템에 의한 막대 도면(Stick Figure)을 나타내는 도면이다.
도 3은 본 발명의 바람직한 실시예에 따른 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법의 절차를 개략적으로 도시한 도면이다.
도 4는 뼈대 구조의 일 예를 설명하기 위한 도면이다.
도 5는 프레임 계층 구조의 일 예를 설명하기 위한 도면이다.
도 6은 계층구조의 결합 변환 행렬의 적용 예를 도시한 도면이다.
도 7은 본 발명의 바람직한 실시예에 따라 모션 캡춰 데이터를 기반으로 하여 구현된 기반 3차원 애니메이션을 도시한 도면이다.
본 발명은 모션 캡춰를 이용하여 취득된 모션 캡춰 데이터를 이용하여 3차원 애니메이션을 완성도 높게 구현할 수 있도록 된 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법에 관한 것이다.
모션 캡쳐(Motion Capture)는 인간을 포함한 사물의 동작을 입력 또는 측정하여 컴퓨터 데이터화 하는 것을 의미한다. 보통 다관절로 이루어진 대상체의 각 관절의 위치의 시간에 대한 변화를 측정하여 3차원 데이터를 구성한다. 모션 캡쳐는 1990년 중반부터 상업적 모션 캡쳐 시스템이 등장함에 따라 이전에 시행되었던 애니메이션 제작 방식인 키프레임(keyframe) 애니메이션을 대체하기 시작하였다. 키프레임 애니메이션을 포함한 기존의 애니메이션 제작 방법은 사실적이고 자연스러운 3차원 동작을 만들기 위해 많은 시간이 필요하다. 대부분의 3D 모델링 소프트웨어들은 관절을 제어(위치 이동 또는 회전)하여 원하는 동작을 생성할 수 있는 기능을 제공한다. 사람과 같이 복잡한 관절 구조를 가진 캐릭터의 달리기와 같은 간단한 동작을 사실적이고 자연스럽게 되도록 생성하는 것도 상당한 시간을 요구한다. 이러한 과정은 상당히 노동집약적이며 애니메이터(animator)와 사용하는 소프트웨어에 종속적인 결과를 생성한다. 결과적으로 게임의 캐릭터 애니메이션 제작에 시간과 비용이 증가하게 되어 컨텐츠의 양적인 측면과 질적인 측면에서 부정적 효과가 발생하게 된다.
모션 캡쳐 시스템을 사용하는 애니메이션 제작 방식은 빠른 시간 내에 사실적인 동작을 구현할 수 있고 대부분의 경우 기존의 키프레임 애니메이션 방법에 비해 20% 이하의 시간 정도로 훨씬 고품질의 결과를 생성할 수 있다. 현재 많은 게임과 영화 등에서 모션 캡쳐 시스템이 사용되고 있으며 최근에는 스포츠, 의학, 로봇 공학, 무용 등의 분야에서 동작 분석을 위해 모션 캡쳐 시스템이 많이 사용되고 있다.
일반적으로 모션 캡쳐 시스템에는 동작을 감지하기 위한 센서 또는 마커(marker)를 연기자(actor)의 관절에 부착하고 각 마커의 위치를 인식할 수 있는 장치를 통하여 마커의 공간적 위치 정보(x, y, z)와 회전 정보를 추적하거나 계산한다. 모션 캡쳐 시스템은 센서와 인식 장치의 작동 방식 또는 원리에 따라 음향식(acoustic), 자기식(magnetic), 기계식(mechanical), 광학식(optical) 등으로 나눌 수 있으며 국내에서는 광학식 모션 캡쳐 시스템이 주로 사용되고 있으며 저가의 기계식 방식도 드물게 사용된다.
광학식 모션 캡쳐 시스템은 대상 물체에 빛 반사성이 좋은 마커를 붙이고 여러 대의 카메라를 통하여 마커의 위치를 추적한다. 일반적인 CCD 카메라를 사용하기도 하지만 적외선 조명과 적외선 카메라를 일반적으로 사용한다. 각각의 카메라를 통해 제공되는 마커의 2차원 위치 정보를 모션 캡쳐 소프트웨어가 3D 데이터로 계산한다. 연기자에 부착되는 마커의 크기가 작고 케이블로 연결되지 않으며 개수가 제한되지 않아 연기자가 움직임을 수행하는 동안 자유로움을 제공하며, 움직임의 아주 미세한 묘사까지도 가능하게 한다. 광학식 모션 캡춰 시스템은 다른 시스템에 비하여 넓은 범위에서 캡쳐가 가능하며 정밀한 데이터를 얻을 수 있다. 다른 모션 캡쳐 장비에 비해 고속의 데이터를 얻을 수 있고 주변 환경을 잘 구성하면 깨끗한 모션 데이터를 얻을 수 있으며 여러 물체의 동작을 동시에 캡쳐할 수 있다. 반면 광학식 시스템의 주요 단점은 마커들이 카메라들이 추적할 수 없게 가려지는 경우 데이터를 놓치는 현상이다. 이런 경우 3차원 좌표를 얻는 것이 불가능하고 이것으로 인하여 많은 사후 처리과정이 필요하게 되어 실시간 처리가 불가능하게 되거나 모션 캡쳐 과정을 더욱 복잡하게 된다.
도 1에는 종래 일반적인 광학식 모션 캡춰 시스템을 이용하여 3D 캐릭터를 모델링하는 과정이 개략적으로 도시되어 있다.
광학식 모션 캡쳐를 이용하여 3D 캐릭터를 모델링하는 방법은 모션 캡쳐 시스템과 사용 소프트웨어에 따라 약간의 차이가 있으나 일반적인 작업 과정은 도 1에 도시한 바와 같이, 모션 캡춰 대상(10)으로부터 상기에서 설명한 바와 같이 모션 캡춰데이터를 취득하고(단계 30), 모션 캡춰된 데이터를 편집하고 후처리를 한다(단계 40). 이어, 상기 단계 40에서 후처리된 모션 데이터에 특정 키값을 할당하여 모델링 대상인 캐릭터(20)에 연결한다(단계 50). 그후, 특정 키값을 할당하여 모션 데이터가 연결된 캐릭터(30)를, 예들 들면 3DS, MAX, MAYA, XSI 등과 같은 3D 모델링 도구(tool)를 이용하여 3D 캐릭터 모델링을 수행한다(단계 60).
이러한 광학식 모션 캡쳐 시스템과 이를 통한 모션 분석 시스템은 본 발명의 출원인인 (주)비솔에 의하여 개발되어 "Kwon3D"라는 이름으로 상용화되어 있다. 현재 Kwon3D의 주 적용 분야는 스포츠 분야를 위한 동작분석용으로 사용하고 있다. 즉, 3차원 동작 분석 시스템은 "Kwon3D Motion Analysis Package"와 영상 자료를 이용하여 인체를 포함한 다양한 운동체의 움직임을 정량화하고, 해석하여 운동 기술을 과학적으로 측정하기 위한 시스템이다.
그러나 아직도 3차원 운동해석 기술의 적용 결과를 현실감 있게 표현하는 부 분에서 취약점을 갖고 있어 관련 시장 다변화 및 확대에 어려움을 겪고 있는 상황이다. 따라서 상기한 모션 분석 시스템을 적절한 실시간 3차원 애니메이션 구현 기술을 적용하여 보완할 수 있도록 전용 3차원 캐릭터 구현기술의 개발이 요망되고 있는 실정이다.
상기한 모션 캡쳐 시스템(Kwon3D)은 동작을 감지하기 위한 마커를 연기자의 관절에 부착하고 다수의 CCD 카메라를 통하여 각 마커의 위치를 추적하여 마커의 공간적 위치 정보(x, y, z)와 회전 정보를 계산한다. 이렇게 계산된 3차원 좌표들은 ".ktr" 형식으로 저장되며 연기자의 운동학적 자료들을 구하기 위해 사용된다. 각 마커의 운동 궤적은 연기자의 관절의 운동 궤적과 같기 때문에 이러한 마커의 운동 궤적은 3D 그래픽 형태로 그려서 시각적으로 보일 필요가 있다. 실제적으로 원하는 운동 궤적과 연기자의 움직임을 통한 궤적은 차이가 있을 수 있으므로 원하는 운동 궤적이 추출되었는가를 확인하는 가장 좋은 방법은 시각적 그래픽을 통하여 확인하는 것이다. 마커의 위치와 마커의 운동 궤적을 3D 그래픽 형태로 그려 추출된 마커 좌표의 이상 유무나 시각적인 관찰을 한다. 그러나 현재 Kwon3D는 각 마커의 도 2와 같이 마커의 위치(관절에 해당)를 점, 사각형 또는 원의 형태로 표현하고 각 마커를 연결하는 선(뼈대에 해당)을 그려서 그래픽으로 표현하는 막대 그림(Stick Figure) 방식을 사용하고 있다. 이러한 막대 그림 방식은 관절의 움직임을 잘 표현할 수 있다. 그러나, 실제로 연기자의 동작은 관절 또는 뼈대의 움직임만 가지고 동작의 시각적인 관찰을 하기에는 현실감이 부족하며 순간적인 마커의 겹침이나 간섭 등을 파악하기 어렵다.
정확한 운동 데이터를 얻기 위해서는 실제 연기자의 체격 조건을 고려한 인체 모델을 통하여 동작의 정확성과 자연스러움을 확인해야 한다. 즉, 연기자의 뼈대 구조를 만들고 그 위에 피부를 입혀서 입체 모델을 만들어 실제 인체의 구조와 최대한 유사한 형태로 만들어서 동작을 분석할 필요성이 있다.
즉, 종래 기술에서는 모션 데이터의 표현이 막대 그림 형태이어서 현실감이 떨어지며, 실제 캐릭터 모델 데이터를 적용하지 못하여 적용 분야의 한계가 있고, 모션 데이터가 여러 상용 모델링 도구와 호환이 불가능하여 응용 범위가 제한적이라는 문제가 있다.
따라서, 본 발명은 상기한 문제점들을 해결하기 위하여 이루어진 것으로, 3D 캐릭터의 모델 데이터를 적용하여 애니메이션 구현이 가능한 컴퓨터 3D 프로그램 모듈을 개발하여, 모션 캡춰를 이용하여 취득된 모션 캡춰 데이터를 이용하여 3차원 애니메이션을 완성도 높게 구현할 수 있도록 된 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법을 제공하고자 함에 그 목적이 있다.
또한, 본 발명은 모션 데이터가 여러 상용 모델링 도구와 호환이 가능하도록 개선하는 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법을 제공하고자 함에 그 다른 목적이 있다.
상기한 목적을 달성하기 위하여 본 발명에 따른 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법은, 모션 캡춰 대상으로부터 프레임과 마커 위치, 뼈대 구 조 및 회전 정보를 포함하는 모션 캡춰 데이터를 입력받는 제1단계와; 뼈대 계층구조와 골격 구조, 메쉬 구조 및 스킨 메쉬 구조를 포함하는 3차원 모델링 모델 데이터를 입력받는 제2단계와; 상기 제1단계에 입력받은 모션 캡춰 데이터를 이용하여, 상기 제2단계에서 입력받은 3차원 모델링 데이터에 포함된 뼈대 계층 구조를 갱신하고 뼈대를 상기 프레임에 매핑하며 스킨 메쉬를 갱신하고 스킨 메쉬를 랜더링하는 제3단계를 포함하는 것을 특징으로 한다.
이하, 첨부 도면을 참조하여 본 발명의 바람직한 실시예에 따른 모션 캡춰 데이터 기반 애니메이션 구현 방법에 대하여 상세히 설명한다.
도 3은 본 발명의 바람직한 실시예에 따른 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법의 절차를 개략적으로 도시한 도면이다.
동 도면에 도시한 바와 같이, 모션 캡춰 대상(112)에서 모션 캡춰된 모션 데이터는 ".ktr" 형식의 파일로 입력된다(단계 114). 이 모션 데이터에는 프레임 정보, 각 마커의 위치(x, y, z) 정보, 뼈대 정보, 회전 정보 등의 데이터를 포함하고 있다. 그후, 단계 116에서는 상기 모션 데이터에 포함된 프레임 정보, 마커 위치 정보, 뼈대 정보, 회전 정보를 추출하여 구분하여 놓는다(단계 116).
한편, 본 실시예에서는 3D 모델은 3DS Max 형식을 기본적으로 사용하는 것을 가정한다. 3D 모델(122)은 Microsoft DirectX의 ".X" 형식으로 변환하거나 "3DS Max Script" 형식으로 변환한다(단계 124). 여기서, "3DS Max" 도구를 사용하지 않는 경우라도 "Microsoft DirectX"의 ".X" 형식으로 엑스포트(Export)할 수 있는 3D 모델링 도구는 사용할 수 있다. 모델 데이터를 "Microsoft DirectX"의 ".X" 형식으 로 변환하기 위해서는 각 모델링 도구에서 제공하는 엑스포터(Exporter)를 사용한다. ".X" 형식의 모델은 파일 형태로 제공될 수도 있고 네트워크를 통하여 제공될 수도 있다. "3DS Max" 모델링 도구의 경우에는 "Max Script"를 사용하여 모델 데이터를 엑스포트할 수 있다.
개발된 그래픽 모듈은 3D 모델을 로드하기 위해 다음의 기능을 제공한다. 즉, 1) "Microsoft DirectX"의 ".X" 형식 모델 로드 기능과, 2) ".X Parser Class - CXParser.X"에서 메쉬(Mesh) 로드기능과, 3) ".X"에서 스킨 메쉬(Skinned Mesh) 로드 기능과, 4) ".X"에서 프레임 계층구조(Frame Hierarchies) 로드 - "CXFrameParser" 기능과, 5) ".X"에서 애니메이션(Animation) 로드 기능과, 6) "Max Script"형식 모델 로드 기능과, 7) "Max Script ExporterMax Script" 로드 기능을 제공한다.
다음으로 뼈대 애니메이션에 대하여 도 4에 도시한 뼈대 구조의 예와 도 5에 도시한 프레임 계층 구조의 예를 참조하여 설명한다.
상기 단계 124에서 변환된 3D 모델 데이터에서 뼈대 계층 구조와 골격 구조, 메쉬 데이터 및 스킨 메쉬를 로드한다(단계 126).
뼈대 애니메이션에서 다루어야 할 두 가지는 뼈대 구조(Skeletal Structure)와 스킨 메쉬(Skinned Mesh)이다. 애니메이션에서 뼈대 구조는 계층구조를 형성하는 연결된 일련의 뼈대 또는 뼈(Bone)들이다. 루트 뼈(Root bone)는 하나의 뼈가 전체 뼈대 구조의 회전 중심을 형성한다. 다른 뼈대들은 루트 뼈에 자식 또는 형제 뼈대로 부착된다. 일반적으로 뼈대 구조를 생성하기 위해 3D 모델링 도구를 사용하 고 ".X" 형식으로 뼈대의 계층구조를 엑스포트한다. 이렇게 주어진 뼈대 구조를 로드하여 프레임 계층구조로 표현한다. 이러한 프레임 계층구조에 내재되어 있는 표준 메쉬(Mesh) 데이터를 찾는다. 메쉬 데이터는 뼈대 애니메이션 객체에 대한 정보와 뼈대 구조에서 사용되는 뼈대들에 대한 정보를 포함한다. 프레임 객체는 실제 계층구조를 정의하고 메쉬 객체는 어떤 프레임이 뼈대를 나타내는가를 정의한다.
".X"에서 계층구조를 로드하기 위해 "D3DXFRAME_EX" 구조를 사용한다. 이 구조는 프레임 계층구조를 생성하기 위한 "pFrameFirstChild"와 "pFrameSibling" 포인터를 포함한다. 이 두 개의 포인터를 사용하여 ".X"에서 로드하는 각 프레임을 연결한다. 루트 프레임 객체에서 시작하여 ".X" 파일의 모든 데이터 객체에 대하여 다음과 같이 반복한다. 프레임 객체를 만나면 그것을 이전 프레임의 형제 또는 자식 중 하나에 연결한다. 프레임 변환 행렬은 뼈대 구조의 초기 자세를 정의한다. 표준적인 구조는 양팔을 펴고 똑바로 서있는 자세이다. 마커의 위치 정보와 뼈대의 회전 정보를 사용하여 이 프레임 변환 행렬을 변경함으로써 뼈대를 움직일 수 있다.
뼈대 계층구조를 로드한 다음에 뼈대의 방향을 변경하기 위해, 특정한 뼈대 이름에 대한 프레임을 탐색하여 뼈대의 변환 행렬을 변경한다. 뼈대의 변환 행렬을 변경하면, 랜더링을 위해 사용할 수 있도록 전체 계층구조를 갱신할 필요가 있다. 계층구조 갱신 동안 각각의 연속적인 변환을 계층구조를 따라 결합해야 한다. 루트에서 시작해서 뼈대의 변환 행렬을 프레임의 결합 변환 행렬에 적용한다. 뼈대의 변환 행렬은 결합되어야 할 루트의 형제들에게도 역시 적용된다. 거기에서 방금 계 산된 결합 변환 행렬은 루트의 각 자식에게 적용된다. 이 과정은 계층구조 전체에 재귀적으로 적용된다. 도 6은 계층구조의 결합 변환 행렬의 적용 예이다.
다음으로 단계 130에서 뼈대 계층 구조를 갱신하고, 뼈대를 프레임에 매핑하며, 스킨 메쉬(Skinned Mesh)를 갱신하고 스킨 메쉬를 랜더링한다.
상기 스킨 메쉬는 뼈대 구조의 방향에 따라 형태를 변형한다. 뼈대가 뒤틀리고 회전하면 메쉬의 정점들도 같이 움직인다. 각 정점은 하나의 뼈대에 연결된다. 하나의 뼈대가 움직이면 그 뼈대에 부착된 정점들이 따라서 움직인다. 그러나 하나의 뼈대 이상에 연결된 정점(Couple vertex)들이 있다. 정점이 부착된 뼈대들의 하나가 움직일 때마다 그 정점은 그 움직임의 정점 가중치(Vertex weight, Skin weight) 비율만큼 상속받는다. 스킨 메쉬의 각 정점은 그 정점이 부착된 뼈대마다 하나의 정점 가중치가 설정된다. 그 가중치는 하나의 뼈대에만 부착된 정점들에 대하여 1.0의 값을 갖는다. 가중치는 여러 개의 뼈대들에 부착된 정점들에 대하여 뼈대의 수만큼 분할된다. 보통 각 뼈대에서의 정점 거리에 따라 달라진다. 특정한 뼈대가 특정한 정점들에 영향을 미칠 수 있도록 함으로써 피부가 주름지거나, 근육이 뭉쳐지거나 하는 효과를 실시간으로 나타낼 수 있다. 스킨 메쉬로 사용할 메쉬와 가중치를 로드한 후에 정점들을 뼈대들의 방향에 일치되도록 다음 과정으로 변환한다.
1) 모든 정점들에 대하여 다음 단계를 반복한다.
2) 현재 정점이 연결된 각 뼈대들에 대하여 뼈대 변환 행렬을 가져온다.
3) 각 뼈대 변환 행렬에 대하여, 그 그 정점의 가중치를 행렬에 곱하고 그 결과를 그 정점의 결합 변환에 적용한다.
4) 연결된 각 뼈대에 대하여 단계 3을 반복하고 각 정점에 대하여 단계 2에서 단계 4까지 반복한다. 완료되면, 결합된 변환 행렬을 각 정점에 적용한다.
뼈대 구조의 각 뼈대에 대하여, 하나의 스킨 가중치(SkinWeight) 자료구조가 있다. 스킨 가중치 자료구조에는 뼈대의 이름, 뼈대에 부착된 정점의 수 등의 정보가 있다. 스킨 메쉬 헤더는 메쉬의 각 정점이 연결될 수 있는 뼈대들의 수를 결정한다.
스킨 메쉬를 로드하는 것은 일반적인 메쉬를 로드하는 것과 유사하다. ".X" 파서를 사용하여 ".X" 파일 객체를 나열해야 한다. 메쉬 객체를 처리할 때, 메쉬 데이터를 로드하기 위해 "D3DXLoadSkinMeshFromXof" 함수를 호출한다.
다음으로 뼈대를 프레임에 매핑하는 것에 대하여 설명한다.
뼈대 구조의 각 뼈대에 대하여, 하나의 Frame 객체의 이름을 포함하는 Mesh 객체에 내재된 SkinWeight 객체가 있다. 스킨 메쉬를 로드한 후에, 각 뼈대를 대응되는 프레임에 연결할 필요가 있다. 모든 뼈대에 대하여 반복하면서, 각 뼈대의 이름에 일치하는 프레임의 리스트를 찾는다. 일치하는 각 프레임 포인터를 저장한다. 뼈대-매핑 데이터를 다음의 자료구조에 저장한다.
struct D3DXMESHCONTAINER_EX : D3DXMESHCONTAINER
{
IDirect3DTexture9 **pTextures;
ID3DXMesh *pSkinMesh;
D3DXMATRIX **ppFrameMatrices;
D3DXMATRIX **ppBoneMatrices;
}
배열 "ppBoneMatrices"는 뼈대 계층구조로부터의 변환을 포함한다. 하나의 변환 행렬은 적당한 뼈대에 속한 각 정점에 적용된다. "ppFrameMatrices"는 각 뼈대 변환 행렬에 대한 포인터이다. 이 포인터들을 사용하여 각 뼈대 변환을 이끌어 내고 스킨 메쉬를 갱신하기 위해 사용한다. 스킨 메쉬를 로드한 후에 각 뼈대 이름에 대하여 스킨 메쉬 정보 객체를 쿼리함으로써 각 뼈대 변환에 포인터를 설정할 수 있다. 그 포인터를 사용하여 일치하는 프레임의 리스트를 스캔할 수 있다. 일치하는 각 뼈대에 대하여 포인터를 그 프레임의 변환 행렬로 지정한다. 모든 뼈대와 프레임이 일치하면, 전체 리스트에 대하여 반복하면서 "ppBoneMatrices" 배열에 변환 행렬을 복사한다.
다음으로 스킨 메쉬 갱신에 대하여 설명한다.
뼈대 구조가 원하는 자세로 되었을 때 스킨 메쉬를 일치하도록 변경한다. 프레임에서 메쉬 컨테이너에 저장된 행렬의 배열 "ppBoneMatrices"로 변환을 복사한다. 그리고 뼈대의 역변환과 그 변환을 결합해야 한다. 역변환은 실제 변환을 적용하기 전에 메쉬의 정점들을 메쉬의 원점으로 이동한다. 회전 행렬은 정점들을 원점에 대하여 회전하기 때문에 변환을 적용하기 전에 정점들을 메쉬의 원점에 대하여 이동한다. 어떤 뼈대에 속한 한 정점을 회전하려고 하면 그 정점은 뼈대의 관절이 아니라 메쉬의 원점에 대하여 회전해야 한다. 정점들을 메쉬의 중심으로 이동한 후 에 변환을 적용하고 위치로 이동된다. 보통 이 역 뼈대 변환은 메쉬를 생성한 3D 모델러에 의해 ".X" 파일에 저장된다.
최종적으로 스킨 메쉬를 갱신한 후에 메쉬를 랜더링한다. 각 재질을 반복하면서 재질과 텍스쳐를 설정하고 "ID3DXMesh::DrawSubset" 함수를 호출하여 랜더링을 한다. 이러한 과정을 거쳐서 최종적인 3d 애니메이션(140)이 완성되게 된다.
이에 따라 모션 캡춰 데이터를 기반으로 하여 구현된 3차원 애니메이션의 일예가 도 7에 도시되어 있다.
한편, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 여러가지로 변형 및 수정하여 실시할 수 있는 것이다. 이러한 변형 및 수정이 첨부되는 특허청구범위에 포함되는 것이라면 본 발명에 속는 것이라는 것은 자명한 것이다.
이상 설명한 바와 같이 본 발명에 의하면, 3차원 좌표값을 얻을 수 있는 3차원 동작분석 프로그램으로부터 얻어낸 데이터는 3D 모델링 그래픽 프로그램(Maya, 3D Max 등)을 이용하여 애니메이션 캐릭터 제작에 사용될 수 있고 실시간 동작 분석, 게임, 애니메이션 제작과 같은 다양한 분야에 적용될 수 있다.
Claims (2)
- 모션 캡춰 대상으로부터 프레임과 마커 위치, 뼈대 구조 및 회전 정보를 포함하는 모션 캡춰 데이터를 입력받는 제1단계와;뼈대 계층구조와 골격 구조, 메쉬 구조 및 스킨 메쉬 구조를 포함하는 3D 모델링 모델 데이터를 입력받는 제2단계와;상기 제1단계에 입력받은 모션 캡춰 데이터를 이용하여, 상기 제2단계에서 입력받은 3차원 모델링 데이터에 포함된 뼈대 계층 구조를 갱신하고 뼈대를 상기 프레임에 매핑하며 스킨 메쉬를 갱신하고 스킨 메쉬를 랜더링하는 제3단계를 포함하는 것을 특징으로 하는 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법.
- 제1항에 있어서,상기 제3단계에서는 상기 3차원 모델 데이터에 포함된 뼈대 계층 구조를 로드하고 이 로드된 뼈대 계층 구조를 상기 모션 캡춰 데이터에 포함된 뼈대 구조를 이용하여 갱신하고, 상기 3차원 모델 데이터에 포함된 뼈대 계층 구조와 골격 구조를 상기 모션 캡춰 데이터에 포함된 프레임에 맵핑시키며, 상기 3차원 모델 데이터에 포함된 메쉬데이터와 스킨 메쉬를 로드하고 상기 모션 캡춰 데이터에 포함된 마커위치 및 뼈대 위치를 이용하여 상기 스킨 메쉬를 갱신하고 랜더링하는 것을 특징으로 하는 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060054120A KR100782974B1 (ko) | 2006-06-16 | 2006-06-16 | 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060054120A KR100782974B1 (ko) | 2006-06-16 | 2006-06-16 | 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100782974B1 true KR100782974B1 (ko) | 2007-12-11 |
Family
ID=39139905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060054120A KR100782974B1 (ko) | 2006-06-16 | 2006-06-16 | 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100782974B1 (ko) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100860375B1 (ko) | 2006-12-05 | 2008-09-25 | 한국전자통신연구원 | 캐릭터 애니메이션과 메쉬 변형을 이용한 카툰 애니메이션제작 방법 및 시스템 |
US8712146B2 (en) | 2008-12-22 | 2014-04-29 | Electronics And Telecommunications Research Institute | Method of creating animatable digital clone from multi-view images |
KR101496440B1 (ko) | 2013-11-01 | 2015-02-27 | 한국과학기술연구원 | 임의로 입력된 객체의 자동 애니메이션 방법 및 장치 |
KR20150089980A (ko) * | 2015-07-09 | 2015-08-05 | 중앙대학교 산학협력단 | 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스 |
KR101665072B1 (ko) | 2015-04-28 | 2016-10-12 | 건국대학교 글로컬산학협력단 | 관절 각도 측정 유닛과 이를 구비한 관절 각도 측정 시스템 |
KR20160142744A (ko) * | 2015-06-03 | 2016-12-13 | 재단법인 실감교류인체감응솔루션연구단 | 아바타 동작 생성 방법 및 장치 |
WO2017014434A1 (ko) * | 2015-07-23 | 2017-01-26 | (주)솔리드이엔지 | 의료 보조기 제작 시스템 및 방법 |
KR101707203B1 (ko) * | 2015-09-04 | 2017-02-15 | 주식회사 씨지픽셀스튜디오 | 관절 회전값 적용기반 컴퓨터 그래픽 캐릭터 애니메이션 파일의 변환방법 |
US10467791B2 (en) | 2016-12-13 | 2019-11-05 | Korea Advanced Institute Of Science And Technology | Motion edit method and apparatus for articulated object |
CN111243067A (zh) * | 2020-01-10 | 2020-06-05 | 安徽五峰杰传媒科技有限公司 | 高沉浸交互式动作内容生产方法 |
CN111429553A (zh) * | 2020-04-22 | 2020-07-17 | 同济大学建筑设计研究院(集团)有限公司 | 动画预览方法、装置、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030056294A (ko) * | 2001-12-28 | 2003-07-04 | 한국전자통신연구원 | 3차원 캐릭터 애니메이션 제작 방법 및 시스템 |
KR20060040315A (ko) * | 2004-11-05 | 2006-05-10 | 한국전자통신연구원 | 디지털 캐릭터 생성 장치 및 그 방법 |
-
2006
- 2006-06-16 KR KR1020060054120A patent/KR100782974B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030056294A (ko) * | 2001-12-28 | 2003-07-04 | 한국전자통신연구원 | 3차원 캐릭터 애니메이션 제작 방법 및 시스템 |
KR20060040315A (ko) * | 2004-11-05 | 2006-05-10 | 한국전자통신연구원 | 디지털 캐릭터 생성 장치 및 그 방법 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100860375B1 (ko) | 2006-12-05 | 2008-09-25 | 한국전자통신연구원 | 캐릭터 애니메이션과 메쉬 변형을 이용한 카툰 애니메이션제작 방법 및 시스템 |
US8712146B2 (en) | 2008-12-22 | 2014-04-29 | Electronics And Telecommunications Research Institute | Method of creating animatable digital clone from multi-view images |
KR101496440B1 (ko) | 2013-11-01 | 2015-02-27 | 한국과학기술연구원 | 임의로 입력된 객체의 자동 애니메이션 방법 및 장치 |
KR101665072B1 (ko) | 2015-04-28 | 2016-10-12 | 건국대학교 글로컬산학협력단 | 관절 각도 측정 유닛과 이를 구비한 관절 각도 측정 시스템 |
KR20160142744A (ko) * | 2015-06-03 | 2016-12-13 | 재단법인 실감교류인체감응솔루션연구단 | 아바타 동작 생성 방법 및 장치 |
KR101699930B1 (ko) * | 2015-06-03 | 2017-01-25 | 재단법인 실감교류인체감응솔루션연구단 | 아바타 동작 생성 방법 및 장치 |
KR20150089980A (ko) * | 2015-07-09 | 2015-08-05 | 중앙대학교 산학협력단 | 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스 |
KR101597940B1 (ko) * | 2015-07-09 | 2016-02-26 | 중앙대학교 산학협력단 | 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스 |
WO2017014434A1 (ko) * | 2015-07-23 | 2017-01-26 | (주)솔리드이엔지 | 의료 보조기 제작 시스템 및 방법 |
KR101707203B1 (ko) * | 2015-09-04 | 2017-02-15 | 주식회사 씨지픽셀스튜디오 | 관절 회전값 적용기반 컴퓨터 그래픽 캐릭터 애니메이션 파일의 변환방법 |
US10467791B2 (en) | 2016-12-13 | 2019-11-05 | Korea Advanced Institute Of Science And Technology | Motion edit method and apparatus for articulated object |
CN111243067A (zh) * | 2020-01-10 | 2020-06-05 | 安徽五峰杰传媒科技有限公司 | 高沉浸交互式动作内容生产方法 |
CN111429553A (zh) * | 2020-04-22 | 2020-07-17 | 同济大学建筑设计研究院(集团)有限公司 | 动画预览方法、装置、计算机设备和存储介质 |
CN111429553B (zh) * | 2020-04-22 | 2024-03-29 | 同济大学建筑设计研究院(集团)有限公司 | 动画预览方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100782974B1 (ko) | 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법 | |
Zhao | A survey on virtual reality | |
US6400368B1 (en) | System and method for constructing and using generalized skeletons for animation models | |
Magnenat-Thalmann | Modeling and simulating bodies and garments | |
Jain et al. | Three-dimensional proxies for hand-drawn characters | |
CN112530005A (zh) | 一种三维模型直线结构识别与自动修复方法 | |
Qinping | A survey on virtual reality | |
Mattos et al. | 3D linear facial animation based on real data | |
US20220028144A1 (en) | Methods and systems for generating an animation control rig | |
Xia et al. | Recent advances on virtual human synthesis | |
Yang et al. | Automatic muscle generation for character skin deformation | |
Noor et al. | Review on 3d facial animation techniques | |
Nurindiyani et al. | Motion Modeling of Traditional Javanese Dance: Introduction of Javanese Dancer Gesture with 3D Models | |
Maxwell | Graphical marionette: a modern-day Pinocchio | |
Di Giacomo et al. | Towards Automatic Character Skeletonization and Interactive Skin Deformation. | |
US11715249B2 (en) | Hierarchies to generate animation control rigs | |
Di Giacomo et al. | Control structure and multi-resolution techniques for virtual human representation | |
Ding | 3D Animation of a Human Body Reconstructed from a Single Photograph | |
Mazany et al. | Articulated 3D human model and its animation for testing and learning algorithms of multi-camera systems | |
Human | Vosinakis Spyridon September 2000 | |
Nedel | Simulating virtual humans | |
Maad et al. | Geometric Modelling of Moving Virtual Humans: A Survey of Various Practices | |
Wang et al. | Animation Design Based on Anatomically Constrained Neural Networks | |
Balet et al. | The VISIONS project | |
Zhang | Research on Simulation and Reconstruction of Digital Sculpture 3D Models Based on Deep Learning Algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121205 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131021 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20141125 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20151127 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20191209 Year of fee payment: 13 |