KR102008235B1 - Apparatus and method of generating animation in altered gravity environment - Google Patents
Apparatus and method of generating animation in altered gravity environment Download PDFInfo
- Publication number
- KR102008235B1 KR102008235B1 KR1020170143022A KR20170143022A KR102008235B1 KR 102008235 B1 KR102008235 B1 KR 102008235B1 KR 1020170143022 A KR1020170143022 A KR 1020170143022A KR 20170143022 A KR20170143022 A KR 20170143022A KR 102008235 B1 KR102008235 B1 KR 102008235B1
- Authority
- KR
- South Korea
- Prior art keywords
- gravity
- graphic character
- parameter
- gait
- animation
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
제1 중력을 갖는 공간 내의 복수의 걸음걸이(gait) 타입 각각에 대응하는 모션 데이터를 저장하는 메모리, 상기 모션 데이터를 이용하여 제2 중력을 갖는 공간 내의 그래픽 캐릭터의 걸음걸이를 결정하기 위한 파라미터를 계산하는 추정부, 상기 계산된 파라미터를 이용하여 상기 그래픽 캐릭터의 질량 중심에 대응하는 이동 궤적을 생성하는 생성부 및 상기 이동 궤적을 이용하여 상기 그래픽 캐릭터의 전신 애니메이션을 생성하는 모션 플랜부를 포함하는 애니메이션 생성 장치가 제공된다.A memory for storing motion data corresponding to each of a plurality of gait types in a space having a first gravity, and a parameter for determining a gait of a graphic character in a space having a second gravity using the motion data; An animation including an estimation unit for calculating, a generation unit for generating a movement trajectory corresponding to the center of mass of the graphic character using the calculated parameter, and a motion plan unit for generating a full body animation of the graphic character using the movement trajectory. A generating device is provided.
Description
이하의 설명은 애니메이션 생성 장치 및 방법에 관한 것이다. 보다 구체적으로, 변화된 중력 공간 내에서 이동하는 애니메이션을 생성하는 장치 및 방법에 연관된다.The following description relates to an apparatus and method for generating animation. More specifically, it relates to an apparatus and method for generating animations that move within a changed gravity space.
물리기반의 캐릭터 제어 장치는 모션 데이터에 기반하여 평면, 경사면, 울퉁불퉁한 영역(uneven terrain) 등에서 걷기, 뛰기 또는 회전을 수행하는 캐릭터의 동작을 구현하는 장치를 의미한다. 종래 기술들은 물리적인 분석에 기반하여 캐릭터의 안정적인 동작을 생성할 수 있으나, 지구 중력 내에서의 애니메이션만을 생성하고 있다.The physically-based character control device refers to a device that implements a motion of a character that performs walking, running, or rotation on a plane, a slope, an uneven terrain, or the like based on motion data. Prior arts can generate stable motions of a character based on physical analysis, but only generate animations within the Earth's gravity.
달이나 화성 같은 지구 이외의 중력을 갖는 공간에 존재하는 그래픽 캐릭터의 풋스텝 패턴(footstep pattern)을 구현하고, 양 발 걸음걸이의 제어(bipedal control)를 수행할 수 있는 방식의 필요성이 존재한다.There is a need for a way to implement a footstep pattern of graphic characters that exist in a space with gravity other than the earth, such as the moon or Mars, and to perform bipedal control.
일측에 따르면, 제1 중력을 갖는 공간 내의 복수의 걸음걸이(gait) 타입 각각에 대응하는 모션 데이터를 저장하는 메모리, 상기 모션 데이터를 이용하여 제2 중력을 갖는 공간 내의 그래픽 캐릭터의 걸음걸이를 결정하기 위한 파라미터를 계산하는 추정부, 상기 계산된 파라미터를 이용하여 상기 그래픽 캐릭터의 질량 중심에 대응하는 이동 궤적을 생성하는 생성부 및 상기 이동 궤적을 이용하여 상기 그래픽 캐릭터의 전신 애니메이션을 생성하는 모션 플랜부를 포함하는 애니메이션 생성 장치가 제공된다.According to one side, the memory for storing the motion data corresponding to each of the gait (gait) type in the space having a first gravity, the gait of the graphic character in the space having a second gravity by using the motion data An estimator for calculating a parameter for performing a motion, a generator for generating a movement trajectory corresponding to the center of mass of the graphic character using the calculated parameter, and a motion plan for generating a full-body animation of the graphic character using the movement trajectory There is provided an animation generating device including a portion.
일실시예에 따르면, 상기 추정부는 상기 제2 중력을 갖는 공간 내의 그래픽 캐릭터의 걸음걸이를 결정하기 위해 상기 제2 중력의 크기(level of gravity), 상기 그래픽 캐릭터의 전진 속도(forward velocity) 및 상기 그래픽 캐릭터의 보폭 주기(stride frequency) 중 적어도 하나를 상기 파라미터로서 계산할 수 있다.According to one embodiment, the estimator is the level of gravity of the second gravity, the forward velocity of the graphic character to determine the gait of the graphic character in the space having the second gravity At least one of the stride frequency of the graphic character may be calculated as the parameter.
다른 일실시예에 따르면, 상기 추정부는 상기 복수의 걸음걸이 타입 중 하나에 대응하는 프루드 수(Froude Number)를 이용하여 상기 파라미터를 계산할 수 있다.According to another embodiment, the estimator may calculate the parameter by using a Froude Number corresponding to one of the plurality of walking types.
또 다른 일실시예에 따르면, 상기 추정부는 사용자 입력에 응답하여 상기 복수의 걸음걸이(gait) 타입 중 하나에 대응하는 프루드 수를 선택하고, 상기 사용자 입력은 상기 그래픽 캐릭터의 다리 길이, 상기 그래픽 캐릭터의 보폭(stride length) 및 상기 제2 중력의 크기 중 적어도 하나에 대한 입력값을 포함할 수 있다.According to another embodiment, the estimator selects the number of probes corresponding to one of the plurality of gait types in response to a user input, wherein the user input includes a leg length of the graphic character and the graphic. It may include an input value for at least one of the stride length of the character and the magnitude of the second gravity.
또 다른 일실시예에 따르면, 상기 애니메이션 생성 장치는 사용자 입력에 응답하여 선택된 프루드 수에 기반하여 저장된 모션 데이터를 수정하고, 상기 수정된 모션 데이터에 따라 생성된 전신 애니메이션을 최적화하는 조정부를 더 포함할 수 있다.According to another embodiment, the animation generating device further includes an adjustment unit for modifying the stored motion data based on the selected number of probes in response to a user input, and optimizes the whole body animation generated according to the modified motion data can do.
또 다른 일실시예에 따르면, 상기 추정부는 사용자 입력에 응답하여 상기 복수의 걸음걸이 타입 중 하나에 대응하는 프루드 수를 선택하고, 상기 선택된 프루드 수를 이용하여 상기 그래픽 캐릭터의 걸음걸이에 대한 정상 범위를 출력할 수 있다. 상기 정상 범위는 상기 그래픽 캐릭터의 전진 속도 및 보폭 주기 중 적어도 하나의 유효 범위를 나타낼 수 있다.According to another embodiment, the estimator selects a probe number corresponding to one of the plurality of gait types in response to a user input, and uses the selected number of prunes for the gait of the graphic character. Normal range can be output. The normal range may indicate an effective range of at least one of a forward speed and a stride period of the graphic character.
또 다른 일실시예에 따르면, 상기 생성부는 상기 제2 중력에 대응하는 역진자 카트형(IPC: Inverted Pendulum on a Cart) 모델에 상기 계산된 파라미터를 적용하여 상기 이동 궤적을 생성할 수 있다.According to another embodiment, the generation unit may generate the movement trajectory by applying the calculated parameter to an Inverted Pendulum on a Cart (IPC) model corresponding to the second gravity.
또 다른 일실시예에 따르면, 상기 모션 플랜부는, 지구 중력가속도(g)를 나타내는 상기 제1 중력 보다 낮은 중력값을 갖는 상기 제2 중력 하에서의 상기 그래픽 캐릭터의 전신 애니메이션을 생성할 수 있다.According to another embodiment, the motion plan unit may generate a full body animation of the graphic character under the second gravity having a gravity value lower than the first gravity indicating the earth gravity acceleration g.
다른 일측에 따르면, 제1 중력에 대응하는 모션 데이터를 이용하여 제2 중력을 갖는 공간 내의 그래픽 캐릭터의 걸음걸이를 결정하기 위한 파라미터를 계산하는 단계, 상기 계산된 파라미터를 이용하여 상기 그래픽 캐릭터의 질량 중심에 대응하는 이동 궤적을 생성하는 단계 및 상기 이동 궤적을 이용하여 상기 그래픽 캐릭터의 전신 애니메이션을 생성하는 단계를 포함할 수 있다.According to another aspect of the present invention, calculating a parameter for determining a gait of a graphic character in a space having a second gravity using motion data corresponding to a first gravity, and using the calculated parameter, the mass of the graphic character. Generating a movement trajectory corresponding to a center and generating a whole body animation of the graphic character using the movement trajectory.
일실시예에 따르면, 상기 파라미터를 계산하는 단계는 상기 제2 중력을 갖는 공간 내의 그래픽 캐릭터의 걸음걸이를 결정하기 위해 상기 제2 중력의 크기(level of gravity), 상기 그래픽 캐릭터의 전진 속도(forward velocity) 및 상기 그래픽 캐릭터의 보폭 주기(stride frequency) 중 적어도 하나를 상기 파라미터로서 계산하는 단계를 포함할 수 있다.According to one embodiment, the step of calculating the parameter is the level of gravity, the forward speed of the graphic character to determine the gait of the graphic character in the space having the second gravity calculating at least one of a velocity and a stride frequency of the graphic character as the parameter.
다른 일실시예에 따르면, 상기 파라미터를 계산하는 단계는 상기 복수의 걸음걸이(gait) 타입 중 하나에 대응하는 프루드 수(Froude Number)를 이용하여 상기 파라미터를 계산하는 단계를 포함할 수 있다.According to another embodiment, the calculating of the parameter may include calculating the parameter by using a Froude Number corresponding to one of the plurality of gait types.
또 다른 일실시예에 따르면, 상기 파라미터를 계산하는 단계는 사용자 입력에 응답하여 상기 복수의 걸음걸이(gait) 타입 중 하나에 대응하는 프루드 수를 선택하는 단계 및 상기 선택된 상기 선택된 프루드 수를 이용하여 상기 파라미터를 계산하는 단계를 포함할 수 있다. 상기 사용자 입력은 상기 그래픽 캐릭터의 다리 길이, 상기 그래픽 캐릭터의 보폭(stride length) 및 상기 제2 중력의 크기 중 적어도 하나에 대한 입력값을 포함할 수 있다.According to another embodiment, the calculating of the parameter may include selecting a probe number corresponding to one of the plurality of gait types in response to a user input, and selecting the selected probe number. Calculating the parameter by using the same. The user input may include an input value for at least one of a leg length of the graphic character, a stride length of the graphic character, and a magnitude of the second gravity.
또 다른 일실시예에 따르면, 상기 전신 애니메이션을 생성하는 단계는 지구 중력가속도(g)를 나타내는 상기 제1 중력 보다 낮은 중력값을 갖는 상기 제2 중력 하에서의 상기 그래픽 캐릭터의 전신 애니메이션을 생성하는 단계를 포함할 수 있다.According to another embodiment, the generating of the whole body animation may include generating the whole body animation of the graphic character under the second gravity having a gravity value lower than the first gravity indicating the earth gravity acceleration g. It may include.
또 다른 일측에 따르면, 지구 중력가속도(g)를 나타내는 제1 중력 보다 낮은 중력값을 갖는 제2 중력 하에서의 그래픽 캐릭터의 전신 애니메이션을 생성하는 프로그램을 수록한 컴퓨터 판독 가능한 기록 매체를 포함할 수 있다. 상기 프로그램은 상기 제1 중력에 대응하는 모션 데이터를 이용하여 상기 제2 중력을 갖는 공간 내의 그래픽 캐릭터의 걸음걸이를 결정하기 위한 파라미터를 계산하는 명령어 세트, 상기 계산된 파라미터를 이용하여 상기 그래픽 캐릭터의 질량 중심에 대응하는 이동 궤적을 생성하는 명령어 세트 및 상기 이동 궤적을 이용하여 상기 그래픽 캐릭터의 전신 애니메이션을 생성하는 명령어 세트를 포함할 수 있다.According to another aspect of the present invention, a computer-readable recording medium may include a program for generating a full-body animation of a graphic character under a second gravity having a lower gravity value than a first gravity representing a gravitational acceleration g. The program includes a command set for calculating a parameter for determining a gait of a graphic character in a space having the second gravity using motion data corresponding to the first gravity, and using the calculated parameter of the graphic character. And a command set for generating a movement trajectory corresponding to the center of mass, and a command set for generating a full body animation of the graphic character using the movement trajectory.
도 1은 일실시예에 따른 애니메이션 생성 장치를 도시하는 블록도이다.
도 2는 도 1에서 설명된 애니메이션 생성 장치가 애니메이션을 생성하기 위한 파라미터를 계산하는 과정을 나타내는 흐름도이다.
도 3은 다른 일실시예에 따른 애니메이션 생성 장치가 질량 중심의 이동 궤적을 생성하는 과정을 도시하는 예시도이다.
도 4a 내지 도 4c는 또 다른 일실시예에 따른 애니메이션 생성 장치가 모션 데이터의 몸체 이동 궤적에 따라 전체 모션을 분류하고, 정의하는 과정을 도시하는 예시도이다.
도 5는 일실시예에 따른 애니메이션 생성 장치의 시뮬레이션 결과를 도시하는 그래프이다.1 is a block diagram illustrating an apparatus for generating animation according to an embodiment.
FIG. 2 is a flowchart illustrating a process of calculating a parameter for generating an animation by the apparatus for generating animation described in FIG. 1.
3 is an exemplary diagram illustrating a process of generating, by the animation generating apparatus, a movement trajectory of a center of mass.
4A to 4C are exemplary views illustrating a process of classifying and defining an entire motion according to a body movement trajectory of motion data according to another embodiment.
5 is a graph illustrating a simulation result of an animation generating apparatus according to an exemplary embodiment.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for purposes of illustration only, and may be practiced in various forms. Accordingly, the embodiments are not limited to the specific disclosure, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical idea.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but such terms should be interpreted only for the purpose of distinguishing one component from another component. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being "connected" to another component, it should be understood that there may be a direct connection or connection to that other component, but there may be other components in between.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly indicates otherwise. As used herein, the terms "comprise" or "having" are intended to designate that the stated feature, number, step, operation, component, part, or combination thereof is present, but one or more other features or numbers, It is to be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, parts or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined herein. Do not.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, the same components will be given the same reference numerals regardless of the reference numerals, and duplicate description thereof will be omitted.
도 1은 일실시예에 따른 애니메이션 생성 장치를 도시하는 블록도이다. 도 1을 참조하면, 애니메이션 생성 장치(100)는 메모리(110), 추정부(120), 생성부(130), 모션 플랜부(140) 및 조정부(150)를 포함할 수 있다. 메모리(110)는 제1 중력을 갖는 공간 내의 복수의 걸음걸이(gait) 타입 각각에 대응하는 모션 데이터를 저장할 수 있다. 예시적으로, 모션 데이터는 특정 모션을 수행하는 오브젝트 내 관절 각각의 좌표값, 속도값 및 가속도값과 같은 물리 데이터를 나타낼 수 있다. 일실시예로서, 메모리(110)는 제1 중력을 갖는 공간 내의 걷기(walking) 데이터, 뛰기(running) 데이터 및 돌기(turning) 데이터 각각을 모션 데이터로서 저장할 수 있다.1 is a block diagram illustrating an apparatus for generating animation according to an embodiment. Referring to FIG. 1, the
다른 일실시예로서, 메모리(110)는 하나의 걷기 데이터에 대해 복수의 모션 데이터를 저장할 수 있다. 이를테면, 메모리(110)는 키 180cm 이상의 캐릭터의 걷기 데이터, 키 180cm 미만 175cm 이상의 캐릭터의 걷기 데이터와 같이 키에 따라 분류된 모션 데이터를 저장할 수 있다. 또한, 다른 일실시예로서 메모리(110)는 성큼성큼 걷는 걷기 데이터, 종종 걸음 형태의 걷기 데이터, 오리 걸음 형태의 걷기 데이터와 같이 보행 형태에 따라 분류된 모션 데이터 등을 저장할 수 있다. 또 다른 일실시예로서, 메모리(110)는 날씬한 캐릭터의 걷기 데이터, 평균 몸매 캐릭터의 걷기 데이터, 뚱뚱한 캐릭터의 걷기 데이터와 같이 몸매에 따라 분류된 모션 데이터 등을 저장할 수도 있다.In another embodiment, the
추정부(120)는 메모리(110)에 저장된 모션 데이터를 이용하여 제2 중력을 갖는 공간 내의 그래픽 캐릭터의 걸음걸이를 결정하기 위한 파라미터를 계산할 수 있다. 예시적으로, 메모리(110)에 저장된 모션 데이터에 관한 제1 중력은 지구 중력가속도(g)를 나타낼 수 있다. 또한, 제2 중력은 상기 제1 중력 보다 낮은 중력가속도를 갖는 중력을 나타낼 수 있다. 위의 설명은 발명의 이해를 돕기 위한 예시적 기재일 뿐, 다른 실시예의 범위를 제한하거나 한정하는 것으로 해석되어서는 안될 것이다. 이를테면, 제1 중력 및 제2 중력 모두는 지구 중력가속도를 기준으로 큰 중력을 나타낼 수도 있고, 지구 중력가속도를 기준으로 작은 중력을 나타내는 것과 같은 다양한 변형이 가능할 것이다.The
보다 구체적으로, 추정부(120)는 제2 중력을 갖는 공간 내의 그래픽 캐릭터의 걸음걸이를 결정하기 위해 상기 제2 중력의 크기(level of gravity), 상기 그래픽 캐릭터의 전진 속도(forward velocity) 및 상기 그래픽 캐릭터의 보폭 주기(stride frequency) 중 적어도 하나를 상기 파라미터로서 계산할 수 있다.More specifically, the
생성부(130)는 계산된 파라미터를 이용하여 상기 그래픽 캐릭터의 질량 중심에 대응하는 이동 궤적을 생성할 수 있다. 구체적으로, 생성부(120)는 제2 중력에 대응하는 역진자 카트형(IPC: Inverted Pendulum on a Cart) 모델에 계산된 파라미터를 적용하여 이동 궤적을 생성할 수 있다.The
또한, 생성부(130)는 각각의 시간 스텝마다 저장된 모션 데이터에 대응하는 역진자 카트형 모델의 상태를 추정할 수 있다. 구체적으로, 생성부(130)는 모션 데이터 내의 캡쳐된 자세(posture)와 시뮬레이팅된 그래픽 캐릭터의 현재 자세를 정렬함으로써 그래픽 캐릭터의 수평적인 이동 궤적을 계산할 수 있다. 생성부(130)는 역진자 카트형 모델의 현재 상태와 추정부(120)에 의해 계산된 타겟 전진 속도를 이용하여 미래 시간 스텝에 대응하는 수평적인 이동 궤적을 계산할 수 있다.In addition, the
모션 플랜부(140)는 생성된 이동 궤적을 이용하여 그래픽 캐릭터의 전신 애니메이션을 생성할 수 있다. 구체적으로, 모션 플랜부(140)는 지구 중력가속도(g)를 나타내는 제1 중력 보다 낮은 중력값을 갖는 제2 중력 하에서의 상기 그래픽 캐릭터의 전신 애니메이션을 생성할 수 있다. 모션 플랜부(140)는 생성된 이동 궤적에 역운동 모델(inverse kinematics model)을 적용하여 풋스텝 위치를 포함하는 캐릭터 모션을 원하는 모션으로 변환할 수 있다. 이에 따라, 모션 플랜부(140)는 서라운딩 환경 내에서 그래픽 캐릭터에 관한 전신 모션을 생성할 수 있다.The
조정부(150)는 사용자 입력에 응답하여 선택된 프루드 수에 따라 저장된 모션 데이터를 수정하고, 상기 수정된 모션 데이터에 따라 생성된 전신 애니메이션을 최적화할 수 있다. 조정부(150)가 저장된 모션 데이터와 비교하여 그래픽 캐릭터의 모션을 최적화하는 과정에 대해서는 이하에서 추가될 도면과 함께 보다 자세하게 설명된다.The adjusting
도 2는 도 1에서 설명된 애니메이션 생성 장치가 애니메이션을 생성하기 위한 파라미터를 계산하는 과정을 나타내는 흐름도이다. 도 2를 참조하면, 애니메이션을 생성하기 위한 파라미터를 계산하는 방법(200)은 사용자 입력에 응답하여 복수의 걸음걸이 타입 중 하나에 대응하는 프루드 수를 선택하는 단계(210) 및 상기 선택된 프루드 수를 이용하여 복수의 파라미터를 계산하는 단계(220)를 포함할 수 있다.FIG. 2 is a flowchart illustrating a process of calculating a parameter for generating an animation by the apparatus for generating animation described in FIG. 1. Referring to FIG. 2, a
단계(210)에서 애니메이션 생성 장치는 사용자로부터 생성된 그래픽 캐릭터에 관한 사용자 입력을 전달 받을 수 있다. 상기 사용자 입력은 상기 그래픽 캐릭터의 다리 길이, 상기 그래픽 캐릭터의 보폭(stride length) 및 상기 제2 중력의 크기 중 적어도 하나에 대한 입력값을 포함할 수 있다. 위에 기재된 사용자 입력에 대한 설명은 발명의 이해를 돕기 위한 예시적 기재일 뿐, 다른 실시예를 제한하거나 한정하는 것으로 해석되어서는 안될 것이다. 예를 들면, 애니메이션 생성 장치는 사용자로부터 그래픽 캐릭터의 키(height), 걸음걸이 주기(stride frequency) 등과 같이 생성된 그래픽 캐릭터의 스펙(specification)을 나타내는 다양한 입력값을 전달할 수 있다.In
단계(210)에서 애니메이션 생성 장치에 포함되는 추정부는 복수의 걸음걸이 타입 중 하나에 대응하는 프루드 수(Froude Number)를 이용하여 파라미터를 계산할 수 있다. 상기 프루드 수는 중력이 작용하는 공간 내에서 이동하는 물체에 적용되는 구심력(centripetal force)과 중력(gravitational force) 사이의 비율을 나타낼 수 있다. 상기 프루드 수는 아래의 수학식 1과 같이 정의될 수 있다.In
상기 수학식 1에서 m은 이동하는 물체의 질량, v는 질량 중심(COM: Center Of Mass)의 전진 속도, g는 지구 중력가속도, h는 이동하는 물체의 다리 길이(height), s는 이동하는 물체의 보폭, f는 이동하는 물체의 걸음걸이 주기를 나타낼 수 있다.In
그래픽 캐릭터의 걸음걸이는 팔과 다리의 이동에 따라 획득되는 일정한 패턴을 나타낼 수 있다. 또한, 걸음걸이 패턴은 지정된 프루드 수를 통해 정의될 수 있다. 프루드 수는 0이상 1 이하 범위 내에 존재할 수 있다. 예를 들어, 프루드 수가 1보다 큰 경우, 즉 관성력이 중력보다 큰 상태에서 그래픽 캐릭터의 양 발은 공기 중에 떠 있을 수 있다. 예시적으로, 평균적인 이동체는 0.5의 프루드 수에서 걷기에서 뛰기로 모션이 전환되며, 0.25의 프루드 수에서 안정적인 걸음을 유지할 수 있다. 본 실시예의 애니메이션 생성 장치는 프루드 수를 이용하여 중력 레벨에 따라 양 발 움직임과 자연스러운 모션을 만드는 방법을 예측한다.The gait of the graphic character may represent a certain pattern obtained by the movement of the arm and leg. In addition, the gait pattern may be defined through a specified number of probes. The number of probes may be in the range of 0 or more and 1 or less. For example, if the number of probes is greater than 1, that is, the inertial force is greater than gravity, both feet of the graphic character may be floating in the air. By way of example, the average moving body may switch motion from walking to run at a probe number of 0.5 and maintain a stable step at a probe number of 0.25. The animation generating device of the present embodiment predicts a method of making the two-foot movement and the natural motion according to the gravity level using the number of probes.
또한, 추정부는 사용자 입력에 응답하여 복수의 걸음걸이 타입 중 하나에 대응하는 프루드 수를 선택할 수 있다. 이를테면, 그래픽 캐릭터의 스펙에 따라 걷기 또는 뛰기와 같은 모션에 대응하는 프루드 수가 상이할 수 있다. 동일한 걷기 모션을 수행하는 경우라도, 생성되는 그래픽 캐릭터의 키, 다리 길이 등에 따라 프루드 수가 상이할 것이다. 이에 따라, 애니메이션 생성 장치는 사용자 입력에 따른 걸음걸이 타입에 따라 프루드 수를 선택할 수 있다.In addition, the estimator may select the number of probes corresponding to one of the plurality of walking types in response to the user input. For example, according to the specification of the graphic character, the number of probes corresponding to a motion such as walking or running may be different. Even when performing the same walking motion, the number of probes will vary depending on the height, leg length, and the like of the generated graphic character. Accordingly, the animation generating device may select the number of probes according to the type of gait according to the user input.
단계(220)에서 애니메이션 생성 장치는 상기 선택된 프루드 수를 이용하여 복수의 파라미터를 계산할 수 있다. 걸음걸이 타입에 따라 프루드 수가 고정된 경우, 애니메이션 생성 장치는 고정된 프루드 수에 기초하여 복수의 파라미터를 계산할 수 있다. 보다 구체적으로, 상기 프루드 수는 그래픽 캐릭터의 걸음걸이 타입에 따라 변화하지만, 중력의 변화와는 무관하게 일정하게 고정되기 때문에 애니메이션 생성 장치의 추정부는 그래픽 캐릭터의 스펙에 따른 복수의 파라미터를 아래의 수학식 2, 3과 같이 계산할 수 있다.In operation 220, the apparatus for generating animation may calculate a plurality of parameters using the selected number of probes. When the number of probes is fixed according to the type of walking, the animation generating apparatus may calculate a plurality of parameters based on the fixed number of probes. More specifically, the number of probes varies depending on the type of gait of the graphic character, but since it is fixed constantly regardless of the change in gravity, the estimator of the animation generating device determines a plurality of parameters according to the specification of the graphic character. It can be calculated as in
애니메이션 생성 장치의 추정부는 고정된 프루드 수에 기반하여, 그래픽 캐릭터의 전진 이동 속도 v와 걸음걸이 주기 f를 계산할 수 있다. 상기 수학식 2, 3에서 그래픽 캐릭터의 다리 길이(height) h와 그래픽 캐릭터의 보폭 s는 사용자 입력에 따라 결정되는 그래픽 캐릭터의 스펙을 나타낼 수 있다.The estimating unit of the animation generating apparatus may calculate the forward moving speed v and the gait period f of the graphic character based on the fixed number of probes. In
다른 일실시예로서, 애니메이션 생성 장치는 사용자 입력에 따라 선택된 프루드 수를 이용하여 그래픽 캐릭터의 걸음걸이에 대한 정상 범위를 출력할 수 있다. 구체적으로, 상기 정상 범위는 상기 그래픽 캐릭터의 전진 속도 및 보폭 주기 중 적어도 하나의 유효 범위를 나타낼 수 있다. 이에 따라, 애니메이션 생성 장치는 그래픽 캐릭터의 안정적인 모션 생성에 방해가 될 정도의 극단적으로 긴 보폭 주기 또는 극단적으로 짧은 보폭 주기와 같은 이상 입력값을 배제하고, 사용자로부터 유효한 입력값이 전달되도록 요청할 수 있다.In another embodiment, the animation generating device may output a normal range for the gait of the graphic character using the number of prunes selected according to the user input. Specifically, the normal range may represent an effective range of at least one of a forward speed and a stride period of the graphic character. Accordingly, the animation generating device may request that a valid input value is transmitted from the user, excluding an abnormal input value such as an extremely long stride period or an extremely short stride period such that it interferes with the stable motion generation of the graphic character. .
도 3은 다른 일실시예에 따른 애니메이션 생성 장치가 질량 중심의 이동 궤적을 생성하는 과정을 도시하는 예시도이다. 역진자 카트형 모델은 캐릭터 몸체의 동작을 표현하는 역진자 모델과 캐릭터의 이동을 나타내는 카트(이동체)로 이루어져 있으며, 역진자와 이동체의 운동 원리에 기반하여 저중력 공간 내의 운동 방정식을 계산하는 모델을 나타낸다.3 is an exemplary diagram illustrating a process of generating, by the animation generating apparatus, a movement trajectory of a center of mass. The inverted pendulum cart type model consists of an inverted pendulum model representing the movement of the character body and a cart (moving body) representing the movement of the character. Indicates.
도 3을 참조하면, 본 실시예에 따른 애니메이션 생성 장치가 그래픽 캐릭터의 질량 중심의 이동 궤적(320)을 계산하는 과정이 도시된다. 그래픽 캐릭터의 질량, 키, 다리 길이, 보폭 및 걸음걸이 주기와 같은 스펙에 따라 걸음걸이 타입에 대응하는 프루드 수가 선택될 수 있다. 상기 프루드 수는 그래픽 캐릭터에게 작용하는 구심력(311)과 중력(312)의 비율을 나타낼 수 있다. 또한, 애니메이션 생성 장치는 선택된 프루드 수 및 사용자 입력에 기반하여 제1 중력 하에서의 그래픽 캐릭터의 전진 속도 vA 및 걸음걸이 주기 fA를 계산할 수 있다. 애니메이션 생성 장치는 중력 변화에 대해 독립적으로 프루드 수가 고정된다는 사실을 이용하여 아래의 수학식 4와 같이 제2 중력 하에서의 그래픽 캐릭터의 전진 속도 vB 및 걸음걸이 주기 fB를 계산할 수 있다.Referring to FIG. 3, the process of calculating the
상기 수학식 4에서, gA는 제1 중력이고 gB는 제2 중력을 나타낸다. 본 실시예의 애니메이션 생성 장치는 생성할 그래픽 캐릭터의 양 발 길이 및 지구 중력가속도를 이용하여 그래픽 캐릭터에 상응하는 프루드 수를 계산할 수 있다. 또한, 애니메이션 생성 장치는 지구 중력 하에서의 프루드 수가 다른 중력을 갖는 공간에서의 프루드 수와 동일하다는 사실에 기반하여 제2 중력 하에서의 전진 속도 및 걸음걸이 주기를 계산할 수 있다.In
도 4a 내지 도 4c는 또 다른 일실시예에 따른 애니메이션 생성 장치가 모션 데이터의 몸체 이동 궤적에 따라 전체 모션을 분류하고, 정의하는 과정을 도시하는 예시도이다. 도 4a 내지 도 4c를 참조하면, 걷기, 뛰기 및 돌기 모션 각각에 대한 지구 중력 하에서의 모션 데이터 집합이 도시된다. 예시적으로, 애니메이션 생성 장치는 복수의 연속된 상태(state)에 기반하여 각각의 모션 데이터를 저장할 수 있다.4A to 4C are exemplary views illustrating a process of classifying and defining an entire motion according to a body movement trajectory of motion data according to another embodiment. 4A-4C, a set of motion data under earth gravity for each of walking, running, and protruding motions is shown. In exemplary embodiments, the animation generating apparatus may store each motion data based on a plurality of continuous states.
도 4a와 같이, 걷기의 경우에 오른발 이동 상태(411), 오른발 착지(412), 왼발 이동 상태(413) 및 왼발 착지(414)와 같이 일련의 상태로 정의될 수 있다. 도 4a 내지 도 4c에서 L은 왼발 상태를 나타내는 파라미터, R은 오른발 상태를 나타내는 파라미터일 수 있다. L 및 R이 1인 경우 해당 발이 지면에 착지한 상태를 나타내고, 0인 경우 해당 발이 지면으로부터 분리되어 이동 중인 것을 나타낼 수 있다. 도 4b와 같이, 뛰기의 경우에 오른발 이동 상태(421) 및 왼발 이동 상태(422)와 같은 두 가지 상태로 정의될 수 있다. 또한, 도 4c와 같이, 돌기의 경우에 오른발 회전이동 상태(431), 오른발 착지(432), 왼발 회전이동 상태(433) 및 왼발 착지(434)와 같은 일련의 상태로 정의될 수 있다.In the case of walking, as shown in FIG. 4A, the right
본 실시예의 애니메이션 생성 장치는 지구 중력장 내에서의 걷기, 뛰기 및 돌기와 같은 기준 모션을 이용하여 애니메이션을 생성할 수 있다. 보다 구체적으로, 애니메이션 생성 장치는 모션을 시뮬레이팅하기 위해 네 개의 걸음걸이 변수를 이용할 수 있다. 걸음걸이 변수 집합에는 αleg, αvel, αstridefreq, αfpos 변수 각각이 이용될 수 있다. αleg는 캐릭터의 다리 길이를 나타낼 수 있다. αvel는 질량 중심의 전진 속도를 나타낼 수 있다. αstridefreq는 걸음걸이 간격을 나타낼 수 있다. αfpos는 스윙 또는 지지 단계와 같은 각각의 모션 단계에서의 다리 위치를 나타낼 수 있다. 예시적으로, 전진 속도 αvel는 저장된 모션 데이터 내의 전진 속도를 스케일링하는 방식으로 조정될 수 있다.The animation generating device of the present embodiment may generate animation using reference motions such as walking, running, and turning in the earth's gravity field. More specifically, the animation generating device may use four gait variables to simulate motion. For the gait variable set, the α leg , α vel , α stridefreq , and α fpos variables may be used. α leg may represent a leg length of a character. α vel can represent the forward velocity of the center of mass. α stridefreq can represent the gait interval. α fpos may represent the leg position at each motion stage, such as a swing or support stage. By way of example, the forward speed α vel may be adjusted in a way to scale the forward speed in the stored motion data.
또한, 애니메이션 생성 장치에 포함되는 조정부는 수정된 모션 데이터를 이용하여 생성된 전신 애니메이션을 최적화할 수 있다. 조정부는 그래픽 캐릭터에 포함되는 각각의 관절(joint)들의 토크(torque) 값과 이동 범위를 최적화할 수 있다. 조정부는 모션을 생성하는 각각의 시간 스텝마다 그래픽 캐릭터가 갖는 수평 방향의 모션 동적 균형(balance-recovering)을 계산할 수 있다. 조정부는 그래픽 캐릭터의 모션을 안정적으로 생성하기 위해 온라인 최적화(online optimization)과정 및 오프라인 최적화(offline optimization) 과정 각각을 수행할 수 있다.In addition, the adjusting unit included in the animation generating apparatus may optimize the generated whole body animation using the modified motion data. The adjusting unit may optimize the torque value and the moving range of each joint included in the graphic character. The adjusting unit may calculate a horizontal motion dynamic balance-recovering of the graphic character at each time step of generating the motion. The controller may perform an online optimization process and an offline optimization process to stably generate the motion of the graphic character.
온라인 최적화 과정Online optimization course
조정부는 그래픽 캐릭터들의 관절 토크 τ, 가속도 및 지면 접촉력 λ에 따라 정의되는 목적함수의 선형 집합들을 아래 수학식 5와 같이 최소화하는 방식으로 최적화를 실시간으로 수행할 수 있다.The adjusting part is the joint torque τ, acceleration of the graphic characters And optimization may be performed in real time by minimizing the linear sets of the objective function defined according to the ground contact force λ as shown in Equation 5 below.
상기 수학식 5 내의 Ltracking은 현 시점에서 요구되는 가속도(desired acceleration)와 그래픽 캐릭터의 실제 가속도(actual acceleration)의 차이에 가중 계수 ltr를 곱한 값으로 정의되며, 아래의 수학식 6과 같이 정의될 수 있다.L tracking in Equation 5 is defined as a value obtained by multiplying the difference between the desired acceleration at the present time and the actual acceleration of the graphic character by the weighting factor l tr , and is defined as Equation 6 below. Can be.
상기 수학식 6에서 는 현 시점에서 요구되는 그래픽 캐릭터의 가속도, q는 그래픽 캐릭터의 실제 가속도를 나타낼 수 있다.In Equation 6 Is the acceleration of the graphic character required at this time, q may represent the actual acceleration of the graphic character.
또한, 상기 수학식 5 내의 Lend effector는 카테시안(Cartesian) 공간 내에서 앤드 이펙터(end effector, 인체 말단인 발)의 위치를 추정하는 목적함수를 나타내며, 아래의 수학식 7과 같이 정의될 수 있다.In addition, the L end effector in Equation 5 represents an objective function for estimating the position of the end effector in the Cartesian space and may be defined as in
상기 수학식 7에서 lee는 Lend effector에 관한 가중 계수를 나타내고, 는 i 번째 앤드 이펙터의 현 시점에서 요구되는 가속도를 나타내며, 는 수정된 기준 모션으로부터의 i 번째 앤드 이펙터의 실제 가속도를 나타낸다.In
상기 수학식 5 내의 Ltorque는 그래픽 캐릭터에 적용되는 관절 토크 값 τ의 제곱과 가중 계수인 ltorq의 곱으로 정의되며, 아래의 수학식 8과 같이 정의될 수 있다. 또한, 수학식 5 내의 Lcontact force는 그래픽 캐릭터에 적용되는 지면 접촉력 λ의 제곱과 가중 계수 lcf의 곱으로 정의되며, 아래의 수학식 9과 같이 정의될 수 있다.L torque in Equation 5 is defined as the product of the square of the joint torque value τ applied to the graphic character and l torq, which is a weighting factor, and may be defined as Equation 8 below. Further, L contact force in Equation 5 is defined as the product of the square of the ground contact force λ applied to the graphic character and the weighting factor l cf , and may be defined as Equation 9 below.
오프라인 최적화 과정Offline optimization process
애니메이션 생성 장치에 포함되는 조정부는 그래픽 캐릭터의 전진 속도, 걸음걸이 주기의 간격 등을 수정하여 생성되는 애니메이션을 보다 자연스럽게 최적화할 수 있다. 구체적으로, 조정부는 캡쳐된 기준 모션의 걸음걸이 주기를 이용하여 그래픽 캐릭터의 걸음걸이 주기를 조정할 수 있다.The adjusting unit included in the animation generating device may optimize the generated animation more naturally by modifying the forward speed of the graphic character, the interval of the gait cycle, and the like. Specifically, the adjusting unit may adjust the gait period of the graphic character by using the gait period of the captured reference motion.
또한, 조정부는 그래픽 캐릭터의 궤적을 최적화할 수 있다. 일실시예로서, 조정부는 시뮬레이팅된 모션과 모션 데이터로서 저장된 원래의 기준 모션을 비교하여 상기 궤적을 최적화할 수 있다. 조정부는 상기 수학식 10과 수학식 11에서 Epd와 Esd 값들 모두를 최소화 하는 방식으로 최적화를 수행할 수 있다.Also, the adjusting unit may optimize the trajectory of the graphic character. In one embodiment, the adjuster may optimize the trajectory by comparing the simulated motion with the original reference motion stored as motion data. The adjusting unit uses E pd and E sd in Equations 10 and 11 above. Optimization can be done in a way that minimizes all the values.
상기 수학식 10에서, Epd는 기준 모션과 시뮬레이팅된 모션의 편차를 나타내며, N은 애니메이션에 포함되는 프레임의 개수, dpose는 시뮬레이팅된 자세와 기존 모션의 자세의 차이를 나타낸다. 각각의 모션을 몸체 관절의 위치에 따라 3차원 점으로 표현하여 포인트 클라우드(point cloud)를 구성하고, 수직축을 기준으로 각 모션의 포인트 차이를 비교하는 방식으로 자세 차이가 계산될 수 있다.In Equation 10, E pd represents the deviation between the reference motion and the simulated motion, N represents the number of frames included in the animation, and d pose represents the difference between the simulated pose and the posture of the existing motion. The posture difference may be calculated by expressing each motion as a three-dimensional point according to the position of the body joint to construct a point cloud, and comparing the point difference of each motion based on the vertical axis.
또한, 추정부는 이동 물체의 보폭 간격의 유사성을 측정하는 Esd를 이용하여 안정적인 동작을 생성할 수 있다. Esd는 아래의 수학식 11과 같이 계산될 수 있다.In addition, the estimator may generate a stable operation by using the E sd measuring the similarity of the stride interval of the moving object. E sd may be calculated as in Equation 11 below.
상기 수학식 11에서 i는 i 번째의 보폭을 나타내며, Ns는 보폭 하나에 해당하는 프레임 개수를 의미한다.In Equation 11, i represents the i-th stride, and N s represents the number of frames corresponding to one stride.
도 5는 일실시예에 따른 애니메이션 생성 장치의 시뮬레이션 결과를 도시하는 그래프이다. 도 5는 실제 모션(510)과 시뮬레이션된 그래픽 캐릭터의 모션(520)을 비교하는 그래프이다. 도 5의 그래프의 X 축은 객체의 질량 중심(COM)의 수평 방향의 이동거리(m)을 나타내고, Y 축은 질량 중심의 수직 방향으로의 변화(m)를 나타낸다. 본 실시예의 애니메이션 생성 장치는 실제 달 탐사 동영상으로부터 캡쳐된 실제 모션(510)과 유사한 시뮬레이션된 모션(520)을 생성할 수 있다는 것을 확인할 수 있다. 구체적으로, 질량 중심의 전진 속도, 걸음걸이 간격 및 보폭에 있어서 5% 이내의 차이만을 나타내고 있다.5 is a graph illustrating a simulation result of an animation generating apparatus according to an exemplary embodiment. 5 is a graph comparing
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, and / or combinations of hardware components and software components. For example, the devices, methods, and components described in the embodiments may include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gates (FPGAs). It may be implemented using one or more general purpose or special purpose computers, such as an array, a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD??ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. Computer-readable media may include, alone or in combination with the program instructions, data files, data structures, and the like. The program instructions recorded on the computer readable medium may be those specially designed and configured for the exemplary embodiments, or may be known and available to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with reference to the accompanying drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.
Claims (14)
상기 모션 데이터를 이용하여 제2 중력을 갖는 공간 내의 그래픽 캐릭터의 걸음걸이를 결정하기 위한 파라미터를 계산하는 추정부;
상기 제2 중력에 대응하는 역진자 카트형(IPC: Inverted Pendulum on a Cart) 모델에 상기 계산된 파라미터를 적용하여, 상기 그래픽 캐릭터의 질량 중심에 대응하는 이동 궤적을 생성하는 생성부; 및
상기 이동 궤적을 이용하여 상기 그래픽 캐릭터의 전신 애니메이션을 생성하는 모션 플랜부
를 포함하는 애니메이션 생성 장치.
A memory for storing motion data corresponding to each of a plurality of gait types in a space having a first gravity;
An estimator for calculating a parameter for determining a gait of a graphic character in a space having a second gravity using the motion data;
A generator configured to apply the calculated parameter to an Inverted Pendulum on a Cart (IPC) model corresponding to the second gravity to generate a movement trajectory corresponding to the center of mass of the graphic character; And
Motion plan unit for generating a full-body animation of the graphic character using the movement trajectory
Animation generating device comprising a.
상기 추정부는 상기 제2 중력을 갖는 공간 내의 그래픽 캐릭터의 걸음걸이를 결정하기 위해 상기 제2 중력의 크기(level of gravity), 상기 그래픽 캐릭터의 전진 속도(forward velocity) 및 상기 그래픽 캐릭터의 보폭 주기(stride frequency) 중 적어도 하나를 상기 파라미터로서 계산하는 애니메이션 생성 장치.
The method of claim 1,
The estimator is configured to determine the gait of the graphic character in the space having the second gravity, the level of gravity, the forward velocity of the graphic character, and the stride period of the graphic character ( and at least one of a stride frequency as the parameter.
상기 추정부는 상기 복수의 걸음걸이 타입 중 하나에 대응하는 프루드 수(Froude Number)를 이용하여 상기 파라미터를 계산하는 애니메이션 생성 장치.
The method of claim 1,
And the estimating unit calculates the parameter by using a proude number corresponding to one of the plurality of gait types.
상기 추정부는 사용자 입력에 응답하여 상기 복수의 걸음걸이(gait) 타입 중 하나에 대응하는 프루드 수를 선택하고,
상기 사용자 입력은 상기 그래픽 캐릭터의 다리 길이, 상기 그래픽 캐릭터의 보폭(stride length) 및 상기 제2 중력의 크기 중 적어도 하나에 대한 입력값을 포함하는 애니메이션 생성 장치.
The method of claim 3,
The estimator selects a probe number corresponding to one of the plurality of gait types in response to a user input,
And the user input includes input values for at least one of a leg length of the graphic character, a stride length of the graphic character, and a magnitude of the second gravity.
상기 추정부는 사용자 입력에 응답하여 상기 복수의 걸음걸이 타입 중 하나에 대응하는 프루드 수를 선택하고, 상기 선택된 프루드 수를 이용하여 상기 그래픽 캐릭터의 걸음걸이에 대한 정상 범위를 출력하는,
상기 정상 범위는 상기 그래픽 캐릭터의 전진 속도 및 보폭 주기 중 적어도 하나의 유효 범위를 나타내는 애니메이션 생성 장치.
The method of claim 3,
The estimator selects a probe number corresponding to one of the plurality of gait types in response to a user input, and outputs a normal range for the gait of the graphic character by using the selected proude number.
And the normal range indicates an effective range of at least one of a forward speed and a stride period of the graphic character.
사용자 입력에 응답하여 선택된 프루드 수에 따라 저장된 모션 데이터를 수정하고, 상기 수정된 모션 데이터에 따라 생성된 전신 애니메이션을 최적화하는 조정부
를 더 포함하는 애니메이션 생성 장치.
The method of claim 1,
Adjusting unit for modifying the stored motion data according to the selected number of probes in response to the user input, and optimizes the whole body animation generated according to the modified motion data
Animation generating device further comprising.
상기 모션 플랜부는, 지구 중력가속도(g)를 나타내는 상기 제1 중력 보다 낮은 중력값을 갖는 상기 제2 중력 하에서의 상기 그래픽 캐릭터의 전신 애니메이션을 생성하는 애니메이션 생성 장치.
The method of claim 1,
And the motion plan unit generates a full-body animation of the graphic character under the second gravity having a gravity value lower than the first gravity indicating a gravitational acceleration g.
상기 제2 중력에 대응하는 역진자 카트형(IPC: Inverted Pendulum on a Cart) 모델에 상기 계산된 파라미터를 적용하여, 상기 그래픽 캐릭터의 질량 중심에 대응하는 이동 궤적을 생성하는 단계; 및
상기 이동 궤적을 이용하여 상기 그래픽 캐릭터의 전신 애니메이션을 생성하는 단계
를 포함하는 애니메이션 생성 방법.
Calculating a parameter for determining a gait of a graphic character in a space having a second gravity using motion data corresponding to the first gravity;
Generating a movement trajectory corresponding to the center of mass of the graphic character by applying the calculated parameter to an Inverted Pendulum on a Cart (IPC) model corresponding to the second gravity; And
Generating a full-body animation of the graphic character using the movement trajectory
Animation generation method comprising a.
상기 파라미터를 계산하는 단계는,
상기 제2 중력을 갖는 공간 내의 그래픽 캐릭터의 걸음걸이를 결정하기 위해 상기 제2 중력의 크기(level of gravity), 상기 그래픽 캐릭터의 전진 속도(forward velocity) 및 상기 그래픽 캐릭터의 보폭 주기(stride frequency) 중 적어도 하나를 상기 파라미터로서 계산하는 단계
를 포함하는 애니메이션 생성 방법.
The method of claim 9,
Computing the parameter,
The level of gravity, the forward velocity of the graphic character, and the stride frequency of the graphic character to determine the gait of the graphic character in the space with the second gravity; Calculating at least one of as parameters
Animation generation method comprising a.
상기 파라미터를 계산하는 단계는,
복수의 걸음걸이(gait) 타입 중 하나에 대응하는 프루드 수(Froude Number)를 이용하여 상기 파라미터를 계산하는 단계
를 포함하는 애니메이션 생성 방법.
The method of claim 9,
Computing the parameter,
Calculating the parameter using a Froude Number corresponding to one of a plurality of gait types
Animation generation method comprising a.
상기 파라미터를 계산하는 단계는,
사용자 입력에 응답하여 상기 복수의 걸음걸이(gait) 타입 중 하나에 대응하는 프루드 수를 선택하는 단계; 및
상기 선택된 상기 선택된 프루드 수를 이용하여 상기 파라미터를 계산하는 단계
를 포함하고,
상기 사용자 입력은 상기 그래픽 캐릭터의 다리 길이, 상기 그래픽 캐릭터의 보폭(stride length) 및 상기 제2 중력의 크기 중 적어도 하나에 대한 입력값을 포함하는 애니메이션 생성 방법.
The method of claim 11,
Computing the parameter,
Selecting a number of probes corresponding to one of the plurality of gait types in response to a user input; And
Calculating the parameter using the selected number of probes
Including,
And the user input comprises input values for at least one of a leg length of the graphic character, a stride length of the graphic character, and a magnitude of the second gravity.
상기 전신 애니메이션을 생성하는 단계는
지구 중력가속도(g)를 나타내는 상기 제1 중력 보다 낮은 중력값을 갖는 상기 제2 중력 하에서의 상기 그래픽 캐릭터의 전신 애니메이션을 생성하는 단계를 포함하는 애니메이션 생성 방법.
The method of claim 9,
Generating the whole body animation
Generating a full-body animation of the graphic character under the second gravity having a gravity value lower than the first gravity representing a gravitational acceleration (g).
상기 제1 중력에 대응하는 모션 데이터를 이용하여 상기 제2 중력을 갖는 공간 내의 그래픽 캐릭터의 걸음걸이를 결정하기 위한 파라미터를 계산하는 명령어 세트;
상기 제2 중력에 대응하는 역진자 카트형(IPC: Inverted Pendulum on a Cart) 모델에 상기 계산된 파라미터를 적용하여, 상기 그래픽 캐릭터의 질량 중심에 대응하는 이동 궤적을 생성하는 명령어 세트; 및
상기 이동 궤적을 이용하여 상기 그래픽 캐릭터의 전신 애니메이션을 생성하는 명령어 세트
를 포함하는 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium containing a program for generating a full body animation of a graphic character under a second gravity having a lower gravity value than a first gravity representing a gravitational acceleration g, the program comprising:
An instruction set for calculating a parameter for determining a gait of a graphic character in a space having the second gravity using motion data corresponding to the first gravity;
An instruction set for generating a movement trajectory corresponding to the center of mass of the graphic character by applying the calculated parameter to an Inverted Pendulum on a Cart (IPC) model corresponding to the second gravity; And
Instruction set for generating a full body animation of the graphic character using the movement trajectory
Computer-readable recording medium comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170143022A KR102008235B1 (en) | 2017-10-31 | 2017-10-31 | Apparatus and method of generating animation in altered gravity environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170143022A KR102008235B1 (en) | 2017-10-31 | 2017-10-31 | Apparatus and method of generating animation in altered gravity environment |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190048240A KR20190048240A (en) | 2019-05-09 |
KR102008235B1 true KR102008235B1 (en) | 2019-08-07 |
Family
ID=66546334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170143022A KR102008235B1 (en) | 2017-10-31 | 2017-10-31 | Apparatus and method of generating animation in altered gravity environment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102008235B1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100415884B1 (en) | 2000-11-06 | 2004-01-24 | (주)모션테크놀로지 | Method and apparatus for capturing motion of human body and thereby making motion data file |
KR20120009791A (en) * | 2010-07-21 | 2012-02-02 | 주식회사 스페이스일루젼 | Systems and methods for modifying Motion Data |
-
2017
- 2017-10-31 KR KR1020170143022A patent/KR102008235B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20190048240A (en) | 2019-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xie et al. | Glide: Generalizable quadrupedal locomotion in diverse environments with a centroidal model | |
Mordatch et al. | Robust physics-based locomotion using low-dimensional planning | |
KR100856824B1 (en) | Method and system for simulating character | |
US8860732B2 (en) | System and method for robust physically-plausible character animation | |
Felis et al. | Synthesis of full-body 3-d human gait using optimal control methods | |
WO2017031718A1 (en) | Modeling method of deformation motions of elastic object | |
US9336182B2 (en) | Apparatus and method for controlling a data-based biped | |
Zordan et al. | Control of rotational dynamics for ground and aerial behavior | |
Shafii et al. | Omnidirectional walking and active balance for soccer humanoid robot | |
JP6781101B2 (en) | Non-linear system control method, biped robot control device, biped robot control method and its program | |
JP2009066697A (en) | Legged robot, and control method thereof | |
Böckmann et al. | Kick motions for the NAO robot using dynamic movement primitives | |
Paigwar et al. | Robust quadrupedal locomotion on sloped terrains: A linear policy approach | |
Nygaard et al. | Multi-objective evolution of fast and stable gaits on a physical quadruped robotic platform | |
Al Borno et al. | Feedback control for rotational movements in feature space | |
Hosseinmemar et al. | Closed-loop push recovery for inexpensive humanoid robots | |
Khazoom et al. | Tailoring solution accuracy for fast whole-body model predictive control of legged robots | |
Li et al. | Learning agile bipedal motions on a quadrupedal robot | |
KR102008235B1 (en) | Apparatus and method of generating animation in altered gravity environment | |
KR102317949B1 (en) | Method and apparatus for generating motion of an object | |
JP6054404B2 (en) | Method for controlling a robot having at least two legs | |
JP2021163215A (en) | Mobile object control device, mobile object control program and mobile object | |
Meriçli et al. | Improving biped walk stability using real-time corrective human feedback | |
Shafii et al. | Learning a fast walk based on ZMP control and hip height movement | |
Greggio et al. | Simulation of small humanoid robots for soccer domain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |