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