KR101134534B1 - 질점을 사용하는 3d 시뮬레이션 방법 - Google Patents

질점을 사용하는 3d 시뮬레이션 방법 Download PDF

Info

Publication number
KR101134534B1
KR101134534B1 KR1020100026281A KR20100026281A KR101134534B1 KR 101134534 B1 KR101134534 B1 KR 101134534B1 KR 1020100026281 A KR1020100026281 A KR 1020100026281A KR 20100026281 A KR20100026281 A KR 20100026281A KR 101134534 B1 KR101134534 B1 KR 101134534B1
Authority
KR
South Korea
Prior art keywords
bone
point
coordinate information
bones
rotation value
Prior art date
Application number
KR1020100026281A
Other languages
English (en)
Other versions
KR20110107102A (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 KR1020100026281A priority Critical patent/KR101134534B1/ko
Publication of KR20110107102A publication Critical patent/KR20110107102A/ko
Application granted granted Critical
Publication of KR101134534B1 publication Critical patent/KR101134534B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • 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
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods

Landscapes

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

Abstract

본 발명의 질점을 사용하는 3D 시뮬레이션 방법은, 유연성을 가지는 객체의 3D 시뮬레이션 방법에 있어서, 좌표정보 및 회전값정보를 가지는 복수 개의 본 및 상기 본에 대응되며, 상기 본의 좌표정보만을 가지는 복수 개의 질점을 생성하는 기초생성단계, 제작된 버텍스의 상대 위치를 상기 본에 링크하는 링크단계, 상기 객체의 위치가 변경될 경우, 변경된 질점의 좌표정보를 파악하는 분석단계, 상기 분석단계에서 파악된 상기 질점의 좌표정보를 상기 본에 적용시키는 좌표반영단계, 상기 질점 및 상기 질점과 이웃한 복수 개의 타 질점에 의해 형성되는 방향벡터의 외적벡터를 산출하는 연산단계 및 상기 외적벡터를 기초하여 상기 본에 회전값을 반영하여 회전시키는 회전값반영단계를 포함한다.

Description

질점을 사용하는 3D 시뮬레이션 방법{3D Simulation Method Using Material Points}
본 발명은 유연성을 가지는 객체를 표현하기 위한 3D 시뮬레이션 방법으로서, 보다 구체적으로는 좌표정보만을 갖는 질점을 사용하여 최소한의 정보량으로 유연성을 가지는 객체를 표현할 수 있는 3D 시뮬레이션 방법에 관한 것이다.
게임, 애니메이션 등 그래픽 관련 기술이 발전함에 따라, 특정 객체의 움직임을 3D로 시뮬레이션하는 방법이 사용되고 있다. 특히, 3D 시뮬레이션 과정에서는 상기 객체의 움직임을 표현할 수 있는 본(Bone)을 생성하고, 상기 본 위에 폴리곤(Plolygon)이라 불리는 단위체를 상기 본과 링크하여 입히는 방법이 사용된다. 그리고, 상기 폴리곤은 일반적으로 삼각형 모양의 폴리곤이 가장 많이 사용되며, 이때 폴리곤의 각 꼭지점을 버텍스(Vertex)라 한다.
이와 같은 방법을 사용하는 이유는, 3D 객체의 모든 폴리곤을 인체의 동작에 따라 애니메이션화시키는 것은 데이터양이 과도하게 많아지며, 컴퓨터가 이를 수행하는 과정에서 많은 부하가 걸린다는 문제가 있다. 또한 작업시간이 길어지며, 이에 따라 파생되는 제반 비용이 증가한다는 단점이 있다.
따라서, 객체의 움직임을 잘 특정할 수 있는 본을 미리 지정하고 버텍스를 본에 링크시키고, 애니메이션과 관련된 처리는 본으로만 한정하는 것이다. 즉, 버텍스는 본의 위치 변동에 따라 종속적으로 위치가 변동되는 것이며 직접 애니메이션화 되는 것이 아니므로, 데이터양을 효과적으로 줄일 수 있다.
한편, 상기 객체는 배경 또는 지형, 캐릭터, 액체 등 그 종류가 매우 다양하며, 이에 따라 질감 및 움직임을 표현하는 방법은 각 객체에 따라 다르다. 이 중, 의복 등 천 재질의 객체 및 털, 머리카락 등의 객체와 같이 특정한 움직임이 없고, 외력에 따라 불특정 위치가 흔들리거나 구부러지는 등 움직임에 자유도가 높은 경우에는, 이를 실제의 움직임과 같이 구현하기가 쉽지 않다.
즉, 인체 등 관절을 가진 객체의 경우에는 가동범위에 한계가 있으며, 가동방향이 정해져 있기 때문에 본의 움직임을 표현하는 것이 상대적으로 쉬운 반면, 천 또는 머리카락 등의 객체는 정해진 위치만이 가동되는 것이 아니며, 그 방향성도 불규칙하기 때문이다.
따라서, 타 객체와 동일한 방법으로 유연성을 가진 객체를 사실적으로 표현하기 위해서는, 본의 수가 충분히 할당되어야 한다. 하지만, 이와 같은 객체는 게임 또는 애니메이션 등의 주요 객체인 캐릭터 등에 비교할 때 중요도가 떨어지는 경우가 더 많은 반면, 캐릭터의 움직임을 처리하기 위한 데이터양에 비하여 더 많은 데이터양의 처리가 요구된다. 이는 중요도가 떨어지는 객체에 컴퓨터의 CPU자원이 더 많이 사용되는 모순된 결과를 낳게 되며, 비효율적이고 불합리하다는 문제가 있다.
따라서, 이와 같은 문제를 해결하면서도 사실적인 움직임을 연출하기 위한 방법이 요구된다.
본 발명의 목적은 상기한 종래의 문제점을 해결하기 위한 것으로서, 좌표정보만을 갖는 질점을 본에 적용시켜 객체의 움직임을 처리할 수 있는 3D 시뮬레이션 방법을 제공함에 있다.
그리고, 상기 질점 및 상기 질점과 이웃하는 타 질점에 의해 형성되는 방향벡터의 외적벡터를 산출하여 본에 회전값을 반영하는 3D 시뮬레이션 방법을 제공함에 있다.
또한, 상기 외적벡터가 복수 개 존재할 경우에는, 외적벡터의 평균벡터를 산출하여 본에 회전값을 반영하는 3D 시뮬레이션 방법을 제공함에 있다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기한 과정을 해결하기 위한 본 발명의 질점을 사용하는 3D 시뮬레이션 방법은, 유연성을 가지는 객체의 3D 시뮬레이션 방법에 있어서, 좌표정보 및 회전값정보를 가지는 복수 개의 본 및 상기 본에 대응되며, 상기 본의 좌표정보만을 가지는 복수 개의 질점을 생성하는 기초생성단계, 제작된 버텍스의 상대 위치를 상기 본에 링크하는 링크단계, 상기 객체의 위치가 변경될 경우, 변경된 질점의 좌표정보를 파악하는 분석단계, 상기 분석단계에서 파악된 상기 질점의 좌표정보를 상기 본에 적용시키는 좌표반영단계, 상기 질점 및 상기 질점과 이웃한 복수 개의 타 질점에 의해 형성되는 방향벡터의 외적벡터를 산출하는 연산단계 및 상기 외적벡터를 기초하여 상기 본에 회전값을 반영하여 회전시키는 회전값반영단계를 포함한다.
그리고, 상기 연산단계 이후에는, 산출된 외적벡터가 복수 개일 경우, 상기 외적벡터들의 평균벡터를 산출하는 회전값산출단계가 더 포함될 수 있다.
또한, 상기 연산단계는, 상기 객체가 화면 상의 먼 거리에 위치될 경우, 상기 질점 및 상기 질점과 이웃한 복수 개의 타 질점 중 일부만으로 형성되는 방향벡터를 사용하여 외적벡터를 산출할 수 있다.
그리고, 상기 기초생성단계는, 상기 본 및 상기 질점이 격자구조로 배열되도록 할 수 있다.
상기한 과제를 해결하기 위한 본 발명의 질점을 사용하는 3D 시뮬레이션 방법은 다음과 같은 효과가 있다.
첫째, 유연성을 가진 객체 상에 충분한 개수의 본이 할당되므로, 상기 객체의 움직임을 사실적으로 구현할 수 있다는 장점이 있다.
둘째, 좌표정보만을 가지는 질점이 사용되며, 이들의 벡터값에 의해 본의 회전값이 산출되므로, 데이터양이 크게 줄어들어 컴퓨터에 걸리는 부하를 줄일 수 있다는 장점이 있다.
셋째, 외적벡터가 복수 개 존재할 경우, 이들의 평균벡터에 의해 더욱 정확한 회전값을 산출할 수 있다는 장점이 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법을 통해 캐릭터의 의복에 본 및 질점이 형성된 모습을 나타내는 도면;
도 2는 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법에 있어서 캐릭터의 움직임에 따라 의복에 형성된 본 및 질점의 위치가 변경된 모습을 나타내는 도면;
도 3은 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법을 통해 캐릭터의 의복에 본 및 질점이 형성된 모습을 확대하여 나타내는 확대도;
도 4는 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법에 있어서 본 및 질점의 위치가 변경됨에 따라 버텍스의 위치가 변경되는 모습을 나타내는 도면;
도 5는 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법에 있어서 질점 및 인접한 질점의 모습을 나타내는 도면;
도 6은 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법에 있어서 질점 및 인접한 질점을 통해 산출된 외적벡터를 나타내는 도면; 및
도 7은 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법의 일련의 과정을 순차적으로 나열한 흐름도이다.
이하 본 발명의 목적이 구체적으로 실현될 수 있는 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 본 실시예를 설명함에 있어서, 동일 구성에 대해서는 동일 명칭 및 동일 부호가 사용되며 이에 따른 부가적인 설명은 생략하기로 한다.
도 1은 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법을 통해 캐릭터의 의복에 본 및 질점이 형성된 모습을 나타내는 도면이다.
도 1을 참조하면, 3D 모델링된 캐릭터의 모습이 도시되며, 상기 캐릭터에는 인체 본(Bc)이 형성되고, 의복에는 의복 본(Bf)이 형성된다.
먼저, 캐릭터의 몸 부분을 살펴보면, 캐릭터의 관절에 해당하는 인체 본(Bc)이 형성되며, 이는 실제 인간의 골격과 거의 비슷한 모습으로 형성된다.
이와 같이 인체 본(Bc)을 형성하는 것은, 상기 배경기술에서 설명한 바와 같이, 3D 객체의 모든 폴리곤을 인체의 동작에 따라 애니메이션화시키는 것은 데이터양이 과도하게 많아지므로, 버텍스를 인체 본(Bc)에 링크시켜 애니메이션과 관련된 처리는 인체 본(Bc)으로만 한정하기 위해서이다.
반면, 의복 등 천과 같이 유연성을 가지는 객체의 경우, 어떤 지점에서도 객체가 가동될 수 있다는 차이점이 있기 때문에, 상기와 같은 방법을 사용할 경우에는 객체의 중요도에 비해 과도한 데이터양이 발생한다는 문제가 있다. 이는 도시된 바와 같이, 인체에 형성되어 가동되는 인체 본(Bc)의 수보다 의복에 형성된 의복 본(Bf)이 더 밀도가 높고, 그 개수가 많다는 점을 통해 알 수 있다.
특히, 게임과 같은 경우에 있어서는, 여러 객체가 상호작용을 하므로, 게임 프로그램 상의 물리엔진에 의해 구현된 중력, 바람 등의 외력, 본과 본 사이의 상호 인력 등에 의해 객체의 상태 및 변위가 변동될 수 있다. 따라서 화면 상의 객체의 상태는 시간에 따라 매우 다양하게 변화하므로, 이에 대한 데이터가 지속적으로 생성된다.
이하 개시될 설명에서는 본 발명에 해당하는 유동성을 가지는 객체의 시뮬레이션 방법에 대해서만 언급할 것이므로, 이후 언급되는 본은 천, 머리카락 등 유연성을 가진 객체에 형성된 본을 말하는 것으로 한다.
도 2는 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법에 있어서 캐릭터의 움직임에 따라 의복에 형성된 본 및 질점의 위치가 변경된 모습을 나타내는 도면이다.
도 2를 참조하면, 캐릭터가 동작을 변경함에 따라, 상기한 바와 같이 중력, 캐릭터 객체, 외력 등에 맞추어 의복 본(Bf)의 각 위치가 변동됨을 확인할 수 있다.
즉, 캐릭터의 동작에 의해 굽혀진 다리 모양에 따라 해당 본들의 위치가 변동되고, 천이 늘어진 부분에서는 중력이 작용하여 해당 본들은 중력 방향으로 하향되는 것이다.
도 3은 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법을 통해 캐릭터의 의복에 본 및 질점이 형성된 모습을 확대하여 나타낸 확대도이다.
도 3을 참조하면, 캐릭터의 의복에 복수 개의 의복 본(Bf)이 격자 형태로 형성된다.
본은 3차원 공간에서의 좌표정보 및 상기 본이 위치된 각도에 따른 회전값정보를 포함한다. 즉, 상기 좌표정보는 3차원 상의 x축, y축 및 z축의 좌표를 나타내며, 상기 회전값정보는 방향벡터의 정보를 포함한다. 상기 회전값정보에 대해서는 후술한다.
그리고, 본은 유연성이 있는 객체의 자연스러운 움직임을 표현하기 위해 격자 형태를 이루며 밀집된 형태로 배열될 수 있다. 즉, 각 본의 변위가 3차원 상에서 타 좌표로 변경되며 상기 본에 링크된 버텍스의 상대위치도 역시 변하게 되어 객체의 복잡한 움직임을 표현할 수 있는 것이다.
이때, 본은 좌표정보 및 회전값정보를 모두 포함하기 때문에 이를 동시에 처리하는 경우, 과도한 데이터양이 생성될 수 있다. 이러한 문제를 해결하기 위해, 본 발명에서는 시뮬레이션 과정에서 상기 좌표정보 및 회전값정보 중 좌표정보만을 포함하는 질점이 사용된다. 즉, 질점은 대응되는 본의 좌표정보만을 담고 있는 데이터인 것이다.
이와 같이 본 대신 질점을 사용함으로써, 객체의 시뮬레이션 과정이 단순해지며, 데이터양도 크게 줄어들 수 있다.
도 4는 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법에 있어서 본 및 질점의 위치가 변경됨에 따라 버텍스의 위치가 변경되는 모습을 나타내는 도면이다.
도 4를 참조하면, 본의 위치 변경에 따라 질점을 통해 버텍스의 위치가 변경되는 과정이 세 단계로 도시된다.
먼저, 첫 번째 그림에 도시된 대로, 본(b1, b2, b3)에 버텍스(v1, v2, v3)가 링크되며, 이는 천 객체를 정면이 아닌 측 방향에서 바라본 모습을 나타낸 것이다. 또한, 각 본(b1, b2, b3)에는 좌표정보를 포함하는 질점이 형성된다.
두 번째 그림에서, 천의 특정 위치가 접혀 질점의 좌표정보가 변경되며, 이에 따라 제2본(b2) 및 제3본(b3)의 위치가 변경된다. 그리고, 제2본(b2) 및 제3본(b3)의 움직임에 따라 각각에 링크된 제2버텍스(v2) 및 제3버텍스(b3)는 종속적으로 해당 거리만큼 이동된다.
이때, 질점은 회전값정보를 포함하고 있지 않으므로, 제2본(b2) 및 제3본(b3)은 최초 위치에 대해 평행이동만을 한 상태이며, 따라서 제2버텍스(v2) 및 제3버텍스(b3) 역시 최초 위치에서 좌표만이 변경된 상태를 유지하게 된다. 따라서, 최초 위치에서 서로 자연스럽게 이어져 있던 각 폴리곤이 현 상태에서는 평행이동만을 하여 서로 간의 유기적인 이어짐이 끊어지고, 각 폴리곤 사이에 단차가 나타나게 된다.
이에 따라 각 본에 알맞은 회전값을 적용하여, 세 번째 그림에 도시된 바와 같이 제2본(b2) 및 제3본(b3)을 소정 각도 회전시켜 각 폴리곤이 유기적으로 연결된 상태를 유지하여야 할 필요가 있다.
이하에서는, 질점의 좌표정보만으로 본의 회전값을 산출하여 적용시킬 수 있는 방법을 설명하도록 한다.
도 5는 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법에 있어서 질점 및 인접한 질점의 모습을 나타내는 도면이다.
상기한 바와 같이, 유연성을 가지는 객체의 시뮬레이션을 위해서는 다수의 본이 격자구조로 배열될 필요가 있다. 그리고, 도면을 참조하면, 각 본에 해당되는 질점을 가상으로 개념화한 모습이 도시되며, 각 질점은 서로 인접한 타 질점을 2개 이상 가지도록 형성된다.
즉, 각 모서리에 위치된 질점은 자신과 인접한 타 질점을 2개 가지게 되며, 변에 위치된 질점은 3개, 그리고 내측에 위치된 질점은 4개의 인접한 타 질점을 가지게 되는 것이다.
여기서, 객체의 구부러짐에 따라 각 질점의 좌표는 변경되며, 상기 좌표는 3차원 상에서의 좌표이므로 각 질점은 공간 상에 불규칙하게 배열된다. 이하 설명의 편의를 위해, 모서리에 위치된 질점 A의 경우를 예를 들어 먼저 설명하도록 한다.
질점 A의 경우, A1 및 A2를 인접 질점으로 가지며, 따라서 이들 각각과 방향벡터를 한 개씩 형성할 수 있다. 즉, A-A1에 의해 이루어지는 제1방향벡터 및 A-A2에 의해 이루어지는 제2방향벡터가 형성되는 것이다.
그리고, 상기 제1방향벡터 및 상기 제2방향벡터에 의해 산출되는 외적 방향벡터가 구해질 수 있으며, 이는 질점 A에 대응되는 본의 방향성을 의미한다. 즉, 어느 하나의 질점 및 이웃한 질점 2개가 존재하게 되면, 질점의 좌표만으로 이루어진 방향벡터의 외적벡터를 산출하여 본의 회전값을 대신하여 적용시킬 수 있는 것이다.
다음은, 내측에 위치된 질점 B의 경우를 살펴보도록 한다.
도 6은 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법에 있어서 질점 및 인접한 질점을 통해 산출된 외적벡터를 나타내는 도면이다.
도 6을 참조하면, 질점 B는 인접 질점으로 B1, B2, B3 및 B4의 4개 질점을 가진다. 따라서 B-B1, B-B2, B-B3 및 B-B4로 이루어지는 총 4개의 방향벡터를 얻을 수 있으며, 또한 상기와 같은 방법으로 서로 인접하는 방향벡터의 외적벡터를 산출할 수 있다. 즉, 도시된 바와 같이 각 방향벡터에 수직하는 B12, B23, B34 및 B41의 총 4개의 외적벡터가 구해지는 것이다.
한편, 특정 질점 및 인접 질점들이 모두 동일 평면 상에 위치되는 경우에는 각 외적벡터는 서로 일치되지만, 객체의 변형에 따라 각 외적벡터가 서로 일치되지 않는 경우가 발생할 수 있다. 그리고, 도면에 도시된 4개의 외적벡터 역시 일치되지 않은 상태로 서로 어긋나 있는 것을 확인할 수 있다.
이와 같은 경우에는, 각 외적벡터의 평균을 산출하여 정해진 평균벡터 Ba를 사용하는 방법으로 가장 자연스럽고 정확한 본의 회전 방향을 정할 수 있다. 즉, 각 방향벡터와 가장 부드럽게 최소의 변위 차를 유지할 수 있도록 본의 최종 회전 방향이 결정된다.
정리하면, 모서리에 위치된 질점의 경우 하나의 외적벡터가 산출되며, 변에 위치된 질점의 경우 두 개의 외적벡터가, 내측에 위치된 질점의 경우에는 네 개의 외적벡터가 산출되고, 두 개 이상의 외적벡터가 존재할 경우에는 평균벡터를 산출하는 것이다.
이와 같은 방법으로, 질점의 좌표정보만을 사용하여 본의 좌표정보 및 회전값정보에 대한 연산을 모두 처리할 수 있으며, 따라서 객체의 움직임을 최소의 정보로 자연스럽게 연출할 수 있다는 장점이 있다.
한편, 3D게임 등에서는 이와 같은 객체 다수가 동시에 화면에 노출되는 경우가 흔히 있으며, 이때 모든 객체에 상기 방법을 사용하게 되면 비효율적일 수 있다.
따라서, 이런 경우에는 LOD((Level of Detail)를 적용 가능하다. 이는, 객체가 화면 상의 먼 거리에 위치될 경우 근접한 객체에 비해 3D 시뮬레이션의 정밀도를 떨어뜨림으로써 효율적인 데이터 처리를 가능하게 하는 것을 말한다. 즉, 원거리에 위치된 객체는 화면 상에 나타난 크기도 상대적으로 작으며, 선명도도 떨어지기 때문에, 자세하게 묘사될 필요가 적어지는 것이다.
본 발명에서도, 한 질점에 인접한 타 질점이 세 개 이상이 존재하여 두 개 이상의 외적벡터가 생성되는 경우에 이와 같은 방법을 적용할 수 있다. 구체적으로 설명하면, 상기 질점 및 상기 질점과 이웃한 복수 개의 타 질점 중 일부만으로 형성되는 방향벡터를 사용하여 더 적은 수의 외적벡터를 산출하고, 이를 회전값에 적용하는 것이다.
예를 들어, 내측의 질점의 경우 외적벡터 4개가 형성되지만, 객체가 충분히 먼 거리에 위치될 경우, 인접한 질점 중 두 개만을 사용하여 외적벡터 한 개만을 산출해 회전값으로 사용할 수 있다. 그리고, 객체의 거리가 가까워질수록 더 많은 외적벡터를 산출하여 평균벡터를 회전값으로 사용할 수 있는 것이다.
이와 같은 방법을 사용함으로써, 데이터 처리량을 최적화할 수 있으며, 그래픽의 퀄리티를 가장 효율적으로 높일 수 있다.
이상으로 질점을 사용하여 최소한의 데이터양으로 본의 좌표정보 및 회전값정보를 적용시키는 방법에 대하여 설명하였다. 이하에서는, 상기 설명한 사항을 흐름도를 통해 순서대로 정리하도록 한다.
도 7은 본 발명에 따른 질점을 사용하는 3D 시뮬레이션 방법의 일련의 과정을 순차적으로 나열한 흐름도이다.
먼저, 좌표정보 및 회전값정보를 가지는 본 및 좌표정보만을 가지는 질점을 생성하는 기초생성단계(S1)가 수행된다.
본 단계에서, 객체 상에 격자구조를 갖도록 복수 개의 본 및 상기 본의 좌표정보만을 갖는 질점을 생성한다. 따라서, 상기 본은 질점의 좌표정보에 의해 위치가 변경되는 것이 가능하다.
다음은, 버텍스의 상대 위치를 본에 링크하는 링크단계(S2)가 수행된다.
본 단계에서는, 버텍스를 상기 본에 링크시켜, 본의 좌표가 변경되는 만큼 상대적으로 버텍스의 위치가 변경될 수 있도록 한다. 즉, 이후 질점의 좌표정보가 변경됨에 의해 본의 위치가 변경되며, 이에 따라 버텍스의 위치 역시 변경되는 것이다.
다음으로, 객체의 위치가 변경될 경우 변경된 질점의 좌표정보를 파악하는 분석단계(S3)가 수행된다.
분석단계(S3)는, 상기 링크단계(S2) 이후, 실제로 객체의 모양 또는 위치가 변경된 경우 각 질점의 변경된 좌표정보를 파악하는 단계이다.
다음은, 변경된 좌표정보를 본에 적용하는 좌표적용단계(S4)가 수행된다.
본 단계에서는, 변경된 질점의 좌표정보를 본에 적용하여 본의 좌표를 해당 위치로 이동시키며, 좌표가 변경되지 않았을 경우에는 물론 위치 이동이 일어나지 않는다. 그리고, 본 과정이 수행되어 본의 좌표가 변경된 경우에는, 본에는 아직 회전값이 적용되지 않은 상태이므로 폴리곤에 단차가 생길 가능성이 있다.
다음으로, 한 질점 및 이웃한 복수 개의 타 질점에 의해 형성되는 방향벡터의 외적벡터를 산출하는 연산단계(S5)가 수행된다.
연산단계(S5)는, 회전값을 산출하기 위한 과정으로, 한 질점 및 그와 이웃한 복수 개의 질점 간에 형성되는 방향벡터가 정해진 뒤, 각 방향벡터끼리의 외적벡터를 산출하여, 버텍스의 방향성을 정할 수 있다.
본 단계에서, 객체가 화면 상에 위치된 거리에 따라 이웃한 질점 중 일부만을 사용하여 한 개의 외적벡터만을 산출하거나, 산출 가능한 모든 외적벡터의 수보다 더 적은 수의 외적벡터만을 산출하는 것이 가능하다.
다음으로, 산출된 외적벡터의 평균벡터를 산출하는 회전값산출단계(S6)가 수행된다.
본 단계에서는, 연산단계(S5)에서 산출된 외적벡터가 복수 개이며, 서로 방향이 일치되지 않은 경우에는, 이들의 평균벡터를 산출하게 된다. 이는, 각 질점의 평균벡터를 통해 정하여 각 본의 가장 정확한 회전값을 정하기 위해서이다.
마지막으로, 평균벡터를 기초하여 본에 회전값을 반영하는 회전값반영단계(S7)가 수행된다.
본 단계에서는, 회전값산출단계(S6)에서 산출된 평균벡터를 각 본에 적용하여 본을 정확한 각도로 회전시킨다. 즉, 각 본의 회전값이 적용되며, 이에 따라 각 폴리곤은 서로 자연스럽게 연결되어, 부드러운 움직임을 사용자에게 제공함으로써, 3D 시뮬레이션의 모든 단계가 완료된다.
이상과 같이 본 발명에 따른 바람직한 실시예를 살펴보았으며, 앞서 설명된 실시예 이외에도 본 발명이 그 취지나 범주에서 벗어남이 없이 다른 특정 형태로 구체화 될 수 있다는 사실은 해당 기술에 통상의 지식을 가진 이들에게는 자명한 것이다. 그러므로, 상술된 실시예는 제한적인 것이 아니라 예시적인 것으로 여겨져야 하고, 이에 따라 본 발명은 상술한 설명에 한정되지 않고 첨부된 청구항의 범주 및 그 동등 범위 내에서 변경될 수도 있다.
Bc: 인체 본 Bf: 의복 본
S1: 기초생성단계 S2: 링크단계
S3: 분석단계 S4: 좌표반영단계
S5: 연산단계 S6: 회전값산출단계
S7: 회전값반영단계

Claims (4)

  1. 유연성을 가지는 객체의 3D 시뮬레이션 방법에 있어서,
    유연성을 가지는 객체에 형성되고, 좌표정보 및 회전값정보를 가지는 복수 개의 본과, 상기 본에 대응되고, 상기 본의 좌표정보만을 가지는 복수 개의 질점을 생성하는 기초생성단계;
    제작된 버텍스의 상대 위치를 상기 본에 링크하는 링크단계;
    상기 객체의 위치가 변경될 경우, 변경된 질점의 좌표정보를 파악하는 분석단계;
    상기 분석단계에서 파악된 상기 질점의 좌표정보를 상기 본에 적용시키는 좌표반영단계;
    상기 질점 및 상기 질점과 이웃한 복수 개의 타 질점에 의해 형성되는 방향벡터의 외적벡터를 산출하는 연산단계; 및
    상기 외적벡터를 기초하여 상기 본에 회전값을 반영하여 회전시키는 회전값반영단계;
    를 포함하는 질점을 사용하는 3D 시뮬레이션 방법.
  2. 제1항에 있어서,
    상기 연산단계 이후에는,
    산출된 외적벡터가 복수 개일 경우, 상기 외적벡터들의 평균벡터를 산출하는 회전값산출단계가 더 포함되는 질점을 사용하는 3D 시뮬레이션 방법.
  3. 제1항에 있어서,
    상기 연산단계는,
    상기 객체가 화면 상의 먼 거리에 위치될 경우, 상기 질점 및 상기 질점과 이웃한 복수 개의 타 질점 중 일부만으로 형성되는 방향벡터를 사용하여 외적벡터를 산출하는 질점을 사용하는 3D 시뮬레이션 방법.
  4. 제1항에 있어서,
    상기 기초생성단계는,
    상기 본 및 상기 질점이 격자구조로 배열되도록 하는 질점을 사용하는 3D 시뮬레이션 방법.
KR1020100026281A 2010-03-24 2010-03-24 질점을 사용하는 3d 시뮬레이션 방법 KR101134534B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100026281A KR101134534B1 (ko) 2010-03-24 2010-03-24 질점을 사용하는 3d 시뮬레이션 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100026281A KR101134534B1 (ko) 2010-03-24 2010-03-24 질점을 사용하는 3d 시뮬레이션 방법

Publications (2)

Publication Number Publication Date
KR20110107102A KR20110107102A (ko) 2011-09-30
KR101134534B1 true KR101134534B1 (ko) 2012-04-13

Family

ID=44956629

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100026281A KR101134534B1 (ko) 2010-03-24 2010-03-24 질점을 사용하는 3d 시뮬레이션 방법

Country Status (1)

Country Link
KR (1) KR101134534B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1074270A (ja) 1996-07-03 1998-03-17 Namco Ltd 3次元ゲーム装置及び情報記憶媒体
KR20030012989A (ko) * 2001-08-06 2003-02-14 김진수 유연한 물체의 시뮬레이션 장치 및 방법과 그 프로그램소스를 저장한 기록매체
KR20040055432A (ko) * 2002-12-21 2004-06-26 한국전자통신연구원 비정형 물체 애니메이션 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1074270A (ja) 1996-07-03 1998-03-17 Namco Ltd 3次元ゲーム装置及び情報記憶媒体
KR20030012989A (ko) * 2001-08-06 2003-02-14 김진수 유연한 물체의 시뮬레이션 장치 및 방법과 그 프로그램소스를 저장한 기록매체
KR20040055432A (ko) * 2002-12-21 2004-06-26 한국전자통신연구원 비정형 물체 애니메이션 방법

Also Published As

Publication number Publication date
KR20110107102A (ko) 2011-09-30

Similar Documents

Publication Publication Date Title
Selle et al. Robust high-resolution cloth using parallelism, history-based collisions, and accurate friction
Magnenat-Thalmann et al. 3d web-based virtual try on of physically simulated clothes
Zurdo et al. Animating wrinkles by example on non-skinned cloth
US8698810B2 (en) Reorienting properties in hair dynamics
US9098944B2 (en) Scale separation in hair dynamics
Magnenat-Thalmann Modeling and simulating bodies and garments
Zeller Cloth simulation on the gpu
US20160093084A1 (en) Subspace clothing simulation using adaptive bases
US11094115B2 (en) Generating clothing patterns of garment using bounding volumes of body parts
US20170221251A1 (en) Animating a virtual object in a virtual world
GB2546814A (en) Animating a virtual object in a virtual world
US10482646B1 (en) Directable cloth animation
KR101134534B1 (ko) 질점을 사용하는 3d 시뮬레이션 방법
Durupınar A 3D garment design and simulation system
Simnett et al. An Edge-based Approach to Adaptively Refining a Mesh for Cloth Deformation.
Wong Modeling and simulation techniques for garments
Taylor et al. Innovative potential of 3D software applications in fashion and textile design
Wan et al. A 4-layer flexible virtual hand model for haptic interaction
Lee et al. Real‐time fur simulation and rendering
Magnenat-Thalmann et al. Adaptive body, motion and cloth
Simnett Real-time simulation and visualisation of cloth using edge-based adaptive meshes
Jiang et al. A survey of cloth simulation and applications
Mahal The application of three-dimensional mass-spring structures in the real-time simulation of sheet materials for computer generated imagery
Vosinakis et al. Design and implementation of synthetic humans for virtual environments and simulation systems
CN116934922A (zh) 基于Unreal引擎的物理动画生成方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170306

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180313

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190403

Year of fee payment: 8