KR101597940B1 - 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스 - Google Patents

아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스 Download PDF

Info

Publication number
KR101597940B1
KR101597940B1 KR1020150097696A KR20150097696A KR101597940B1 KR 101597940 B1 KR101597940 B1 KR 101597940B1 KR 1020150097696 A KR1020150097696 A KR 1020150097696A KR 20150097696 A KR20150097696 A KR 20150097696A KR 101597940 B1 KR101597940 B1 KR 101597940B1
Authority
KR
South Korea
Prior art keywords
avatar
joint
force
particles
generating
Prior art date
Application number
KR1020150097696A
Other languages
English (en)
Other versions
KR20150089980A (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 KR1020150097696A priority Critical patent/KR101597940B1/ko
Publication of KR20150089980A publication Critical patent/KR20150089980A/ko
Application granted granted Critical
Publication of KR101597940B1 publication Critical patent/KR101597940B1/ko

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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

관절 입자를 이용한 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스가 개시된다. 상기 아바타 동작 생성 방법은 기본 아바타의 관절에 해당하는 적어도 하나의 관절 입자를 설정하는 단계, 사용자의 입력에 따라 상기 설정된 관절 입자의 움직임을 생성하는 단계 및 상기 생성된 관절 입자의 움직임을 상기 기본 아바타에 반영하여 아바타의 동작을 생성하는 단계를 포함한다.

Description

아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스{METHOD OF GENERATING GESTURE OF AN AVATAR AND COMPUTING DEVICE FOR PERFORMING THE SAME}
본 발명은 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스에 관한 것이다.
현재 모바일 장치는 2D 기반의 아바타를 사용한다. 신체 부위에 이미지와 색상을 조합하거나 액세사리들을 활용하여 아바타의 다양성을 시도하고 있으며, 다양한 동작을 표현하기 위하여 다양한 이미지들을 이용하고 있다. 따라서, 아바타의 다양한 동작을 표현하기 위해서는 많은 이미지들을 저장하고 있어야 하나, 저장된 이미지들의 개수는 제한적일 수밖에 없어서 다양한 아바타의 동작을 표현하기가 용이하지 않다. 특히, 3D 아바타의 동작을 생성하기에 적합한 기술이 존재하지 않는다.
한국공개특허공보 제2005-0082860호(공개일 : 2005년 8월 24일)
본 발명은 관절 입자를 이용한 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스를 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 아바타 동작 생성 방법은 기본 아바타의 관절에 해당하는 적어도 하나의 관절 입자를 설정하는 단계; 사용자의 입력에 따라 상기 설정된 관절 입자의 움직임을 생성하는 단계; 및 상기 생성된 관절 입자의 움직임을 상기 기본 아바타에 반영하여 아바타의 동작을 생성하는 단계를 포함한다. 상기 아바타의 동작을 생성하는 단계는 상기 관절 입자에 힘을 가함에 따라 상기 관절 입자가 힘을 받는 방향으로 움직일 때 상기 기본 아바타의 현재 관절의 방향 벡터와 상기 힘이 가해진 관절 입자의 방향 벡터의 내적과 외적을 통하여 상기 두 벡터들이 이루는 사이각과 법선 벡터를 구하는 단계; 상기 구해진 사이각과 법선 벡터를 이용하여 사원수를 생성하는 단계; 및 상기 생성된 사원수를 이용하여 상기 기본 아바타의 관절을 움직여서 상기 아바타의 동작을 생성하는 단계를 포함한다. 여기서, 상기 관절 입자들 사이에는 구속 관계가 설정되며, 특정 관절 입자에 힘이 가해지면 상기 특정 관절 입자뿐만 아니라 구속 관계에 있는 다른 관절 입자도 움직이고, 상기 관절 입자의 움직임은 상기 관절 입자에 가해지는 힘의 크기 및 방향, 지속 시간 및 상기 힘이 가해지기까지 소요된 지연 시간을 고려하여 생성된다.
본 발명의 다른 실시예에 따른 아바타 동작 생성 방법은 기본 아바타의 관절에 해당하는 적어도 하나의 관절 입자를 설정하는 단계; 사용자의 입력에 따라 상기 설정된 관절 입자의 움직임을 생성하는 단계; 상기 생성된 관절 입자의 움직임을 상기 기본 아바타에 반영하여 아바타의 동작을 생성하는 단계, 상기 생성된 아바타의 동작을 수행하는 관절 입자들의 움직임을 동작큐로서 정의함; 상기 아바타의 다양한 동작들에 해당하는 복수의 동작큐들을 조합하여 새로운 동작큐를 생성하는 단계; 및 상기 생성된 동작큐에 해당하는 아바타의 동작을 생성하는 단계를 포함한다. 여기서, 상기 관절 입자들 사이에는 구속 관계가 설정되며, 특정 관절 입자에 힘이 가해지면 상기 특정 관절 입자뿐만 아니라 구속 관계에 있는 다른 관절 입자도 움직이고, 상기 관절 입자의 움직임은 상기 관절 입자에 가해지는 힘의 크기 및 방향, 지속 시간 및 상기 힘이 가해지기까지 소요된 지연 시간을 고려하여 생성된다.
본 발명의 또 다른 실시예에 따른 아바타 동작 생성 방법은 UI들을 제공하는 단계; 사용자가 상기 UI들 중 일부를 선택함에 따라 상기 선택된 UI에 해당하는 관절 입자 및 상기 관절 입자와 구속 관계에 있는 다른 관절 입자의 움직임을 생성하는 단계; 및 상기 생성된 관절 입자들의 움직임을 기본 아바타에 반영하여 아바타의 동작을 생성하는 단계를 포함한다. 여기서, 상기 사용자의 UI 선택시 상기 관절 입자들 사이의 구속 관계로 인하여 상기 사용자가 상기 UI를 통하여 선택한 관절 입자의 수보다 더 많은 수의 관절 입자들의 움직임이 생성되고, 상기 관절 입자의 움직임은 상기 관절 입자에 가해지는 힘의 크기 및 방향을 고려하여 생성된다.
본 발명의 또 다른 실시예에 따른 아바타 동작 생성 방법은 기본 아바타의 관절에 해당하는 적어도 하나의 관절 입자를 설정하는 단계; 사용자의 입력에 따라 상기 설정된 관절 입자의 움직임을 생성하는 단계; 및 상기 생성된 관절 입자의 움직임을 상기 기본 아바타에 반영하여 아바타의 동작을 생성하는 단계를 포함한다. 상기 아바타의 동작을 생성하는 단계는 상기 관절 입자에 힘을 가함에 따라 상기 관절 입자가 힘을 받는 방향으로 움직일 때 상기 기본 아바타의 현재 관절의 방향 벡터와 상기 힘이 가해진 관절 입자의 방향 벡터의 내적과 외적을 통하여 상기 두 벡터들이 이루는 사이각과 법선 벡터를 구하는 단계; 상기 구해진 사이각과 법선 벡터를 이용하여 사원수를 생성하는 단계; 및 상기 생성된 사원수를 이용하여 상기 기본 아바타의 관절을 움직여서 상기 아바타의 동작을 생성하는 단계를 포함한다. 여기서, 상기 관절 입자의 움직임은 상기 관절 입자에 가해지는 힘의 크기 및 방향을 고려하여 생성되고, 상기 힘의 크기 및 방향은 해당 센서에 의해 감지되며, 상기 감지된 힘의 크기 또는 방향에 가중치가 부여된 힘의 크기 또는 방향이 상기 관절 입자의 움직임에 반영된다.
본 발명의 또 다른 실시예에 따른 아바타 동작 생성 방법은 UI들을 제공하는 단계; 사용자가 상기 UI들 중 일부를 선택함에 따라 상기 선택된 UI에 해당하는 관절 입자 및 상기 관절 입자와 구속 관계에 있는 다른 관절 입자의 움직임을 생성하는 단계; 상기 생성된 관절 입자들의 움직임을 기본 아바타에 반영하여 아바타의 동작을 생성하는 단계; 및 상기 생성된 아바타의 동작을 편집하는 단계를 포함한다. 상기 아바타의 동작을 생성하는 단계는 상기 관절 입자에 힘을 가함에 따라 상기 관절 입자가 힘을 받는 방향으로 움직일 때 상기 기본 아바타의 현재 관절의 방향 벡터와 상기 힘이 가해진 관절 입자의 방향 벡터의 내적과 외적을 통하여 상기 두 벡터들이 이루는 사이각과 법선 벡터를 구하는 단계; 상기 구해진 사이각과 법선 벡터를 이용하여 사원수를 생성하는 단계; 및 상기 생성된 사원수를 이용하여 상기 기본 아바타의 관절을 움직여서 상기 아바타의 동작을 생성하는 단계를 포함한다. 여기서, 상기 사용자의 UI 선택시 상기 관절 입자들 사이의 구속 관계로 인하여 상기 사용자가 상기 UI를 통하여 선택한 관절 입자의 수보다 더 많은 수의 관절 입자들의 움직임이 생성되고, 상기 관절 입자의 움직임은 상기 관절 입자에 가해지는 힘의 크기 및 방향, 지속 시간 및 상기 힘이 가해지기까지 소요된 지연 시간을 고려하여 생성되며, 상기 힘의 크기 및 방향은 해당 센서에 의해 감지되고, 상기 감지된 힘의 크기 또는 방향에 가중치가 부여된 힘의 크기 또는 방향이 상기 관절 입자의 움직임에 반영된다.
본 발명의 일 실시예에 따른 컴퓨팅 디바이스는 기본 아바타의 관절에 해당하는 관절 입자들을 정의하고, 힘의 크기 및 방향, 지속 시간 및 상기 힘이 가해지기까지 소요된 지연 시간을 특정 관절 입자에 적용하여 상기 특정 관절 입자의 움직임을 생성하는 입자 관리부; 상기 생성된 특정 관절 입자의 움직임을 상기 기본 아바타에 반영하여 새로운 아바타의 동작을 생성하고, 상기 관절 입자들이 동작을 포함하는 복수의 동작큐들을 조합하여 새로운 동작큐를 생성하는 아바타 관리부; 및 사용자 선택을 위한 UI들을 제공하는 인터페이스부를 포함한다. 여기서, 특정 관절 입자에 힘이 가해지면 상기 특정 관절 입자뿐만 아니라 구속 관계에 있는 다른 관절 입자도 움직이고, 상기 사용자의 UI 선택시 상기 관절 입자들 사이의 구속 관계로 인하여 상기 사용자가 상기 UI를 통하여 선택한 관절 입자의 수보다 더 많은 수의 관절 입자들의 움직임이 생성되며, 상기 힘의 크기 및 방향은 해당 센서에 의해 감지되고, 상기 감지된 힘의 크기 또는 방향에 가중치가 부여된 힘의 크기 또는 방향이 상기 관절 입자의 움직임에 반영된다.
본 발명의 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스는 기본 아바타의 관절에 해당하는 관절 입자의 움직임을 이용하여 아바타의 동작을 생성하므로, 다양하면서 자연스러운 아바타의 동작을 생성할 수 있다.
또한, 상기 아바타 동작 생성 방법은 적어도 하나의 센서를 이용하여 힘의 크기 및 방향을 감지하고 감지된 힘의 크기 및 방향을 해당 관절 입자에 적용하여 관절 입자의 움직임을 생성하므로, 상기 관절 입자의 움직임을 생성하는 과정이 간단할 수 있다.
게다가, 상기 관절 입자들 사이에 구속 관계가 설정되고 구속 관계에 있는 관절 입자들이 함께 움직이므로, 상기 관절 입자들의 움직임이 유기적일 수 있으며, 따라서 자연스러운 아바타의 동작이 생성될 수 있다.
이렇게 생성된 아바타는 SNS 서비스, 온라인 게임 서비스 등의 다양한 서비스에 활용될 수 있다.
도 1은 아바타의 다양한 동작을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 관절 입자 모델을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 관절 입자에 가해지는 힘 및 구속 관계를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 아바타 동작 생성 과정을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 아바타의 동작을 생성하기 위한 계층 구조를 도시한 블록도이다.
도 6은 본 발명의 제 1 실시예에 따른 아바타 동작 생성 과정을 도시한 순서도이다.
도 7은 힘의 크기 및 방향을 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 사용자 입력을 위한 인터페이스를 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 관절 입자에 가해지는 힘을 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 아바타의 동작을 도시한 도면이다.
도 11은 본 발명의 제 2 실시예에 따른 아바타 동작 생성 방법을 도시한 순서도이다.
도 12는 본 발명의 일 실시예에 따른 동작큐들을 조합하는 과정을 도시한 도면이다.
도 13은 본 발명의 일 실시예에 따른 컴퓨팅 디바이스의 구성을 도시한 블록도이다.
이하에서는 첨부된 도면들을 참조하여 본 발명의 실시예들을 자세히 설명하도록 한다.
본 발명은 아바타 동작 생성 방법에 관한 것으로서, 아바타의 동작을 간단하면서 용이하게 표현하며, 다양한 아바타의 동작을 표현할 수 있는 방법을 제시한다. 다양한 동작을 표현할 수 있는 아바타는 게임 서비스, 메신저 서비스, 문자 서비스 등 다양한 서비스들에서 사용될 수 있다.
일 실시예에 따르면, 본 발명의 아바타 동작 생성 방법은 힘의 크기 또는 방향을 감지하는 적어도 하나의 센서를 이용하여 아바타의 동작을 제어할 수 있다. 여기서, 상기 아바타는 2D일 수도 있지만 바람직하게는 3D이다. 이렇게 센서를 이용하면, 아바타 동작 생성 과정이 신속하게 실행될 수 있다.
또한, 본 발명의 아바타 동작 생성 방법은 기본 아바타 및 상기 기본 아바타의 골격을 이루는 관절들(이하, "관절 입자"라 함)을 정의하고, 감지된 힘의 크기 및 방향에 따라 관절 입자들의 움직임을 생성하며, 상기 생성된 관절 입자들의 움직임을 상기 기본 아바타에 반영하여 아바타의 동작을 생성할 수 있다. 특히, 관절 입자들 사이에 구속 관계가 설정되므로, 따라서, 상기 아바타 동작 생성 방법은 다양한 아바타의 동작을 생성하면서 아바타를 유기적으로 동작시킬 수 있다.
다른 실시예에 따르면, 본 발명의 아바타 동작 생성 방법은 특정 동작을 수행하는 관절 입자들의 움직임을 하나의 동작큐(Action Que)로 정의하고, 복수의 동작큐들을 조합하여 새로운 동작큐를 생성할 수 있으며, 즉 새로운 아바타의 동작을 생성할 수 있다.
이하, 본 발명의 아바타 동작 생성 방법의 다양한 실시예들을 첨부된 도면들을 참조하여 상술하겠다.
도 1은 아바타의 다양한 동작을 도시한 도면이고, 도 2는 본 발명의 일 실시예에 따른 관절 입자 모델을 도시한 도면이다. 도 3은 본 발명의 일 실시예에 따른 관절 입자에 가해지는 힘 및 구속 관계를 도시한 도면이고, 도 4는 본 발명의 일 실시예에 따른 아바타 동작 생성 과정을 도시한 도면이다.
본 발명의 아바타 동작 생성 방법은 도 1에 도시된 바와 같이 자연스러운 다양한 동작들을 생성할 수 있으며, 동작 생성을 위하여 관절 입자 모델(200)을 이용한다.
일 실시예에 따르면, 관절 입자 모델(200)은 아바타의 골격 구조를 이루는 관절들에 해당하는 관절 입자들(Joint object, 210)을 정의한다. 특히, 도 3에 도시된 바와 같이 관절 입자들(210) 사이에는 구속 관계(300)가 설정되며, 이는 아바타의 유기적인 움직임을 생성하기 위해서이다. 예를 들어, forearm 관절 입자(210)와 hand 관절 입자(210) 사이에 구속 관계(300)가 정의될 수 있다. 예를 들어, forearm이 움직이면 hand도 당연히 움직이게 되므로, forearm 관절 입자(210)와 hand 관절 입자(210) 사이에 구속 관계(300)가 설정될 수 있다.
관절 입자(210)는 Verlet integration을 이용한 아래의 수학식 1과 같이 표현될 수 있고, 구속 관계(300)는 아래의 수학식 2로서 표현될 수 있다.
Figure 112015066527859-pat00001
Figure 112015066527859-pat00002
수학식 1은 현재 관절 입자의 위치(xn), 이전 관절 입자의 위치, 가속도 및 시간의 변화율을 알면 다음 순간의 관절 입자의 위치를 알 수 있다는 것을 의미한다.
수학식 2에 따르면, 구속 관계(300)는 처음 관절 입자의 거리와 변경된 거리의 차이의 평균을 이용함에 의해 정의될 수 있다.
이러한 구속 관계를 가지는 관절 입자들(210)에는 도 3에 도시된 바와 같이 두가지 힘(302 및 304)이 가해질 수 있다.
힘(302)은 아바타의 외형을 유지하기 위한 힘으로서, 관절 입자(210)가 기본적으로 받는 힘을 지탱하는 힘이다. 인체로 볼 때, 힘(302)은 근육 및 인대에 해당할 수 있다.
힘(304)은 아바타의 동작을 주기 위한 힘으로서, 관절 입자(210)가 움직여야 하는 목표 방향의 힘을 의미한다.
위에서 상술한 바와 같이, 본 발명의 아바타 동작 생성 방법은 상호 구속 관계(300)를 가지는 관절 입자들(210)을 정의하는 관절 입자 모델(210)을 생성할 수 있다. 특히, 기본 아바타(400)에서 관절 입자 모델(210)의 관절 입자들(210)은 특정 좌표를 가질 수 있다.
일 실시예에 따르면, 상기 아바타 동작 생성 방법은 도 4에 도시된 바와 같이 힘(304)이 가해짐에 따라 변형된 관절 입자 모델(200)을 기본 아바타(400)에 반영하여 아바타의 동작을 생성할 수 있으며, 즉 기본 아바타(400)와 다른 동작을 가지는 새로운 아바타(402)를 생성할 수 있다.
이하, 본 발명의 아바타의 동작을 실질적으로 생성하는 과정을 첨부된 도면들을 참조하여 살펴보겠다.
도 5는 본 발명의 일 실시예에 따른 아바타의 동작을 생성하기 위한 계층 구조를 도시한 블록도이다.
도 5를 참조하면, 본 발명의 아바타 동작 생성 방법은 어플리케이션 계층(500), 입자 동역학 계층(502) 및 아바타 계층(504)을 포함할 수 있다.
어플리케이션 계층(500)은 아바타 동작 생성을 위한 어플리케이션(application)의 동작을 정의할 수 있다. 예를 들어, 어플리케이션 계층(500)은 사용자의 센싱 조작, 사용자 입력을 위한 인터페이스 제공, 아바타의 동작 수정, 저작 및 조합의 제공, 기저장된 애니메이션의 관리 등의 동작을 제어할 수 있다.
입자 동역학 계층(502)은 어플리케이션 계층(500) 및 아바타 계층(504)과 연동하며, 어플리케이션 계층(500)으로부터 감지 데이터를 제공받아 관절 입자(210)의 움직임을 생성하는 역할을 수행한다. 예를 들어, 입자 동역학 계층(502)은 힘의 크기 및 방향, 지속 시간, 지연 시간, 관절 입자들(210)의 탄성 관계, 감속 등을 적절히 조합하여 사용자가 원하는 동작을 생성할 수 있다.
아바타 계층(504)은 입자 동역학 계층(502)과 연동하고, 관절 입자(210)의 움직임을 해석하여 아바타의 동작을 렌더링(rendering)하는 역할을 수행하며, 관절 입자(210)의 과도한 움직임을 보정하고 실제의 관절 제한을 통하여 사실적인 움직임을 생성할 수 있다.
도 6은 본 발명의 제 1 실시예에 따른 아바타 동작 생성 과정을 도시한 순서도이고, 도 7은 힘의 크기 및 방향을 도시한 도면이다. 도 8은 본 발명의 일 실시예에 따른 사용자 입력을 위한 인터페이스를 도시한 도면이고, 도 9는 본 발명의 일 실시예에 따른 관절 입자에 가해지는 힘을 도시한 도면이다. 도 10은 본 발명의 일 실시예에 따른 아바타의 동작을 도시한 도면이다.
도 6을 참조하면, 본 실시예의 아바타 동작 생성 방법은 도 2 및 도 3에 도시된 바와 같이 관절 입자 모델(200) 및 관절 입자들(210)의 구속 관계를 정의한다(S600). 또한, 상기 아바타 동작 생성 방법은 도 7에 도시된 바와 같이 힘의 크기 및 방향을 위한 공간 좌표를 정의할 수 있다.
3D인 경우, 3축 좌표가 필요하며, 힘의 방향을 Z축으로 정의하면 Y축을 업벡터로 설정할 수 있다. 상기 업벡터는 동일한 힘의 방향이더라도 힘의 방향 축이 얼마만큼 회전되어 있는 지를 보여줄 수 있으며, 이는 예를 들어 인간형 아바타의 관절 운동의 회전 제한을 위해 사용될 수 있다.
이어서, 상기 아바타 동작 생성 방법은 도 8에 도시된 바와 같이 UI들(800)을 포함하는 인터페이스를 사용자에게 제공할 수 있다(S602). 예를 들어, 상기 아바타 동작 생성 방법은 컴퓨팅 디바이스, 예를 들어 스마트폰 상에 UI들(800)을 디스플레이할 수 있다. 여기서, UI(800)는 관절 입자(210)를 제어하기 위해 사용되는 UI로서, 관절 입자(210)에 해당하는 개체(Entity)일 수 있다.
다른 실시예에 따르면, UI(800)는 관절 입자(210)가 아닌 특정 부위에 해당하는 개체일 수도 있다. 예를 들어, UI(800)는 왼 팔에 해당하는 개체일 수 있으며, 그 결과 왼 팔에 속하는 복수의 관절 입자들과 관련될 수 있다.
즉, UI(800)는 관절 입자(210)와 관련되는 한 특별한 제한이 없다.
계속하여, 상기 아바타 동작 생성 방법은 사용자의 동작, 즉 사용자 입력을 수신한다(S604). 구체적으로, 사용자가 UI들(800) 중 하나를 선택하면, 상기 어플리케이션은 상기 선택된 UI(800)에 해당하는 동작을 수행하기 위해 준비한다. 예를 들어, 사용자가 FORE ARM UI(800)를 선택하면, 상기 어플리케이션은 FORE ARM 관절 입자(210) 및 이와 구속 관계에 있는 관절 입자(210)의 동작을 제어하기 위한 준비를 하며, 기본적으로 FORE ARM 관절 입자(210)의 움직임을 위한 감지 동작을 수행하기 위한 준비를 한다. 한편, 사용자는 UI들(800) 중 복수의 UI들을 선택할 수도 있다.
이어서, 상기 아바타 동작 생성 방법은 적어도 하나의 센서를 이용하여 선택된 관절 입자(210)에 가해질 힘의 크기 및 방향을 감지할 수 있다(S606).
일 실시예에 따르면, 상기 아바타 동작 생성 방법은 컴퓨팅 디바이스의 자세 센서(예를 들어, 자이로 센서) 및 가속 센서를 이용하여 각기 힘의 방향 및 크기를 감지할 수 있다. 예를 들어, 사용자가 컴퓨팅 디바이스의 좌측 종단을 상부 방향으로 들어올린 후 시계 방향으로 회전시키면, 상기 센서들은 이러한 사용자의 동작을 감지할 수 있다. 여기서, 상기 상부 방향으로 들어올리는 동작 및 회전 동작은 힘의 방향과 관련되며, 상기 들어올릴 때의 속도 및 회전시의 속도는 힘의 크기와 관련될 수 있다. 따라서, 사용자가 컴퓨팅 디바이스에 간단한 움직임을 주는 동작만으로 관절 입자(210)의 움직임을 생성할 수 있다.
다른 실시예에 따르면, 상기 아바타 동작 생성 방법은 자세 센서의 데이터에 가중치를 부여할 수도 있다. 이는 사용자가 컴퓨팅 디바이스를 보면서 힘의 방향을 제시하여야 하기 때문에 반영되는 변화량이 원하는 변화량보다 작을 수 있기 때문이다. 예를 들어, 가중치를 3으로 설정하면, 상기 아바타 동작 생성 방법은 자세 센서가 10도의 회전을 감지하였을 때 30도만큼의 회전을 관절 입자(210)에 적용할 수 있다.
계속하여, 상기 아바타 동작 생성 방법은 상기 감지된 힘의 크기 및 방향에 응답하여 상기 선택된 관절 입자(210)의 움직임을 생성할 수 있다(S608). 이 경우, 상기 아바타 동작 생성 방법은 선택된 관절 입자(210)와 구속 관계에 있는 관절 입자(210)도 적절하게 움직인다.
일 실시예에 따르면, 관절 입자(210)의 움직임 생성시 힘의 크기 및 방향뿐만 아니라 도 9에 도시된 바와 같이 지속 시간 및 지연 시간이 함께 고려될 수 있다. 상기 지속 시간은 관절 입자(210)가 힘을 받는 시간을 의미하며, 상기 지연 시간은 관절 입자(210)가 힘들 받기까지 소요되는 시간을 나타낸다. 도 9에 도시된 바와 같이, 힘의 크기, 방향, 지속 시간 및 지연 시간이 표시될 수 있고, 이에 응답하여 관절 입자들(210)의 움직임이 변화된다. 도 9에서, 화살표의 길이는 지속 시간을 나타내고, 화살표의 방향이 힘의 방향을 의미하며, 공백은 지연 시간을 나타낸다. 여기서, 화살표의 길이가 길다는 것은 힘의 크기가 크다는 것을 의미한다.
관절 입자 구성은 관절 입자들(210)의 변형을 개별적으로 생성한 후 종합하여 구성될 수도 있고, 복수의 관절 입자들(210)의 변형을 한번에 생성하여 구성될 수도 있다.
계속하여, 상기 아바타 동작 생성 방법은 상기 변형된 관절 입자(210)의 움직임을 기본 아바타(400)에 반영하여 아바타의 움직임을 생성할 수 있다(S610).
일 실시예에 따르면, 상기 아바타 동작 생성 방법은 관절 입자(210)가 힘을 받는 방향으로 움직이면 아바타의 현재 관절의 방향 벡터와 관절 입자(210)의 방향 벡터의 내적과 외적을 통하여 두 벡터들이 이루는 사이각과 법선 벡터를 구하고, 구해진 사이각과 법선 벡터를 이용하여 사원수를 생성하며, 상기 생성된 사원수를 이용하여 기본 아바타의 관절을 회전시켜 상기 아바타의 동작을 생성할 수 있다.
정리하면, 본 실시예의 아바타 동작 생성 방법은 사용자 입력을 적어도 하나의 센서를 이용하여 감지하고, 상기 감지 결과를 해당 관절 입자(210)에 반영하여 관절 입자(210)의 움직임을 생성하며, 상기 생성된 관절 입자(210)의 움직임을 기본 아바타(400)에 반영하여 아바타의 움직임을 생성할 수 있다. 본 발명의 아바타 동작 생성 방법이 힘의 크기 및 방향을 이용하여 아바타를 생성하므로, 2D 입력 장치를 통한 기구학적 편집에 의해 아바타를 생성하는 방법 등의 종래 기술에 비하여 용이하면서도 직관적으로 아바타의 동작을 생성할 수 있다.
위에서는, 인간 아바타를 예로 하였지만, 관절 입자(210)를 이용하는 한 동물 아바타 등 아바타의 종류에는 제한이 없다.
또한, 하나의 컴퓨팅 디바이스, 예를 들어 스마트폰에 포함된 센서를 이용하여 힘의 크기 및 방향을 감지하였으나, 복수의 컴퓨팅 디바이스들에 포함된 센서들을 이용하여 힘의 크기 및 방향을 감지할 수도 있다.
위에서는, 내장한 센서를 이용하여 힘의 크기 및 방향을 감지한 컴퓨팅 디바이스가 아바타를 생성하는 것으로 언급하였으나, 컴퓨팅 디바이스는 힘의 크기 및 방향만을 감지하고 상기 컴퓨팅 디바이스와 연결된 다른 디바이스가 상기 감지된 힘의 크기 및 방향을 이용하여 아바타의 동작을 생성할 수도 있다.
이하, 아바타의 동작을 생성하여 활용하는 과정을 예를 들어 설명하겠다.
연인이 메신저를 통하여 대화할 때, 남자가 여자 친구에게 저녁 약속하면서 아바타의 애니메이션을 이용하여 무릎 끓고 물건을 선물하는 생일 축하 애니메이션을 전송하고자 한다.
이를 위해 남자는 도 10에 도시된 바와 같이 무릎 끓고 물건을 선물하는 아바타를 생성하기 위하여 우측 무릎의 관절 입자(210)를 -Y축 90도 방향으로 힘을 설정하고 우측 발목의 관절 입자(210)를 -Z축 90도 방향으로 힘을 설정한다. 또한, 좌측 무릎의 관절 입자(210)를 Z축 90도 방향으로 힘을 설정하며, 이 경우 좌측 발목의 관절 입자(210)는 구속 관계에 의해 자연스럽게 아래 방향으로 움직여서 무릎 자세가 형성된다. 좌측 손의 손목의 관절 입자(210)에 앞으로 -45도 방향으로 힘을 설정하면 구속 관계에 의해 팔꿈치의 관절 입자(210)가 자연스럽게 움직이며, 우측 손의 관절 입자(210)에 앞으로 45도 방향으로 힘을 설정하면 구속 관계에 의해 우측 팔꿈치의 관절 입자(210)가 자연스럽게 움직인다. 결과적으로, 무릎 끓고 물건을 선물하는 동작을 취하는 아바타가 생성될 수 있다.
물론, 여자 친구도 위의 방법을 통하여 도 10에 도시된 바와 같이 손으로 입을 가리고 물건을 받는 동작을 취하는 아바타를 생성하여 메신저로 전송할 수 있다.
즉, 본 발명의 아바타 동작 생성 방법을 사용하여 생성된 다양한 동작의 아바타들을 의사표현에 활용할 수 있으므로, 자신의 의사를 간단하면서 효율적으로 상대방에게 전달할 수 있다.
위에서는 메신저를 예로 하였지만, 본 발명의 방법에 의해 생성된 아바타는 온라인 게임에 적용하여 진화된 형태의 아바타형 가상현실 게임 등으로도 활용될 수 있다.
도 11은 본 발명의 제 2 실시예에 따른 아바타 동작 생성 방법을 도시한 순서도이고, 도 12는 본 발명의 일 실시예에 따른 동작큐들을 조합하는 과정을 도시한 도면이다.
도 11을 참조하면, 사용자가 UI들 중 하나를 선택하고, 그런 후 컴퓨팅 디바이스, 예를 들어 스마트폰을 이용하여 특정 동작을 수행할 수 있다(S1100).
이어서, 상기 컴퓨팅 디바이스가 사용자의 동작에 따른 힘의 크기 및 방향을 감지할 수 있다(S1102).
계속하여, 상기 컴퓨팅 디바이스는 사용자의 동작에 따른 관절 입자들의 동작을 동작큐로 설정하고 저장할 수 있다(S1104). 예를 들어, 상기 컴퓨팅 디바이스는 무릎 끓는 자세에 해당하는 관절 입자들의 동작을 하나의 동작큐로 저장할 수 있다. 도 12에서는 앉아 있는 자세의 동작큐, 양반 다리 자세의 동작큐, 다리를 꼬고 앉아 있는 자세의 동작큐가 보여진다. 각 동작큐들에는 해당 관절 입자의 힘의 방향 및 크기, 지속 시간 및 지연 시간이 표현되어 있을 수 있다.
이어서, 상기 컴퓨팅 디바이스는 복수의 동작큐들을 조합하여 새로운 동작큐를 생성할 수 있다(S1106). 물론, 이러한 조합을 위해서는 별도의 편집 툴이 사용자에게 제공될 수도 있다.
예를 들어, 상기 컴퓨팅 디바이스는 도 12에 도시된 바와 같이, 앉아 있는 자세의 동작큐 및 양반 다리 자세의 동작큐를 조합하여 다리를 꼬고 앉아 있는 자세의 동작큐를 생성할 수 있다. 도 12를 살펴보면, 상기 다리를 꼬고 앉아 있는 자세의 동작큐는 앉아 있는 자세의 동작큐의 일부 관절 입자들의 동작과 양반 다리 자세의 동작큐의 일부 관절 입자들의 동작을 포함할 수 있다.
계속하여, 상기 컴퓨팅 디바이스는 새롭게 생성된 동작큐의 관절 입자들을 기본 아바타에 반영하여 아바타의 동작을 생성할 수 있다(S1108).
정리하면, 본 실시예의 아바타 동작 생성 방법은 특정 동작에 해당하는 관절 입자들의 동작을 포함하는 동작큐들을 조합하여 새로운 동작에 해당하는 동작큐를 생성할 수 있다. 따라서, 상기 아바타 동작 생성 방법은 동작큐들을 조합하는 간단한 방법을 통하여 다양한 아바타의 동작들을 용이하게 생성할 수 있다.
도 13은 본 발명의 일 실시예에 따른 컴퓨팅 디바이스의 구성을 도시한 블록도이다.
도 13을 참조하면, 본 실시예의 컴퓨팅 디바이스는 제어부(1300), 인터페이스부(1302), 입력부(1304), 감지부(1306), 입자 관리부(1308), 아바타 관리부(1310), 동작큐 관리부(1312), 프로그램부(1314) 및 저장부(1316)를 포함할 수 있다.
인터페이스부(1302)는 관절 입자의 선택을 위한 UI를 사용자에게 제공한다.
입력부(1304)는 사용자의 입력을 수신한다.
감지부(1306)는 적어도 하나의 센서를 포함하며, 상기 센서를 포함하여 힘의 크기 및 방향, 지속 시간 및 지연 시간을 감지할 수 있다.
입자 관리부(1308)는 관절 입자, 관절 입자를 포함하는 관절 입자 모델, 관절 입자의 동작 등을 관리한다. 예를 들어, 입자 관리부(1308)는 감지부(1306)의 감지 결과에 따라 특정 관절 입자의 움직임을 생성할 수 있으며, 이에 따라 상기 관절 입자 모델이 변형될 것이다.
아바타 관리부(1310)는 기본 아바타, 아바타의 동작 생성 등을 관리한다. 예를 들어, 아바타 관리부(1310)는 변형된 관절 입자 모델을 기본 아바타에 반영하여 새로운 아바타의 동작을 생성할 수 있다.
동작큐 관리부(1312)는 관절 입자들의 동작을 포함하는 동작큐들을 관리한다. 예를 들어, 동작큐 관리부(1312)는 동작큐들을 조합하여 새로운 동작큐를 생성할 수 있다.
프로그램부(1314)는 아바타 동작 생성을 위한 어플리케이션 등의 다양한 프로그램들을 관리한다.
저장부(1312)는 관절 입자 모델, 기본 아바타, 새로운 동작의 아바타, 동작큐 등의 다양한 데이터를 저장한다.
제어부(1300)는 상기 컴퓨팅 디바이스의 구성요소들의 동작을 전반적으로 제어한다.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
200 : 관절 입자 모델 210 : 관절 입자
400 : 기본 아바타

Claims (7)

  1. 기본 아바타의 관절에 해당하는 적어도 하나의 관절 입자를 설정하는 단계;
    UI들을 제공하는 단계;
    사용자가 상기 UI들 중 일부를 선택함에 따라 상기 선택된 UI에 해당하는 관절 입자 및 상기 관절 입자와 구속 관계에 있는 다른 관절 입자의 움직임을 생성하는 단계;
    상기 생성된 관절 입자들의 움직임을 상기 기본 아바타에 반영하여 아바타의 동작을 생성하는 단계, 상기 생성된 아바타의 동작을 수행하는 관절 입자들의 움직임을 동작큐로서 정의함;
    상기 아바타의 다양한 동작들에 해당하는 복수의 동작큐들을 조합하여 새로운 동작큐를 생성하는 단계; 및
    상기 생성된 동작큐에 해당하는 아바타의 동작을 생성하는 단계를 포함하되,
    상기 아바타의 동작을 생성하는 단계는,
    상기 관절 입자에 힘을 가함에 따라 상기 관절 입자가 힘을 받는 방향으로 움직일 때 상기 기본 아바타의 현재 관절의 방향 벡터와 상기 힘이 가해진 관절 입자의 방향 벡터의 내적과 외적을 통하여 상기 두 벡터들이 이루는 사이각과 법선 벡터를 구하는 단계;
    상기 구해진 사이각과 법선 벡터를 이용하여 사원수를 생성하는 단계; 및
    상기 생성된 사원수를 이용하여 상기 기본 아바타의 관절을 움직여서 상기 아바타의 동작을 생성하는 단계를 포함하되,
    상기 관절 입자들 사이에는 구속 관계가 설정되며, 상기 사용자의 UI 선택시 상기 관절 입자들 사이의 구속 관계로 인하여 상기 사용자가 상기 UI를 통하여 선택한 관절 입자의 수보다 더 많은 수의 관절 입자들의 움직임이 생성되고, 상기 관절 입자의 움직임은 상기 관절 입자에 가해지는 힘의 크기 및 방향, 지속 시간 및 상기 힘이 가해지기까지 소요된 지연 시간을 고려하여 생성되며, 상기 힘의 크기 및 방향은 해당 센서에 의해 감지되고, 상기 감지된 힘의 크기 또는 방향에 가중치가 부여된 힘의 크기 또는 방향이 상기 관절 입자의 움직임에 반영되고, 상기 아바타의 동작을 3차원으로 구현시 힘의 방향을 Z축으로 정의할 때 동일한 힘의 방향이더라도 힘의 방향 축이 얼마만큼 회전되었는 지를 보여주는 업벡터를 Y축에 설정하며, 현재 관절 입자의 위치, 이전 관절 입자의 위치, 가속도 및 시간의 변화율을 알면 다음 순간의 관절 입자의 위치 파악이 가능하도록 베를레 적분(Verlet integration)을 적용하고, 상기 관절 입자들 사이의 구속 관계는 처음 관절 입자들 사이의 거리와 변경된 관절 입자들 사이의 거리 차이의 평균을 이용함에 의해 정의되며, 상기 관절 입자에 가해지는 힘은 상기 아바타의 외형을 유지하기 위한 힘과 상기 아바타의 동작을 주기 위한 힘을 포함하고, 상기 아바타의 동작은 어플리케이션 계층, 입자 동역학 계층 및 아바타 계층을 이용함에 의해 생성되는 것을 특징으로 하는 아바타 동작 생성 방법.

  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
KR1020150097696A 2015-07-09 2015-07-09 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스 KR101597940B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150097696A KR101597940B1 (ko) 2015-07-09 2015-07-09 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150097696A KR101597940B1 (ko) 2015-07-09 2015-07-09 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020130151561 Division 2013-12-06

Publications (2)

Publication Number Publication Date
KR20150089980A KR20150089980A (ko) 2015-08-05
KR101597940B1 true KR101597940B1 (ko) 2016-02-26

Family

ID=53886266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150097696A KR101597940B1 (ko) 2015-07-09 2015-07-09 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스

Country Status (1)

Country Link
KR (1) KR101597940B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101926701B1 (ko) * 2017-08-16 2019-03-07 황금희 2d 데이터 - 3d 데이터 변환 장치 및 방법
KR20210123357A (ko) * 2019-02-06 2021-10-13 스냅 인코포레이티드 신체 자세 추정

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101897704B1 (ko) * 2017-09-25 2018-10-29 넷마블 주식회사 게임 서비스 제공 장치 및 방법
KR102239957B1 (ko) * 2019-11-13 2021-04-13 중앙대학교 산학협력단 가상 관절 구(sphere)를 이용한 모션 모델링 방법 및 그 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030502A (ja) * 2002-06-28 2004-01-29 Sangaku Renkei Kiko Kyushu:Kk シミュレーション方法、シミュレーション装置およびシミュレーションプログラム
KR100782974B1 (ko) * 2006-06-16 2007-12-11 한국산업기술대학교산학협력단 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법
KR100856824B1 (ko) 2007-07-23 2008-09-05 재단법인서울대학교산학협력재단 캐릭터 시뮬레이션 방법 및 시스템
WO2012177643A2 (en) 2011-06-22 2012-12-27 Microsoft Corporation Fully automatic dynamic articulated model calibration

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050082860A (ko) 2004-02-20 2005-08-24 주식회사 배틀겜 유전자 알고리즘과 역동학 애니메이션을 적용한 캐릭터성장시스템 및 이를 이용한 캐릭터 성장방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030502A (ja) * 2002-06-28 2004-01-29 Sangaku Renkei Kiko Kyushu:Kk シミュレーション方法、シミュレーション装置およびシミュレーションプログラム
KR100782974B1 (ko) * 2006-06-16 2007-12-11 한국산업기술대학교산학협력단 모션 캡춰 데이터 기반 3차원 애니메이션 구현 방법
KR100856824B1 (ko) 2007-07-23 2008-09-05 재단법인서울대학교산학협력재단 캐릭터 시뮬레이션 방법 및 시스템
WO2012177643A2 (en) 2011-06-22 2012-12-27 Microsoft Corporation Fully automatic dynamic articulated model calibration

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101926701B1 (ko) * 2017-08-16 2019-03-07 황금희 2d 데이터 - 3d 데이터 변환 장치 및 방법
KR20210123357A (ko) * 2019-02-06 2021-10-13 스냅 인코포레이티드 신체 자세 추정
KR102649272B1 (ko) * 2019-02-06 2024-03-20 스냅 인코포레이티드 신체 자세 추정

Also Published As

Publication number Publication date
KR20150089980A (ko) 2015-08-05

Similar Documents

Publication Publication Date Title
US10942577B2 (en) Augmented reality interaction techniques
Stuerzlinger et al. The value of constraints for 3D user interfaces
Billinghurst et al. Hands in space: Gesture interaction with augmented-reality interfaces
Gannon et al. Tactum: a skin-centric approach to digital design and fabrication
US8350843B2 (en) Virtual hand: a new 3-D haptic interface and system for virtual environments
US8232989B2 (en) Method and apparatus for enhancing control of an avatar in a three dimensional computer-generated virtual environment
JP2018533099A (ja) 三次元ディスプレイを用いたデータ可視化システム及び方法
KR101597940B1 (ko) 아바타 동작 생성 방법 및 이를 수행하기 위한 컴퓨팅 디바이스
TW202101172A (zh) 用於人工實境系統的手臂視線驅動的使用者介面元件閘控
WO2017027181A1 (en) Mixed reality social interactions
AU2228997A (en) Programmable computer graphic objects
TW202105129A (zh) 具有用於閘控使用者介面元件的個人助理元件之人工實境系統
KR102374307B1 (ko) 애니메이팅된 캐릭터의 수정
JP2019192243A (ja) 没入型現実環境において触覚効果を生成する触覚対応ウェアラブルデバイス
JP2010257081A (ja) 画像処理方法及び画像処理装置
TW202101170A (zh) 用於人工實境系統的角點識別手勢驅動的使用者介面元件閘控
Park et al. Comparative study on the interface and interaction for manipulating 3d virtual objects in a virtual reality environment
US20230148441A9 (en) Computer animation methods and systems
Sra et al. Bringing real objects, spaces, actions, and interactions into social VR
Yu et al. Blending on-body and mid-air interaction in virtual reality
Cho et al. Xave: Cross-platform based asymmetric virtual environment for immersive content
Messaci et al. 3d interaction techniques using gestures recognition in virtual environment
KR20140124983A (ko) 모바일 기기에서의 아바타 애니메이션 생성 장치 및 방법
Roth et al. Avatar Embodiment, Behavior Replication, and Kinematics in Virtual Reality.
JPH11272157A (ja) 物体の把持動作シミュレーション装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration
GRNT Written decision to grant