KR102061976B1 - 3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법 - Google Patents
3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법 Download PDFInfo
- 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
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000004044 response Effects 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 9
- 230000003247 decreasing effect Effects 0.000 claims 4
- 238000010586 diagram Methods 0.000 description 11
- 230000007423 decrease Effects 0.000 description 9
- 230000006399 behavior Effects 0.000 description 8
- 238000004088 simulation Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 210000002414 leg Anatomy 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 210000003423 ankle Anatomy 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 210000002683 foot Anatomy 0.000 description 1
- 210000001624 hip Anatomy 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/0093—Geometric image transformation in the plane of the image for image warping, i.e. transforming by individually repositioning each pixel
-
- G06T3/18—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/001—Image restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
Abstract
본 3차원 캐릭터 모션 생성 장치 및 그것을 이용한 3차원 캐릭터의 모션 제어 방법이다.
본 발명에 따르면, 3차원 캐릭터 모션 생성 장치를 이용한 캐릭터 모션 제어 방법에 있어서, 사용자로부터 3차원 캐릭터의 이동 궤적을 입력받는 단계, 상기 입력된 궤적을 스플라인 커브 피팅(spline curve fitting) 알고리즘에 적용하여 복수의 허브 제어점을 포함하는 2차원 형태의 스플라인 커브를 생성하는 단계, 상기 허브 제어점을 중심으로 일정 거리 내에 복수의 서브 제어점을 생성하는 단계, 상기 복수의 허브 제어점과 복수의 서브 제어점을 서로 다른 조합으로 연결하여 다양한 경로의 다중 스플라인 커브를 생성하는 단계, 사용자로부터 하나의 스플라인 커브를 선택받으면, 선택된 스플라인 커브에 대응하는 3차원 형태의 시공간 워프 커브(Space time warp curve)를 생성하는 단계, 시공간 워프 커브에 대응하여 3차원 캐릭터의 속도를 제어하는 단계, 그리고 상기 3차원 캐릭터를 화면상에 표시하여 출력하는 단계를 포함한다.
본 발명에 따르면, 3차원 캐릭터 모션 생성 장치를 이용한 캐릭터 모션 제어 방법에 있어서, 사용자로부터 3차원 캐릭터의 이동 궤적을 입력받는 단계, 상기 입력된 궤적을 스플라인 커브 피팅(spline curve fitting) 알고리즘에 적용하여 복수의 허브 제어점을 포함하는 2차원 형태의 스플라인 커브를 생성하는 단계, 상기 허브 제어점을 중심으로 일정 거리 내에 복수의 서브 제어점을 생성하는 단계, 상기 복수의 허브 제어점과 복수의 서브 제어점을 서로 다른 조합으로 연결하여 다양한 경로의 다중 스플라인 커브를 생성하는 단계, 사용자로부터 하나의 스플라인 커브를 선택받으면, 선택된 스플라인 커브에 대응하는 3차원 형태의 시공간 워프 커브(Space time warp curve)를 생성하는 단계, 시공간 워프 커브에 대응하여 3차원 캐릭터의 속도를 제어하는 단계, 그리고 상기 3차원 캐릭터를 화면상에 표시하여 출력하는 단계를 포함한다.
Description
본 발명은 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차원 커브로 이루어질 수 있다.
상기 시공간 워프 커브를 생성하는 단계에 있어서, 아래의 수학식과 같이 상기 스플라인 커브를 이용하여 시공간 워프 커브를 생성할 수 있다.
여기서, S는 Y축의 스케일을 변화시키기 위한 스케일링 계수이고, δ는 시공간 워프 커브가 생성되고 시작하는 위치의 최초 Y값이고, 는 인접한 두 프레임 간의 시간이며, 및 는 캐릭터의 중심위치를 나타낸다.
상기 캐릭터의 속도를 조절하는 단계는, 사용자로부터 상기 생성된 시공간 워프 커브의 일부 지점을 선택받는 단계, 상기 사용자가 상기 선택된 지점의 y좌표 값을 변경시키면, 가우시안 필터(Gaussian Filter)를 이용하여 상기 시공간 워프 커브를 변경하는 단계, 상기 변경된 시공간 워프 커브에 대응하여 상기 스플라인 커브를 보정하는 단계, 그리고 상기 보정된 스플라인 커브에 대응하여 상기 3차원 캐릭터의 일부 관절의 각도를 조절하는 단계를 포함할 수 있다.
상기 스플라인 커브를 보정하는 단계는, 아래의 수학식을 이용하여 상기 변경된 시공간 워프 커브에 대응하여 상기 스플라인 커브를 보정할 수 있다.
상기 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는 본 발명의 실시예에 따른 캐릭터의 움직임 속도를 감소시키도록 변경된 시공간 워프 커브 및 변경된 스플라인 커브를 나타낸 예시도이다.
도 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을 이용하여 시공간 워프 커브를 생성한다.
여기서, S는 Y축의 스케일을 변화시키기 위한 스케일링 계수이고, δ는 시공간 워프 커브가 생성되고 시작하는 위치의 최초 Y값이고, 는 인접한 두 프레임 간의 시간이며, 및 는 각각 i-1번째 프레임과 i번째 프레임에서의 캐릭터의 중심위치를 나타낸다.
도 3에서 나타낸 것처럼, 본 발명의 실시예에 따른 제어부(140)는 지점 선택부(141), 시공간 위프 커브 변경부(142), 스플라인 커브 보정부(143) 및 모션 조절부(144)를 포함한다.
먼저, 지점 선택부(141)는 사용자로부터 시공간 워프 커브상의 일부 지점을 선택받는다.
다음으로, 시공간 워프 커브 변경부(142)는 사용자가 지점 선택부(141)를 이용하여 선택한 지점의 Y 좌표가 변경되면, 가우시안 필터(Gaussian Filter)를 이용하여 시공간 워프 커브를 변경한다.
여기서, 가우시안 필터는 가우시안 분포를 이용하여 영상 또는 사진의 선명도 및 노이즈를 제거하기 위한 필터로서, 본 발명의 실시예에서는 시공간 워프 커브 변경부(142)는 가우시안 필터 기법을 활용하여 노이즈를 제거하고 변경된 시공간 워프 커브를 매끄럽게 변경할 수 있다.
다음으로, 스플라인 커브 보정부(130)는 시공간 워프 커브 변경부(142)에 의해 변경된 시공간 워프커브에 대응하여 스플라인 커브를 보정한다.
이때, 스플라인 커브 보정부(130)는 아래의 수학식 2를 이용하여 변경된 시공간 워프 커브에 대응하는 스플라인 커브를 보정한다.
그리고, 모션 조절부(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: 출력부
130: 시공간 워프 커브 생성부, 140: 제어부,
141: 지점 선택부, 142: 시공간 워프 커브 변경부,
143: 스플라인 커브 보정부, 144: 모션 조절부,
150: 출력부
Claims (16)
- 3차원 캐릭터 모션 생성 장치를 이용한 캐릭터 모션 제어 방법에 있어서,
사용자로부터 3차원 캐릭터의 이동 궤적을 입력받는 단계,
상기 입력된 궤적을 스플라인 커브 피팅(spline curve fitting) 알고리즘에 적용하여 복수의 허브 제어점을 포함하는 2차원 형태의 스플라인 커브를 생성하는 단계,
상기 허브 제어점을 중심으로 일정 거리 내에 복수의 서브 제어점을 생성하는 단계,
상기 복수의 허브 제어점과 복수의 서브 제어점을 서로 다른 조합으로 연결하여 다양한 경로의 다중 스플라인 커브를 생성하는 단계,
사용자로부터 하나의 스플라인 커브를 선택받으면, 선택된 스플라인 커브에 대응하는 3차원 형태의 시공간 워프 커브(Space time warp curve)를 생성하는 단계,
시공간 워프 커브에 대응하여 3차원 캐릭터의 속도를 제어하는 단계, 그리고
상기 3차원 캐릭터를 화면상에 표시하여 출력하는 단계를 포함고,
상기 캐릭터의 속도를 조절하는 단계는,
사용자로부터 상기 생성된 시공간 워프 커브의 일부 지점을 선택받는 단계,
상기 사용자가 상기 선택된 지점의 y좌표 값을 변경시키면, 가우시안 필터(Gaussian Filter)를 이용하여 상기 시공간 워프 커브를 변경하는 단계,
상기 변경된 시공간 워프 커브에 대응하여 상기 스플라인 커브를 보정하는 단계, 그리고
상기 보정된 스플라인 커브에 대응하여 상기 3차원 캐릭터의 일부 관절의 각도를 조절하는 단계를 포함하는 3차원 캐릭터 모션 제어 방법. - 제1항에 있어서,
상기 다중 스플라인 커브를 생성하는 단계는,
상기 서브 제어점의 개수와 상기 허브 제어점의 중심으로부터의 거리에 따라 스플라인 커브의 개수와 궤적을 결정하는 3차원 캐릭터 모션 제어 방법. - 제1항에 있어서,
상기 시공간 워프 커브는,
상기 스플라인 커브에 대하여 수직인 방향인 y축 좌표 값을 가지는 3차원 커브로 이루어진 3차원 캐릭터 모션 제어 방법. - 삭제
- 제1항에 있어서,
상기 3차원 캐릭터의 속도를 제어하는 단계에 있어서,
상기 변경된 시공간 워프 커브 중 일부 구간의 y좌표 값 또는 기울기가 증가되면, 해당 구간에 대응하는 상기 3차원 캐릭터의 이동 속도를 증가시키고, 상기 변경된 시공간 워프 커브의 y좌표 값이 감소하거나 기울기가 감소하면 해당 구간에 대응하는 상기 3차원 캐릭터의 이동 속도를 감소시키는 3차원 캐릭터 모션 제어 방법. - 제1항에 있어서,
상기 3차원 캐릭터는,
움직이는 사람의 모션으로부터 획득한 모션 캡쳐 데이터를 토대로 동작이 매칭되는 3차원 캐릭터 모션 제어 방법. - 시공간 워프 커브를 이용한 3차원 캐릭터 모션 생성 장치에 있어서,
사용자로부터 3차원 캐릭터의 이동 궤적을 입력받는 입력부,
상기 입력된 궤적을 스플라인 커브 피팅(spline curve fitting) 알고리즘에 적용하여 복수의 허브 제어점을 포함하는 2차원 형태의 스플라인 커브를 생성하고, 상기 허브 제어점을 중심으로 일정 거리 내에 복수의 서브 제어점을 생성하며, 상기 복수의 허브 제어점과 복수의 서브 제어점을 서로 다른 조합으로 연결하여 다양한 경로의 다중 스플라인 커브를 생성하는 스플라인 커브 생성부,
사용자로부터 하나의 스플라인 커브를 선택받으면, 선택된 스플라인 커브에 대응하는 3차원 형태의 시공간 워프 커브(Space time warp curve)를 생성하는 시공간 워프 커브 생성부,
시공간 워프 커브에 대응하여 3차원 캐릭터의 속도를 제어하는 제어부, 그리고
상기 3차원 캐릭터를 화면상에 표시하여 출력하는 출력부를 포함하고,
상기 제어부는,
사용자로부터 상기 생성된 시공간 워프 커브의 일부 지점을 선택받는 지정 선택부,
상기 사용자가 상기 선택된 지점의 y좌표 값을 변경시키면, 가우시안 필터(Gaussian Filter)를 이용하여 상기 시공간 워프 커브를 변경하는 시공간 워프 커브 변경부,
상기 변경된 시공간 워프 커브에 대응하여 상기 스플라인 커브를 보정하는 스플라인 커브 보정부, 그리고
상기 보정된 스플라인 커브에 대응하여 상기 3차원 캐릭터의 일부 관절의 각도를 조절하는 모션 조절부를 포함하는 3차원 캐릭터 모션 생성 장치. - 제9항에 있어서,
상기 스플라인 커브 생성부는,
상기 서브 제어점의 개수와 상기 허브 제어점의 중심으로부터의 거리에 따라 스플라인 커브의 개수와 궤적을 결정하는 3차원 캐릭터 모션 생성 장치. - 제9항에 있어서,
상기 시공간 워프 커브 생성부는,
상기 스플라인 커브에 대하여 수직인 방향인 y축 좌표 값을 가지는 3차원 커브로 이루어진 3차원 캐릭터 모션 생성 장치. - 삭제
- 제9항에 있어서,
상기 제어부는,
상기 변경된 시공간 워프 커브 중 일부 구간의 y좌표 값 또는 기울기가 증가되면, 해당 구간에 대응하는 상기 3차원 캐릭터의 이동 속도를 증가시키고, 상기 변경된 시공간 워프 커브의 y좌표 값이 감소하거나 기울기가 감소하면 해당 구간에 대응하는 상기 3차원 캐릭터의 이동 속도를 감소시키는 3차원 캐릭터 모션 생성 장치. - 제9항에 있어서,
상기 3차원 캐릭터는,
움직이는 사람의 모션으로부터 획득한 모션 캡쳐 데이터를 토대로 동작이 매칭되는 3차원 캐릭터 모션 생성 장치.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018010624A (ja) * | 2016-06-10 | 2018-01-18 | スクウェア エニックス、リミテッドSquare Enix,Ltd., | ゲーム環境内でカバーモードにあるキャラクタの曲線化された移動軌跡を決定する方法及びシステム |
-
2018
- 2018-07-17 KR KR1020180082894A patent/KR102061976B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018010624A (ja) * | 2016-06-10 | 2018-01-18 | スクウェア エニックス、リミテッドSquare Enix,Ltd., | ゲーム環境内でカバーモードにあるキャラクタの曲線化された移動軌跡を決定する方法及びシステム |
Cited By (3)
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 |