KR20230122558A - 3D human character size correction method using motion capture system - Google Patents

3D human character size correction method using motion capture system Download PDF

Info

Publication number
KR20230122558A
KR20230122558A KR1020230018531A KR20230018531A KR20230122558A KR 20230122558 A KR20230122558 A KR 20230122558A KR 1020230018531 A KR1020230018531 A KR 1020230018531A KR 20230018531 A KR20230018531 A KR 20230018531A KR 20230122558 A KR20230122558 A KR 20230122558A
Authority
KR
South Korea
Prior art keywords
character
user
movement distance
motion data
size
Prior art date
Application number
KR1020230018531A
Other languages
Korean (ko)
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 주식회사 아이팝
Publication of KR20230122558A publication Critical patent/KR20230122558A/en

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 transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

실시예는, 사용자의 모션 캡쳐에 대응하는 3D 캐릭터를 생성하는 단계; 이동 거리 측정 장치 상에서 사용자의 모션 데이터를 수신하는 단계; 상기 모션 데이터를 이용하여 상기 3D 캐릭터의 이동 거리를 계산하는 단계; 및 상기 사용자의 실제 이동 거리와 상기 3D 캐릭터의 이동 거리의 비율에 대응하여 상기 3D 캐릭터의 크기를 보정하는 단계;를 포함하는 캐릭터 크기 보정 방법을 개시한다.The embodiment includes generating a 3D character corresponding to the user's motion capture; Receiving motion data of a user on a moving distance measuring device; calculating a movement distance of the 3D character using the motion data; and correcting the size of the 3D character in correspondence to the ratio of the actual movement distance of the user and the movement distance of the 3D character.

Description

모션 캡쳐 시스템을 이용한 3D 휴먼 캐릭터 크기 보정 방법{3D human character size correction method using motion capture system}3D human character size correction method using motion capture system {3D human character size correction method using motion capture system}

실시예는 모션 캡쳐 시스템을 유니티 또는 언리얼 등의 3D 엔진과 연동하여, 사용자의 신체 길이에 따른 3D 휴먼 캐릭터의 크기를 보정하는 방법에 관한 것으로, 모션 캡쳐 장비만으로는 크기의 보정이 불가능 하나, 실시예는 트레드밀 장비를 활용하여 이를 가능하게 한다.The embodiment relates to a method for correcting the size of a 3D human character according to the length of a user's body by linking a motion capture system with a 3D engine such as Unity or Unreal. utilizes treadmill equipment to make this possible.

모션 캡쳐 장비를 착용한 사용자마다 다른 신체조건을 가지고 있으나, 콘텐츠에 투영되는 3D 객체의 크기는 고정되어 있는 문제점이 존재한다.Although each user wearing motion capture equipment has different physical conditions, there is a problem that the size of the 3D object projected on the content is fixed.

나아가, 관성센서를 이용한 모션 캡쳐 시스템은 센서를 착용한 사람의 크기를 알 수 없기 때문에, 콘텐츠 개발자가 기본값으로 지정한 크기의 3D휴먼 캐릭터를 사용하거나 사용자가 손수 캐릭터의 크기를 조절하여 사용해야하는 문제가 있다.Furthermore, since the motion capture system using an inertial sensor does not know the size of the person wearing the sensor, there is a problem of using a 3D human character of the default size specified by the content developer or by manually adjusting the size of the character. there is.

3D 콘텐츠에서 모션 캡쳐 장비를 착용한 사람의 신체조건을 적용하지 않은 3D휴먼 캐릭터 사용시, 캐릭터의 이동량이 실제와 다르게 되는 문제가 있다.When using a 3D human character that does not apply the physical condition of a person wearing motion capture equipment in 3D content, there is a problem that the movement amount of the character is different from the actual one.

실시예는 모션 캡쳐 시스템을 유니티 또는 언리얼 등의 3D 엔진과 연동하여, 사용자의 신체 길이에 따른 3D 휴먼 캐릭터의 크기를 보정하는 캐릭터 크기 보정 방법을 제공한다.The embodiment provides a character size correction method for correcting the size of a 3D human character according to a user's body length by linking a motion capture system with a 3D engine such as Unity or Unreal.

또한, 실시예는 캐릭터를 실제 사용자의 형상에 용이하게 보정하여 보다 정확한 3D 캐릭터를 제공하는 캐릭터 크기 보정 방법을 제공한다.In addition, the embodiment provides a character size correction method that provides a more accurate 3D character by easily correcting the character to the shape of an actual user.

실시예에서 해결하고자 하는 과제는 이에 한정되는 것은 아니며, 아래에서 설명하는 과제의 해결수단이나 실시 형태로부터 파악될 수 있는 목적이나 효과도 포함된다고 할 것이다.The problem to be solved in the embodiment is not limited thereto, and it will be said that the solution to the problem described below or the purpose or effect that can be grasped from the embodiment is also included.

실시예에 따른 캐릭터 크기 보정 방법은 사용자의 모션 캡쳐에 대응하는 3D 캐릭터를 생성하는 단계; 이동 거리 측정 장치 상에서 사용자의 모션 데이터를 수신하는 단계; 상기 모션 데이터를 이용하여 상기 3D 캐릭터의 이동 거리를 계산하는 단계; 및 상기 사용자의 실제 이동 거리와 상기 3D 캐릭터의 이동 거리의 비율에 대응하여 상기 3D 캐릭터의 크기를 보정하는 단계;를 포함한다.A character size correction method according to an embodiment includes generating a 3D character corresponding to motion capture of a user; Receiving motion data of a user on a moving distance measuring device; calculating a movement distance of the 3D character using the motion data; and correcting the size of the 3D character in response to the ratio of the actual movement distance of the user and the movement distance of the 3D character.

상기 수신하는 단계에서, 상기 사용자의 모션 데이터는 상기 사용자가 상기 이동 거리 측정 장치에서 임의의 거리를 이동하면서 생성될 수 있다.In the receiving step, motion data of the user may be generated while the user moves a certain distance in the movement distance measuring device.

상기 임의의 거리는 상기 사용자의 실제 이동 거리에 대응할 수 있다.The arbitrary distance may correspond to the actual moving distance of the user.

상기 3D 캐릭터의 크기를 보정하는 단계는 상기 3D 캐릭터의 보폭과 높이를 상기 비율로 스케일링할 수 있다.In the step of correcting the size of the 3D character, the step length and height of the 3D character may be scaled at the ratio.

상기 생성하는 단계에서 기준 자세(T-pose)에 대응한 기준 모션 데이터를 최초값으로 저장하고, 상기 기준 모션 데이터에서 각 포인트는 아래의 식 1로 저장될 수 있다.In the generating step, reference motion data corresponding to the reference pose (T-pose) is stored as an initial value, and each point in the reference motion data may be stored as Equation 1 below.

[식 1][Equation 1]

: n번째 포인트의 최초 변위이다 : is the initial displacement of the nth point

상기 사용자의 모션 데이터를 수신하는 단계는, 상기 모션 데이터의 프레임별 각 포인트의 시작과 끝 위치 정보 및 회전량을 이용하여 상기 3D 캐릭터의 움직임을 재현하는 단계;를 포함할 수 있다.The receiving of the motion data of the user may include reproducing the motion of the 3D character using information on the start and end positions of each point of each frame of the motion data and the amount of rotation.

상기 3D 캐릭터의 이동 거리를 계산하는 단계에서,In the step of calculating the movement distance of the 3D character,

상기 3D 캐릭터의 이동 거리는 3D 캐릭터의 발목과 발목 사이의 거리(AnkleDistance)와 전역 좌표계에서 발목과 발목의 진행 방향과 허리가 바라보는 방향의 차이(θ)를 이용하여 산출될 수 있다.The movement distance of the 3D character may be calculated using the distance between the ankles of the 3D character (AnkleDistance) and the difference (θ) between the moving directions of the ankles and the direction in which the waist looks in the global coordinate system.

상기 3D 캐릭터의 이동 거리를 계산하는 단계에서, In the step of calculating the movement distance of the 3D character,

상기 3D 캐릭터의 이동 거리는 하기 식 2로 산출될 수 있다.The movement distance of the 3D character may be calculated by Equation 2 below.

[식 2][Equation 2]

(여기서, 보폭(stride)는 상기 3D 캐릭터의 이동 거리에 대응한다)(Here, the stride corresponds to the moving distance of the 3D character)

실시예에 따른 캐릭터 크기 보정 장치는 모션 데이터를 수신하는 수신부; 및 제어부;를 포함하고, 상기 제어부는 사용자의 모션 캡쳐에 대응하는 3D 캐릭터를 생성하고, 이동 거리 측정 장치 상에서 사용자의 모션 데이터를 수신하고, 상기 모션 데이터를 이용하여 상기 3D 캐릭터의 이동 거리를 계산하고, 그리고 상기 사용자의 실제 이동 거리와 상기 3D 캐릭터의 이동 거리의 비율에 대응하여 상기 3D 캐릭터의 크기를 보정한다.Character size correction apparatus according to an embodiment includes a receiving unit for receiving motion data; and a control unit, wherein the control unit generates a 3D character corresponding to the motion capture of the user, receives motion data of the user on a movement distance measuring device, and calculates a movement distance of the 3D character using the motion data. and correcting the size of the 3D character in response to the ratio of the actual moving distance of the user and the moving distance of the 3D character.

상기 3D 캐릭터의 크기를 보정하는 단계는 상기 3D 캐릭터의 보폭과 높이를 상기 비율로 스케일링할 수 있다.In the step of correcting the size of the 3D character, the step length and height of the 3D character may be scaled at the ratio.

실시예에 따르면, 모션 캡쳐 장비만으로는 크기의 보정이 불가능 하나, 트레드밀 장비를 활용하여 3D 휴먼 캐릭터 크기 보정이 가능한 캐릭터 크기 보정 방법을 구현한다.According to the embodiment, a character size correction method capable of 3D human character size correction is implemented using treadmill equipment, although size correction is impossible only with motion capture equipment.

또한, 실시예는 캐릭터를 실제 사용자의 형상에 용이하게 보정하여 보다 정확한 3D 캐릭터를 제공하는 캐릭터 크기 보정 방법을 구현할 수 있다.In addition, the embodiment may implement a character size correction method that provides a more accurate 3D character by easily correcting the character to the shape of an actual user.

본 발명의 다양하면서도 유익한 장점과 효과는 상술한 내용에 한정되지 않으며, 본 발명의 구체적인 실시형태를 설명하는 과정에서 보다 쉽게 이해될 수 있을 것이다.Various advantageous advantages and effects of the present invention are not limited to the above description, and will be more easily understood in the process of describing specific embodiments of the present invention.

도 1은 본 발명의 실시예에 따른 모션 캡쳐 시스템 및 보정 장치의 블록도이고,
도 2는 본 발명의 실시예에 따른 캐릭터 크기 보정 방법의 순서도이고,
도 3은 실시예에 따른 캐릭터 크기 보정 방법의 구체적인 순서도이고,
도 4는 3D 캐릭터의 각 포인트를 도시한 도면이고,
도 5은 사용자의 움직임에 대한 모션 데이터로부터 3D 캐릭터를 재현한 도면이고,
도 6는 3D 캐릭터의 이동 거리의 도출을 설명하는 도면이고,
도 7는 실제 이동 거리와 3D 캐릭터의 이동 거리 차이의 비교를 도시한 도면이고,
도 8은 3D 캐릭터의 크기 보정을 설명하는 도면이다.
1 is a block diagram of a motion capture system and a compensation device according to an embodiment of the present invention;
2 is a flowchart of a character size correction method according to an embodiment of the present invention;
3 is a detailed flowchart of a character size correction method according to an embodiment,
4 is a diagram showing each point of a 3D character;
5 is a diagram in which a 3D character is reproduced from motion data for a user's movement;
6 is a diagram explaining the derivation of the movement distance of a 3D character;
7 is a diagram showing a comparison of a difference between an actual moving distance and a moving distance of a 3D character;
8 is a diagram explaining size correction of a 3D character.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Since the present invention can make various changes and have various embodiments, specific embodiments are illustrated and described in the drawings. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

제2, 제1 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms including ordinal numbers such as second and first may be used to describe various components, but the components are not limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a second element may be termed a first element, and similarly, a first element may be termed a second element, without departing from the scope of the present invention. The terms and/or include any combination of a plurality of related recited items or any of a plurality of related recited items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.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 to which the present invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the present application, they should not be interpreted in an ideal or excessively formal meaning. don't

또한, 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 프로세서, 제어부 또는 마이크로 프로세서들에 의해 구현되거나, 의도하는 기능을 수행하기 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립트 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. 모듈 및 구성 등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.Also, some embodiments may be presented as functional block structures and various processing steps. Some or all of these functional blocks may be implemented as a varying number of hardware and/or software components that perform specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more processors, controllers, or microprocessors, or circuit configurations to perform intended functions. Also, for example, the functional blocks of the present disclosure may be implemented in various programming or scripting languages. Functional blocks may be implemented as an algorithm running on one or more processors. In addition, the present disclosure may employ prior art for electronic environment setting, signal processing, and/or data processing. Terms such as module and component may be used broadly and are not limited to mechanical and physical components.

이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings, but the same or corresponding components regardless of reference numerals are given the same reference numerals, and overlapping descriptions thereof will be omitted.

도 1은 본 발명의 실시예에 따른 모션 캡쳐 시스템 및 보정 장치의 블록도이고, 도 2는 본 발명의 실시예에 따른 캐릭터 크기 보정 방법의 순서도이고, 도 3은 실시예에 따른 캐릭터 크기 보정 방법의 구체적인 순서도이고, 도 4는 3D 캐릭터의 각 포인트를 도시한 도면이고, 도 5은 사용자의 움직임에 대한 모션 데이터로부터 3D 캐릭터를 재현한 도면이고, 도 6는 3D 캐릭터의 이동 거리의 도출을 설명하는 도면이고, 도 7는 실제 이동 거리와 3D 캐릭터의 이동 거리 차이의 비교를 도시한 도면이고, 도 8은 3D 캐릭터의 크기 보정을 설명하는 도면이다.1 is a block diagram of a motion capture system and correction device according to an embodiment of the present invention, FIG. 2 is a flowchart of a character size correction method according to an embodiment of the present invention, and FIG. 3 is a character size correction method according to an embodiment 4 is a diagram showing each point of a 3D character, FIG. 5 is a diagram in which a 3D character is reproduced from motion data for a user's movement, and FIG. 6 explains derivation of a movement distance of a 3D character. FIG. 7 is a diagram showing a comparison between a difference between an actual movement distance and a movement distance of a 3D character, and FIG. 8 is a diagram explaining size correction of a 3D character.

도 1을 참조하면, 실시예에 따른 모션 캡쳐 시스템(1000)은 모션 캡쳐 장치(100)와 센서(200)를 포함할 수 있다.Referring to FIG. 1 , a motion capture system 1000 according to an embodiment may include a motion capture device 100 and a sensor 200 .

모션 캡쳐 시스템(1000)은 센서(200)를 장착한 대상자 또는 사용자(예, 사람)의 모션에 대응하여 모션 캡쳐 장치(100)를 통해 모션 캡쳐를 출력하거나, 사용자의 모션 정보를 처리할 수 있다. 모션 캡쳐는 3D 도면 또는 3D 캐릭터로 도시될 수 있다. 이하, 3D 캐릭터를 기준으로 설명한다.The motion capture system 1000 may output motion capture through the motion capture device 100 or process motion information of the user in response to the motion of a subject or user (eg, a person) equipped with the sensor 200. . Motion capture can be depicted as 3D drawings or 3D characters. Hereinafter, a description will be made based on 3D characters.

센서(200)는 관성 센서로 자이로 센서를 포함할 수 있다. 나아가, 센서(200)는 모션 데이터에 적용가능한 다양한 센서(예, 족압 센서) 등을 포함할 수 있다. 이에, 모션 캡쳐 장치(100)는 센서(200)로부터 모션 데이터, 압력 데이터, 관절 데이터(각도) 등을 수신할 수 있다. The sensor 200 may include a gyro sensor as an inertial sensor. Furthermore, the sensor 200 may include various sensors (eg, a foot pressure sensor) applicable to motion data. Accordingly, the motion capture device 100 may receive motion data, pressure data, joint data (angle), and the like from the sensor 200 .

모션 캡쳐 장치(100)는 센서(200)와 연결되어 모션 데이터를 처리할 수 있다. 즉, 모션 캡쳐 장치(100)는 센서(200)로부터 수신한 데이터를 처리하여 모션 정보를 처리, 추출하고 3D 캐릭터를 재현 또는 출력할 수 있다.The motion capture device 100 may be connected to the sensor 200 to process motion data. That is, the motion capture device 100 may process data received from the sensor 200 to process and extract motion information and reproduce or output a 3D character.

이러한 모션 캡쳐 장치(100)는 상술한 바와 같이 모션 정보를 처리, 추출하는 기능이외에 모션 캡쳐를 보정할 수 있다. 이에, 모션 캡쳐 장치(100)는 보정 장치를 포함할 수 있다. 이하 모션 캡쳐 장치(100)가 모션 보정 장치를 포함하는 것으로 설명한다.As described above, the motion capture device 100 may correct motion capture in addition to processing and extracting motion information. Accordingly, the motion capture device 100 may include a correction device. Hereinafter, the motion capture device 100 will be described as including a motion compensation device.

보정 장치(100)는 수신부(110)와 제어부(120)를 포함할 수 있다. 수신부(110)는 센서(200)와 연결되어 모션 데이터를 포함하는 센서 데이터를 수신할 수 있다. 또한, 수신부(110)는 이동 거리 측정 장치와 연결되어 사용자의 이동 거리에 대한 정보를 수신할 수 있다. 예컨대, 이동 거리 측정 장치는 트레드밀을 포함할 수 있다.The calibration device 100 may include a receiver 110 and a controller 120 . The receiving unit 110 may be connected to the sensor 200 to receive sensor data including motion data. In addition, the receiving unit 110 may be connected to a moving distance measurement device to receive information about a user's moving distance. For example, the movement distance measurement device may include a treadmill.

제어부(120)는 수신부(110)와 연결되어, 사용자의 모션 캡쳐에 대응한 3D 캐릭터를 생성할 수 있다. 나아가, 제어부(120)s는 이동 거리 측정 장치 상에서 사용자의 모션 데이터를 수신하고, 모션 데이터를 이용하여 3D 캐릭터의 이동 거리를 계산한 뒤, 사용자의 실제 이동 거리와 3D 캐릭터의 이동 거리를 비교하여, 이동 거리 간의 비율에 대응하여 3D 캐릭터의 크기를 보정할 수 있다. 이에 대한 구체적인 설명은 후술하는 캐릭터 크기 보정 방법에 대한 설명이 동일하게 적용될 수 있다. 즉, 제어부(120)는 후술하는 캐릭터 크기 보정 방법에 대한 각 단계를 수행할 수 있다.The controller 120 may be connected to the receiver 110 to create a 3D character corresponding to the user's motion capture. Furthermore, the control unit 120 s receives the user's motion data on the movement distance measurement device, calculates the movement distance of the 3D character using the motion data, and compares the user's actual movement distance with the movement distance of the 3D character. , the size of the 3D character can be corrected in response to the ratio between the moving distances. A detailed description of this may be equally applied to a description of a character size correction method to be described later. That is, the control unit 120 may perform each step of a character size correction method described later.

도 2 및 도 3을 더 살펴보면, 실시예에 따른 캐릭터 크기 보정 방법은 사용자의 모션 캡쳐에 대응하는 3D 캐릭터를 생성하는 단계(S310), 이동 거리 측정 장치 상에서 사용자의 모션 데이터를 수신하는 단계(S320), 모션 데이터를 이용하여 3D 캐릭터의 이동 거리를 계산하는 단계(S330), 사용자의 실제 이동 거리와 3D 캐릭터의 이동 거리의 비율에 대응하여 3D 캐릭터의 크기를 보정하는 단계(S340)을 포함할 수 있다.2 and 3, the character size correction method according to the embodiment includes generating a 3D character corresponding to the user's motion capture (S310), and receiving the user's motion data on the movement distance measuring device (S320). ), calculating the movement distance of the 3D character using motion data (S330), correcting the size of the 3D character in response to the ratio of the user's actual movement distance and the movement distance of the 3D character (S340). can

나아가, 사용자의 모션 데이터를 수신하는 단계(S320)는 사용자가 이동 거리 측정 장치(이하 트레드밀과 혼용함) 상에서 이동하는 단계(S321), 모션 데이터 수집하는 단계(S322) 및 모션 데이터의 프레임별 각 포인트의 시작과 끝 위치 정보 및 회전량을 이용하여 3D 캐릭터의 움직임을 재현하는 단계(S323)를 포함할 수 있다.Furthermore, the step of receiving the user's motion data (S320) includes the step of the user moving on a moving distance measuring device (hereinafter mixed with a treadmill) (S321), the step of collecting motion data (S322), and the motion data for each frame. A step of reproducing the movement of the 3D character using information on the start and end positions of the points and the amount of rotation (S323) may be included.

그리고 3D 캐릭터의 크기를 보정하는 단계(S340)는 실제 이동 거리와 3D 캐릭터의 이동 거리를 비교하는 단계(S341) 및 3D 캐릭터의 보폭과 높이를 비율로 스케일링하는(크기 보정하는) 단계(S342)를 포함할 수 있다.And the step of correcting the size of the 3D character (S340) is the step of comparing the actual movement distance with the movement distance of the 3D character (S341) and the step of scaling (correcting the size) the step length and height of the 3D character by a ratio (S342) can include

구체적으로, 제어부는 사용자의 모션 캡쳐에 대응하는 3D 캐릭터를 생성할 수 있다(S310). 도 4를 더 살펴보면, 사용자는 특정 위치에 배치된 적어도 하나의 센서를 장착할 수 있다. 제어부는 이러한 센서로부터 수신한 데이터(예, 모션 데이터)를 바탕으로 3D 캐릭터(ch)를 생성할 수 있다. 그리고 제어부는 기준 자세(예, T-pose)에 대응하는 최초 모션 데이터의 포인트를 최초값을 저장할 수 있다. 그리고 최초 모션 데이터의 포인트에 대응하는 임의의 크기를 갖는 3D 휴먼 캐릭터(3D 캐릭터와 혼용됨)(ch)을 생성할 수 있다. 이에 따라, 캐릭터(ch)는 센서에 대응하는 적어도 하나의 포인트(point)를 가질 수 있다.Specifically, the controller may create a 3D character corresponding to the user's motion capture (S310). Referring further to FIG. 4 , a user may mount at least one sensor disposed at a specific location. The controller may create a 3D character (ch) based on data (eg, motion data) received from these sensors. Also, the controller may store a point of the first motion data corresponding to the reference pose (eg, T-pose) as an initial value. In addition, a 3D human character (mixed with 3D character) (ch) having an arbitrary size corresponding to the point of the first motion data may be created. Accordingly, the character ch may have at least one point corresponding to the sensor.

실시예로, 제어부(120)는 생성하는 단계(S310)에서 기준 자세(T-pose)에 대응한 기준 모션 데이터를 최초값으로 저장하고, 기준 자세에 대한 모션 데이터인 기준 모션 데이터에서 각 포인트는 아래의 식 1로 저장할 수 있다.In an embodiment, the control unit 120 stores the reference motion data corresponding to the reference posture (T-pose) as an initial value in the generating step (S310), and each point in the reference motion data, which is motion data for the reference posture, is It can be stored as Equation 1 below.

[식 1][Equation 1]

: n번째 포인트의 최초 변위이다 : is the initial displacement of the nth point

나아가, 기준 자세는 Tpose, Apose, Ypose 등 다양한 자세를 포함할 수 있다.Furthermore, the reference posture may include various postures such as Tpose, Apose, and Ypose.

그리고, 제어부(120)는 이동 거리 측정 장치 상에서 사용자의 모션 데이터를 수신할 수 있다(S320). And, the controller 120 may receive motion data of the user on the movement distance measuring device (S320).

도 5를 더 살펴보면, 모션 데이터를 수신하는 경우(S320)에 우선적으로 사용자가 이동 거리 측정 장치(이하 트레드밀과 혼용함) 상에서 이동할 수 있다(S321). 이러한 이동은 거리 측정 장치로부터 이동 정보가 수신되는 단계에 대응할 수 있다. 예컨대, 제어부는 이동 거리 측정 장치로부터 사용자의 이동에 대응하는 이동 정보를 수신할 수 있다.Referring further to FIG. 5 , when motion data is received (S320), the user may first move on a moving distance measuring device (hereinafter, used together with a treadmill) (S321). This movement may correspond to a step of receiving movement information from the distance measuring device. For example, the controller may receive movement information corresponding to the user's movement from the movement distance measuring device.

그리고 제어부는 이동 거리 측정 장치 상에서 사용자가 이동하는 동안 모션 데이터 수집할 수 있다(S322). 다시 말해, 수신하는 단계(S320)에서 사용자의 모션 데이터는 사용자(US)가 이동 거리 측정 장치(TM)에서 임의의 거리를 이동하면서 생성될 수 있다. 즉, 사용자(US)가 이동 거리 측정 장치(TM) 위에서 이동 하는 동안, 보정 장치는 사용자(US)에 부착된 센서(SE)로부터 모션 데이터를 수신할 수 있다. 또한, 상술한 임의의 이동 거리는 사용자(US)의 실제 이동 거리에 대응할 수 있다.Further, the controller may collect motion data while the user moves on the movement distance measuring device (S322). In other words, in the receiving step (S320), motion data of the user may be generated while the user US moves a certain distance in the movement distance measuring device TM. That is, while the user US is moving on the moving distance measurement device TM, the calibration device may receive motion data from the sensor SE attached to the user US. Also, the above-described arbitrary movement distance may correspond to the actual movement distance of the user US.

그리고 제어부는 이동 거리 측정 장치(TM) 상에서 사용자(US)의 이동하는 동안 수신된 모션 데이터로부터 3D 캐릭터(ch)의 움직임을 재현할 수 있다. 즉, 제어부는 모션 데이터의 프레임별 각 포인트의 시작과 끝 위치 정보 및 회전량을 이용하여 3D 캐릭터의 움직임을 재현할 수 있다(S323). 예를 들어, 모션데이터의 프레임별 각 포인트의 시작과 끝 위치정보 및 회전량이 3D엔진으로 전송되고, 3D 엔진은 전송받은 데이터를 파싱하여 사용자의 움직임을 3D 휴먼 캐릭터로 재현할 수 있다. 3D 엔진은 모션 캡쳐 장치(100) 내에 또는 외부에 위치할 수 있다.Also, the controller may reproduce the movement of the 3D character ch from motion data received while the user US moves on the movement distance measuring device TM. That is, the control unit may reproduce the motion of the 3D character by using the start and end position information and rotation amount of each point of each frame of the motion data (S323). For example, the start and end position information and rotation amount of each point of each frame of motion data are transmitted to a 3D engine, and the 3D engine parses the received data to reproduce the user's movement as a 3D human character. The 3D engine may be located within or external to the motion capture device 100 .

그리고 제어부는 모션 데이터를 이용하여 3D 캐릭터의 이동 거리를 계산할 수 있다(S330).And the controller can calculate the movement distance of the 3D character using the motion data (S330).

구체적으로, 도 6을 더 살펴보면, 제어부가 3D 캐릭터의 이동 거리를 계산함에 있어서, 3D 캐릭터의 이동 거리는 3D 캐릭터의 발목과 발목 사이의 거리(AnkleDistance)와 전역 좌표계에서 발목과 발목의 진행 방향과 허리가 바라보는 방향의 차이(θ)를 이용하여 산출될 수 있다.Specifically, further looking at FIG. 6, when the controller calculates the movement distance of the 3D character, the movement distance of the 3D character is the distance between the ankle and ankle of the 3D character (AnkleDistance), the direction of movement of the ankle and ankle in the global coordinate system, and the waist can be calculated using the difference (θ) of the direction in which

실시예로, 3D 캐릭터의 이동 거리는 하기 식 2로 산출될 수 있다.As an example, the movement distance of the 3D character may be calculated by Equation 2 below.

[식 2][Equation 2]

(여기서, 보폭(stride)는 상기 3D 캐릭터의 이동 거리에 대응한다)(Here, the stride corresponds to the moving distance of the 3D character)

그리고 도 7을 더 살펴보면, 제어부는 사용자의 실제 이동 거리(DISTANCE A)와 3D 캐릭터의 이동 거리(DISTANCE B)의 비율에 대응하여 3D 캐릭터의 크기를 보정할 수 있다(S340).Further looking at FIG. 7 , the controller may correct the size of the 3D character according to the ratio of the user's actual movement distance (DISTANCE A) and the 3D character's movement distance (DISTANCE B) (S340).

실시예로, 3D 캐릭터의 크기를 보정하는 경우(S340)에, 제어부는 실제 이동 거리(DISTANCE A)와 3D 캐릭터의 이동 거리를 비교한 후(S341), 3D 캐릭터의 보폭과 높이를 비율로 스케일링 또는 크기 보정할 수 있다(S342).As an example, in the case of correcting the size of the 3D character (S340), the controller compares the actual movement distance (DISTANCE A) with the movement distance of the 3D character (S341), and then scales the stride length and height of the 3D character in proportion Alternatively, size correction may be performed (S342).

실시예로, 3D 캐릭터는 초기에 임의의 크기로 생성되므로, 보정되지 않은 3D 캐릭터(초기의 3D 캐릭터)의 이동 거리와 트레드밀에서 사용자의 이동 거리는 서로 다르게 산출될 수 있다. 실시예에 따른 본 발명은 3D 캐릭터의 이동 거리와 사용자의 이동 거리(실제 이동 거리) 간의 비율을 통해 캐릭터의 크기를 보정할 수 있다.As an example, since the 3D character is initially created in an arbitrary size, the movement distance of the uncorrected 3D character (initial 3D character) and the movement distance of the user on the treadmill may be calculated differently. In the present invention according to an embodiment, the size of the character may be corrected through a ratio between the movement distance of the 3D character and the user's movement distance (actual movement distance).

도 8을 더 살펴보면, 제어부는 3D 캐릭터의 이동 거리와 사용자의 실제 이동 거리의 비율을 하기 식 3과 같이 구한 뒤, 임의의 크기를 갖는 3D 캐릭터의 크기를 하기 식 4와 같이 산출된 비율만큼 조정할 수 있다.8, the control unit obtains the ratio of the moving distance of the 3D character and the actual moving distance of the user as shown in Equation 3 below, and then adjusts the size of the 3D character having an arbitrary size by the calculated ratio as shown in Equation 4 below. can

[식 3][Equation 3]

여기서, scale은 비율이고, Human Walking Distance는 사용자의 실제 이동 거리이고, Character Walking Distance는 3D 캐릭터의 이동 거리이다.Here, scale is a ratio, Human Walking Distance is the actual movement distance of the user, and Character Walking Distance is the movement distance of the 3D character.

[식 4][Equation 4]

Height'는 보정된 3D 캐릭터의 높이이고, scale은 비율이고, height는 임의의 크기 또는 초기의 3D 캐릭터의 높이이다.Height' is the height of the corrected 3D character, scale is a ratio, and height is an arbitrary size or initial height of the 3D character.

나아가, 실시예에서 3D 캐릭터의 이동 거리는 보폭의 길이 계산 방법(식 2)을 통해 구해질 수 있다. 그리고 실제 사용자(예, 사람)의 크기로 보정된 3D 캐릭터와 기본 3D 캐릭터 사이의 비율(scale)을 통해 보정된 보폭의 길이( stride' )를 하기 식 5와 같이 재계산할 수 있다.Furthermore, in the embodiment, the movement distance of the 3D character may be obtained through a step length calculation method (Equation 2). In addition, the corrected stride length ( stride' ) may be recalculated through the scale between the 3D character corrected to the size of the actual user (eg, a person) and the basic 3D character as shown in Equation 5 below.

[식 5][Equation 5]

stride'는 보정된 보폭의 길이이고, scale은 비율이고, stride는 임의의 크기 또는 초기의 3D 캐릭터의 보폭이다.stride' is the length of the corrected stride, scale is a ratio, and stride is an arbitrary size or stride of the initial 3D character.

개시된 실시예에 따른 캐릭터 크기 보정 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 또한, 본 개시의 실시예는, 캐릭터 크기 보정 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체가 될 수 있다.The character size correction method according to the disclosed embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. In addition, an embodiment of the present disclosure may be a computer-readable recording medium on which one or more programs including instructions for executing a character size correction method are recorded.

그리고 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.And, the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the medium may be those specially designed and configured for the present invention or those known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.

여기서, 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체'가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.Here, the device-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' only means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and this term refers to the case where data is stored semi-permanently in the storage medium. and temporary storage are not distinguished. For example, a 'non-temporary storage medium' may include a buffer in which data is temporarily stored.

일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 캐릭터 크기 보정 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the character size correction method according to various embodiments disclosed in this document may be included and provided in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a device-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play Store™) or on two user devices (e.g. It can be distributed (eg downloaded or uploaded) online, directly between smartphones. In the case of online distribution, at least a part of a computer program product (eg, a downloadable app) is stored on a device-readable storage medium such as a memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.

구체적으로, 개시된 실시예에 따른 캐릭터 크기 보정 방법을 수행하도록 하는 프로그램이 저장된 기록매체를 포함하는 컴퓨터 프로그램 제품으로 구현될 수 있다.Specifically, it may be implemented as a computer program product including a recording medium in which a program for performing the character size correction method according to the disclosed embodiment is stored.

이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.Although the embodiments have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concept of the present invention defined in the following claims are also within the scope of the present invention. belongs to

본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.The term '~unit' used in this embodiment means software or a hardware component such as a field-programmable gate array (FPGA) or ASIC, and '~unit' performs certain roles. However, '~ part' is not limited to software or hardware. '~bu' may be configured to be in an addressable storage medium and may be configured to reproduce one or more processors. Therefore, as an example, '~unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. Functions provided within components and '~units' may be combined into smaller numbers of components and '~units' or further separated into additional components and '~units'. In addition, components and '~units' may be implemented to play one or more CPUs in a device or a secure multimedia card.

이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.Although the above has been described with reference to the embodiments, this is only an example and does not limit the present invention, and those skilled in the art to which the present invention belongs will not deviate from the essential characteristics of the present embodiment. It will be appreciated that various variations and applications are possible. For example, each component specifically shown in the embodiment can be modified and implemented. And differences related to these modifications and applications should be construed as being included in the scope of the present invention as defined in the appended claims.

Claims (10)

사용자의 모션 캡쳐에 대응하는 3D 캐릭터를 생성하는 단계;
이동 거리 측정 장치 상에서 사용자의 모션 데이터를 수신하는 단계;
상기 모션 데이터를 이용하여 상기 3D 캐릭터의 이동 거리를 계산하는 단계; 및
상기 사용자의 실제 이동 거리와 상기 3D 캐릭터의 이동 거리의 비율에 대응하여 상기 3D 캐릭터의 크기를 보정하는 단계;를 포함하는 캐릭터 크기 보정 방법.
generating a 3D character corresponding to the user's motion capture;
Receiving motion data of a user on a moving distance measuring device;
calculating a movement distance of the 3D character using the motion data; and
Correcting the size of the 3D character in correspondence to the ratio of the actual movement distance of the user and the movement distance of the 3D character; Character size correction method comprising a.
제1항에 있어서,
상기 수신하는 단계에서, 상기 사용자의 모션 데이터는 상기 사용자가 상기 이동 거리 측정 장치에서 임의의 거리를 이동하면서 생성되는 캐릭터 크기 보정 방법.
According to claim 1,
In the receiving step, the motion data of the user is generated while the user moves a certain distance in the movement distance measuring device.
제2항에 있어서,
상기 임의의 거리는 상기 사용자의 실제 이동 거리에 대응하는 캐릭터 크기 보정 방법.
According to claim 2,
The arbitrary distance is a character size correction method corresponding to the actual movement distance of the user.
제1항에 있어서,
상기 3D 캐릭터의 크기를 보정하는 단계는 상기 3D 캐릭터의 보폭과 높이를 상기 비율로 스케일링하는 캐릭터 크기 보정 방법.
According to claim 1,
In the step of correcting the size of the 3D character, the step length and height of the 3D character are scaled by the ratio.
제1항에 있어서,
상기 생성하는 단계에서 기준 자세(T-pose)에 대응한 기준 모션 데이터를 최초값으로 저장하고,
상기 기준 모션 데이터에서 각 포인트는 아래의 식 1로 저장되는 캐릭터 크기 보정 방법.
[식 1]
: n번째 포인트의 최초 변위이다
According to claim 1,
In the generating step, the reference motion data corresponding to the reference posture (T-pose) is stored as an initial value;
A character size correction method in which each point in the reference motion data is stored as Equation 1 below.
[Equation 1]
: is the initial displacement of the nth point
제5항에 있어서,
상기 사용자의 모션 데이터를 수신하는 단계는,
상기 모션 데이터의 프레임별 각 포인트의 시작과 끝 위치 정보 및 회전량을 이용하여 상기 3D 캐릭터의 움직임을 재현하는 단계;를 포함하는 캐릭터 크기 보정 방법.
According to claim 5,
Receiving the motion data of the user,
and reproducing the movement of the 3D character by using the start and end position information and rotation amount of each point of each frame of the motion data.
제6항에 있어서,
상기 3D 캐릭터의 이동 거리를 계산하는 단계에서,
상기 3D 캐릭터의 이동 거리는 3D 캐릭터의 발목과 발목 사이의 거리(AnkleDistance)와 전역 좌표계에서 발목과 발목의 진행 방향과 허리가 바라보는 방향의 차이(θ)를 이용하여 산출되는 캐릭터 크기 보정 방법.
According to claim 6,
In the step of calculating the movement distance of the 3D character,
The moving distance of the 3D character is calculated using the distance between the ankles of the 3D character (AnkleDistance) and the difference (θ) between the traveling direction of the ankle and the ankle in the global coordinate system and the direction the waist is looking at. Character size correction method.
제7항에 있어서,
상기 3D 캐릭터의 이동 거리를 계산하는 단계에서,
상기 3D 캐릭터의 이동 거리는 하기 식 2로 산출되는 캐릭터 크기 보정 방법.
[식 2]

(여기서, 보폭(stride)는 상기 3D 캐릭터의 이동 거리에 대응한다)
According to claim 7,
In the step of calculating the movement distance of the 3D character,
A character size correction method in which the movement distance of the 3D character is calculated by Equation 2 below.
[Equation 2]

(Here, the stride corresponds to the moving distance of the 3D character)
모션 데이터를 수신하는 수신부; 및
제어부;를 포함하고,
상기 제어부는 사용자의 모션 캡쳐에 대응하는 3D 캐릭터를 생성하고, 이동 거리 측정 장치 상에서 사용자의 모션 데이터를 수신하고, 상기 모션 데이터를 이용하여 상기 3D 캐릭터의 이동 거리를 계산하고, 그리고 상기 사용자의 실제 이동 거리와 상기 3D 캐릭터의 이동 거리의 비율에 대응하여 상기 3D 캐릭터의 크기를 보정하는 모션 캡쳐 보정 장치.
a receiving unit for receiving motion data; and
Including; control unit;
The control unit generates a 3D character corresponding to the user's motion capture, receives the user's motion data on a movement distance measuring device, calculates the movement distance of the 3D character using the motion data, and determines the user's actual movement distance. A motion capture correction device for correcting a size of the 3D character in response to a ratio of a movement distance and a movement distance of the 3D character.
제9항에 있어서,
상기 3D 캐릭터의 크기를 보정하는 단계는 상기 3D 캐릭터의 보폭과 높이를 상기 비율로 스케일링하는 캐릭터 크기 보정 장치.
According to claim 9,
In the step of correcting the size of the 3D character, the step length and height of the 3D character are scaled by the ratio.
KR1020230018531A 2022-02-14 2023-02-13 3D human character size correction method using motion capture system KR20230122558A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220018709 2022-02-14
KR20220018709 2022-02-14

Publications (1)

Publication Number Publication Date
KR20230122558A true KR20230122558A (en) 2023-08-22

Family

ID=87799855

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230018531A KR20230122558A (en) 2022-02-14 2023-02-13 3D human character size correction method using motion capture system

Country Status (1)

Country Link
KR (1) KR20230122558A (en)

Similar Documents

Publication Publication Date Title
US10751561B2 (en) Systems and methods for controlling a self-paced treadmill using predicted subject velocity
US11048340B2 (en) VR walking mechanism and method for walking in VR scene
US20220198834A1 (en) Skeleton recognition method, storage medium, and information processing device
JP2010534316A (en) System and method for capturing movement of an object
US20120065926A1 (en) Integrated motion sensing apparatus
CN110132306B (en) Method and system for correcting vehicle positioning error
Porzi et al. Visual-inertial tracking on android for augmented reality applications
KR20210130227A (en) Model poses of tracked objects by predicting sensor data
KR20230122558A (en) 3D human character size correction method using motion capture system
KR101728408B1 (en) Apparatus and method for low latency simulation using estimation of orientation, and computer program for the same
CN111275769B (en) Monocular vision parameter correction method and device
KR20190056647A (en) Device for measuring angle of ankle based on inertial sensors
WO2010001109A2 (en) Method of generating motion capture data and/or animation data
WO2021064912A1 (en) Correction method, correction program, and information processing system
KR102073843B1 (en) Real time filtering method for motion simulator interworking of contents based on game engine
JP2015188605A (en) Error estimation method, motion analysis method, error estimation device, and program
JP6295804B2 (en) Measuring apparatus, measuring method and measuring program
JP2016202381A (en) Walking measuring device, walking measuring method and program for making computer execute walking measuring method
JP7398090B2 (en) Information processing device, calculation method and program
KR101032509B1 (en) System and method of estimating real-time foot motion using kalman filter
JP6381092B2 (en) Method and apparatus for estimating the value of an input in the presence of a perturbation factor
KR102030606B1 (en) Apparatus and method of realtime gait examination using infrared camera
KR20230122557A (en) Motion capture system compensation method using ground reaction force data
KR20230113371A (en) Identify the 3D position of an object within an image or video
WO2021084641A1 (en) Foot angle calculation device, gait measurement system, gait measurement method, and program recording medium