KR20150075909A - 3차원 캐릭터 동작 편집방법 및 그 장치 - Google Patents

3차원 캐릭터 동작 편집방법 및 그 장치 Download PDF

Info

Publication number
KR20150075909A
KR20150075909A KR1020130164323A KR20130164323A KR20150075909A KR 20150075909 A KR20150075909 A KR 20150075909A KR 1020130164323 A KR1020130164323 A KR 1020130164323A KR 20130164323 A KR20130164323 A KR 20130164323A KR 20150075909 A KR20150075909 A KR 20150075909A
Authority
KR
South Korea
Prior art keywords
joint
correlation
joints
freedom
user
Prior art date
Application number
KR1020130164323A
Other languages
English (en)
Inventor
김예진
김명규
백성민
김종성
정일권
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020130164323A priority Critical patent/KR20150075909A/ko
Priority to US14/583,434 priority patent/US20150187114A1/en
Publication of KR20150075909A publication Critical patent/KR20150075909A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings

Abstract

3차원 캐릭터 동작 편집방법 및 그 장치가 개시된다. 본 발명의 일 실시 예에 따른 3차원 캐릭터 동작 편집방법은, 다수의 샘플 동작으로부터 관절 자유도 간 상관관계를 분석하는 단계와, 사용자로부터 입력받은 3차원 캐릭터 동작을 편집하여 사용자가 원하는 새로운 캐릭터 동작을 생성하되, 사용자의 대표 관절 조작 시에 분석된 관절 자유도 간 상관관계를 이용하여 다른 관절들의 위치를 변형하여 새로운 캐릭터 동작을 생성하는 단계를 포함한다.

Description

3차원 캐릭터 동작 편집방법 및 그 장치 {Method and apparatus for editing 3D character motion}
본 발명은 콘텐츠 제작 및 편집 기술에 관한 것으로, 보다 상세하게는 3차원 가상 캐릭터 제작 및 편집 기술에 관한 것이다.
다수의 관절(joint)로 연결된 3차원 가상 캐릭터의 동작(motion)을 편집하여 사용자가 원하는 스타일(style)의 새로운 캐릭터 애니메이션을 생성할 수 있다. 그 방법 중 하나로 키 프레임 애니메이션(key-frame animation)이 있다. 해당 방식은 사용자가 전체 프레임에서 키(key)가 되는 프레임을 편집하면, 키 프레임(key frame) 사이의 중간 프레임(in-between frame)은 시스템이 자동으로 보간(interpolation)하여 최종 애니메이션을 생성하는 방식이다. 따라서, 사용자가 원하는 스타일의 동작을 애니메이션 내용에 반영하기 위해서는, 키 프레임에 포함된 캐릭터의 자세(posture)를 변형한 후 애니메이션 시퀀스(sequence)의 시간 상 위치를 지정해줘야 한다.
키 프레임 방식의 대표적인 동작 편집 소프트웨어는 미국 Autodesk 사의 Maya, 3ds Max, Softimage 등이 있다. 상용 제품에서는 3차원 캐릭터 모델의 자세를 변형하기 위해서, 각 관절의 자유도마다 이동(translation) 및 회전(rotation) 채널(channel)을 제공하여 자세를 변형함에 따라 편집의 융통성(flexibility)은 높였으나, 변형된 자세의 자연스러움이나 물리적 타당성(physical validity)을 자동적으로 교정해 주지는 않는다. 특히, 수동적으로 모든 자유도를 조절하는 방식으로 원하는 스타일의 동작을 생성하기 위해서는 생체 역학적(inverse kinematics)으로 동작과 자세를 분석하고 이해할 수 있는 전문성이 필요하므로, 일반 사용자가 고품질의 동작을 생성하기는 매우 어렵다.
일 실시 예에 따라, 키 프레임 애니메이션 방식으로 3차원 캐릭터 동작을 편집할 때 일반 사용자가 쉽고 빠르게 캐릭터 동작을 편집하여 사용자가 원하는 스타일의 새로운 캐릭터 애니메이션을 생성할 수 있는 3차원 캐릭터 동작 편집방법 및 그 장치를 제안한다.
일 실시 예에 따른 3차원 캐릭터 동작 편집방법은, 다수의 샘플 동작으로부터 관절 자유도 간 상관관계를 분석하는 단계와, 사용자로부터 입력받은 3차원 캐릭터 동작을 편집하여 사용자가 원하는 새로운 캐릭터 동작을 생성하되, 사용자의 대표 관절 조작 시에 분석된 관절 자유도 간 상관관계를 이용하여 다른 관절들의 위치를 변형하여 새로운 캐릭터 동작을 생성하는 단계를 포함한다.
다른 실시 예에 따른 3차원 캐릭터 동작 편집장치는, 사용자로부터 3차원 캐릭터 동작을 입력받는 입력부와, 다수의 샘플 동작이 저장되는 데이터베이스와, 데이터베이스에 저장된 다수의 샘플 동작으로부터 관절 자유도 간 상관관계를 분석하고, 사용자로부터 입력받은 동작을 대상으로 사용자의 대표 관절 조작 시에 분석된 관절 자유도 간 상관관계를 이용하여 다른 관절들의 위치를 변형하여 새로운 캐릭터 동작을 생성하는 제어부를 포함한다.
일 실시 예에 따르면, 3차원 캐릭터 동작 형태의 입력 동작을 편집하여 사용자가 원하는 스타일의 새로운 캐릭터 동작을 생성할 때, 사용자가 소정의 대표관절만을 조작하면, 대표관절과 상관관계가 있는 다수의 관절을 동시에 조절할 수 있다. 이에 따라, 캐릭터 자세 변형에 경험이 적은 일반 사용자도 동작 분석이나 편집에 대한 전문지식 없이도 입력 동작을 쉽게 편집할 수 있다.
나아가, 소정의 대표관절만으로 입력 동작을 변형하기 때문에, 캐릭터 동작 편집시 다수의 자유도를 반복적으로 조절할 필요가 없으므로 편집 시간을 크게 단축할 수 있다. 더 나아가, 동작 데이터에 존재하는 물리적 타당성을 편집 과정에 적용함에 따라 변형된 동작을 자연스럽게 표현할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 3차원 캐릭터의 주요관절 위치와 사용자가 3차원 캐릭터 편집에 사용할 수 있는 대표 관절(key joint)의 예를 도시한 참조도,
도 2는 본 발명의 일 실시 예에 따른 3차원 캐릭터 동작 편집방법을 도시한 흐름도,
도 3은 본 발명의 일 실시 예에 따른 도 2의 새로운 캐릭터 동작 생성 단계의 세부 프로세스를 도시한 흐름도,
도 4는 본 발명의 일 실시 예에 따른 도 2의 샘플 동작의 관절 자유도 간 상관관계 분석 단계를 통해 샘플 동작에서 추출한 키 프레임 간의 비교 및 자세 그룹화 예를 도시한 참조도,
도 5는 본 발명의 일 실시 예에 따른 도 3의 물리적 향상 단계의 실시 예를 도시한 참조도,
도 6은 본 발명의 일 실시 예에 따른 3차원 캐릭터 동작 편집장치의 구성도이다.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시 예에 따른 3차원 캐릭터의 주요관절 위치와 사용자가 3차원 캐릭터 편집에 사용할 수 있는 대표 관절(key joint)의 예를 도시한 참조도이다.
도 1을 참조하면, 3차원 캐릭터는 다수의 관절(joint)로 이루어진다. 주요 관절들을 예를 들면, 도 1에 도시된 바와 같이 루트(root) 관절에서 시작해서 머리(head) 관절, 손(hand) 관절, 발(foot) 관절 등의 하위 관절로 연결(articulated)되어 있다. 3차원 캐릭터의 관절은, 루트 관절을 제외한 각 관절이 x, y, z축을 기점으로 1개 이상의 회전 자유도(Degree of Freedom: DoF)를 가진다. 따라서, 자세 편집에 사용될 수 있는 전체 자유도는 3·(루트를 제외한 전체 관절 수) + 6이다. 여기서 6은 루트 관절의 x, y, z축의 이동 및 회전 자유도 값이다.
본 발명은 사용자로부터 입력받은 3차원 캐릭터의 동작(이하 '입력 동작'이라 칭함)을 대상으로 키 프레임 애니메이션(key-frame animation) 방식을 이용하여 사용자가 원하는 스타일의 새로운 캐릭터 애니메이션을 생성하는 기술에 관한 것이다. 키 프레임 애니메이션 방식은 사용자가 입력 동작에서 키(key)가 되는 키 프레임(key frame)을 편집하면, 키 프레임 사이의 중간 프레임(in-between frame)은 편집장치가 자동으로 보간(interpolation)하여 최종 애니메이션을 생성하는 방식이다. 이때, 사용자가 편집하는 입력 동작은 몸짓이나 이족보행과 같이 상관관계가 연속적이고 규칙적인 동작이 아니라, 동작 간 상관관계가 비연속적이고 불규칙적인 퍼포먼스 동작일 수 있다.
본 발명은 자연스럽고 사실적인 3차원 캐릭터 동작을 생성하기 위한 사용자 조작 기술을 제안한다. 특히, 전문가가 아닌, 캐릭터 자세 변형에 경험이 적은 일반 사용자가 쉽게 캐릭터 동작을 편집할 수 있는 기술을 제안한다. 이를 위해, 본 발명은 사용자가 특정 관절만을 조작하면, 관절 간의 상관관계를 이용하여 다른 관절을 자동으로 변형함에 따라 사용자가 쉽고 간단하게 편집할 수 있도록 한다. 또한, 특정 관절 조작만으로도 입력동작을 변형할 수 있기 때문에, 사용자가 원하는 스타일과 연관된 관절 자유도를 모두 반복적으로 조절할 필요가 없어서 편집 시간을 단축할 수 있다.
사용자가 조작하는 특정 관절은 대표 관절(key joint)이고, 다른 관절은 대표 관절에 영향을 받는 중간 관절일 수 있다. 대표 관절은 미리 지정될 수 있는데, 캐릭터가 특정 자세를 취할 때 중요한 역할을 하는 관절들을 대표 관절로 지정할 수 있다. 예를 들어 도 1에 도시된 바와 같이, 대표 관절은 3차원 캐릭터의 목(neck) 관절, 손목(wrist) 관절, 발목(ankle) 관절 및 루트(root) 관절 중 적어도 하나일 수 있다. 이때, 대표 관절의 위치를 입력 변수(input parameter)로 사용한다. 또한 대표 관절은 사용자로부터 설정받아 사용자에 의해 조작될 수도 있다.
전술한 편집 기술을 통해, 사용자의 특정 관절 조작만으로도 입력 동작을 변형하여 사용자가 원하는 스타일의 새로운 캐릭터 동작으로 쉽고 빠르게 편집할 수 있다. 해당 기술은 3차원 캐릭터의 동작을 편집하여 새로운 애니메이션을 생성하는 모든 콘텐츠(contents) 분야에 적용이 가능하다. 이하 후술되는 도면들을 참조로 하여 본 발명의 쉽고 빠른 3차원 캐릭터 동작 편집 기술에 대해 상세히 후술한다.
도 2는 본 발명의 일 실시 예에 따른 3차원 캐릭터 동작 편집방법을 도시한 흐름도이다.
도 2를 참조하면, 일 실시 예에 따른 3차원 캐릭터 동작 편집장치(이하 '편집장치'라 칭함)는 샘플 동작들로부터 관절 자유도 간 상관관계를 분석(DoF correlation analysis)한다(200). 샘플 동작들은 예제 동작들로서, 데이터베이스에 저장되어 있을 수 있다. 이때, 편집장치는 데이터베이스에서 샘플 동작들을 읽어와 관절 자유도 간 상관관계를 분석할 수 있다. 데이터베이스는 편집장치 내부에 메모리 형태로 위치할 수도 있고, 편집장치와는 별도로 분리된 서버 형태일 수도 있다. 이 경우, 편집장치는 웹을 이용하여 데이터베이스에 접속할 수 있다. 주어진 샘플 동작으로부터 분석한 관절 자유도 간 상관관계는 추후 사용자가 입력 동작을 변형하여 새로운 스타일의 동작 애니메이션을 생성하는 데 이용된다.
일 실시 예에 따른 편집장치는, 샘플 동작들 각각에서 키(key)가 되는 키 프레임(key frame)들을 추출한다. 이때, 대표 관절의 위치 및 이동속도 값의 제로 크로싱(zero-crossing) 정보를 이용하여 키 프레임들을 추출할 수 있으나, 추출 방법은 이에 한정되지는 않는다. 그리고, 추출된 각 샘플 동작의 키 프레임들 간 비교를 통해 키 프레임들 간에 서로 대응되는 자세들을 하나의 자세 그룹(posture group)으로 그룹화(grouping)한다. 여기서, 루트 관절을 중심으로 하는 각 관절의 로컬 좌표(local coordinate)를 각 샘플 동작의 키 프레임 간에 비교하여 키 프레임들 간에 서로 대응되는 자세들을 하나의 자세 그룹으로 그룹화할 수 있다. 샘플 동작의 관절 자유도 간 상관관계 분석 단계(200)를 통해 샘플 동작에서 추출한 키 프레임 간의 비교 및 자세 그룹화에 대한 실시 예는 도 4를 참조로 하여 후술한다.
일 실시 예에 따른 편집장치는, 각 자세 그룹에 포함된 중간 관절들을 대상으로 대표 관절과의 상관관계를 계산한다. 이때, 순위 상관(rank correlation) 방식을 이용하여 중간 관절들에 대한 대표 관절과의 상관관계를 상관 계수 값(correlation coefficient)으로 표현할 수 있다.
이어서, 편집장치는 사용자로부터 3차원 캐릭터 형태의 입력 동작을 입력받는다(210). 그리고, 편집장치는 입력 동작을 편집하여 사용자가 원하는 새로운 캐릭터 동작을 생성한다(220). 이때, 사용자가 입력 동작의 대표 관절을 조작하면, 관절 자유도 간 상관관계를 이용하여 다른 관절들의 위치를 변형하여 새로운 캐릭터 동작을 생성한다. 대표 관절은 3차원 캐릭터의 목 관절, 손목 관절, 발목 관절 및 루트 관절 중 적어도 하나로 지정될 수 있다. 또는 대표 관절은 사용자로부터 설정받을 수 있다. 일 실시 예에 따른 새로운 캐릭터 동작 생성 단계(220)의 세부 프로세스는 도 3을 참조로 후술한다.
도 3은 본 발명의 일 실시 예에 따른 도 2의 새로운 캐릭터 동작 생성 단계(220)의 세부 프로세스를 도시한 흐름도이다.
도 3을 참조하면, 새로운 캐릭터 동작 생성 단계(220)에서, 일 실시 예에 따른 편집장치는 입력 동작의 관절 자유도 간 상관관계를 분석한다(2220). 이때, 입력 동작에서 적어도 하나의 키 프레임을 추출하고, 추출된 키 프레임을 대상으로 관절 자유도 간 상관관계를 분석할 수 있다.
입력 동작은 다수의 프레임으로 구성되는데, 예를 들어 30fps(frames per second) 이상으로 구성된다. 따라서, 모든 프레임을 사용자가 일일이 변형하여 애니메이션을 생성하기는 쉽지 않다. 일 실시 예에 따른 편집장치는 입력 동작에서 키(key)가 되는 키 프레임을 추출한다. 이 경우, 추출한 키 프레임에 포함된 자세만 편집하면 그 사이의 중간 프레임들은 보간 되어 편집된 자세들이 동작으로 복원된다.
이어서, 편집 장치는 입력 동작의 관절 자유도 상관관계 분석 단계(2220)에서 분석된 입력 동작의 관절 자유도 간 상관관계를, 샘플 동작의 관절 자유도 간 상관관계 분석 단계(도 2의 200)에서 분석된 샘플 동작의 관절 자유도 간 상관관계와 매핑(DoF correlation mapping)한다(2222).
일 실시 예에 따른 편집장치는, 샘플동작의 관절 자유도 간 상관관계 분석 단계(도 2의 200)를 통해 대표 관절의 영향을 받는 중간 관절의 상관관계를 찾은 후에, 매핑 단계(2222)에서, 입력 동작의 관절 자유도 간 상관관계 분석 단계(2220)에서 획득된 키 프레임과, 샘플 동작의 관절 자유도 간 상관관계 분석 단계(도 2의 200)에서 획득된 키 프레임을 비교하여, 서로 자세가 대응되는 키 프레임들을 동일한 자세 그룹으로 그룹화한다. 즉, 샘플동작의 관절 자유도 간 상관관계 분석 단계(도 2의 200)에서 그룹화된 자세 그룹과 비교하여, 대응되는 자세를 동일한 그룹에 포함시킨다.
이어서, 사용자가 대표 관절을 조작하면, 매핑 단계(2222)에서 매핑된 관절 자유도 간 상관관계를 이용하여 다른 관절들의 위치를 변형하면서 사용자가 원하는 동작을 복원(motion reconstruction)한다(2224).
동작 복원 단계(2224)에서, 일 실시 예에 따른 편집장치는 입력 동작의 키 프레임을 대상으로 사용자에 의해 대표 관절의 위치를 조작 받는다. 대표 관절의 위치 조작은 사용자가 원하는 스타일의 자세가 나올 때까지 반복적으로 수행될 수 있다. 사용자의 대표 관절 조작에 따라, 편집장치는 대표 관절과의 상관관계를 이용하여 중간 관절의 위치를 조정한다. 다른 관절의 위치 조정 시에, 자세 그룹에 포함된 관절들의 배치(configuration) 형태에 따라 중간 관절의 위치를 조정할 수 있다. 이때, 입력 동작을 대상으로 자세 그룹에 포함된 자세 범위 내에 한정하여 유사하도록 중간 관절의 위치를 조정하게 된다.
동작 복원 단계(2224)에서, 일 실시 예에 따른 편집장치는 사용자가 대표 관절의 위치를 변경하면, 샘플 동작의 관절 자유도 간 상관관계 분석(도 2의 2000)에서 측정된 상관 계수 값을 이용하여 대표 관절의 영향을 받는 중간 관절들을 역 운동학 방법을 통해 동시에 조작한다. 이때, 중간 관절들의 변경 위치는 자세 그룹에 포함된 관절들의 배치에 따라 다음과 같이 설정할 수 있다.
Figure pat00001
(식 1)
식 1에서, Pi ,j는 Cj>0인 i번째 키 프레임의 j번째 관절 위치이고, Nk는 자세 그룹에 속한 키 프레임의 수이다. Cj는 j번째 관절을 대상으로 측정된 상관 계수 값이다.
만약, 사용자가 중간 관절들의 변경된 위치에서 추가적인 편집을 하고자 한다면, 각 중간 관절들의 조절 가능한 회전 범위는 자세 그룹 안에서 추출할 수 있다. 따라서, 입력 동작의 키 프레임에 속한 자세는 지정된 자세 그룹 내에 포함된 유사한 자세로만 변형이 가능하다.
이어서, 편집장치는 동작 복원 단계(2224)에서 복원된 동작을 물리적으로 향상(physical enhancement)시킨다(2226). 일 실시 예에 따른 편집장치는 복원된 자세의 무게 중심을 계산하고 계산된 무게 중심에 기초하여 물리적 타당성을 검사하고 관절들을 재배치시킨다. 이때, 무게 중심이 서포트 폴리곤 범위 내에 포함될 때까지 하체 관절들을 순차적으로 이동시킨다. 하체 관절들의 이동 범위를 자세 그룹에 포함된 관절들의 위치 내로 제약할 수 있다. 물리적 향상 단계(2226)의 실시 예는 도 5를 참조로 하여 후술한다.
도 4는 본 발명의 일 실시 예에 따른 도 2의 샘플 동작의 관절 자유도 간 상관관계 분석 단계(200)를 통해 샘플 동작에서 추출한 키 프레임 간의 비교 및 자세 그룹화 예를 도시한 참조도이다.
사용자가 대표 관절의 위치 정보를 이용해 다수의 중간 관절의 회전을 동시에 조절하는 방법 중 하나는 역 운동학(inverse kinematics) 방법을 이용하는 것이다. 그러나, 이 방법은 대표 관절의 최종 위치에 따라 대표 관절에 종속된 중간 관절들의 위치가 매번 달라질 수 있으며, 사용자가 원하는 자세로 변형하기 위해서는 중간 관절의 회전 값에 제약(constraint)이 필요하다.
모든 중간 관절의 회전 값에 제약을 설정하는 작업은 많이 시간이 소모된다. 따라서, 일 실시 예에 따른 편집장치는 관절 자유도 간의 상관관계 분석(DoF correlation analysis)을 통해서 찾아낸 상관관계를 자세 변형에 이용한다. 도 4를 참조하면, N개의 샘플 동작이 있다면, i번째 샘플 동작(Mi)(1 ≤ i ≤ N)에서 TN개의 키 프레임을 찾아낼 수 있다. 동작 편집에 중요한 자세를 포함하고 있는 키 프레임을 찾아내기 위해서 대표 관절의 위치 및 가속도 값의 제로-크로싱 정보를 사용할 수 있다.
이렇게 찾아낸 Mi의 j번째 키 프레임(Kj)은 다른 샘플 동작의 키 프레임들과 비교하여 대응되는 자세를 가지는 키 프레임들과 함께 동일한 그룹으로 그룹화한다. 이때, 키 프레임들 간 자세 비교는 루트 관절을 중심점으로 하는 각 관절의 로컬 좌표(local coordinate)를 기반으로 이루어질 수 있다. 만약, 사용자가 캐릭터의 특정 부위의 자세에 더 중점을 둔다면, 자세 그룹 분류 시에 해당 자세에 포함되는 각 관절에 가중치를 더 두어서 비교할 수도 있다. 각 그룹에 포함된 관절들은 순위 상관(Rank Correlation) 방법을 통해서 대표 관절과의 상관관계를 상관 계수 값(correlation coefficient)으로 측정할 수 있다. 이때, j번째 관절을 대상으로 측정된 상관 계수 값을 Cj라고 정의한다.
도 5는 본 발명의 일 실시 예에 따른 도 3의 물리적 향상 단계(2226)의 실시 예를 도시한 참조도이다.
도 5를 참조하면, 일 실시 예에 따른 편집장치는 복원 단계(도 3의 2224)를 통해 복원된 자세로부터 무게 중심을 계산한 후 캐릭터의 발 위치로부터 정의되는 서포트 폴리곤(support polygon)에 무게 중심을 투사(projection)했을 경우 그 범위 안에 포함되는지의 여부를 검사한다. 만약, 무게 중심이 벗어나면, 지면에 위치하고 있는 한쪽 발목부터 다른 발목까지 관절 순으로 역 운동학 방법(Local Inverse Kinematics: Local IK)을 적용하여 무게 중심이 서포트 폴리곤 범위 내에 포함될 때까지 하체 관절들을 순차적으로 이동시킨다. 이때, 이동시킬 수 있는 범위는 샘플 동작의 관절 자유도 간 상관관계 분석 단계(도 2의 200)에서 생성된 자세 그룹의 키 프레임에 포함되는 관절들의 위치로부터 정의되는 컨벡스 홀(convex hull)의 공간에서 정할 수 있다. 즉, 컨벡스 홀의 꼭지점(vertex)이 되는 Pi ,j가 주어지면, 입력 자세의 j번째 관절 위치는 다음 조건을 만족해야 한다.
Figure pat00002
... (식 2)
식 2에서, αj는 j번째 관절의 가중치 값이다. 이때, 각 관절의 위치가 조정될 때마다 무게 중심을 새로 계산한 후, 원본 자세의 무게 중심과 비교한다. 두 자세의 무게 중심 차이가 사용자가 지정한 기준 값(threshold value)을 초과하지 않는 조건 하에서 하체 관절들의 위치를 반복적으로 재배치시킬 수 있다.
도 6은 본 발명의 일 실시 예에 따른 편집장치(6)의 구성도이다.
도 6을 참조하면, 편집장치(6)는 입력부(60), 제어부(62), 출력부(64) 및 데이터베이스(66)을 포함한다. 편집장치(6)는 동작 편집 소프트웨어로 구현될 수 있다.
입력부(60)는 사용자로부터 3차원 캐릭터 동작 형태의 입력 동작을 입력받는다. 그리고, 입력 동작을 대상으로 사용자가 원하는 캐릭터로 편집하기 위해서 사용자로부터 대표 관절을 조작하는 명령을 입력받는다. 데이터베이스(66)에는 다수의 샘플 동작이 저장된다.
제어부(62)는 데이터베이스(66)에 저장된 다수의 샘플 동작으로부터 관절 자유도 간 상관관계를 분석한다. 그리고, 입력 동작을 대상으로 입력부(60)를 통한 사용자의 대표 관절 조작 시에, 분석된 샘플 동작의 관절 자유도 간 상관관계를 이용하여 다른 관절들의 위치를 변형하여 새로운 캐릭터 동작을 생성한다. 이때, 대표 관절은 캐릭터의 목(neck) 관절, 손목(wrist) 관절, 발목(ankle) 관절 및 루트(root) 관절 중 적어도 하나이거나, 사용자가 지정한 관절일 수 있고, 다른 관절은 대표 관절에 종속되는 중간 관절일 수 있다.
일 실시 예에 따른 제어부(62)는 분석부(620), 매핑부(622), 복원부(624)를 포함하며, 후 처리부(626)를 더 포함할 수 있다.
분석부(620)는 다수의 샘플 동작으로부터 관절 자유도 간 상관관계를 분석한다. 다수의 샘플 동작이 데이터베이스(66)에 저장되는 경우, 분석부(620)는 데이터베이스(66)에서 다수의 샘플 동작을 읽어와 관절 자유도 간 상관관계를 분석할 수 있다.
일 실시 예에 따른 분석부(620)는 샘플 동작들 각각에서 적어도 하나의 키 프레임을 추출한다. 이때, 대표 관절의 위치 및 이동속도 값의 제로 크로싱 정보를 이용하여 키 프레임을 추출할 수 있으나, 이에 한정되지는 않는다. 그리고, 추출된 각 샘플 동작의 키 프레임들 간 비교를 통해 키 프레임들 간에 서로 대응되는 자세들을 하나의 자세 그룹으로 그룹화한다. 이때, 루트 관절을 중심으로 하는 각 관절의 로컬 좌표를 각 샘플 동작의 키 프레임 간에 비교하여 키 프레임들 간에 서로 대응되는 자세들을 하나의 자세 그룹으로 그룹화할 수 있다. 또한, 각 자세 그룹에 포함된 중간 관절들을 대상으로 대표 관절과의 상관관계를 계산할 수 있다. 이때, 순위 상관 방식을 이용하여 중간 관절들에 대한 대표 관절과의 상관관계를 상관 계수 값으로 표현할 수 있다.
매핑부(622)는 사용자로부터 입력받은 동작의 관절 자유도 간 상관관계를 분석하고, 입력받은 동작의 관절 자유도 간 상관관계와 샘플 동작의 관절 자유도 간 상관관계를 매핑한다.
분석부(620)가 샘플동작의 관절 자유도 간 상관관계 분석을 통해 대표 관절의 영향을 받는 중간 관절의 상관관계를 찾은 이후, 일 실시 예에 따른 매핑부(622)는 입력 동작의 편집을 위해서 입력 동작에서도 키 프레임을 추출하고 분석부(620)를 통해 분석된 샘플동작의 관절 자유도 간 상관관계를 이용하여 분석부(620)에서 그룹화한 자세 그룹과 비교하여 대응되는 자세를 동일한 자세 그룹에 포함시킨다. 따라서, 사용자가 입력 동작의 키 프레임을 선택하고, 각 키 프레임에 속한 대표 관절의 위치를 변경하면 입력 동작의 스타일 편집이 가능하다. 사용자는 대표 관절의 위치를, 사용자가 원하는 스타일의 자세가 나올 때까지 반복적으로 변경할 수 있다.
복원부(624)는 사용자의 대표 관절 조작 시에 매핑부(622)에 의해 매핑된 관절 자유도 간 상관관계를 이용하여 다른 관절들의 위치를 변형하면서 사용자가 원하는 동작을 복원한다. 일 실시 예에 따른 복원부(624)는 입력 동작을 대상으로 한 사용자의 대표 관절 조작에 따라 대표 관절과의 상관관계를 이용하여 다른 관절의 위치를 조정한다. 다른 관절의 위치 조정 시에, 자세 그룹의 키 프레임들에 포함된 관절들의 배치 형태에 따라 다른 관절의 위치를 조정할 수 있다. 이때, 입력 동작을 대상으로 자세 그룹에 포함된 키 프레임들에 속한 자세 범위 내에 한정하여 다른 관절의 위치를 조정하게 된다. 이때, 복원부(624)를 통해 복원된 자세를 갖는 새로운 캐릭터를 출력부(64)를 통해 화면에 출력할 수 있다.
후 처리부(626)는 복원부(624)를 통해 복원된 자세의 무게 중심을 계산하고 계산된 무게 중심에 기초하여 물리적 타당성을 검사하고 관절들을 재배치시킨다. 일 실시 예에 따른 후 처리부(626)는 복원된 자세의 무게 중심을 계산하고 계산된 무게 중심에 기초하여 물리적 타당성을 검사하고 관절들을 재배치시킨다. 이때, 무게 중심이 서포트 폴리곤 범위 내에 포함될 때까지 하체 관절들을 순차적으로 이동시킨다. 하체 관절들의 이동 범위를 자세 그룹에 포함된 관절들의 위치 내로 제약할 수 있다. 이때, 물리적 타당성이 검토된 새로운 캐릭터를 출력부(64)를 통해 화면에 출력할 수 있다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
6: 편집장치 60: 입력부
62: 제어부 64: 출력부
66: 데이터베이스 620: 분석부
622: 매핑부 624: 복원부
626: 후 처리부

Claims (20)

  1. 다수의 샘플 동작으로부터 관절 자유도 간 상관관계를 분석하는 단계; 및
    사용자로부터 입력받은 3차원 캐릭터 동작을 편집하여 사용자가 원하는 새로운 캐릭터 동작을 생성하되, 사용자의 대표 관절 조작 시에 상기 분석된 관절 자유도 간 상관관계를 이용하여 다른 관절들의 위치를 변형하여 새로운 캐릭터 동작을 생성하는 단계;
    를 포함하는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  2. 제 1 항에 있어서,
    상기 대표 관절은 3차원 캐릭터의 목 관절, 손목 관절, 발목 관절 및 루트 관절 중 적어도 하나인 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  3. 제 1 항에 있어서,
    상기 대표 관절은 사용자로부터 설정받아 조작되는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  4. 제 1 항에 있어서, 상기 관절 자유도 간 상관관계를 분석하는 단계는,
    다수의 샘플 동작 각각에서 적어도 하나의 키 프레임을 추출하는 단계;
    각 샘플 동작의 키 프레임 간 비교를 통해 키 프레임 간에 서로 대응되는 자세들을 하나의 자세 그룹으로 그룹화하는 단계; 및
    각 자세 그룹에 포함된 중간 관절들을 대상으로 대표 관절과의 상관관계를 측정하는 단계;
    를 포함하는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  5. 제 4 항에 있어서, 상기 키 프레임을 추출하는 단계는,
    대표 관절의 위치 및 이동속도 값의 제로 크로싱 정보를 이용하여 키 프레임을 추출하는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  6. 제 4 항에 있어서, 상기 그룹화하는 단계는,
    루트 관절을 중심으로 하는 각 관절의 로컬 좌표를 각 샘플 동작의 키 프레임 간에 비교하여 키 프레임들 간에 서로 대응되는 자세들을 하나의 자세 그룹으로 그룹화하는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  7. 제 4 항에 있어서, 상기 그룹화하는 단계는,
    각 샘플 동작의 키 프레임 간 비교 시에, 사용자가 지정한 자세에 포함되는 관절에 가중치를 부여한 후 비교하여 그룹화하는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  8. 제 4 항에 있어서, 상기 대표 관절과의 상관관계를 측정하는 단계는,
    순위 상관을 이용하여 중간 관절들에 대한 대표 관절과의 상관관계를 상관 계수 값으로 표현하는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  9. 제 1 항에 있어서, 상기 새로운 캐릭터 동작을 생성하는 단계는,
    사용자로부터 캐릭터 동작을 입력받아 입력받은 동작의 관절 자유도 간 상관관계를 분석하는 단계;
    샘플 동작의 관절 자유도 간 상관관계와, 입력받은 동작의 관절 자유도 간 상관관계를 매핑하는 단계; 및
    사용자가 대표 관절을 조작하면, 상기 매핑된 관절 자유도 간 상관관계를 이용하여 다른 관절들의 위치를 변형하면서 사용자가 원하는 동작을 복원하는 단계;
    를 포함하는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  10. 제 9 항에 있어서, 상기 입력받은 동작의 관절 자유도 간 상관관계를 분석하는 단계는,
    입력받은 동작에서 적어도 하나의 키 프레임을 추출하거나 사용자로부터 설정받아, 추출 또는 설정된 키 프레임을 대상으로 관절 자유도 간 상관관계를 분석하는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  11. 제 9 항에 있어서, 상기 매핑하는 단계는,
    입력 동작의 관절 자유도 간 상관관계 분석에서 획득된 키 프레임과, 샘플 동작의 관절 자유도 간 상관관계 분석에서 획득된 키 프레임을 비교하는 단계; 및
    입력 동작의 키 프레임과 샘플 동작의 키 프레임 간에 서로 대응되는 자세들을 동일한 자세 그룹으로 매핑하는 단계;
    를 포함하는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  12. 제 9 항에 있어서, 상기 동작을 복원하는 단계는,
    입력받은 동작을 대상으로 사용자에 의해 대표 관절을 조작하는 단계; 및
    사용자의 대표 관절 조작에 따라 대표 관절과의 상관관계를 이용하여 다른 관절의 위치를 조정하는 단계;
    를 포함하는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  13. 제 12 항에 있어서, 상기 다른 관절의 위치를 조정하는 단계는,
    자세 그룹의 키 프레임들에 포함된 관절들의 배치 형태에 따라 다른 관절의 위치를 조정하며,
    상기 자세 그룹은 관절 자유도 간 상관관계에 따라 자세가 서로 대응되는 키 프레임들이 그룹화된 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  14. 제 13 항에 있어서, 상기 다른 관절의 위치를 조정하는 단계는,
    입력받은 동작을 대상으로 자세 그룹에 포함된 키 프레임들에 속한 자세 범위 내에 한정하여 다른 관절의 위치를 조정하는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  15. 제 9 항에 있어서, 상기 새로운 캐릭터 동작을 생성하는 단계는,
    복원된 자세의 무게 중심을 계산하고 계산된 무게 중심에 기초하여 물리적 타당성을 검사하고 관절들을 재배치시키는 물리적 향상 단계;
    를 더 포함하는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  16. 제 15 항에 있어서, 상기 물리적 향상 단계는,
    무게 중심이 서포트 폴리곤 범위 내에 포함될 때까지 하체 관절들을 순차적으로 이동시키는 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  17. 제 16 항에 있어서, 상기 물리적 향상 단계는,
    하체 관절들의 이동 범위를 자세 그룹에 포함된 관절들의 위치 내로 제약하며,
    상기 자세 그룹은 관절 자유도 간 상관관계에 따라 자세가 서로 대응되는 키 프레임들이 그룹화된 것을 특징으로 하는 3차원 캐릭터 동작 편집방법.
  18. 사용자로부터 3차원 캐릭터 동작을 입력받는 입력부;
    다수의 샘플 동작이 저장되는 데이터베이스; 및
    상기 데이터베이스에 저장된 다수의 샘플 동작으로부터 관절 자유도 간 상관관계를 분석하고, 사용자로부터 입력받은 동작을 대상으로 사용자의 대표 관절 조작 시에 상기 분석된 관절 자유도 간 상관관계를 이용하여 다른 관절들의 위치를 변형하여 새로운 캐릭터 동작을 생성하는 제어부;
    를 포함하는 것을 특징으로 하는 3차원 캐릭터 동작 편집장치.
  19. 제 18 항에 있어서, 제어부는,
    다수의 샘플 동작으로부터 관절 자유도 간 상관관계를 분석하는 분석부;
    사용자로부터 입력받은 동작의 관절 자유도 간 상관관계를 분석하고, 입력받은 동작의 관절 자유도 간 상관관계와 샘플 동작의 관절 자유도 간 상관관계를 매핑하는 매핑부; 및
    상기 입력부를 통해 사용자가 대표 관절을 조작하면, 상기 매핑부에 의해 매핑된 관절 자유도 간 상관관계를 이용하여 다른 관절들의 위치를 변형하면서 사용자가 원하는 동작을 복원하는 복원부;
    를 포함하는 것을 특징으로 하는 3차원 캐릭터 동작 편집장치.
  20. 제 19 항에 있어서, 상기 제어부는,
    상기 복원부를 통해 복원된 자세의 무게 중심을 계산하고 계산된 무게 중심에 기초하여 물리적 타당성을 검사하고 관절들을 재배치시키는 후 처리부;
    를 더 포함하는 것을 특징으로 하는 3차원 캐릭터 동작 편집장치.
KR1020130164323A 2013-12-26 2013-12-26 3차원 캐릭터 동작 편집방법 및 그 장치 KR20150075909A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130164323A KR20150075909A (ko) 2013-12-26 2013-12-26 3차원 캐릭터 동작 편집방법 및 그 장치
US14/583,434 US20150187114A1 (en) 2013-12-26 2014-12-26 Method and apparatus for editing 3d character motion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130164323A KR20150075909A (ko) 2013-12-26 2013-12-26 3차원 캐릭터 동작 편집방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20150075909A true KR20150075909A (ko) 2015-07-06

Family

ID=53482391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130164323A KR20150075909A (ko) 2013-12-26 2013-12-26 3차원 캐릭터 동작 편집방법 및 그 장치

Country Status (2)

Country Link
US (1) US20150187114A1 (ko)
KR (1) KR20150075909A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020116836A1 (ko) * 2018-12-06 2020-06-11 (주)코어센스 인체 무게 중심의 이동을 이용한 모션 캡쳐 장치 및 그 방법
KR20200069218A (ko) * 2018-12-06 2020-06-16 (주)코어센스 인체 무게 중심의 이동을 이용한 모션 캡쳐 장치 및 그 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11361467B2 (en) * 2019-11-22 2022-06-14 Adobe Inc. Pose selection and animation of characters using video data and training techniques
US11282257B2 (en) 2019-11-22 2022-03-22 Adobe Inc. Pose selection and animation of characters using video data and training techniques
CN111298433B (zh) * 2020-02-10 2022-07-29 腾讯科技(深圳)有限公司 一种动画视频处理方法、装置、电子设备及存储介质
CN112084670B (zh) * 2020-09-14 2024-02-13 广州微咔世纪信息科技有限公司 3d虚拟服装设计方法、终端及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1034899B1 (en) * 1998-06-09 2011-03-30 Sony Corporation Robot and method of its attitude control
JP3618298B2 (ja) * 2000-01-28 2005-02-09 株式会社スクウェア・エニックス モーション表示方法、ゲーム装置及び記録媒体
US8289331B1 (en) * 2007-10-24 2012-10-16 Pixar Asymmetric animation links
JP5238602B2 (ja) * 2009-05-14 2013-07-17 Kddi株式会社 映像コンテンツ生成装置及びコンピュータプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020116836A1 (ko) * 2018-12-06 2020-06-11 (주)코어센스 인체 무게 중심의 이동을 이용한 모션 캡쳐 장치 및 그 방법
KR20200069218A (ko) * 2018-12-06 2020-06-16 (주)코어센스 인체 무게 중심의 이동을 이용한 모션 캡쳐 장치 및 그 방법

Also Published As

Publication number Publication date
US20150187114A1 (en) 2015-07-02

Similar Documents

Publication Publication Date Title
Kähler et al. Geometry-based muscle modeling for facial animation
Ye et al. Synthesis of detailed hand manipulations using contact sampling
KR20150075909A (ko) 3차원 캐릭터 동작 편집방법 및 그 장치
US9378589B2 (en) Apparatus and method for generating digital clone
JP5344358B2 (ja) 演技から作り出される顔アニメーション
KR20170086317A (ko) 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치 및 방법
Seol et al. Artist friendly facial animation retargeting
KR20190024340A (ko) 캐릭터 애니메이션용 모션 리타겟팅 방법 및 장치
Jörg et al. Data-driven finger motion synthesis for gesturing characters
US7570264B2 (en) Rig baking
CN110310351B (zh) 一种基于草图的三维人体骨骼动画自动生成方法
US20090251462A1 (en) System and method for mesh distance based geometry deformation
KR101686028B1 (ko) 리그 공간으로의 캐릭터 모션 리타겟팅 방법 및 장치
Bhati et al. Analysis of design principles and requirements for procedural rigging of bipeds and quadrupeds characters with custom manipulators for animation
US7155673B2 (en) System and method of interactive evaluation of a geometric model
CN115023742A (zh) 具有详细褶皱的面部网格变形
JP5210401B2 (ja) 用例に基づく効率的なモーションデータベースのスタイリング
JP2007048151A (ja) 3次元曲面への物体メッシュモデルの写像方法
KR102589194B1 (ko) 서로 다른 캐릭터 사이의 애니메이션 데이터를 호환 가능하게 연결하는 모션 커버 방법, 장치 및 시스템
CN115908664B (zh) 人机交互的动画生成方法、装置、计算机设备、存储介质
Garcia et al. A Physically Based Deformation Model for Interactive Cartoon Animation.
Liu et al. An Inverse Kinematic Solution Based on a Two-Layer Hierarchical Cluster Model
Li et al. Improved radial basis function based parameterization for facial expression animation
Nedel Simulating virtual humans
WO2024059387A1 (en) System and method for virtual object asset generation

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid