KR102061976B1 - 3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법 - Google Patents

3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법 Download PDF

Info

Publication number
KR102061976B1
KR102061976B1 KR1020180082894A KR20180082894A KR102061976B1 KR 102061976 B1 KR102061976 B1 KR 102061976B1 KR 1020180082894 A KR1020180082894 A KR 1020180082894A KR 20180082894 A KR20180082894 A KR 20180082894A KR 102061976 B1 KR102061976 B1 KR 102061976B1
Authority
KR
South Korea
Prior art keywords
curve
character
space
time warp
motion
Prior art date
Application number
KR1020180082894A
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 KR1020180082894A priority Critical patent/KR102061976B1/ko
Application granted granted Critical
Publication of KR102061976B1 publication Critical patent/KR102061976B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/0093Geometric image transformation in the plane of the image for image warping, i.e. transforming by individually repositioning each pixel
    • G06T3/18
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion

Abstract

본 3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법이다.
본 발명에 따르면, 3차원 캐릭터 모션 생성 장치를 이용한 캐릭터 모션 제어 방법에 있어서, 사용자로부터 3차원 캐릭터의 이동 궤적을 입력받는 단계, 상기 입력된 궤적을 스플라인 커브 피팅(spline curve fitting) 알고리즘에 적용하여 복수의 허브 제어점을 포함하는 2차원 형태의 스플라인 커브를 생성하는 단계, 상기 허브 제어점을 중심으로 일정 거리 내에 복수의 서브 제어점을 생성하는 단계, 상기 복수의 허브 제어점과 복수의 서브 제어점을 서로 다른 조합으로 연결하여 다양한 경로의 다중 스플라인 커브를 생성하는 단계, 사용자로부터 하나의 스플라인 커브를 선택받으면, 선택된 스플라인 커브에 대응하는 3차원 형태의 시공간 워프 커브(Space time warp curve)를 생성하는 단계, 시공간 워프 커브에 대응하여 3차원 캐릭터의 속도를 제어하는 단계, 그리고 상기 3차원 캐릭터를 화면상에 표시하여 출력하는 단계를 포함한다.

Description

3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법{APPARATUS FOR THREE-DIMENSIONAL MULTI-CHARACTER MOTION AND MOTION CONTROL METHOD OF THREE-DIMENTIONAL CHARACTER USING THE SAME}
본 발명은 3차원 모션 생성 장치 및 그것을 이용한 3차원 캐릭터 모션 제어방법에 관한 것으로, 보다 상세하게는 3차원 캐릭터의 모션을 시공간 워프 커브(Space-Time Warp Curve)를 이용하여 캐릭터의 모션을 제어하는 3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법에 관한 것이다.
대규모의 군중이나 집단행동 시뮬레이션은 영화 및 애니메이션, 게임같은 영상제작분야나 재난 및 건축설계, 도시교통과 같은 사회적인 현상해석분야에서 연구가 활발히 진행되고 있다. 그 중에서 특히 지난 10여 년간 자율형 멀티에이전트를 기반으로 한 다양한 집단의 특성과 행동모델을 하고 이를 이용해서 게임분야에서의 NPC, 영화 및 애니메이션에 있어서 시뮬레이터를 이용한 훈련시스템과 사회적 행동을 기반으로 하는 시뮬레이션 시스템 등에 있어서 폭넓게 적용되고 있다.
이들 시스템은 집단 행동의 움직임의 대상이 되는 각 개체들의 움직임을 사실적이고 다양한 상황에서의 행동을 표현하기 위한 방법으로 크게 멀티 에이전트 시스템을 이용한 접근방법과 유체역학 등을 기반으로 하는 파티클 시스템을 이용한 접근방법으로 움직임을 표현해왔다.
그 중 멀티 에이전트 시스템은 개체간의 상호작용적인 움직임에 있어서 특성 및 상태 등을 상세하게 모델링할 수 있기 때문에 다른 방법들보다 사실적이고 다양한 움직임을 표현할 수 있다. 그러나, 멀티에이전트 시스템의 경우 상호작용에 따른 움직임을 생성하는데 있어 많은 계산비용이 들어가기 때문에 실시간으로 수십만 대규모의 군중 행동 시뮬레이션과 같은 거시적 환경에서의 움직임의 현상을 해석하거나 시뮬레이션하는데 있어서는 어려움이 있었다.
한편, 파티클 시스템을 이용한 접근방법은 개별개체들의 움직임을 제어하기 보다는 집단전체의 행동특성에 관해서 표현하기 위한 방법으로 대규모의 군집으로 움직이는 군중행동이나 거시적 환경에 있어서 개체의 움직임을 사실적으로 표현할 수 있다는 장점이 있다. 그러나 멀티 에이전트 시스템이 가지고 있는 개별개체의 다양한 특성 및 속성에 따른 미시적인 움직임을 표현하는데 있어서는 어려움이 있고, 동종의 특성을 가진 개체 들이 정해진 상황에 대해서만 시뮬레이션할 수 있다는 단점과 움직임을 생성하기 위해서 사용되는 수식 및 함수를 표현하기가 매우 어렵다는 단점이 있다.
특히 대규모 군중 시뮬레이션을 다루는 다양한 분야에서는 멀티 에이전트 시스템이 가지는 개별개체의 특성이나 성격을 잘 표현하는 미시적이고 세밀한 행동표현 특성과 파티클 시스템이 가지고 있는 거시적인 군중 행동 현상의 해석을 필요로 하는 경우가 많다.
그렇기 때문에, 군중 애니메이션을 손쉽게 생성하기 위해 설정된 캐릭터의 궤적을 이용한 기술의 필요성이 대두되고 있다.
본 발명의 배경이 되는 기술은 대한민국 국내 등록특허 10-1526050(2015.06.04 공고)에 개시되어 있다.
본 발명이 이루고자 하는 기술적 과제는 3차원 캐릭터의 모션을 시공간 워프 커브를 이용하여 캐릭터의 모션을 제어하는 3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법을 제공하기 위한 것이다.
이러한 기술적 과제를 이루기 위한 본 발명의 실시 예에 따르면, 3차원 캐릭터 모션 생성 장치를 이용한 캐릭터 모션 제어 방법에 있어서, 사용자로부터 3차원 캐릭터의 이동 궤적을 입력받는 단계, 상기 입력된 궤적을 스플라인 커브 피팅(spline curve fitting) 알고리즘에 적용하여 복수의 허브 제어점(Hub Control Point)을 포함하는 2차원 형태의 스플라인 커브를 생성하는 단계, 상기 허브 제어점을 중심으로 일정 거리 내에 복수의 서브 제어점(Sub Control Point)을 생성하는 단계, 상기 복수의 허브 제어점과 복수의 서브 제어점을 서로 다른 조합으로 연결하여 다양한 경로의 다중 스플라인 커브를 생성하는 단계, 사용자로부터 하나의 스플라인 커브를 선택받으면, 선택된 스플라인 커브에 대응하는 3차원 형태의 시공간 워프 커브(Space time warp curve)를 생성하는 단계, 시공간 워프 커브에 대응하여 3차원 캐릭터의 속도를 제어하는 단계, 그리고 상기 3차원 캐릭터를 화면상에 표시하여 출력하는 단계를 포함한다.
상기 다중 스플라인 커브를 생성하는 단계는, 기 서브 제어점의 개수와 상기 허브 제어점의 중심으로부터의 거리에 따라 스플라인 커브의 개수와 궤적을 결정할 수 있다.
상기 시공간 워프 커브는, 상기 스플라인 커브에 대하여 수직인 방향인 y축 좌표 값을 가지는 3차원 커브로 이루어질 수 있다.
상기 시공간 워프 커브를 생성하는 단계에 있어서, 아래의 수학식과 같이 상기 스플라인 커브를 이용하여 시공간 워프 커브를 생성할 수 있다.
Figure 112018070436115-pat00001
여기서, S는 Y축의 스케일을 변화시키기 위한 스케일링 계수이고, δ는 시공간 워프 커브가 생성되고 시작하는 위치의 최초 Y값이고,
Figure 112018070436115-pat00002
는 인접한 두 프레임 간의 시간이며,
Figure 112018070436115-pat00003
Figure 112018070436115-pat00004
는 캐릭터의 중심위치를 나타낸다.
상기 캐릭터의 속도를 조절하는 단계는, 사용자로부터 상기 생성된 시공간 워프 커브의 일부 지점을 선택받는 단계, 상기 사용자가 상기 선택된 지점의 y좌표 값을 변경시키면, 가우시안 필터(Gaussian Filter)를 이용하여 상기 시공간 워프 커브를 변경하는 단계, 상기 변경된 시공간 워프 커브에 대응하여 상기 스플라인 커브를 보정하는 단계, 그리고 상기 보정된 스플라인 커브에 대응하여 상기 3차원 캐릭터의 일부 관절의 각도를 조절하는 단계를 포함할 수 있다.
상기 스플라인 커브를 보정하는 단계는, 아래의 수학식을 이용하여 상기 변경된 시공간 워프 커브에 대응하여 상기 스플라인 커브를 보정할 수 있다.
Figure 112018070436115-pat00005
여기서,
Figure 112018070436115-pat00006
는 변경 후 커브이고,
Figure 112018070436115-pat00007
Figure 112018070436115-pat00008
를 평면에 투사하였을 경우에 나타나는 점이다.
상기 3차원 캐릭터의 속도를 제어하는 단계에 있어서, 상기 변경된 시공간 워프 커브 중 일부 구간의 y좌표 값 또는 기울기가 증가되면, 해당 구간에 대응하는 상기 3차원 캐릭터의 이동 속도를 증가시키고, 상기 변경된 시공간 워프 커브의 y좌표 값이 감소하거나 기울기가 감소하면 해당 구간에 대응하는 상기 3차원 캐릭터의 이동 속도를 감소시킬 수 있다.
상기 3차원 캐릭터는, 움직이는 사람의 모션으로부터 획득한 모션 캡쳐 데이터를 토대로 동작이 매칭될 수 있다.
시공간 워프 커브를 이용한 3차원 캐릭터 모션 생성 장치에 있어서, 사용자로부터 3차원 캐릭터의 이동 궤적을 입력받는 입력부, 상기 입력된 궤적을 스플라인 커브 피팅(spline curve fitting) 알고리즘에 적용하여 복수의 허브 제어점을 포함하는 2차원 형태의 스플라인 커브를 생성하고, 상기 허브 제어점을 중심으로 일정 거리 내에 복수의 서브 제어점을 생성하며, 상기 복수의 허브 제어점과 복수의 서브 제어점을 서로 다른 조합으로 연결하여 다양한 경로의 다중 스플라인 커브를 생성하는 스플라인 커브 생성부, 사용자로부터 하나의 스플라인 커브를 선택받으면, 선택된 스플라인 커브에 대응하는 3차원 형태의 시공간 워프 커브(Space time warp curve)를 생성하는 시공간 워프 커브 생성부, 시공간 워프 커브에 대응하여 3차원 캐릭터의 속도를 제어하는 제어부, 그리고 상기 3차원 캐릭터를 화면상에 표시하여 출력하는 출력부를 포함한다.
이와 같이 본 발명에 따르면, 사람의 모션 캡처 데이터를 이용하여 3차원 캐릭터의 모션을 사실적으로 생성할 수 있으며, 각각의 3차원 캐릭터에 대하여 개별적으로 속도를 변화시킬 수 있다. 따라서, 다수의 3차원 캐릭터가 등장하는 시뮬레이션이나 애니메이션에서 3차원 캐릭터의 모션을 보다 현실적으로 변경하여 높은 품질의 영상을 제작할 수 있다.
또한, 다중 캐릭터의 궤적 및 속도를 용이하게 제어가 가능하고, 다중 캐릭터가 겹쳐지거나 부딪치는 것을 방지하도록 유연하게 제어가 가능하다.
도 1은 본 발명의 실시예에 따른 3차원 캐릭터 모션 생성 장치의 구성을 나타낸 구성도이다.
도 2는 본 발명의 실시예에 따른 제어점과 서브 제어점을 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 제어부의 구성을 나타낸 구성도이다.
도 4는 본 발명의 실시예에 따른 모션 생성 장치를 이용한 캐릭터 모션 제어 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 실시예에 따른 S410단계를 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 S420단계를 설명하기 위한 도면이다.
도 7은 본 발명의 실시예에 따른 S450단계를 설명하기 위한 도면이다.
도 8은 본 발명의 실시예에 따른 시공간 워프 커브에 대응하는 3차원 캐릭터의 속도 제어방법을 나타낸 순서도 이다.
도 9는 도 8에 나타낸 S462단계를 설명하기 위한 예시도이다.
도 10a는 본 발명의 실시예에 따른 캐릭터의 움직임 속도를 증가시키도록 변경된 시공간 워프 커브 및 변경된 스플라인 커브를 나타낸 예시도이다.
도 10b는 본 발명의 실시예에 따른 캐릭터의 움직임 속도를 감소시키도록 변경된 시공간 워프 커브 및 변경된 스플라인 커브를 나타낸 예시도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 3차원 캐릭터 모션 생성 장치의 구성을 나타낸 구성도 이고, 도 2는 본 발명의 실시예에 따른 제어점과 서브 제어점을 설명하기 위한 도면이고, 도 3은 본 발명의 실시예에 따른 제어부의 구성을 나타낸 구성도이다.
도 1에서 나타낸 것처럼, 3차원 캐릭터 모션 생성 장치(100)는 입력부(110), 스플라인 커브 생성부(120), 제어부(130), 시공간 워프 커브 생성부(140) 및 출력부(150)를 포함한다.
먼저, 입력부(110)는 사용자로부터 3차원 캐릭터의 이동 궤적을 입력받는다.
이때, 사용자는 마우스, 펜, 키보드 및 터치패널 중에 어느 하나를 이용하여 3차원 캐릭터의 이동 궤적을 선 형태로 입력할 수 있다.
다음으로, 스플라인 커브 생성부(120)는 입력된 궤적을 스플라인 커브 피팅(spline curve fitting) 알고리즘에 적용하여 복수의 허브 제어점(Hub-control point)을 포함하는 2차원 형태의 스플라인 커브를 생성한다.
또한, 스플라인 커브 생성부(120)는 허브 제어점을 중심으로 일정 거리 내에 복수의 서브 제어점을 생성하고, 복수의 허브 제어점과 복수의 서브 제어점을 서로 다른 조합으로 연결하여 다양한 경로의 다중 스플라인 커브를 생성한다.
도 2에서 나타낸 것처럼, 서브 제어점(sub-control point)은 허브 제어점을 중심으로 일정 거리 내에 생성되며, 각각의 허브 제어점을 중심으로 생성되는 서브 제어점의 개수는 변경될 수 있다.
또한, 다중 스플라인 커브는 허브 제어점 및 서브 제어점의 개수에 따라 개수가 정해진다.
다음으로, 시공간 워프 커브 생성부(130)는 스플라인 커브 생성부(120)로부터 생성된 스플라인 커브에 대하여 수직인 방향인 Y축 좌표를 가지는 3차원 커브를 생성한다.
즉, 시공간 워프 커브 생성부(130)는 아래의 수학식 1을 이용하여 시공간 워프 커브를 생성한다.
Figure 112018070436115-pat00009
여기서, S는 Y축의 스케일을 변화시키기 위한 스케일링 계수이고, δ는 시공간 워프 커브가 생성되고 시작하는 위치의 최초 Y값이고,
Figure 112018070436115-pat00010
는 인접한 두 프레임 간의 시간이며,
Figure 112018070436115-pat00011
Figure 112018070436115-pat00012
는 각각 i-1번째 프레임과 i번째 프레임에서의 캐릭터의 중심위치를 나타낸다.
도 3에서 나타낸 것처럼, 본 발명의 실시예에 따른 제어부(140)는 지점 선택부(141), 시공간 위프 커브 변경부(142), 스플라인 커브 보정부(143) 및 모션 조절부(144)를 포함한다.
먼저, 지점 선택부(141)는 사용자로부터 시공간 워프 커브상의 일부 지점을 선택받는다.
다음으로, 시공간 워프 커브 변경부(142)는 사용자가 지점 선택부(141)를 이용하여 선택한 지점의 Y 좌표가 변경되면, 가우시안 필터(Gaussian Filter)를 이용하여 시공간 워프 커브를 변경한다.
여기서, 가우시안 필터는 가우시안 분포를 이용하여 영상 또는 사진의 선명도 및 노이즈를 제거하기 위한 필터로서, 본 발명의 실시예에서는 시공간 워프 커브 변경부(142)는 가우시안 필터 기법을 활용하여 노이즈를 제거하고 변경된 시공간 워프 커브를 매끄럽게 변경할 수 있다.
다음으로, 스플라인 커브 보정부(130)는 시공간 워프 커브 변경부(142)에 의해 변경된 시공간 워프커브에 대응하여 스플라인 커브를 보정한다.
이때, 스플라인 커브 보정부(130)는 아래의 수학식 2를 이용하여 변경된 시공간 워프 커브에 대응하는 스플라인 커브를 보정한다.
Figure 112018070436115-pat00013
Figure 112018070436115-pat00014
는 변경 후 커브이고,
Figure 112018070436115-pat00015
Figure 112018070436115-pat00016
를 평면에 투사하였을 경우에 나타나는 캐릭터의 중심 위치에 대응하는 좌표이다.
그리고, 모션 조절부(144)는 보정된 스플라인 커브에 대응하여 3차원 캐릭터의 일부 관절의 각도를 변경한다.
이때, 3차원 캐릭터의 관절의 각도는 IK(Inverse Kinematics) 알고리즘과 발이 땅에 닿는 위치를 이용하여 연산할 수 있으며, 엉덩이, 무릎 및 발목의 각도 또한 연산할 수 있다.
여기서, IK(Inverse Kinematics) 알고리즘은 역 운동학으로 기계적 인터페이스의 포즈로부터 연결된 관절의 변위를 구하기 위한 알고리즘으로, 애니메이션 캐릭터의 팔 또는 다리와 같은 말단의 인터페이스가 동작을 하면 이와 연결된 관절의 각도가 변경되어 전체적인 동작을 변경시킬 수 있다.
다음으로, 출력부(150)는 보정된 스플라인 커브를 따라 이동하는 3차원 캐릭터의 모션을 화면에 출력한다.
또한, 출력부(150)는 한 3차원 캐릭터의 모션뿐만 아니라 다중 캐릭터의 모션을 한 화면에 출력할 수 있다.
이하에서는 도 4 내지 도 7를 통하여 본 발명의 실시예에 따른 모션생성 장치를 이용한 캐릭터 모션 제어 방법에 대하여 더욱 상세하게 설명한다.
도 4는 본 발명의 실시예에 따른 모션 생성 장치를 이용한 캐릭터 모션 제어 방법관한 순서를 나타낸 순서도이고, 도 5는 본 발명의 실시예에 따른 S410단계를 설명하기 위한 도면이고, 도 6은 본 발명의 실시예에 따른 S420단계를 설명하기 위한 도면이며, 도 7은 본 발명의 실시예에 따른 S450단계를 설명하기 위한 도면이다.
이하에서는, 설명의 편의상, 3차원 공간은 X, Y, Z 축으로 이루어지되, X-Z 축은 2차원 공간을 의미하고, Y축은 시간을 의미하는 것으로 설명한다.
먼저, 도 4에서 나타낸 것처럼, 사용자는 입력부(110)를 이용하여 3차원 캐릭터의 이동 궤적을 입력한다(S410).
사용자는 마우스, 펜, 키보드 및 터치패널 중에 어느 하나를 이용하여 화면상에 3차원 캐릭터의 이동 궤적을 직접 입력할 수 있다.
즉, 사용자는 도 5와 같이 3차원 캐릭터를 이동시키고자 하는 궤적을 X-Z 축으로 이루어진 2차원 공간에 직접 입력한다.
그러면, 스플라인 커브 생성부(120)는 입력된 이동 궤적을 스플라인 커브 피팅 알고리즘에 적용하여 허브 제어점을 포함하는 2차원 스플라인 커브를 생성한다(S420).
즉, 도 6에서 나타낸 것처럼, 허브 제어점은 입력된 이동 궤적상에 생성되며, 사용자는 생성된 허브 제어점의 위치를 일정 반경 내에서 변경시킬 수 있다.
또한, 입력부(110)를 통해 입력된 이동 궤적 및 길이에 따라서 다양한 개수의 허브 제어점이 생성될 수 있다.
다음으로, 스플라인 커브 생성부(120)는 허브 제어점을 중심으로 일정거리 내에 복수의 서브 제어점을 생성한다(S430).
즉, 상기 도 2를 통해 설명한 것처럼, 각각의 허브 제어점 별로 생성되는 서브 제어점의 개수는 캐릭터의 개수, 캐릭터의 크기, 멀티 캐릭터의 이동 궤적 등에 따라 변경될 수 있다.
또한, 하나의 허브 제어점을 중심으로 일정 반경 내에 존재하는 서브 제어점들 간의 거리는 일정하게 유지한다.
그러면, 다중 스플라인 커브 생성부(130)는 생성된 허브 제어점과 서브 제어점을 이용하여 다중 스플라인 커브를 생성한다(S440).
여기서, 스플라인 커브의 개수는 서브 제어점의 개수와 허브 제어점의 개수에 따라 다르게 설정된다.
예를 들어, 허브 제어점의 개수가 5개이고, 각 허브 제어점를 중심으로 3개의 서브 제어점이 생성되었다고 가정하면, 45에 해당하는 1,024개의 스플라인 커브가 생성된다.
그 다음, 사용자는 생성된 다중 스플라인 커브 중에서 하나의 스플라인 커브를 선택하면, 시공간 워프 커브 생성부(130)는 선택된 스플라인 커브에 대응하는 3차원 형태의 시공간 워프 커브를 생성한다(S450).
즉, 시공간 워프 커브 생성부(130)는 수학식 1을 통해 선택된 스플라인 커브에 대응하여 도 7과 같은 형태의 시공간 워프 커브를 생성한다.
도 7에서 나타낸 것과 같이, 시공간 워프 커브는 3차원 형태의 그래프로 생성되고, 시공간 워프 커브의 형태는 3차원 캐릭터의 모션 및 속도에 따라 다양한 형태로 생성이 가능하다.
다음으로, 제어부(140)는 시공간 워프 커브에 대응하여 3차원 캐릭터의 속도를 제어한다(S460).
제어부(140)는 생성된 시공간 워프 커브의 기울기가 증가하면 3차원 캐릭터의 속도를 증가시키고, 반대로 시공간 워프 커브의 기울기가 감소하면 3차원 캐릭터의 속도를 감소시킨다.
이하에서는, S460단계에 대하여 도 8 내지 도 10b를 통하여 더욱 상세하게 설명한다.
도 8은 본 발명의 실시예에 따른 시공간 워프 커브에 대응하는 3차원 캐릭터의 속도 제어방법을 나타낸 순서도이다.
먼저, 도 8에서 나타낸 것처럼, 지점 선택부(141)는 사용자로부터 시공간 워프 커브의 일부 지점을 선택받는다(S461).
도 9는 도 8에 나타낸 S462단계를 설명하기 위한 예시도이다.
이때, 도 9의 (a)에서 나타낸 것처럼 시공간 워프 커브가 생성된 상태에서, 사용자는 시공간 워프 커브의 주변 지점 중에서 하나를 선택한다. 여기서, 3차원 캐릭터의 속도를 증가시키고자 할 경우, 사용자는 시공간 워프 커브보다 상측의 일부 지점을 선택하고, 3차원 캐릭터의 속도를 감소시키고자 할 경우, 사용자는 시공간 워프 커브의 하측의 일부 지점을 선택한다.
도 9의 (b)에서는 사용자가 3차원 캐릭터의 속도를 증가시키기 위하여 시공간 워프 커브의 상측의 일부 지점을 선택한 것으로 예시하였다.
또한, 사용자는 3차원 캐릭터의 속도를 증가 또는 감소시키고자 하는 구간에 대응하여 시공간 워프 커브의 해당 지점을 선택할 수 있다.
또한, 사용자가 선택한 지점과 시공간 워프 커브 사이의 거리에 대응하여, 3차원 캐릭터의 변경되는 속도의 증가 폭과 감소 폭을 조절할 수 있다.
다음으로, 시공간 워프 커브 변경부(142)는 선택된 지점에 대응하여 가우시안 필터를 이용하여 시공간 워프 커브의 Y좌표 값을 변경한다(S462).
즉, 도 9의 (c)에 도시한 것처럼, 시공간 워프 커브는 사용자에 의해 선택된 지점을 통과하는 커브 형태로 변경되며, 이? 시공간 워프인 커브의 Y좌표가 변경된다.
다음으로, 스플라인 커브 보정부(143)는 변경된 시공간 워프 커브에 대응하여 스플라인 커브를 보정한다(S463).
이때, 스플라인 커브는 수학식 2를 통해 보정되며, 변경된 시공간 워프 커브의 Y 좌표의 좌표 값 또는 기울기에 따라 캐릭터의 속도가 감소하거나 증가될 수 있다.
도 10a는 본 발명의 실시예에 따른 캐릭터의 움직임 속도를 증가시키도록 변경된 시공간 워프 커브 및 변경된 스플라인 커브를 나타낸 예시도이고, 도 10b는 본 발명의 실시예에 따른 캐릭터의 움직임 속도를 감소시키도록 변경된 시공간 워프 커브 및 변경된 스플라인 커브를 나타낸 예시도이다.
예를 들어, 사용자가 선택한 지점의 Y좌표가 S450단계에서 선택된 시공간 워프 커브의 Y축 값보다 크거나 양의 방향으로 기울기가 커지면 시공간 워프 커브는 도 10a에서 나타낸 것처럼 변경되어 3차원 캐릭터의 속도를 증가시킬 수 있다.
다른 예를 들면, 사용자가 선택한 지점의 Y좌표가 S450단계에서 선택된 시공간 워프 커브의 Y축 값보다 작거나 음의 방향으로 기울기가 커지면 시공간 워프 커브는 도 10b에서 나타낸 것처럼 변경되어 3차원 캐릭터의 속도가 감소한다.
다음으로, 모션 조절부(144)는 보정된 스플라인 커브에 대응하여 3차원 캐릭터의 이동 속도와 모션을 조절한다(S464).
즉, 모션 조절부(144)는 변경된 시공간 워프 커브의 Y 좌표 값 또는 기울기에 대응하여 3차원 캐릭터의 이동 속도를 변경시키며, 변경된 스플라인 커브에 대응하여 3차원 캐릭터의 동선 및 움직임을 조절한다.
이때, 앞에서 설명한 것처럼, 모션 조절부(144)는 IK 알고리즘을 이용하여 3차원 캐릭터의 팔 또는 다리의 관절 각도를 변경시키며, 3차원 캐릭터의 속도 변화에 따라 3차원 캐릭터의 보폭의 크기도 변경시킬 수 있다.
따라서, 모션 조절부(144)는 3차원 캐릭터의 변경된 속도에 대응하여 3차원 캐릭터의 모션을 변경시킴으로써, 3차원 캐릭터가 자연스럽게 움직이도록 조절한다.
또한, 모션 조절부(144)는 복수의 3차원 캐릭터의 모션을 각각 제어할 수 있으므로, 3차원 캐릭터가 서로 충돌하거나 겹치는 현상을 방지할 수 있다.
다음으로, 출력부(150)는 제어부(140)에 의해 속도가 제어된 3차원 캐릭터의 모션을 화면에 출력한다(S470).
이때, 출력부(150)는 다수의 3차원 캐릭터를 출력할 수 있으며, 서로 다른 속도로 이동하는 다중 캐릭터를 동시에 출력시킬 수 있다.
이와 같이 본 발명의 실시예에 따르면, 사람의 모션 캡처 데이터를 이용하여 3차원 캐릭터의 모션을 사실적으로 생성할 수 있으며, 각각의 3차원 캐릭터에 대하여 개별적으로 속도를 변화시킬 수 있다. 따라서, 다수의 3차원 캐릭터가 등장하는 시뮬레이션이나 애니메이션에서 3차원 캐릭터의 모션을 보다 현실적으로 변경하여 높은 품질의 영상을 제작할 수 있다.
또한, 다중 캐릭터의 궤적 및 속도를 용이하게 제어가 가능하고, 다중 캐릭터가 겹쳐지거나 부딪치는 것을 방지하도록 유연하게 제어가 가능하다.
본 발명은 도면에 도시된 실시 예를 참고로 설명 되었으나 이는 예시적인 것이 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시 예가 가능하다는 점을 이해할 것이다 .따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
110: 입력부, 120: 스플라인 커브 생성부,
130: 시공간 워프 커브 생성부, 140: 제어부,
141: 지점 선택부, 142: 시공간 워프 커브 변경부,
143: 스플라인 커브 보정부, 144: 모션 조절부,
150: 출력부

Claims (16)

  1. 3차원 캐릭터 모션 생성 장치를 이용한 캐릭터 모션 제어 방법에 있어서,
    사용자로부터 3차원 캐릭터의 이동 궤적을 입력받는 단계,
    상기 입력된 궤적을 스플라인 커브 피팅(spline curve fitting) 알고리즘에 적용하여 복수의 허브 제어점을 포함하는 2차원 형태의 스플라인 커브를 생성하는 단계,
    상기 허브 제어점을 중심으로 일정 거리 내에 복수의 서브 제어점을 생성하는 단계,
    상기 복수의 허브 제어점과 복수의 서브 제어점을 서로 다른 조합으로 연결하여 다양한 경로의 다중 스플라인 커브를 생성하는 단계,
    사용자로부터 하나의 스플라인 커브를 선택받으면, 선택된 스플라인 커브에 대응하는 3차원 형태의 시공간 워프 커브(Space time warp curve)를 생성하는 단계,
    시공간 워프 커브에 대응하여 3차원 캐릭터의 속도를 제어하는 단계, 그리고
    상기 3차원 캐릭터를 화면상에 표시하여 출력하는 단계를 포함고,
    상기 캐릭터의 속도를 조절하는 단계는,
    사용자로부터 상기 생성된 시공간 워프 커브의 일부 지점을 선택받는 단계,
    상기 사용자가 상기 선택된 지점의 y좌표 값을 변경시키면, 가우시안 필터(Gaussian Filter)를 이용하여 상기 시공간 워프 커브를 변경하는 단계,
    상기 변경된 시공간 워프 커브에 대응하여 상기 스플라인 커브를 보정하는 단계, 그리고
    상기 보정된 스플라인 커브에 대응하여 상기 3차원 캐릭터의 일부 관절의 각도를 조절하는 단계를 포함하는 3차원 캐릭터 모션 제어 방법.
  2. 제1항에 있어서,
    상기 다중 스플라인 커브를 생성하는 단계는,
    상기 서브 제어점의 개수와 상기 허브 제어점의 중심으로부터의 거리에 따라 스플라인 커브의 개수와 궤적을 결정하는 3차원 캐릭터 모션 제어 방법.
  3. 제1항에 있어서,
    상기 시공간 워프 커브는,
    상기 스플라인 커브에 대하여 수직인 방향인 y축 좌표 값을 가지는 3차원 커브로 이루어진 3차원 캐릭터 모션 제어 방법.
  4. 제3항에 있어서,
    상기 시공간 워프 커브를 생성하는 단계에 있어서,
    아래의 수학식과 같이 상기 스플라인 커브를 이용하여 시공간 워프 커브를 생성하는 3차원 캐릭터 모션 제어 방법:
    Figure 112018070436115-pat00017

    여기서, S는 Y축의 스케일을 변화시키기 위한 스케일링 계수이고, δ는 시공간 워프 커브가 생성되고 시작하는 위치의 최초 Y값이고,
    Figure 112018070436115-pat00018
    는 인접한 두 프레임 간의 지속시간이며,
    Figure 112018070436115-pat00019
    Figure 112018070436115-pat00020
    는 캐릭터의 중심위치를 나타낸다.
  5. 삭제
  6. 제1항에 있어서,
    상기 스플라인 커브를 보정하는 단계는,
    아래의 수학식을 이용하여 상기 변경된 시공간 워프 커브에 대응하여 상기 스플라인 커브를 보정하는 3차원 캐릭터 모션 제어 방법:
    Figure 112019113914665-pat00021

    Figure 112019113914665-pat00022
    는 변경 후 커브이고,
    Figure 112019113914665-pat00023
    Figure 112019113914665-pat00024
    를 평면에 투사하였을 경우에 나타나는 점이다.
  7. 제1항에 있어서,
    상기 3차원 캐릭터의 속도를 제어하는 단계에 있어서,
    상기 변경된 시공간 워프 커브 중 일부 구간의 y좌표 값 또는 기울기가 증가되면, 해당 구간에 대응하는 상기 3차원 캐릭터의 이동 속도를 증가시키고, 상기 변경된 시공간 워프 커브의 y좌표 값이 감소하거나 기울기가 감소하면 해당 구간에 대응하는 상기 3차원 캐릭터의 이동 속도를 감소시키는 3차원 캐릭터 모션 제어 방법.
  8. 제1항에 있어서,
    상기 3차원 캐릭터는,
    움직이는 사람의 모션으로부터 획득한 모션 캡쳐 데이터를 토대로 동작이 매칭되는 3차원 캐릭터 모션 제어 방법.
  9. 시공간 워프 커브를 이용한 3차원 캐릭터 모션 생성 장치에 있어서,
    사용자로부터 3차원 캐릭터의 이동 궤적을 입력받는 입력부,
    상기 입력된 궤적을 스플라인 커브 피팅(spline curve fitting) 알고리즘에 적용하여 복수의 허브 제어점을 포함하는 2차원 형태의 스플라인 커브를 생성하고, 상기 허브 제어점을 중심으로 일정 거리 내에 복수의 서브 제어점을 생성하며, 상기 복수의 허브 제어점과 복수의 서브 제어점을 서로 다른 조합으로 연결하여 다양한 경로의 다중 스플라인 커브를 생성하는 스플라인 커브 생성부,
    사용자로부터 하나의 스플라인 커브를 선택받으면, 선택된 스플라인 커브에 대응하는 3차원 형태의 시공간 워프 커브(Space time warp curve)를 생성하는 시공간 워프 커브 생성부,
    시공간 워프 커브에 대응하여 3차원 캐릭터의 속도를 제어하는 제어부, 그리고
    상기 3차원 캐릭터를 화면상에 표시하여 출력하는 출력부를 포함하고,
    상기 제어부는,
    사용자로부터 상기 생성된 시공간 워프 커브의 일부 지점을 선택받는 지정 선택부,
    상기 사용자가 상기 선택된 지점의 y좌표 값을 변경시키면, 가우시안 필터(Gaussian Filter)를 이용하여 상기 시공간 워프 커브를 변경하는 시공간 워프 커브 변경부,
    상기 변경된 시공간 워프 커브에 대응하여 상기 스플라인 커브를 보정하는 스플라인 커브 보정부, 그리고
    상기 보정된 스플라인 커브에 대응하여 상기 3차원 캐릭터의 일부 관절의 각도를 조절하는 모션 조절부를 포함하는 3차원 캐릭터 모션 생성 장치.
  10. 제9항에 있어서,
    상기 스플라인 커브 생성부는,
    상기 서브 제어점의 개수와 상기 허브 제어점의 중심으로부터의 거리에 따라 스플라인 커브의 개수와 궤적을 결정하는 3차원 캐릭터 모션 생성 장치.
  11. 제9항에 있어서,
    상기 시공간 워프 커브 생성부는,
    상기 스플라인 커브에 대하여 수직인 방향인 y축 좌표 값을 가지는 3차원 커브로 이루어진 3차원 캐릭터 모션 생성 장치.
  12. 제11항에 있어서,
    상기 시공간 워프 커브 생성부에 있어서,
    아래의 수학식과 같이 상기 스플라인 커브를 이용하여 시공간 워프 커브를 생성하는 3차원 캐릭터 모션 생성 장치:
    Figure 112018070436115-pat00025

    여기서, S는 Y축의 스케일을 변화시키기 위한 스케일링 계수이고, δ는 처음으로 시작되는 Y좌표이고,
    Figure 112018070436115-pat00026
    는 인접한 두 프레임 간의 지속시간이며,
    Figure 112018070436115-pat00027
    Figure 112018070436115-pat00028
    는 캐릭터의 중심위치를 나타낸다.
  13. 삭제
  14. 제9항에 있어서,
    상기 스플라인 커브를 보정부는,
    아래의 수학식을 이용하여 상기 변경된 시공간 워프 커브에 대응하여 상기 스플라인 커브를 보정하는 3차원 캐릭터 모션 생성 장치:
    Figure 112019113914665-pat00029

    Figure 112019113914665-pat00030
    는 변경 후 커브이고,
    Figure 112019113914665-pat00031
    Figure 112019113914665-pat00032
    를 평면에 투사하였을 경우에 나타나는 점이다.
  15. 제9항에 있어서,
    상기 제어부는,
    상기 변경된 시공간 워프 커브 중 일부 구간의 y좌표 값 또는 기울기가 증가되면, 해당 구간에 대응하는 상기 3차원 캐릭터의 이동 속도를 증가시키고, 상기 변경된 시공간 워프 커브의 y좌표 값이 감소하거나 기울기가 감소하면 해당 구간에 대응하는 상기 3차원 캐릭터의 이동 속도를 감소시키는 3차원 캐릭터 모션 생성 장치.
  16. 제9항에 있어서,
    상기 3차원 캐릭터는,
    움직이는 사람의 모션으로부터 획득한 모션 캡쳐 데이터를 토대로 동작이 매칭되는 3차원 캐릭터 모션 생성 장치.
KR1020180082894A 2018-07-17 2018-07-17 3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법 KR102061976B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180082894A KR102061976B1 (ko) 2018-07-17 2018-07-17 3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180082894A KR102061976B1 (ko) 2018-07-17 2018-07-17 3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법

Publications (1)

Publication Number Publication Date
KR102061976B1 true KR102061976B1 (ko) 2020-01-02

Family

ID=69154982

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180082894A KR102061976B1 (ko) 2018-07-17 2018-07-17 3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법

Country Status (1)

Country Link
KR (1) KR102061976B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102254290B1 (ko) * 2020-11-18 2021-05-21 한국과학기술원 모션 처리 방법 및 장치
KR20230036923A (ko) * 2021-09-08 2023-03-15 한양대학교 산학협력단 이동 경로에 따라 캐릭터의 동작 정보를 생성하는 방법 및 컴퓨터 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018010624A (ja) * 2016-06-10 2018-01-18 スクウェア エニックス、リミテッドSquare Enix,Ltd., ゲーム環境内でカバーモードにあるキャラクタの曲線化された移動軌跡を決定する方法及びシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018010624A (ja) * 2016-06-10 2018-01-18 スクウェア エニックス、リミテッドSquare Enix,Ltd., ゲーム環境内でカバーモードにあるキャラクタの曲線化された移動軌跡を決定する方法及びシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102254290B1 (ko) * 2020-11-18 2021-05-21 한국과학기술원 모션 처리 방법 및 장치
KR20230036923A (ko) * 2021-09-08 2023-03-15 한양대학교 산학협력단 이동 경로에 따라 캐릭터의 동작 정보를 생성하는 방법 및 컴퓨터 장치
KR102640247B1 (ko) * 2021-09-08 2024-02-22 한양대학교 산학협력단 이동 경로에 따라 캐릭터의 동작 정보를 생성하는 방법 및 컴퓨터 장치

Similar Documents

Publication Publication Date Title
US9251618B2 (en) Skin and flesh simulation using finite elements, biphasic materials, and rest state retargeting
US9947124B2 (en) Motion control of active deformable objects
Kirner et al. Virtual reality and augmented reality applied to simulation visualization
US20230334744A1 (en) Method and apparatus for generating walk animation of virtual role, device and storage medium
CN105808071A (zh) 一种显示控制方法、装置和电子设备
KR102061976B1 (ko) 3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법
CN111028317B (zh) 虚拟对象的动画生成方法、装置、设备及存储介质
CN104778736B (zh) 单视频内容驱动的服装三维动画生成方法
CN104317297A (zh) 一种未知环境下机器人避障方法
US9892485B2 (en) System and method for mesh distance based geometry deformation
US10403020B2 (en) Techniques for generating dynamic illustrations using principles of animation
Kim et al. Interactive multi‐character motion retargeting
Tian et al. Real time stable haptic rendering of 3D deformable streaming surface
EP3598392B1 (en) Traversal selection of components for a geometric model
Jo et al. Avatar motion adaptation for AR based 3D tele-conference
US9111391B2 (en) Image generating device, image generating method, and non-transitory information storage medium
CN104574475B (zh) 一种基于次级控制器的精细动画制作方法
CN111652980B (zh) 一种基于粒子系统的复杂虚拟现实模拟系统
US8289331B1 (en) Asymmetric animation links
US10445940B2 (en) Modeling interactions between simulated characters and real-world objects for more realistic augmented reality
KR100895980B1 (ko) 군중 시뮬레이션을 위한 인터페이스의 처리 방법
Narang et al. Fbcrowd: Interactive multi-agent simulation with coupled collision avoidance and human motion synthesis
US8704828B1 (en) Inverse kinematic melting for posing models
US10607387B2 (en) Techniques for generating dynamic illustrations using principles of animation
Bar-Lev et al. Virtual marionettes: a system and paradigm for real-time 3D animation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant