KR102560423B1 - Apparatus and method for 3d character animation - Google Patents

Apparatus and method for 3d character animation Download PDF

Info

Publication number
KR102560423B1
KR102560423B1 KR1020160091675A KR20160091675A KR102560423B1 KR 102560423 B1 KR102560423 B1 KR 102560423B1 KR 1020160091675 A KR1020160091675 A KR 1020160091675A KR 20160091675 A KR20160091675 A KR 20160091675A KR 102560423 B1 KR102560423 B1 KR 102560423B1
Authority
KR
South Korea
Prior art keywords
simulator
character
vertex
vertices
animation
Prior art date
Application number
KR1020160091675A
Other languages
Korean (ko)
Other versions
KR20180009659A (en
Inventor
기현우
Original Assignee
주식회사 넥슨코리아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 넥슨코리아 filed Critical 주식회사 넥슨코리아
Priority to KR1020160091675A priority Critical patent/KR102560423B1/en
Publication of KR20180009659A publication Critical patent/KR20180009659A/en
Application granted granted Critical
Publication of KR102560423B1 publication Critical patent/KR102560423B1/en

Links

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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2213/00Indexing scheme for animation
    • G06T2213/08Animation software package

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 3D 캐릭터 움직임 처리 장치 및 3D 캐릭터 움직임 처리 방법에 관한 것이다. 본 발명의 제 1 측면에 따르면, 본 발명의 제 1 측면에 따르면, 버텍스로 구현된 표면을 갖는 3D 캐릭터의 움직임을 처리하는 장치에 있어서, 하나 이상의 버텍스로 이루어진 버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 시뮬레이터설정부, 시뮬레이터의 배치에 따라 시뮬레이터 본을 샘플링하는 시뮬레이터본설정부 및 버텍스 그룹에 속한 버텍스를 시뮬레이터 본에 리깅하는 버텍스리깅부를 포함할 수 있다.The present invention relates to a 3D character motion processing apparatus and a 3D character motion processing method. According to the first aspect of the present invention, an apparatus for processing motion of a 3D character having a surface implemented with vertices may include a simulator setting unit for arranging one or more simulators in a vertex group composed of one or more vertices, a simulator setting unit for sampling simulator bones according to the arrangement of the simulators, and a vertex rigging unit for rigging vertices belonging to the vertex groups to the simulator bones.

Description

3D 캐릭터 움직임 처리 장치 및 3D 캐릭터 움직임 처리 방법{APPARATUS AND METHOD FOR 3D CHARACTER ANIMATION}3D character movement processing device and 3D character movement processing method {APPARATUS AND METHOD FOR 3D CHARACTER ANIMATION}

본 발명은 3D 캐릭터 움직임 처리 장치 및 3D 캐릭터 움직임 처리 방법에 관한 것으로, 보다 상세하게는 3D 캐릭터 버텍스의 그룹에 통일된 설정값을 부여할 수 있는 별도의 구성을 부가하여 워크로드를 절감하는 3D 캐릭터 움직임 처리 장치 및 3D 캐릭터 움직임 처리 방법에 관한 것이다.The present invention relates to a 3D character motion processing apparatus and a 3D character motion processing method, and more particularly, to a 3D character motion processing apparatus and a 3D character motion processing method that reduce a workload by adding a separate configuration capable of giving a unified set value to a group of 3D character vertices.

스마트 TV, 입체 영화, 스마트폰, HMD(Head-mounted Display) 등 디스플레이 장치 및 정보처리 장치의 성능 향상으로 미디어 콘텐츠 제작의 기술력 또한 크게 향상되었다. 특히 미디어 콘텐츠 분야 중 광고, 영화 등에서 등장하는 컴퓨터 그래픽은 실사에 가까운 수준으로 제작되며, 게임에서는 3D 캐릭터를 포함하는 3D 영상의 구현으로 사용자에게 또다른 즐거움을 제공하고 있다. Technology in media content production has also greatly improved due to improved performance of display devices and information processing devices such as smart TVs, stereoscopic movies, smartphones, and head-mounted displays (HMDs). In particular, computer graphics appearing in advertisements and movies among media contents are produced at a level close to realism, and in games, 3D images including 3D characters are implemented to provide other pleasure to users.

관련하여 선행기술 문헌인 한국특허공개번호 10-2015-0128316호 “방송정보 기반 3D 캐릭터 설치 추천 시스템 및 방법”에서는, 방송정보를 기초로 하여 사용자의 선호도를 분석한 후, 사용자가 선호하는 3D 캐릭터의 설치를 추천하는 시스템 및 방법에 대해 개시하고 있다. In relation to the prior art document, Korea Patent Publication No. 10-2015-0128316, “System and method for recommending 3D character installation based on broadcasting information,” analyzes user preferences based on broadcasting information, and then recommends installation of the user's preferred 3D character. A system and method are disclosed.

상술한 종래 기술은 3D 캐릭터와 관련한 콘텐츠를 사용자에게 제공함에 있어서 새로운 소비 방식을 제시하고 있으나, 3D 캐릭터를 제작하는 분야에 있어서는 진보적인 기술을 제시하지 못하고 있다. The above-described prior art presents a new consumption method in providing content related to 3D characters to users, but does not present an advanced technology in the field of producing 3D characters.

따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.Therefore, a technique for solving the above problems has been required.

한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the above-described background art is technical information that the inventor possessed for derivation of the present invention or acquired during the derivation process of the present invention, and cannot necessarily be referred to as known art disclosed to the general public prior to filing the present invention.

본 발명의 일 실시예는, 3D 캐릭터 움직임 처리 장치 및 3D 캐릭터 움직임 처리 방법을 제시하는 데에 목적이 있다. An object of an embodiment of the present invention is to provide a 3D character motion processing apparatus and a 3D character motion processing method.

또한, 본 발명의 일 실시예는, 3D 캐릭터의 움직임을 컴퓨터 그래픽으로 처리함에 있어서, 버텍스에 대한 설정을 버텍스 그룹 단위로 처리할 수 있게 함으로써 사용자 및 3D 캐릭터 움직임 처리 장치의 워크로드를 줄이는 데에 목적이 있다. In addition, one embodiment of the present invention, in processing the motion of a 3D character by computer graphics, vertex settings can be processed in units of vertex groups, thereby reducing the workload of the user and the 3D character motion processing device.

또한, 본 발명의 일 실시예는, 3D 캐릭터의 움직임을 컴퓨터 그래픽으로 처리함에 있어서, 버텍스에 대한 설정을 버텍스 그룹 단위로 처리할 수 있게 함으로써 빠른 처리가 가능하게 하는 데에 목적이 있다. In addition, an object of an embodiment of the present invention is to enable fast processing by enabling processing of vertex settings in units of vertex groups in processing motions of 3D characters by computer graphics.

나아가 본 발명의 일 실시예는, 섬세하고 자연스러운 애니메이션을 구현하고, 어색함을 최소화하는 데에 목적이 있다. Furthermore, an object of an embodiment of the present invention is to implement delicate and natural animation and minimize awkwardness.

또한 본 발명의 일 실시예는, 근접한 버텍스의 일부가 다른 버텍스와 동떨어지게 움직이는 오류를 방지하고, 근접한 버텍스들이 부드럽게 이어지게 하여 일관성이 보장되도록 하는 데에 목적이 있다. Another object of an embodiment of the present invention is to prevent an error in which some of adjacent vertices move apart from other vertices, and ensure consistency by smoothly connecting adjacent vertices.

또한 본 발명의 일 실시예는, 게임 제공 장치와 연동하여 게임 상의 3D 캐릭터의 움직임을 처리할 때 게임 사용자의 3D 캐릭터 조작을 실시간으로 처리함에 있어서, 워크로드를 줄여 그래픽 처리의 효율성을 높이는 데에 목적이 있다.In addition, one embodiment of the present invention, when processing the movement of the 3D character in the game in conjunction with the game providing device, in real-time processing of the game user's manipulation of the 3D character, aims to increase the efficiency of graphic processing by reducing the workload.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면, 버텍스로 구현된 표면을 갖는 3D 캐릭터의 움직임을 처리하는 장치에 있어서, 하나 이상의 버텍스로 이루어진 버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 시뮬레이터설정부, 시뮬레이터의 배치에 따라 시뮬레이터 본을 샘플링하는 시뮬레이터본설정부 및 버텍스 그룹에 속한 버텍스를 시뮬레이터 본에 리깅하는 버텍스리깅부를 포함할 수 있다. As a technical means for achieving the above technical problem, according to the first aspect of the present invention, an apparatus for processing motion of a 3D character having a surface implemented with vertices may include a simulator setting unit for arranging one or more simulators in a vertex group composed of one or more vertices, a simulator setting unit for sampling simulator bones according to the arrangement of simulators, and a vertex rigging unit for rigging vertices belonging to vertex groups to simulator bones.

본 발명의 제 2 측면에 따르면, 버텍스로 구현된 표면을 갖는 3D 캐릭터의 움직임을 처리하는 장치에서 수행하는 3D 캐릭터 움직임 처리 방법으로서, 버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 단계, 시뮬레이터의 배치에 따라 시뮬레이터 본을 샘플링하는 단계 및 버텍스 그룹에 속한 버텍스를 시뮬레이터 본에 리깅하는 단계를 포함할 수 있다.According to a second aspect of the present invention, a 3D character motion processing method performed by an apparatus for processing motion of a 3D character having a surface implemented with vertices includes arranging one or more simulators in a vertex group, sampling a simulator bone according to the arrangement of the simulator, and rigging vertices belonging to the vertex group to the simulator bone.

본 발명의 제 3 측면에 따르면, 3D 캐릭터 움직임 처리 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체로서, 3D 캐릭터 움직임 처리 방법은 버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 단계, 시뮬레이터의 배치에 따라 시뮬레이터 본을 샘플링하는 단계 및 버텍스 그룹에 속한 버텍스를 시뮬레이터 본에 리깅하는 단계를 포함할 수 있다.According to a third aspect of the present invention, as a computer readable recording medium on which a program for performing a 3D character motion processing method is recorded, the 3D character motion processing method may include arranging one or more simulators in a vertex group, sampling the simulator bones according to the arrangement of the simulators, and rigging vertices belonging to the vertex group to the simulator bones.

본 발명의 제 4 측면에 따르면, 3D 캐릭터 움직임 처리 장치에 의해 수행되며, 3D 캐릭터 움직임 처리 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램으로서, 3D 캐릭터 움직임 처리 방법은 버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 단계, 시뮬레이터의 배치에 따라 시뮬레이터 본을 샘플링하는 단계 및 버텍스 그룹에 속한 버텍스를 시뮬레이터 본에 리깅하는 단계를 포함할 수 있다.According to a fourth aspect of the present invention, as a computer program performed by a 3D character motion processing apparatus and stored in a recording medium to perform a 3D character motion processing method, the 3D character motion processing method may include arranging one or more simulators in a vertex group, sampling the simulator bones according to the arrangement of the simulators, and rigging vertices belonging to the vertex group to the simulator bones.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일실시예는 게임 제공 장치 및 3D 캐릭터 움직임 처리 방법을 제시할 수 있다. According to any one of the above-described problem solving means of the present invention, an embodiment of the present invention may provide a game providing device and a method for processing 3D character movement.

또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 3D 캐릭터의 움직임을 컴퓨터 그래픽으로 처리함에 있어서, 버텍스에 대한 설정을 버텍스 그룹 단위로 처리할 수 있게 함으로써 사용자 및 3D 캐릭터 움직임 처리 장치의 워크로드를 줄일 수 있다. In addition, according to any one of the problem solving means of the present invention, in processing the motion of a 3D character by computer graphics, the workload of the user and the 3D character motion processing apparatus can be reduced by enabling the setting of vertices to be processed in units of vertex groups.

또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 3D 캐릭터의 움직임을 컴퓨터 그래픽으로 처리함에 있어서, 버텍스에 대한 설정을 버텍스 그룹 단위로 처리할 수 있게 함으로써 빠른 처리가 가능하다. In addition, according to any one of the problem solving means of the present invention, in processing the movement of a 3D character by computer graphics, it is possible to process the vertex settings in units of vertex groups, thereby enabling fast processing.

뿐만 아니라 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 섬세하고 자연스러운 애니메이션을 구현할 수 있으며, 어색함을 최소화할 수 있다.In addition, according to any one of the problem solving means of the present invention, delicate and natural animation can be implemented and awkwardness can be minimized.

나아가 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 근접한 버텍스의 일부가 다른 버텍스와 동떨어지게 움직이는 오류를 방지하고, 근접한 버텍스들이 부드럽게 이어지게 하므로 일관성이 보장된다.Furthermore, according to any one of the problem solving means of the present invention, an error in which some of the adjacent vertices move away from other vertices is prevented, and the adjacent vertices are smoothly connected, so consistency is guaranteed.

또한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 게임 제공 장치와 연동하여 게임 상의 3D 캐릭터의 움직임을 처리할 때 게임 사용자의 3D 캐릭터 조작을 실시간으로 처리함에 있어서, 워크로드를 줄여 그래픽 처리의 효율성을 높일 수 있다.In addition, according to any one of the problem solving means of the present invention, when processing the movement of the 3D character in the game in conjunction with the game providing device, in processing the game user's 3D character manipulation in real time, the efficiency of graphic processing can be increased by reducing the workload.

특히 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 3D 캐릭터의 짧은 머리카락의 움직임 및 신체나 옷의 미세한 떨림을 구현함에 있어서 그래픽 처리의 효율성이 향상된다. In particular, according to any one of the problem solving means of the present invention, the efficiency of graphic processing is improved in realizing the movement of short hair of a 3D character and the fine vibration of a body or clothes.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Effects obtainable in the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 본 발명의 일실시예에 따른 3D 캐릭터 움직임 처리 장치를 도시한 블록도이다.
도 2 내지 도 5는 본 발명의 일실시예에 따른 3D 캐릭터 움직임 처리 방법을 설명하기 위한 순서도이다.
1 is a block diagram showing a 3D character motion processing apparatus according to an embodiment of the present invention.
2 to 5 are flowcharts for explaining a 3D character motion processing method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail so that those skilled in the art can easily practice the present invention with reference to the accompanying drawings. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to be “connected” to another part, this includes not only the case where it is “directly connected” but also the case where it is “electrically connected” with another element interposed therebetween. In addition, when a certain component is said to "include", this means that it may further include other components without excluding other components unless otherwise stated.

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

다만 이를 설명하기에 앞서, 아래에서 사용되는 용어의 의미를 먼저 정의한다.However, before explaining this, the meaning of terms used below is first defined.

이하에서 캐릭터는, 가상의 객체를 컴퓨터 그래픽으로 시각화한 것을 말한다. 본 발명에서 캐릭터는 사용자의 설정에 따라 동작할 수 있다. 이때 캐릭터는 반드시 사람의 형태일 필요 없고, 동물, 사물, 기타 사용자의 설정에 따라 동작하는 모든 가상의 객체를 포함할 수 있다. 나아가 캐릭터는 실시예에 따라 게임 상에서 게임을 플레이하는 사용자의 제어에 따라 동작하는 그래픽 객체일 수 있다. 이때 3D 캐릭터는, 상술한 캐릭터를 3차원으로 표현한 것을 말하며, 그래픽 상에서 3D 캐릭터는 버텍스로 구현된 표면을 가질 수 있다. 즉, 본 발명의 일 실시예는 3D 캐릭터의 형태를 정의하기 위하여 버텍스를 사용할 수 있다. Hereinafter, a character refers to a virtual object visualized by computer graphics. In the present invention, a character may operate according to a user's setting. At this time, the character does not necessarily have to be in the form of a person, and may include animals, objects, and other virtual objects that operate according to the user's settings. Furthermore, the character may be a graphic object that operates under the control of a user who plays the game according to an embodiment. In this case, the 3D character refers to a three-dimensional expression of the above-described character, and on graphics, the 3D character may have a surface implemented with vertices. That is, in one embodiment of the present invention, vertices may be used to define the shape of a 3D character.

위에 정의한 용어 이외에 설명이 필요한 용어는 아래에서 각각 따로 설명한다. In addition to the terms defined above, terms that require explanation are separately explained below.

도 1은 본 발명의 일실시예에 따른 3D 캐릭터 움직임 처리 장치(100)를 설명하기 위한 블록도이다. 1 is a block diagram for explaining a 3D character motion processing apparatus 100 according to an embodiment of the present invention.

3D 캐릭터 움직임 처리 장치(100)는 3D 캐릭터의 움직임을 컴퓨터 그래픽으로 처리함에 있어서, 3D 캐릭터의 형태를 정의하는 도구인 버텍스에 대한 설정을 버텍스 그룹 단위로 처리할 수 있게 함으로써 워크로드를 줄이고자 한다. 이를 위해 3D 캐릭터 움직임 처리 장치(100)는, 버텍스 그룹 단위의 설정을 처리하기 위한 별도의 객체를 설정할 수 있다. 예를 들어, 3D 캐릭터 움직임 처리 장치(100)는, 상술한 별도의 객체를 이용하여 버텍스의 특성값을 그룹 단위로 처리할 수 있으며, 별도의 객체를 기준으로 하여 버텍스와 리깅될 본을 샘플링함으로써 3D 캐릭터의 움직임의 처리를 단순화하고, 워크로드를 줄일 수 있다. 이때 별도의 객체를 시뮬레이터라 한다. The 3D character motion processing apparatus 100 seeks to reduce the workload by enabling processing of vertex settings, which are tools for defining the shape of a 3D character, in units of vertex groups in processing 3D character motion with computer graphics. To this end, the 3D character motion processing apparatus 100 may set a separate object for processing setting in units of vertex groups. For example, the 3D character motion processing apparatus 100 may process vertex characteristic values in a group unit using the above-described separate object, and sample the vertex and the bone to be rigged based on the separate object, thereby simplifying the motion processing of the 3D character and reducing the workload. At this time, the separate object is called a simulator.

본 발명의 일 실시예로서 3D 캐릭터 움직임 처리 장치(100)는, 게임 제공 장치가 제공하는 게임 상의 3D 캐릭터의 움직임을 처리할 수 있다. 이를 위해 3D 캐릭터 움직임 처리 장치(100)는 게임 제공 장치를 포함하거나 또는 게임 제공 장치에 포함될 수 있다. 이를 통해 3D 캐릭터 움직임 처리 장치(100)는 게임 사용자의 3D 캐릭터 조작을 실시간으로 처리함에 있어서 워크로드를 줄여 그래픽 처리의 효율성을 높일 수 있다.As an embodiment of the present invention, the 3D character motion processing device 100 may process the motion of a 3D character in a game provided by a game providing device. To this end, the 3D character motion processing device 100 may include a game providing device or may be included in a game providing device. Through this, the 3D character motion processing apparatus 100 can increase the efficiency of graphic processing by reducing the workload in processing the game user's manipulation of the 3D character in real time.

이때 게임 제공 장치는 게임을 제공하는데 필요한 각종 정보를 저장하며, 게임 내에서 발생되는 다양한 이벤트를 감지하고 기록하여 게임의 시계열적 진행을 가능하게 하는 장치이다. At this time, the game providing device is a device that stores various information necessary to provide the game, detects and records various events occurring within the game, and enables the time-sequential progress of the game.

한편 3D 캐릭터 움직임 처리 장치(100)는 3D 캐릭터 움직임 처리를 위한 프로그램이 설치된 전자단말기로 구현되거나, 서버-클라이언트 시스템으로 구현될 수 있다. 3D 캐릭터 움직임 처리 장치(100)가 서버-클라이언트 시스템으로 구현된다면 3D 캐릭터 움직임 처리 장치(100)는 사용자와의 인터랙션을 위한 클라이언트가 설치된 전자단말기를 포함할 수 있다. Meanwhile, the 3D character motion processing device 100 may be implemented as an electronic terminal in which a program for 3D character motion processing is installed, or may be implemented as a server-client system. If the 3D character motion processing device 100 is implemented as a server-client system, the 3D character motion processing device 100 may include an electronic terminal in which a client for interaction with a user is installed.

이때 전자단말기는, 사용자와의 인터랙션이 가능한 인터페이스를 포함할 수 있는 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(Wearable Device) 등으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop)등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant),GSM(Global System for Mobile communications), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(Smart Phone), 모바일WiMAX(Mobile Worldwide Interoperability for Microwave Access) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다. At this time, the electronic terminal may be implemented as a computer, a portable terminal, a television, a wearable device, or the like that may include an interface capable of interacting with a user. Here, the computer includes, for example, a laptop, desktop, or laptop equipped with a web browser, and the portable terminal is, for example, a wireless communication device that ensures portability and mobility, and includes a Personal Communication System (PCS), Personal Digital Cellular (PDC), Personal Handyphone System (PHS), Personal Digital Assistant (PDA), Global System for Mobile communications (GSM), International Mobile Telecommunication (IMT)-2 000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet), smart phone, mobile WiMAX (Mobile Worldwide Interoperability for Microwave Access), and the like. In addition, television may include IPTV (Internet Protocol Television), Internet TV (Internet Television), terrestrial TV, cable TV, and the like. Furthermore, a wearable device is a type of information processing device that can be worn directly on the human body, such as, for example, a watch, glasses, accessories, clothes, shoes, etc., and can be connected to a server in a remote location via a network directly or through another information processing device, or can be connected to other terminals.

그리고 서버-클라이언트 시스템의 서버는, 클라이언트가 설치된 전자단말기와 네트워크를 통해 통신이 가능한 컴퓨팅장치로 구현될 수 있으며, 데이터를 저장할 수 있는 저장장치가 포함될 수 있거나 또는 제 3 의 서버(미도시)를 통해 데이터를 저장할 수도 있다.In addition, the server of the server-client system may be implemented as a computing device capable of communicating with an electronic terminal on which a client is installed and through a network, and may include a storage device capable of storing data, or may store data through a third server (not shown).

상술된 바와 같은 3D 캐릭터 움직임 처리 장치(100)는 도 1에 도시된 바와 같이 시뮬레이터설정부(101)를 포함할 수 있다. The 3D character motion processing apparatus 100 as described above may include a simulator setting unit 101 as shown in FIG. 1 .

시뮬레이터설정부(101)는 하나 이상의 버텍스로 이루어진 버텍스 그룹에 하나 이상의 시뮬레이터를 배치할 수 있다. The simulator setting unit 101 may arrange one or more simulators in a vertex group composed of one or more vertices.

이때 버텍스 그룹을 지정하기 위한 일 실시예로서 3D 캐릭터 움직임 처리 장치(100)는, 버텍스그룹핑부(102)를 더 포함할 수 있고, 버텍스그룹핑부(102)는 3D 캐릭터 표면에 대해 사용자로부터 지정 영역을 입력 받고, 입력 받은 지정 영역에 포함된 버텍스를 버텍스 그룹으로 그룹핑할 수 있다. 또는 버텍스그룹핑부(102)는 하나 이상의 버텍스를 각각 지정하는 사용자 입력을 수신하고, 지정된 하나 이상의 버텍스에 대해 버텍스 그룹을 생성할 수 있다. At this time, as an embodiment for designating a vertex group, the 3D character motion processing apparatus 100 may further include a vertex grouping unit 102, and the vertex grouping unit 102 may receive an input of a designated area on the surface of the 3D character from the user, and group vertices included in the input designated area into vertex groups. Alternatively, the vertex grouping unit 102 may receive a user input designating one or more vertices, and generate a vertex group for the one or more designated vertices.

버텍스그룹핑부(102)는 입력 받은 지정 영역에 대해 색상 정보를 부가할 수 있다. 또한 이를 위해 버텍스 그룹 각각에 대해 색상을 지정하는 사용자 입력을 수신할 수 있다. 이는 사용자의 지정 영역 입력에 대응하여 색상을 표시함으로써 시각적으로 명확한 인터페이스를 제공하기 위함이다. 즉, 사용자가 3D 캐릭터의 표면에 일정 영역을 선택하면, 선택에 따라 색상을 표시하는 인터페이스를 제공할 수 있으며, 더욱 구체적으로는, 상술한 인터페이스에 따라 사용자는 3D 캐릭터의 표면에 색칠을 하여 지정 영역을 입력함으로써 색칠된 지정 영역에 속한 버텍스를 버텍스 그룹으로 그룹핑할 수 있다. The vertex grouping unit 102 may add color information to the input designated area. For this purpose, a user input specifying a color for each vertex group may be received. This is to provide a visually clear interface by displaying colors in response to the input of the user's designated area. That is, when the user selects a certain area on the surface of the 3D character, an interface displaying a color according to the selection may be provided. More specifically, according to the interface described above, the user can color the surface of the 3D character and input the specified area, thereby grouping vertices belonging to the specified area to be colored into vertex groups.

한편 시뮬레이터설정부(101)는 지정 영역에 시뮬레이터를 배치함에 있어서, 설정된 시뮬레이터 밀도에 기초할 수 있다. 이때 시뮬레이터 밀도란 지정 영역의 넓이와 지정 영역에 배치된 시뮬레이터의 개수의 비율로 정의될 수 있다. 시뮬레이터 밀도의 설정은 시뮬레이터설정부(101) 자체의 초기 설정에 따라 이루어지거나 시뮬레이터설정부(101)가 사용자로부터 입력 받은 설정에 따라 이루어질 수 있다. Meanwhile, the simulator setting unit 101 may be based on the set simulator density in arranging the simulator in the designated area. At this time, the simulator density may be defined as a ratio of the area of the designated area to the number of simulators disposed in the designated area. The setting of the simulator density may be performed according to the initial setting of the simulator setting unit 101 itself or according to the setting received from the user by the simulator setting unit 101 .

본 발명의 일 실시예에 의하면 시뮬레이터 밀도에 따라 표현하고자 하는 3D 캐릭터의 표면의 특성이 표현될 수 있다. 시뮬레이터 밀도가 높을수록 3D 캐릭터의 표면의 움직임이 세밀하게 분화될 수 있다. 따라서 사용자는 버텍스 그룹에 대응되는 3D 캐릭터의 부위에 따라 시뮬레이터 밀도를 다르게 설정함으로써 3D 캐릭터의 표면의 특성을 표현할 수 있다. According to an embodiment of the present invention, the characteristics of the surface of the 3D character to be expressed can be expressed according to the density of the simulator. The higher the density of the simulator, the finer the movement of the surface of the 3D character can be. Therefore, the user can express the characteristics of the surface of the 3D character by setting the simulator density differently according to the part of the 3D character corresponding to the vertex group.

또한 시뮬레이터설정부(101)는 시뮬레이터의 특성값인 시뮬레이터 값을 설정할 수 있다. 시뮬레이터 값에 대해서는 관련 부분에서 후술한다. In addition, the simulator setting unit 101 may set a simulator value, which is a characteristic value of the simulator. The simulator value will be described later in the related section.

한편 3D 캐릭터 움직임 처리 장치(100)는 상술한 시뮬레이터의 배치에 따른 본을 샘플링할 수 있으며, 이를 3D 캐릭터를 구성하는 기본적인 본(Bone)과 구분하기 위하여 3D 캐릭터의 기본적인 본은 캐릭터 본, 시뮬레이터의 배치에 따라 샘플링한 본은 시뮬레이터 본으로 부른다. 이때 3D 캐릭터 움직임 처리 장치(100)는 시뮬레이터 본을 샘플링하는 시뮬레이터본설정부(103)를 포함할 수 있다. 또한 시뮬레이터본설정부(103)는 시뮬레이터 본을 가까운 캐릭터 본의 차일드로 설정할 수 있다. 즉, 시뮬레이터 본을 캐릭터 본의 하나의 가지로 설정할 수 있다. On the other hand, the 3D character motion processing apparatus 100 may sample bones according to the arrangement of the simulator described above, and in order to distinguish them from the basic bones constituting the 3D character, the basic bones of the 3D character are character bones, and the bones sampled according to the arrangement of the simulator are called simulator bones. At this time, the 3D character motion processing apparatus 100 may include a simulator bone setting unit 103 for sampling a simulator bone. In addition, the simulator bone setting unit 103 may set the simulator bone as a child of a nearby character bone. That is, the simulator bone can be set as one of the character bones.

또한 3D캐릭터 움직임 처리 장치는 버텍스를 시뮬레이터 본에 리깅하는 버텍스리깅부(104)를 포함할 수 있다. 버텍스리깅부(104)는 예를 들어, 버텍스 그룹에 속한 버텍스를 상기 버텍스 그룹에 대응되는 시뮬레이터에 대해 샘플링된 시뮬레이터 본에 리깅할 수 있다. 또는 버텍스를 버텍스에 가까운 시뮬레이터 본에 리깅할 수 있다.In addition, the 3D character motion processing apparatus may include a vertex rigging unit 104 for rigging vertices to simulator bones. For example, the vertex rigging unit 104 may rig a vertex belonging to a vertex group to a simulator bone sampled for a simulator corresponding to the vertex group. Or you can rig the vertices to simulator bones close to the vertices.

이때 버텍스리깅부(104)는 버텍스를 시뮬레이터 본에 리깅함에 있어서 버텍스에 가중치를 설정할 수 있다. 가중치란 시뮬레이터 본이 버텍스에 대해 미치는 영향력의 정도를 말한다. 예를 들어 버텍스리깅부(104)는 버텍스를 시뮬레이터 본에 리깅함에 있어서, 하나의 버텍스와 리깅된 시뮬레이터 본이 하나 이상일 때, 상기 버텍스와 시뮬레이터 본 각각의 거리에 기초하여 가중치를 부여할 수 있고, 이때 거리에 반비례하여 가까운 순서대로 가중치를 높게 부여할 수 있다. 또한 예를 들어, 버텍스에 매핑된 모든 본의 영향력의 합이 1이 되도록 정규화를 할 수 있다. 이때 푸아송 분포(Poisson Distribution)를 이용할 수 있고, 실시예에 따라 결정적 샘플링(Deterministic Sampling)을 이용할 수 있다. At this time, the vertex rigging unit 104 may set a weight to the vertex when rigging the vertex to the simulator bone. Weight refers to the amount of influence a simulator bone has on a vertex. For example, when the vertex rigging unit 104 rigs a vertex to a simulator bone, when one vertex and one or more rigged simulator bones are present, weights may be assigned based on a distance between the vertex and the simulator bone, and in this case, weights may be assigned higher in order of proximity in inverse proportion to the distance. Also, for example, normalization can be performed so that the sum of the influences of all bones mapped to vertices equals 1. In this case, a Poisson distribution may be used, and deterministic sampling may be used according to an embodiment.

나아가 3D 캐릭터 움직임 처리 장치(100)는 시뮬레이터 본에 대해 애니메이션 설정을 입력 받는 애니메이션설정부(105) 및 애니메이션설정부(105)가 설정 받은 애니메이션에 기초하여 3D 캐릭터의 움직임을 구현하는 애니메이션구현부(106)를 더 포함할 수 있다. 본 발명의 일 실시예에 따라 애니메이션구현부(106)는 애니메이션설정부(105)에서 기설정된 애니메이션을 구현하거나 애니메이션설정부(105)에서 설정 받은 애니메이션을 실시간으로 구현할 수 있다. Furthermore, the 3D character motion processing apparatus 100 may further include an animation setting unit 105 that receives animation settings for simulator bones and an animation implementation unit 106 that implements motions of the 3D character based on the animation set by the animation setting unit 105. According to an embodiment of the present invention, the animation realization unit 106 can implement the animation preset in the animation setting unit 105 or the animation set in the animation setting unit 105 in real time.

예를 들어, 3D 캐릭터 움직임 처리 장치(100)가 게임 제공 장치와 연동하여 3D 캐릭터 움직임을 처리할 때, 사용자의 캐릭터의 조작에 대해 실시간으로 애니메이션을 구현하여 출력할 수 있다. For example, when the 3D character motion processing apparatus 100 processes the 3D character motion in association with the game providing device, real-time animation for the user's character manipulation may be implemented and output.

또한 애니메이션구현부(106)는 애니메이션을 구현함에 있어서 시뮬레이터에 대해 기설정된 시뮬레이터 값을 시뮬레이터가 배치된 버텍스 그룹에 속한 버텍스에 적용할 수 있다. Also, in implementing the animation, the animation implementation unit 106 may apply a preset simulator value to a vertex belonging to a vertex group in which the simulator is placed.

이를 통해 버텍스의 설정값을 하나하나 지정할 필요없이 버텍스 그룹에 대응되는 시뮬레이터에 대해 지정하면 되므로, 애니메이션 설정을 수신하고 애니메이션을 구현하는 장치의 워크로드 및 애니메이션을 설정하는 아티스트의 워크로드가 줄어든다. 즉, 빠른 처리가 가능하다. This reduces the workload of the device that receives the animation settings and implements the animation, and the workload of the artist who sets the animation, because it is not necessary to specify the vertex setting values one by one, but only the simulator corresponding to the vertex group. That is, fast processing is possible.

뿐만 아니라 버텍스의 설정은 버텍스 그룹의 단위로 이루어지나 애니메이션의 구현은 버텍스 단위로 이루어지므로, 처리 과정은 단순화 되는 반면 애니메이션의 구현은 섬세하고 자연스럽게 이루어지고, 어색함을 최소화할 수 있다. 특히 근접한 버텍스의 일부가 다른 버텍스와 동떨어지게 움직이는 등의 오류를 방지하고, 근접한 버텍스들이 부드럽게 이어지게 하므로 일관성이 보장된다. In addition, vertex setting is done in vertex group units, but animation is implemented in vertex units, so the processing process is simplified, while animation is implemented delicately and naturally, and awkwardness can be minimized. In particular, consistency is ensured by preventing errors, such as a part of adjacent vertices moving away from other vertices, and making adjacent vertices smoothly connected.

또한 시뮬레이터 값은 구체적으로, 시뮬레이터설정부(101)가 사용자로부터 수신하여 설정되거나 시뮬레이터설정부(101) 자체의 초기 설정에 의해 설정될 수 있다. 이때 애니메이션구현부(106)는 설정된 시뮬레이터 값을 버텍스 그룹에 속한 버텍스에 적용할 수 있다. 시뮬레이터 값은 스프링 시뮬레이션 등 물리 시뮬레이션을 위한 설정값을 포함할 수 있다. 여기서 스프링 시뮬레이션이란 버텍스와 버텍스에 리깅된 본이 고무 또는 스프링과 같은 탄성체로 연결되어 있다고 가정할 경우 버텍스의 움직임을 시뮬레이션하는 것을 말한다. 이때 시뮬레이터 값은 스프링 시뮬레이션의 탄성값을 포함할 수 있다. In addition, the simulator value may be specifically set by the simulator setting unit 101 received from the user or set by the initial setting of the simulator setting unit 101 itself. At this time, the animation implementation unit 106 may apply the set simulator value to the vertices belonging to the vertex group. The simulator value may include setting values for physics simulation such as spring simulation. Here, spring simulation refers to simulating the movement of vertices assuming that vertices and bones rigged to vertices are connected with elastic materials such as rubber or springs. At this time, the simulator value may include the elasticity value of the spring simulation.

이하에서는 상술한 바와 같은 3D 캐릭터 움직임 처리 장치(100)를 이용한 3D 캐릭터 움직임 처리 방법을 설명한다. 도 2 내지 도 5는 본 발명의 일실시예에 따른 3D 캐릭터 움직임 처리 방법을 도시한 순서도다.Hereinafter, a 3D character motion processing method using the 3D character motion processing apparatus 100 as described above will be described. 2 to 5 are flowcharts illustrating a 3D character motion processing method according to an embodiment of the present invention.

도 2 내지 도 5에 도시된 실시예에 따른 3D 캐릭터 움직임 처리 방법은 도 1에 도시된 3D 캐릭터 움직임 처리 장치(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1에 도시된 3D 캐릭터 움직임 처리 장치(100)에 관하여 이상에서 기술한 내용은 도 2 내지 도 5에 도시된 실시예에 따른 3D 캐릭터 움직임 처리 방법에도 적용될 수 있다. The 3D character motion processing method according to the embodiment shown in FIGS. 2 to 5 includes steps processed time-sequentially in the 3D character motion processing apparatus 100 shown in FIG. 1 . Therefore, even if the contents are omitted below, the contents described above with respect to the 3D character motion processing apparatus 100 shown in FIG. 1 can also be applied to the 3D character motion processing method according to the embodiment shown in FIGS. 2 to 5.

본 발명의 일 실시예에 따른 3D 캐릭터 움직임 처리 방법에 따르면, 도 2에 도시된 바와 같이, 3D 캐릭터 움직임 처리 장치(100)는 버텍스 그룹에 하나 이상의 시뮬레이터를 배치한다(S201). According to the 3D character motion processing method according to an embodiment of the present invention, as shown in FIG. 2 , the 3D character motion processing apparatus 100 arranges one or more simulators in a vertex group (S201).

이때 S201을 위한 전처리 단계로서 3D 캐릭터 움직임 처리 장치(100)는, 도 3에 도시된 바와 같이 버텍스로 구현된 3D 캐릭터 표면에 대해 사용자로부터 지정 영역을 입력 받고(S301), 입력 받은 지정 영역에 포함된 버텍스를 버텍스 그룹으로 그룹핑할 수 있다(S302). 상술한 바와 같이 3D 캐릭터 움지임 처리 장치는 그룹핑된 버텍스 그룹에 하나 이상의 시뮬레이터를 배치한다.At this time, as a pre-processing step for S201, the 3D character motion processing apparatus 100 receives a designated area from the user for the surface of the 3D character implemented as vertices as shown in FIG. 3 (S301), and groups the vertices included in the input designated area into vertex groups (S302). As described above, the 3D character motion processing apparatus arranges one or more simulators in the grouped vertex group.

또한 S201단계는, 도 4에서 도시된 바와 같이, 본 발명의 실시예에 따라 시뮬레이터 밀도를 사용자로부터 설정 받을 수 있고(S401), 설정 받은 시뮬레이터 밀도에 기초하여 버텍스 그룹에 시뮬레이터를 배치할 수 있다(S402). 이와 같은 시뮬레이터 밀도의 설정 단계를 통해 3D 캐릭터 표면의 움직임을 세분화할 수 있다. 이를 이용하여 3D 캐릭터 표면의 특성을 표현할 수 있다. In addition, in step S201, as shown in FIG. 4, a simulator density may be set by the user according to an embodiment of the present invention (S401), and simulators may be placed in vertex groups based on the set simulator density (S402). The movement of the 3D character surface can be subdivided through the step of setting the simulator density. Using this, the characteristics of the 3D character surface can be expressed.

다음으로 3D 캐릭터 움직임 처리 장치(100)는 시뮬레이터의 배치에 따라 시뮬레이터 본을 샘플링할 수 있다(S202). 또한 3D 캐릭터 움직임 처리 장치(100)는 버텍스 그룹에 속한 버텍스를 상술한 시뮬레이터 본에 리깅할 수 있다(S203). Next, the 3D character motion processing apparatus 100 may sample a simulator bone according to the arrangement of the simulator (S202). In addition, the 3D character motion processing apparatus 100 may rig the vertices belonging to the vertex group to the above-described simulator bones (S203).

이후 도 5를 참조하면, 3D 캐릭터 움직임 처리 장치(100)는 시뮬레이터 본에 대해 애니메이션 설정을 입력 받을 수 있고(S504), 설정 받은 애니메이션에 기초하여 3D 캐릭터의 움직임을 구현할 수 있다(S505).Referring to FIG. 5 thereafter, the 3D character motion processing apparatus 100 may receive animation settings for simulator bones (S504), and implement motions of the 3D character based on the set animations (S505).

S505 단계에서 3D 캐릭터의 움직임을 구현함에 있어서, 버텍스의 움직임은 시뮬레이터에 대해 설정된 시뮬레이터 설정값에 기초하여 이루어질 수 있다. In implementing the movement of the 3D character in step S505, the movement of vertices may be performed based on simulator setting values set for the simulator.

본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.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. Thus, as an example, '~unit' includes components such as software components, object-oriented software components, class components and task components, processes, functions, properties, procedures, subroutines, segments of program patent code, drivers, firmware, microcode, circuits, 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 separated from additional components and '~units'.

뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다In addition, components and '~units' may be implemented to play one or more CPUs in a device or a secure multimedia card.

도 2 내지 도 5를 통해 설명된 실시예에 따른 3D 캐릭터 움직임 처리 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. The 3D character motion processing method according to the embodiment described with reference to FIGS. 2 to 5 may be implemented in the form of a recording medium including instructions executable by a computer, such as program modules executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer readable media may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism, and includes any information delivery media.

또한 본 발명의 일실시예에 따르는 3D 캐릭터 움직임 처리 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다. In addition, the 3D character motion processing method according to an embodiment of the present invention may be implemented as a computer program (or computer program product) including instructions executable by a computer. A computer program includes programmable machine instructions processed by a processor, and may be implemented in a high-level programming language, an object-oriented programming language, assembly language, or machine language. Also, the computer program may be recorded on a tangible computer-readable recording medium (eg, a memory, a hard disk, a magnetic/optical medium, or a solid-state drive (SSD)).

따라서 본 발명의 일실시예에 따르는 3D 캐릭터 움직임 처리 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다. Therefore, the 3D character motion processing method according to an embodiment of the present invention can be implemented by executing the computer program as described above by a computing device. A computing device may include at least some of a processor, a memory, a storage device, a high-speed interface connected to the memory and a high-speed expansion port, and a low-speed interface connected to a low-speed bus and a storage device. Each of these components are connected to each other using various buses and may be mounted on a common motherboard or mounted in any other suitable manner.

여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다. Here, the processor may process commands within the computing device, such commands may be stored in a memory or storage device to display graphic information for providing a GUI (Graphic User Interface) on an external input/output device, such as a display connected to a high-speed interface. As another example, multiple processors and/or multiple buses may be used along with multiple memories and memory types as appropriate. Also, the processor may be implemented as a chipset comprising chips including a plurality of independent analog and/or digital processors.

또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다. Memory also stores information within the computing device. In one example, the memory may consist of a volatile memory unit or a collection thereof. As another example, the memory may be composed of a non-volatile memory unit or a collection thereof. Memory may also be another form of computer readable medium, such as, for example, a magnetic or optical disk.

그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다. Also, the storage device may provide a large amount of storage space to the computing device. A storage device may be a computer readable medium or a component that includes such a medium, for example, may include devices or other components within a storage area network (SAN), and may be a floppy disk device, a hard disk device, an optical disk device, or a tape device, flash memory, or other semiconductor memory device or device array of the like.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustrative purposes, and those skilled in the art may understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts thereof should be construed as being included in the scope of the present invention.

100: 3D 캐릭터 움직임 처리 장치
102: 버텍스그룹핑부 101: 시뮬레이터설정부
103: 시뮬레이터본설정부 104: 버텍스리깅부
105: 애니메이션설정부 106: 애니메이션구현부
100: 3D character movement processing device
102: vertex grouping unit 101: simulator setting unit
103: simulator main setting part 104: vertex rigging part
105: animation setting unit 106: animation implementation unit

Claims (16)

버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 시뮬레이터설정부;
시뮬레이터의 배치에 기초하여 시뮬레이터 본을 샘플링하는 시뮬레이터본설정부; 및
상기 버텍스 그룹에 속한 버텍스를 상기 시뮬레이터 본에 리깅하는 버텍스리깅부를 포함하고,
상기 시뮬레이터설정부는,
상기 버텍스 그룹에 대응되는 3D 캐릭터의 부위에 따라 시뮬레이터 밀도를 사용자로부터 각각 다르게 설정 받고, 설정 받은 시뮬레이터 밀도에 기초하여 상기 시뮬레이터를 배치하는, 3D 캐릭터 움직임 처리 장치.
a simulator setting unit for arranging one or more simulators in a vertex group;
a simulator bone setting unit for sampling simulator bones based on the arrangement of simulators; and
A vertex rigging unit for rigging vertices belonging to the vertex group to the simulator bone;
The simulator setting unit,
3D character motion processing apparatus for receiving different simulator densities from a user according to parts of the 3D character corresponding to the vertex groups and arranging the simulators based on the set simulator densities.
제1항에 있어서,
상기 시뮬레이터 본에 대해 애니메이션 설정을 입력 받는 애니메이션설정부; 및
상기 애니메이션설정부가 설정 받은 애니메이션에 기초하여 상기 3D 캐릭터의 움직임을 구현하는 애니메이션구현부를 더 포함하는, 3D 캐릭터 움직임 처리 장치.
According to claim 1,
an animation setting unit that receives an animation setting for the simulator bone; and
The 3D character motion processing apparatus further comprises an animation implementation unit implementing motion of the 3D character based on the animation set by the animation setting unit.
제2항에 있어서,
상기 애니메이션구현부는 추가적으로,
상기 시뮬레이터에 대해 기설정된 시뮬레이터 값을 상기 시뮬레이터가 배치된 버텍스 그룹에 속한 버텍스에 적용하는, 3D 캐릭터 움직임 처리 장치.
According to claim 2,
The animation implementation unit additionally,
3D character motion processing apparatus for applying a preset simulator value for the simulator to a vertex belonging to a vertex group in which the simulator is disposed.
제3항에 있어서,
상기 시뮬레이터설정부는 추가적으로,
상기 시뮬레이터 값을 사용자로부터 설정 받는, 3D 캐릭터 움직임 처리 장치.
According to claim 3,
The simulator setting unit additionally,
A 3D character motion processing device for receiving the simulator value set by a user.
제3항에 있어서,
상기 시뮬레이터 값은 스프링 시뮬레이션의 탄성값을 포함하는, 3D 캐릭터 움직임 처리 장치.
According to claim 3,
The simulator value includes the elasticity value of the spring simulation, 3D character movement processing device.
삭제delete 제1항에 있어서,
상기 시뮬레이터본설정부는 추가적으로,
상기 시뮬레이터 본을 가까운 캐릭터 본의 차일드로 설정하는, 3D 캐릭터 움직임 처리 장치.
According to claim 1,
The simulator main setting unit additionally,
A 3D character motion processing device for setting the simulator bone as a child of a nearby character bone.
제1항에 있어서,
상기 버텍스리깅부는 추가적으로,
상기 버텍스와 리깅된 시뮬레이터 본이 하나 이상일 때, 상기 버텍스와의 거리에 기초하여 리깅된 시뮬레이터 본에 가중치를 부여하는, 3D 캐릭터 움직임 처리 장치.
According to claim 1,
The vertex rigging unit additionally,
When there is one or more simulator bones rigged with the vertex, a weight is assigned to the rigged simulator bone based on a distance to the vertex.
제1항에 있어서,
버텍스로 구현된 3D 캐릭터 표면에 대해 사용자로부터 지정 영역을 입력 받고, 입력 받은 지정 영역에 포함된 버텍스를 버텍스 그룹으로 그룹핑하는 버텍스그룹핑부를 더 포함하는, 3D 캐릭터 움직임 처리 장치.
According to claim 1,
A 3D character motion processing apparatus further comprising: a vertex grouping unit that receives a designated area from a user for a 3D character surface implemented with vertices and groups vertices included in the input designated area into vertex groups.
제9항에 있어서,
상기 버텍스그룹핑부는 추가적으로,
상기 입력 받은 지정 영역에 대해 색상 정보를 부가하여 시각화하는, 3D 캐릭터 움직임 처리 장치.
According to claim 9,
The vertex grouping unit additionally,
A 3D character motion processing device for visualizing by adding color information to the input designated area.
버텍스로 구현된 표면을 갖는 3D 캐릭터의 움직임을 처리하는 3D 캐릭터 움직임 처리 장치에서 수행하는 3D 캐릭터 움직임 처리 방법으로서,
버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 단계;
시뮬레이터의 배치에 기초하여 시뮬레이터 본을 샘플링하는 단계; 및
상기 버텍스 그룹에 속한 버텍스를 상기 시뮬레이터 본에 리깅하는 단계를 포함하고,
상기 버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 단계는,
상기 버텍스 그룹에 대응되는 3D 캐릭터의 부위에 따라 시뮬레이터 밀도를 사용자로부터 각각 다르게 설정 받는 단계; 및
상기 설정 받은 시뮬레이터 밀도에 기초하여 상기 시뮬레이터를 배치하는 단계;를 포함하는, 3D 캐릭터 움직임 처리 방법.
A 3D character motion processing method performed in a 3D character motion processing apparatus for processing the motion of a 3D character having a surface implemented as vertices,
placing one or more simulators in a vertex group;
sampling simulator bones based on the placement of the simulator; and
Rigging vertices belonging to the vertex group to the simulator bones;
The step of arranging one or more simulators in the vertex group,
receiving different simulator densities from a user according to parts of the 3D character corresponding to the vertex groups; and
Arranging the simulator based on the set simulator density; including, 3D character movement processing method.
제11항에 있어서,
상기 시뮬레이터 본에 대해 애니메이션 설정을 입력 받는 단계; 및
설정 받은 애니메이션에 기초하여 상기 3D 캐릭터의 움직임을 구현하는 단계를 더 포함하는, 3D 캐릭터 움직임 처리 방법.
According to claim 11,
receiving animation settings for the simulator bone; and
Further comprising the step of implementing the movement of the 3D character based on the set animation, 3D character movement processing method.
삭제delete 제11항에 있어서,
버텍스로 구현된 3D 캐릭터 표면에 대해 사용자로부터 지정 영역을 입력 받는 단계; 및
입력 받은 지정 영역에 포함된 버텍스를 버텍스 그룹으로 그룹핑하는 단계를 더 포함하는, 3D 캐릭터 움직임 처리 방법.
According to claim 11,
receiving an input of a designated area from a user for a 3D character surface implemented as vertices; and
A method for processing 3D character movement, further comprising grouping vertices included in the input designated area into vertex groups.
제11항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium on which a program for performing the method according to claim 11 is recorded. 3D 캐릭터 움직임 처리 장치에 의해 수행되며, 제11항에 기재된 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램.A computer program executed by a 3D character motion processing device and stored in a recording medium to perform the method according to claim 11.
KR1020160091675A 2016-07-19 2016-07-19 Apparatus and method for 3d character animation KR102560423B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160091675A KR102560423B1 (en) 2016-07-19 2016-07-19 Apparatus and method for 3d character animation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160091675A KR102560423B1 (en) 2016-07-19 2016-07-19 Apparatus and method for 3d character animation

Publications (2)

Publication Number Publication Date
KR20180009659A KR20180009659A (en) 2018-01-29
KR102560423B1 true KR102560423B1 (en) 2023-07-26

Family

ID=61028352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160091675A KR102560423B1 (en) 2016-07-19 2016-07-19 Apparatus and method for 3d character animation

Country Status (1)

Country Link
KR (1) KR102560423B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101420818B1 (en) * 2013-02-07 2014-07-17 주식회사 로커스 Method of embodying three-dimensional object animation, apparatus performing the same and storage media storing the same
KR101523328B1 (en) * 2013-11-18 2015-05-27 주식회사 로커스 Method of providing pose-library for three-dimensional animation character, apparatus performing the same and storage media storing the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101796190B1 (en) * 2010-12-23 2017-11-13 한국전자통신연구원 Apparatus and method for generating digital clone

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101420818B1 (en) * 2013-02-07 2014-07-17 주식회사 로커스 Method of embodying three-dimensional object animation, apparatus performing the same and storage media storing the same
KR101523328B1 (en) * 2013-11-18 2015-05-27 주식회사 로커스 Method of providing pose-library for three-dimensional animation character, apparatus performing the same and storage media storing the same

Also Published As

Publication number Publication date
KR20180009659A (en) 2018-01-29

Similar Documents

Publication Publication Date Title
KR102658960B1 (en) System and method for face reenactment
US10068364B2 (en) Method and apparatus for making personalized dynamic emoticon
US8610714B2 (en) Systems, methods, and computer-readable media for manipulating graphical objects
US10089715B2 (en) System for parametric generation of custom scalable animated characters on the web
US20160217110A1 (en) Flexible control in resizing of visual displays
JP2020510262A (en) Expression animation generating method and apparatus, storage medium, and electronic device
US20170013246A1 (en) HoloPortal and HoloCloud System and Method of Operation
CN106575158B (en) Environment mapping virtualization mechanism
WO2019114328A1 (en) Augmented reality-based video processing method and device thereof
US20220241689A1 (en) Game Character Rendering Method And Apparatus, Electronic Device, And Computer-Readable Medium
KR20170026274A (en) Apparatus and method for editing contents
US20160196008A1 (en) Implementing desktops on a mobile terminal
US20180276870A1 (en) System and method for mass-animating characters in animated sequences
CN111936966A (en) Design system for creating graphical content
KR20190141542A (en) Apparatus and method for providing game
US20230086807A1 (en) Segmented differentiable optimization with multiple generators
US20150189126A1 (en) Controlling content frame rate based on refresh rate of a display
CN101976195A (en) Method and device for setting user interface
KR102560423B1 (en) Apparatus and method for 3d character animation
KR102593043B1 (en) Augmented reality-based display methods, devices, storage media, and program products
US11095956B2 (en) Method and system for delivering an interactive video
US20140135121A1 (en) Method and apparatus for providing three-dimensional characters with enhanced reality
KR102311957B1 (en) Apparatus for providing game and method thereof
Kim The Current Status and Development Direction of Mixed Reality Content
KR20180023864A (en) Apparatus and method for creating image contents

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant