KR102560423B1 - 3d 캐릭터 움직임 처리 장치 및 3d 캐릭터 움직임 처리 방법 - Google Patents

3d 캐릭터 움직임 처리 장치 및 3d 캐릭터 움직임 처리 방법 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
English (en)
Other versions
KR20180009659A (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 주식회사 넥슨코리아
Priority to KR1020160091675A priority Critical patent/KR102560423B1/ko
Publication of KR20180009659A publication Critical patent/KR20180009659A/ko
Application granted granted Critical
Publication of KR102560423B1 publication Critical patent/KR102560423B1/ko

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 캐릭터의 움직임을 처리하는 장치에 있어서, 하나 이상의 버텍스로 이루어진 버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 시뮬레이터설정부, 시뮬레이터의 배치에 따라 시뮬레이터 본을 샘플링하는 시뮬레이터본설정부 및 버텍스 그룹에 속한 버텍스를 시뮬레이터 본에 리깅하는 버텍스리깅부를 포함할 수 있다.

Description

3D 캐릭터 움직임 처리 장치 및 3D 캐릭터 움직임 처리 방법{APPARATUS AND METHOD FOR 3D CHARACTER ANIMATION}
본 발명은 3D 캐릭터 움직임 처리 장치 및 3D 캐릭터 움직임 처리 방법에 관한 것으로, 보다 상세하게는 3D 캐릭터 버텍스의 그룹에 통일된 설정값을 부여할 수 있는 별도의 구성을 부가하여 워크로드를 절감하는 3D 캐릭터 움직임 처리 장치 및 3D 캐릭터 움직임 처리 방법에 관한 것이다.
스마트 TV, 입체 영화, 스마트폰, HMD(Head-mounted Display) 등 디스플레이 장치 및 정보처리 장치의 성능 향상으로 미디어 콘텐츠 제작의 기술력 또한 크게 향상되었다. 특히 미디어 콘텐츠 분야 중 광고, 영화 등에서 등장하는 컴퓨터 그래픽은 실사에 가까운 수준으로 제작되며, 게임에서는 3D 캐릭터를 포함하는 3D 영상의 구현으로 사용자에게 또다른 즐거움을 제공하고 있다.
관련하여 선행기술 문헌인 한국특허공개번호 10-2015-0128316호 “방송정보 기반 3D 캐릭터 설치 추천 시스템 및 방법”에서는, 방송정보를 기초로 하여 사용자의 선호도를 분석한 후, 사용자가 선호하는 3D 캐릭터의 설치를 추천하는 시스템 및 방법에 대해 개시하고 있다.
상술한 종래 기술은 3D 캐릭터와 관련한 콘텐츠를 사용자에게 제공함에 있어서 새로운 소비 방식을 제시하고 있으나, 3D 캐릭터를 제작하는 분야에 있어서는 진보적인 기술을 제시하지 못하고 있다.
따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일 실시예는, 3D 캐릭터 움직임 처리 장치 및 3D 캐릭터 움직임 처리 방법을 제시하는 데에 목적이 있다.
또한, 본 발명의 일 실시예는, 3D 캐릭터의 움직임을 컴퓨터 그래픽으로 처리함에 있어서, 버텍스에 대한 설정을 버텍스 그룹 단위로 처리할 수 있게 함으로써 사용자 및 3D 캐릭터 움직임 처리 장치의 워크로드를 줄이는 데에 목적이 있다.
또한, 본 발명의 일 실시예는, 3D 캐릭터의 움직임을 컴퓨터 그래픽으로 처리함에 있어서, 버텍스에 대한 설정을 버텍스 그룹 단위로 처리할 수 있게 함으로써 빠른 처리가 가능하게 하는 데에 목적이 있다.
나아가 본 발명의 일 실시예는, 섬세하고 자연스러운 애니메이션을 구현하고, 어색함을 최소화하는 데에 목적이 있다.
또한 본 발명의 일 실시예는, 근접한 버텍스의 일부가 다른 버텍스와 동떨어지게 움직이는 오류를 방지하고, 근접한 버텍스들이 부드럽게 이어지게 하여 일관성이 보장되도록 하는 데에 목적이 있다.
또한 본 발명의 일 실시예는, 게임 제공 장치와 연동하여 게임 상의 3D 캐릭터의 움직임을 처리할 때 게임 사용자의 3D 캐릭터 조작을 실시간으로 처리함에 있어서, 워크로드를 줄여 그래픽 처리의 효율성을 높이는 데에 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면, 버텍스로 구현된 표면을 갖는 3D 캐릭터의 움직임을 처리하는 장치에 있어서, 하나 이상의 버텍스로 이루어진 버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 시뮬레이터설정부, 시뮬레이터의 배치에 따라 시뮬레이터 본을 샘플링하는 시뮬레이터본설정부 및 버텍스 그룹에 속한 버텍스를 시뮬레이터 본에 리깅하는 버텍스리깅부를 포함할 수 있다.
본 발명의 제 2 측면에 따르면, 버텍스로 구현된 표면을 갖는 3D 캐릭터의 움직임을 처리하는 장치에서 수행하는 3D 캐릭터 움직임 처리 방법으로서, 버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 단계, 시뮬레이터의 배치에 따라 시뮬레이터 본을 샘플링하는 단계 및 버텍스 그룹에 속한 버텍스를 시뮬레이터 본에 리깅하는 단계를 포함할 수 있다.
본 발명의 제 3 측면에 따르면, 3D 캐릭터 움직임 처리 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체로서, 3D 캐릭터 움직임 처리 방법은 버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 단계, 시뮬레이터의 배치에 따라 시뮬레이터 본을 샘플링하는 단계 및 버텍스 그룹에 속한 버텍스를 시뮬레이터 본에 리깅하는 단계를 포함할 수 있다.
본 발명의 제 4 측면에 따르면, 3D 캐릭터 움직임 처리 장치에 의해 수행되며, 3D 캐릭터 움직임 처리 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램으로서, 3D 캐릭터 움직임 처리 방법은 버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 단계, 시뮬레이터의 배치에 따라 시뮬레이터 본을 샘플링하는 단계 및 버텍스 그룹에 속한 버텍스를 시뮬레이터 본에 리깅하는 단계를 포함할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일실시예는 게임 제공 장치 및 3D 캐릭터 움직임 처리 방법을 제시할 수 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 3D 캐릭터의 움직임을 컴퓨터 그래픽으로 처리함에 있어서, 버텍스에 대한 설정을 버텍스 그룹 단위로 처리할 수 있게 함으로써 사용자 및 3D 캐릭터 움직임 처리 장치의 워크로드를 줄일 수 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 3D 캐릭터의 움직임을 컴퓨터 그래픽으로 처리함에 있어서, 버텍스에 대한 설정을 버텍스 그룹 단위로 처리할 수 있게 함으로써 빠른 처리가 가능하다.
뿐만 아니라 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 섬세하고 자연스러운 애니메이션을 구현할 수 있으며, 어색함을 최소화할 수 있다.
나아가 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 근접한 버텍스의 일부가 다른 버텍스와 동떨어지게 움직이는 오류를 방지하고, 근접한 버텍스들이 부드럽게 이어지게 하므로 일관성이 보장된다.
또한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 게임 제공 장치와 연동하여 게임 상의 3D 캐릭터의 움직임을 처리할 때 게임 사용자의 3D 캐릭터 조작을 실시간으로 처리함에 있어서, 워크로드를 줄여 그래픽 처리의 효율성을 높일 수 있다.
특히 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 3D 캐릭터의 짧은 머리카락의 움직임 및 신체나 옷의 미세한 떨림을 구현함에 있어서 그래픽 처리의 효율성이 향상된다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일실시예에 따른 3D 캐릭터 움직임 처리 장치를 도시한 블록도이다.
도 2 내지 도 5는 본 발명의 일실시예에 따른 3D 캐릭터 움직임 처리 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
다만 이를 설명하기에 앞서, 아래에서 사용되는 용어의 의미를 먼저 정의한다.
이하에서 캐릭터는, 가상의 객체를 컴퓨터 그래픽으로 시각화한 것을 말한다. 본 발명에서 캐릭터는 사용자의 설정에 따라 동작할 수 있다. 이때 캐릭터는 반드시 사람의 형태일 필요 없고, 동물, 사물, 기타 사용자의 설정에 따라 동작하는 모든 가상의 객체를 포함할 수 있다. 나아가 캐릭터는 실시예에 따라 게임 상에서 게임을 플레이하는 사용자의 제어에 따라 동작하는 그래픽 객체일 수 있다. 이때 3D 캐릭터는, 상술한 캐릭터를 3차원으로 표현한 것을 말하며, 그래픽 상에서 3D 캐릭터는 버텍스로 구현된 표면을 가질 수 있다. 즉, 본 발명의 일 실시예는 3D 캐릭터의 형태를 정의하기 위하여 버텍스를 사용할 수 있다.
위에 정의한 용어 이외에 설명이 필요한 용어는 아래에서 각각 따로 설명한다.
도 1은 본 발명의 일실시예에 따른 3D 캐릭터 움직임 처리 장치(100)를 설명하기 위한 블록도이다.
3D 캐릭터 움직임 처리 장치(100)는 3D 캐릭터의 움직임을 컴퓨터 그래픽으로 처리함에 있어서, 3D 캐릭터의 형태를 정의하는 도구인 버텍스에 대한 설정을 버텍스 그룹 단위로 처리할 수 있게 함으로써 워크로드를 줄이고자 한다. 이를 위해 3D 캐릭터 움직임 처리 장치(100)는, 버텍스 그룹 단위의 설정을 처리하기 위한 별도의 객체를 설정할 수 있다. 예를 들어, 3D 캐릭터 움직임 처리 장치(100)는, 상술한 별도의 객체를 이용하여 버텍스의 특성값을 그룹 단위로 처리할 수 있으며, 별도의 객체를 기준으로 하여 버텍스와 리깅될 본을 샘플링함으로써 3D 캐릭터의 움직임의 처리를 단순화하고, 워크로드를 줄일 수 있다. 이때 별도의 객체를 시뮬레이터라 한다.
본 발명의 일 실시예로서 3D 캐릭터 움직임 처리 장치(100)는, 게임 제공 장치가 제공하는 게임 상의 3D 캐릭터의 움직임을 처리할 수 있다. 이를 위해 3D 캐릭터 움직임 처리 장치(100)는 게임 제공 장치를 포함하거나 또는 게임 제공 장치에 포함될 수 있다. 이를 통해 3D 캐릭터 움직임 처리 장치(100)는 게임 사용자의 3D 캐릭터 조작을 실시간으로 처리함에 있어서 워크로드를 줄여 그래픽 처리의 효율성을 높일 수 있다.
이때 게임 제공 장치는 게임을 제공하는데 필요한 각종 정보를 저장하며, 게임 내에서 발생되는 다양한 이벤트를 감지하고 기록하여 게임의 시계열적 진행을 가능하게 하는 장치이다.
한편 3D 캐릭터 움직임 처리 장치(100)는 3D 캐릭터 움직임 처리를 위한 프로그램이 설치된 전자단말기로 구현되거나, 서버-클라이언트 시스템으로 구현될 수 있다. 3D 캐릭터 움직임 처리 장치(100)가 서버-클라이언트 시스템으로 구현된다면 3D 캐릭터 움직임 처리 장치(100)는 사용자와의 인터랙션을 위한 클라이언트가 설치된 전자단말기를 포함할 수 있다.
이때 전자단말기는, 사용자와의 인터랙션이 가능한 인터페이스를 포함할 수 있는 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(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 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다.
그리고 서버-클라이언트 시스템의 서버는, 클라이언트가 설치된 전자단말기와 네트워크를 통해 통신이 가능한 컴퓨팅장치로 구현될 수 있으며, 데이터를 저장할 수 있는 저장장치가 포함될 수 있거나 또는 제 3 의 서버(미도시)를 통해 데이터를 저장할 수도 있다.
상술된 바와 같은 3D 캐릭터 움직임 처리 장치(100)는 도 1에 도시된 바와 같이 시뮬레이터설정부(101)를 포함할 수 있다.
시뮬레이터설정부(101)는 하나 이상의 버텍스로 이루어진 버텍스 그룹에 하나 이상의 시뮬레이터를 배치할 수 있다.
이때 버텍스 그룹을 지정하기 위한 일 실시예로서 3D 캐릭터 움직임 처리 장치(100)는, 버텍스그룹핑부(102)를 더 포함할 수 있고, 버텍스그룹핑부(102)는 3D 캐릭터 표면에 대해 사용자로부터 지정 영역을 입력 받고, 입력 받은 지정 영역에 포함된 버텍스를 버텍스 그룹으로 그룹핑할 수 있다. 또는 버텍스그룹핑부(102)는 하나 이상의 버텍스를 각각 지정하는 사용자 입력을 수신하고, 지정된 하나 이상의 버텍스에 대해 버텍스 그룹을 생성할 수 있다.
버텍스그룹핑부(102)는 입력 받은 지정 영역에 대해 색상 정보를 부가할 수 있다. 또한 이를 위해 버텍스 그룹 각각에 대해 색상을 지정하는 사용자 입력을 수신할 수 있다. 이는 사용자의 지정 영역 입력에 대응하여 색상을 표시함으로써 시각적으로 명확한 인터페이스를 제공하기 위함이다. 즉, 사용자가 3D 캐릭터의 표면에 일정 영역을 선택하면, 선택에 따라 색상을 표시하는 인터페이스를 제공할 수 있으며, 더욱 구체적으로는, 상술한 인터페이스에 따라 사용자는 3D 캐릭터의 표면에 색칠을 하여 지정 영역을 입력함으로써 색칠된 지정 영역에 속한 버텍스를 버텍스 그룹으로 그룹핑할 수 있다.
한편 시뮬레이터설정부(101)는 지정 영역에 시뮬레이터를 배치함에 있어서, 설정된 시뮬레이터 밀도에 기초할 수 있다. 이때 시뮬레이터 밀도란 지정 영역의 넓이와 지정 영역에 배치된 시뮬레이터의 개수의 비율로 정의될 수 있다. 시뮬레이터 밀도의 설정은 시뮬레이터설정부(101) 자체의 초기 설정에 따라 이루어지거나 시뮬레이터설정부(101)가 사용자로부터 입력 받은 설정에 따라 이루어질 수 있다.
본 발명의 일 실시예에 의하면 시뮬레이터 밀도에 따라 표현하고자 하는 3D 캐릭터의 표면의 특성이 표현될 수 있다. 시뮬레이터 밀도가 높을수록 3D 캐릭터의 표면의 움직임이 세밀하게 분화될 수 있다. 따라서 사용자는 버텍스 그룹에 대응되는 3D 캐릭터의 부위에 따라 시뮬레이터 밀도를 다르게 설정함으로써 3D 캐릭터의 표면의 특성을 표현할 수 있다.
또한 시뮬레이터설정부(101)는 시뮬레이터의 특성값인 시뮬레이터 값을 설정할 수 있다. 시뮬레이터 값에 대해서는 관련 부분에서 후술한다.
한편 3D 캐릭터 움직임 처리 장치(100)는 상술한 시뮬레이터의 배치에 따른 본을 샘플링할 수 있으며, 이를 3D 캐릭터를 구성하는 기본적인 본(Bone)과 구분하기 위하여 3D 캐릭터의 기본적인 본은 캐릭터 본, 시뮬레이터의 배치에 따라 샘플링한 본은 시뮬레이터 본으로 부른다. 이때 3D 캐릭터 움직임 처리 장치(100)는 시뮬레이터 본을 샘플링하는 시뮬레이터본설정부(103)를 포함할 수 있다. 또한 시뮬레이터본설정부(103)는 시뮬레이터 본을 가까운 캐릭터 본의 차일드로 설정할 수 있다. 즉, 시뮬레이터 본을 캐릭터 본의 하나의 가지로 설정할 수 있다.
또한 3D캐릭터 움직임 처리 장치는 버텍스를 시뮬레이터 본에 리깅하는 버텍스리깅부(104)를 포함할 수 있다. 버텍스리깅부(104)는 예를 들어, 버텍스 그룹에 속한 버텍스를 상기 버텍스 그룹에 대응되는 시뮬레이터에 대해 샘플링된 시뮬레이터 본에 리깅할 수 있다. 또는 버텍스를 버텍스에 가까운 시뮬레이터 본에 리깅할 수 있다.
이때 버텍스리깅부(104)는 버텍스를 시뮬레이터 본에 리깅함에 있어서 버텍스에 가중치를 설정할 수 있다. 가중치란 시뮬레이터 본이 버텍스에 대해 미치는 영향력의 정도를 말한다. 예를 들어 버텍스리깅부(104)는 버텍스를 시뮬레이터 본에 리깅함에 있어서, 하나의 버텍스와 리깅된 시뮬레이터 본이 하나 이상일 때, 상기 버텍스와 시뮬레이터 본 각각의 거리에 기초하여 가중치를 부여할 수 있고, 이때 거리에 반비례하여 가까운 순서대로 가중치를 높게 부여할 수 있다. 또한 예를 들어, 버텍스에 매핑된 모든 본의 영향력의 합이 1이 되도록 정규화를 할 수 있다. 이때 푸아송 분포(Poisson Distribution)를 이용할 수 있고, 실시예에 따라 결정적 샘플링(Deterministic Sampling)을 이용할 수 있다.
나아가 3D 캐릭터 움직임 처리 장치(100)는 시뮬레이터 본에 대해 애니메이션 설정을 입력 받는 애니메이션설정부(105) 및 애니메이션설정부(105)가 설정 받은 애니메이션에 기초하여 3D 캐릭터의 움직임을 구현하는 애니메이션구현부(106)를 더 포함할 수 있다. 본 발명의 일 실시예에 따라 애니메이션구현부(106)는 애니메이션설정부(105)에서 기설정된 애니메이션을 구현하거나 애니메이션설정부(105)에서 설정 받은 애니메이션을 실시간으로 구현할 수 있다.
예를 들어, 3D 캐릭터 움직임 처리 장치(100)가 게임 제공 장치와 연동하여 3D 캐릭터 움직임을 처리할 때, 사용자의 캐릭터의 조작에 대해 실시간으로 애니메이션을 구현하여 출력할 수 있다.
또한 애니메이션구현부(106)는 애니메이션을 구현함에 있어서 시뮬레이터에 대해 기설정된 시뮬레이터 값을 시뮬레이터가 배치된 버텍스 그룹에 속한 버텍스에 적용할 수 있다.
이를 통해 버텍스의 설정값을 하나하나 지정할 필요없이 버텍스 그룹에 대응되는 시뮬레이터에 대해 지정하면 되므로, 애니메이션 설정을 수신하고 애니메이션을 구현하는 장치의 워크로드 및 애니메이션을 설정하는 아티스트의 워크로드가 줄어든다. 즉, 빠른 처리가 가능하다.
뿐만 아니라 버텍스의 설정은 버텍스 그룹의 단위로 이루어지나 애니메이션의 구현은 버텍스 단위로 이루어지므로, 처리 과정은 단순화 되는 반면 애니메이션의 구현은 섬세하고 자연스럽게 이루어지고, 어색함을 최소화할 수 있다. 특히 근접한 버텍스의 일부가 다른 버텍스와 동떨어지게 움직이는 등의 오류를 방지하고, 근접한 버텍스들이 부드럽게 이어지게 하므로 일관성이 보장된다.
또한 시뮬레이터 값은 구체적으로, 시뮬레이터설정부(101)가 사용자로부터 수신하여 설정되거나 시뮬레이터설정부(101) 자체의 초기 설정에 의해 설정될 수 있다. 이때 애니메이션구현부(106)는 설정된 시뮬레이터 값을 버텍스 그룹에 속한 버텍스에 적용할 수 있다. 시뮬레이터 값은 스프링 시뮬레이션 등 물리 시뮬레이션을 위한 설정값을 포함할 수 있다. 여기서 스프링 시뮬레이션이란 버텍스와 버텍스에 리깅된 본이 고무 또는 스프링과 같은 탄성체로 연결되어 있다고 가정할 경우 버텍스의 움직임을 시뮬레이션하는 것을 말한다. 이때 시뮬레이터 값은 스프링 시뮬레이션의 탄성값을 포함할 수 있다.
이하에서는 상술한 바와 같은 3D 캐릭터 움직임 처리 장치(100)를 이용한 3D 캐릭터 움직임 처리 방법을 설명한다. 도 2 내지 도 5는 본 발명의 일실시예에 따른 3D 캐릭터 움직임 처리 방법을 도시한 순서도다.
도 2 내지 도 5에 도시된 실시예에 따른 3D 캐릭터 움직임 처리 방법은 도 1에 도시된 3D 캐릭터 움직임 처리 장치(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1에 도시된 3D 캐릭터 움직임 처리 장치(100)에 관하여 이상에서 기술한 내용은 도 2 내지 도 5에 도시된 실시예에 따른 3D 캐릭터 움직임 처리 방법에도 적용될 수 있다.
본 발명의 일 실시예에 따른 3D 캐릭터 움직임 처리 방법에 따르면, 도 2에 도시된 바와 같이, 3D 캐릭터 움직임 처리 장치(100)는 버텍스 그룹에 하나 이상의 시뮬레이터를 배치한다(S201).
이때 S201을 위한 전처리 단계로서 3D 캐릭터 움직임 처리 장치(100)는, 도 3에 도시된 바와 같이 버텍스로 구현된 3D 캐릭터 표면에 대해 사용자로부터 지정 영역을 입력 받고(S301), 입력 받은 지정 영역에 포함된 버텍스를 버텍스 그룹으로 그룹핑할 수 있다(S302). 상술한 바와 같이 3D 캐릭터 움지임 처리 장치는 그룹핑된 버텍스 그룹에 하나 이상의 시뮬레이터를 배치한다.
또한 S201단계는, 도 4에서 도시된 바와 같이, 본 발명의 실시예에 따라 시뮬레이터 밀도를 사용자로부터 설정 받을 수 있고(S401), 설정 받은 시뮬레이터 밀도에 기초하여 버텍스 그룹에 시뮬레이터를 배치할 수 있다(S402). 이와 같은 시뮬레이터 밀도의 설정 단계를 통해 3D 캐릭터 표면의 움직임을 세분화할 수 있다. 이를 이용하여 3D 캐릭터 표면의 특성을 표현할 수 있다.
다음으로 3D 캐릭터 움직임 처리 장치(100)는 시뮬레이터의 배치에 따라 시뮬레이터 본을 샘플링할 수 있다(S202). 또한 3D 캐릭터 움직임 처리 장치(100)는 버텍스 그룹에 속한 버텍스를 상술한 시뮬레이터 본에 리깅할 수 있다(S203).
이후 도 5를 참조하면, 3D 캐릭터 움직임 처리 장치(100)는 시뮬레이터 본에 대해 애니메이션 설정을 입력 받을 수 있고(S504), 설정 받은 애니메이션에 기초하여 3D 캐릭터의 움직임을 구현할 수 있다(S505).
S505 단계에서 3D 캐릭터의 움직임을 구현함에 있어서, 버텍스의 움직임은 시뮬레이터에 대해 설정된 시뮬레이터 설정값에 기초하여 이루어질 수 있다.
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다
도 2 내지 도 5를 통해 설명된 실시예에 따른 3D 캐릭터 움직임 처리 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한 본 발명의 일실시예에 따르는 3D 캐릭터 움직임 처리 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 본 발명의 일실시예에 따르는 3D 캐릭터 움직임 처리 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 3D 캐릭터 움직임 처리 장치
102: 버텍스그룹핑부 101: 시뮬레이터설정부
103: 시뮬레이터본설정부 104: 버텍스리깅부
105: 애니메이션설정부 106: 애니메이션구현부

Claims (16)

  1. 버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 시뮬레이터설정부;
    시뮬레이터의 배치에 기초하여 시뮬레이터 본을 샘플링하는 시뮬레이터본설정부; 및
    상기 버텍스 그룹에 속한 버텍스를 상기 시뮬레이터 본에 리깅하는 버텍스리깅부를 포함하고,
    상기 시뮬레이터설정부는,
    상기 버텍스 그룹에 대응되는 3D 캐릭터의 부위에 따라 시뮬레이터 밀도를 사용자로부터 각각 다르게 설정 받고, 설정 받은 시뮬레이터 밀도에 기초하여 상기 시뮬레이터를 배치하는, 3D 캐릭터 움직임 처리 장치.
  2. 제1항에 있어서,
    상기 시뮬레이터 본에 대해 애니메이션 설정을 입력 받는 애니메이션설정부; 및
    상기 애니메이션설정부가 설정 받은 애니메이션에 기초하여 상기 3D 캐릭터의 움직임을 구현하는 애니메이션구현부를 더 포함하는, 3D 캐릭터 움직임 처리 장치.
  3. 제2항에 있어서,
    상기 애니메이션구현부는 추가적으로,
    상기 시뮬레이터에 대해 기설정된 시뮬레이터 값을 상기 시뮬레이터가 배치된 버텍스 그룹에 속한 버텍스에 적용하는, 3D 캐릭터 움직임 처리 장치.
  4. 제3항에 있어서,
    상기 시뮬레이터설정부는 추가적으로,
    상기 시뮬레이터 값을 사용자로부터 설정 받는, 3D 캐릭터 움직임 처리 장치.
  5. 제3항에 있어서,
    상기 시뮬레이터 값은 스프링 시뮬레이션의 탄성값을 포함하는, 3D 캐릭터 움직임 처리 장치.
  6. 삭제
  7. 제1항에 있어서,
    상기 시뮬레이터본설정부는 추가적으로,
    상기 시뮬레이터 본을 가까운 캐릭터 본의 차일드로 설정하는, 3D 캐릭터 움직임 처리 장치.
  8. 제1항에 있어서,
    상기 버텍스리깅부는 추가적으로,
    상기 버텍스와 리깅된 시뮬레이터 본이 하나 이상일 때, 상기 버텍스와의 거리에 기초하여 리깅된 시뮬레이터 본에 가중치를 부여하는, 3D 캐릭터 움직임 처리 장치.
  9. 제1항에 있어서,
    버텍스로 구현된 3D 캐릭터 표면에 대해 사용자로부터 지정 영역을 입력 받고, 입력 받은 지정 영역에 포함된 버텍스를 버텍스 그룹으로 그룹핑하는 버텍스그룹핑부를 더 포함하는, 3D 캐릭터 움직임 처리 장치.
  10. 제9항에 있어서,
    상기 버텍스그룹핑부는 추가적으로,
    상기 입력 받은 지정 영역에 대해 색상 정보를 부가하여 시각화하는, 3D 캐릭터 움직임 처리 장치.
  11. 버텍스로 구현된 표면을 갖는 3D 캐릭터의 움직임을 처리하는 3D 캐릭터 움직임 처리 장치에서 수행하는 3D 캐릭터 움직임 처리 방법으로서,
    버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 단계;
    시뮬레이터의 배치에 기초하여 시뮬레이터 본을 샘플링하는 단계; 및
    상기 버텍스 그룹에 속한 버텍스를 상기 시뮬레이터 본에 리깅하는 단계를 포함하고,
    상기 버텍스 그룹에 하나 이상의 시뮬레이터를 배치하는 단계는,
    상기 버텍스 그룹에 대응되는 3D 캐릭터의 부위에 따라 시뮬레이터 밀도를 사용자로부터 각각 다르게 설정 받는 단계; 및
    상기 설정 받은 시뮬레이터 밀도에 기초하여 상기 시뮬레이터를 배치하는 단계;를 포함하는, 3D 캐릭터 움직임 처리 방법.
  12. 제11항에 있어서,
    상기 시뮬레이터 본에 대해 애니메이션 설정을 입력 받는 단계; 및
    설정 받은 애니메이션에 기초하여 상기 3D 캐릭터의 움직임을 구현하는 단계를 더 포함하는, 3D 캐릭터 움직임 처리 방법.
  13. 삭제
  14. 제11항에 있어서,
    버텍스로 구현된 3D 캐릭터 표면에 대해 사용자로부터 지정 영역을 입력 받는 단계; 및
    입력 받은 지정 영역에 포함된 버텍스를 버텍스 그룹으로 그룹핑하는 단계를 더 포함하는, 3D 캐릭터 움직임 처리 방법.
  15. 제11항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
  16. 3D 캐릭터 움직임 처리 장치에 의해 수행되며, 제11항에 기재된 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램.
KR1020160091675A 2016-07-19 2016-07-19 3d 캐릭터 움직임 처리 장치 및 3d 캐릭터 움직임 처리 방법 KR102560423B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160091675A KR102560423B1 (ko) 2016-07-19 2016-07-19 3d 캐릭터 움직임 처리 장치 및 3d 캐릭터 움직임 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160091675A KR102560423B1 (ko) 2016-07-19 2016-07-19 3d 캐릭터 움직임 처리 장치 및 3d 캐릭터 움직임 처리 방법

Publications (2)

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

Family

ID=61028352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160091675A KR102560423B1 (ko) 2016-07-19 2016-07-19 3d 캐릭터 움직임 처리 장치 및 3d 캐릭터 움직임 처리 방법

Country Status (1)

Country Link
KR (1) KR102560423B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101420818B1 (ko) * 2013-02-07 2014-07-17 주식회사 로커스 애니메이션 오브젝트의 관절 제어를 통한 3차원 애니메이션 구현 방법, 이를 수행하는 3차원 애니메이션 구현 장치 및 이를 저장한 기록매체
KR101523328B1 (ko) * 2013-11-18 2015-05-27 주식회사 로커스 3차원 애니메이션 캐릭터에 대한 포즈 라이브러리 제공 방법, 이를 수행하는 포즈 라이브러리 제공 장치 및 이를 저장한 기록매체

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101796190B1 (ko) * 2010-12-23 2017-11-13 한국전자통신연구원 디지털 클론 생성 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101420818B1 (ko) * 2013-02-07 2014-07-17 주식회사 로커스 애니메이션 오브젝트의 관절 제어를 통한 3차원 애니메이션 구현 방법, 이를 수행하는 3차원 애니메이션 구현 장치 및 이를 저장한 기록매체
KR101523328B1 (ko) * 2013-11-18 2015-05-27 주식회사 로커스 3차원 애니메이션 캐릭터에 대한 포즈 라이브러리 제공 방법, 이를 수행하는 포즈 라이브러리 제공 장치 및 이를 저장한 기록매체

Also Published As

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

Similar Documents

Publication Publication Date Title
US10068364B2 (en) Method and apparatus for making personalized dynamic emoticon
US8610714B2 (en) Systems, methods, and computer-readable media for manipulating graphical objects
KR20210119438A (ko) 얼굴 재연을 위한 시스템 및 방법
US10089715B2 (en) System for parametric generation of custom scalable animated characters on the web
US20160217110A1 (en) Flexible control in resizing of visual displays
CN106575158B (zh) 环境映射虚拟化机构
US20220241689A1 (en) Game Character Rendering Method And Apparatus, Electronic Device, And Computer-Readable Medium
WO2019114328A1 (zh) 一种基于增强现实的视频处理方法及其装置
KR20170026274A (ko) 콘텐츠 편집 장치 및 편집 방법
KR20140014707A (ko) 전자문서 제작 시스템과 그 제어 방법
US20160196008A1 (en) Implementing desktops on a mobile terminal
US20180276870A1 (en) System and method for mass-animating characters in animated sequences
CN111936966A (zh) 用于创建图形内容的设计***
US20230086807A1 (en) Segmented differentiable optimization with multiple generators
Driscoll et al. Enabling mobile augmented and virtual reality with 5G networks
US20150189126A1 (en) Controlling content frame rate based on refresh rate of a display
KR102560423B1 (ko) 3d 캐릭터 움직임 처리 장치 및 3d 캐릭터 움직임 처리 방법
KR102593043B1 (ko) 증강 현실 기반 디스플레이 방법, 기기, 저장매체 및 프로그램 제품
KR102037179B1 (ko) 이미지 콘텐츠 생성 방법 및 장치
US11095956B2 (en) Method and system for delivering an interactive video
US20140135121A1 (en) Method and apparatus for providing three-dimensional characters with enhanced reality
KR102311957B1 (ko) 게임 제공 장치 및 방법
Kim The Current Status and Development Direction of Mixed Reality Content
KR101630257B1 (ko) 3d 이미지 제공 시스템 및 그 제공방법
KR20170026673A (ko) 게임 제공 장치 및 방법

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