DOI QR코드

DOI QR Code

벡터 내적연산을 이용한 지오메트리 절삭 솔루션

Geometry Cutting Solution using Vector Dot Product

  • 투고 : 2016.07.28
  • 심사 : 2016.08.08
  • 발행 : 2016.08.30

초록

As the visual effect frequently used in movies or animations, special effects are well suited for the creation of buildings or materials' destruction and collapse scenes. With the relevant programs developing technologically, the adoption of a real-time physically based-system makes it possible to realistically express dynamic simulations. In the large scale, the visual expression of such effects of destroying is satisfying enough, but most common programs of those effects fail to maximize visual effect generated with the cutting of small materials. Besides, to perform a heavy simulation process needs high-performance hardware and programs, where high costs would become a serious issue. For this reason, this paper suggests a solution optimized for the effect of small materials-cutting. The progress of each step shows technologies which trace movement with the state of the completion of the character's motions and then cut the material in real-time, finally led to the very realistic visual effect. Besides, using vector inner calculation to follow the motions of object and to realize cutting effect, this study provides an experiment that constructs visual effect for visualization from the basis of mathematical algorithm and it would be certainly as an educational material used for further researches.

키워드

1. 서 론

그래픽 분야에서 많이 사용되는 물리기반 시뮬레이션(Physically Based Simulation)은 컴퓨터 그래픽 관련 기술의 급속한 발전에 따라 영화, 게임 등의 특수효과에서 다양하게 활용되고 있으며[1], 과거에 상상으로만 여겨졌던 여러 가지 물리적 자연현상들도 하드웨어의 발달에 따라 구현이 용이해졌다[2]. 이에 따라 고사양의 연산처리가 요구되는 파괴 및 붕괴효과 등의 비주얼이펙트는 물리엔진의 탑재와 프로그램의 발전에 따라 보다 사실적인 효과를 구현할 수 있게 되었다. 하지만 비주얼 이펙트 관련 프로그램들은 물체의 분할을 선수행한 뒤 물리적 충돌을 계산하여 파괴효과를 구현하기 때문에 사용자가 원하는 최적화된 모션을 만들어내기에 여전히 한계점을 가지고 있다. 정확한 충돌현상을 위한 정교한 물리엔진의 경우는 실시간 계산이 불가능할 정도로 많은 양의 데이터 처리가 동반되며, 간단한 물리엔진의 경우는 정확한 검출이 쉽지 않아 사실적인 콘텐츠 제작에 어려움이 있다[3]. 물리 시뮬레이션이 정확히 진행되기 위해선 막대한 양의 실시간 계산이 이루어져야 하며, 이를 위한 고사양의 작업용 컴퓨터(Work Station), GPU Farm 등이 필요하다. 고사양의 장비가 구축된 대규모 스튜디오가 아닌 이상, 필요 장비를 보유하는데 큰 난점이 있다. 또한 대부분의 폭파 및 파괴효과 시뮬레이션은 초기에 정한 물체의 파괴패턴을 수정하는 것이 매우 어려운데, 김태용 또한 한번 정한 패턴을 바꾸는 것은 힘들다고 지적하고 있다[4].

본 연구에서는 위에서 제시한 문제점에 근거하여 소규모의 파괴효과나 작은 물체를 절삭하며 발생되는 비주얼이펙트를 효과적으로 구현하기 위한 방법을 제시하고자 한다. 순차적인 실험연구 과정을 통해 최종적으로 제안되는 본 솔루션은 벡터(Vector)의 내적연산(Dot Product)을 이용하여 컴퓨터 언어인 파이썬(Python Script)을 통해 구동된다. 크기와 방향을 나타내는 물리량인 벡터와 두 개의 벡터가 이루는 각을 구할 때 사용되는 수학적 개념인 내적을 활용한 본 연구기술은 소규모의 물체 파괴 및 절삭 효과를 실시간으로 구현하는데 최적화되어 있다. 이에 따라, 패턴 수정이 매우 용이하며 고사양의 하드웨어 지원 없이도 수행이 가능한 통합적인 솔루션이다.

연구의 전개는 첫째, 대리 물체(Proxy Object)와 절삭의 대상이 되는 지오메트리(Geometry)와의 각도를 추출하는 기술에 대해 조사하고, 둘째, 추출된 데이터를 기반으로 대리 물체의 매 프레임별 위치값을 추적하며, 셋째, 지오메트리 절삭 과정 수행을 위한 시스템 구축 및 절삭 작업이 완료된 지오메트리의 강체전환 구현에 목적을 둔다. 각 단계별 실험연구를 순차적으로 적용하면서 기술의 우수성을 입증하고 최종적으로 효율성이 극대화된 절삭 비주얼 이펙트 솔루션을 제시한다.

 

2. 연구의 창의성

2.1 관련기술연구

물체가 파괴되거나 부서지는 비주얼이펙트에 관한 연구는 입자(Particle)를 이용한 인스턴스(Instance)기술을 그 시초로 볼 수 있다. 실시간 물리엔진과 관련 프로그램이 현재와 같이 발전되기 이전에는 입자를 이용한 대체기법이 제안되었다. 물체가 부서지면서 파편들 간에 발생하는 충돌(Collision), 속도(Velocity), 각속도(Angular Velocity), 중력(Gravity) 등의 물리적 운동을 위한 속성들을 입자에 부여하여 시뮬레이션한 후, 입자들 각각의 위치에 파편들을 대체하는 식으로 구현되었다. 하지만 외형(Surface)을 가지고 있지 않은 입자를 사용한 방식은 다양하게 부서진 파편들의 실제적인 충돌검출이 이루어지지 않아 사실적인 비주얼이펙트를 표현하기에는 한계를 가지고 있다. 이후, 관련 콘텐츠 기술은 급속하게 발전하였고 물리기반 시뮬레이션을 가능하게 하는 프로그램과 이를 구동하기 위한 고사양의 하드웨어가 계속해서 출시되고 있다.

가장 많이 사용되어지는 일반적인 3D 그래픽 프로그램(Autodesk사의 Maya와 3D Max)에 탑재된 대표적인 물리엔진으로는 Bullet, Havok, PhysX가 있으며 물체 상호간의 사실적인 충돌검출을 통해 강체운동(Dynamic Simulation)의 효과적인 구현을 가능하게 하였다. 하지만 위에서 제시한 Autodesk사의 Maya나 3D Max와 같은 프로그램들은 본래 3D 컴퓨터 그래픽스의 전반적인 과정(Modeling, Shading, Texturing, Rigging, Animation, FX, Lighting, Rendering 등을 의미)을 담당하기 위한 그래픽 패키지(Graphic Package)이며, 각 프로그램에서 제공하는 기본적인 솔루션을 통해 물리기반 시뮬레이션을 효과적으로 진행하기에는 한계가 있기에 Thinkinetic사의 Pulldownit과 RayFire Studios의 RayFire 등의 별도의 플러그인(Plug-in)을 통해 시뮬레이션을 수행한다.

2.2 기존기술의 문제점

Pulldownit이나 RayFire와 같은 프로그램들을 통해 파괴효과(Destruction Effect)를 수행하기 위해선 먼저 파괴하고자 하는 물체의 분할이 이루어져야 하는데, 이를 위해서 보로노이 다이어그램(Voronoi Diagram)을 이용한다. 보로노이 다이어그램은 특정 물체에 부여된 점들의 집합을 통해 각 점들의 경계에 의한 영역을 분할하는 방식이다. 물체를 불규칙(Random)적으로 분할하여 사실적으로 물체를 파괴하거나 부수는 비주얼이펙트를 구현하기 위해 사용된다[5]. 보로노이 다이어그램을 이용하여 부여된 각각의 점들을 기준으로 각 개체를 독립적으로 영역을 나누어준 뒤, 분할된 물체들의 물리적인 충돌과 그에 따른 운동에 따라 사실적인 파괴효과(Destruction Effect)가 구현된다.

상술한 프로그램들은 대규모의 강체 시뮬레이션(Rigid Body Simulation)을 위해 디자인되었으며 건물의 붕괴, 지형의 균열, 지오메트리의 파괴 등의 비주얼이펙트를 구현할 때 수백에서 수만 개에 이르는 파편을 구성하는 개체를 사실적으로 표현하기 위해 사용된다. 하지만 영화나 영상, 애니메이션에서 사용되는 파괴효과(Destruction Effect)는 거대한 건축물의 폭파에서부터 야채나 과일과 같은 작은 물체들의 절삭에 이르기까지 다양하다. 기존 상용 프로그램들은 대규모의 사실적인 파괴효과 구현에는 적합하나 소규모의 물체 파괴효과를 통한 비주얼이펙트에 있어선 최적화 되어있지 않다. 또한 프로그램의 효율적인 사용을 위해서는 사용자의 숙련도가 수반되어져야 하고 파괴의 패턴을 수정이 용이하지 않으며, 효과 구현을 위한 상용 프로그램 및 고사양의 하드웨어 구매가 요구된다. 복잡한 물리 수식 기반의 시뮬레이션을 위해서 많은 수행 시간소요 역시 불가피하다[6]. 이에, 작은 물체를 절삭하거나 파괴하는 장면의 비주얼이펙트를 효율적으로 구현하기 위한 솔루션을 제시하고자 한다.

Fig. 1.Geometry Destruction Simulation using Voronoi Diagram.

Fig. 2.Various Visual Effects. (a) Huge destruction effect, , (b) Small object cutting effect, .

2.3 연구의 창의성

본 연구는 벡터의 내적연산을 통해 절삭도구의 움직임에 따른 물체와의 거리 및 절삭각도를 프레임별로 계산하여 저장한 후, 수집된 데이터를 바탕으로 물체의 절삭시점과 위치를 분석하여 물체의 절삭 과정을 완성하고, 절삭이 이루어진 파편들 사이의 운동에 따른 역학(Dynamics)이 구현되도록 한 비주얼이펙트 솔루션이다. 수학적·물리학인 접근법을 통한 비주얼이펙트의 효과적인 시각화 구현에 초점을 두고 진행하며 연구의 실현을 위하여 Python, C, Expression 등 세 가지 컴퓨터 언어(Computer Language)를 통합적으로 사용하여 실험을 진행한다. 각 단계별 실험연구의 도출된 결과를 순차적으로 실행하기 위한 유저 인터페이스(UI) 구축을 통해 기술의 자동화를 실현하고, 상대적으로 숙련도가 낮은 레벨의 작업자라 할지라도 물체의 절삭 및 파괴 효과 비주얼이펙트를 효과적으로 구현할 수 있는 연구라 사료된다.

 

3. 실험연구의 과정

실험연구는 캐릭터의 움직임(Motion)이 이미 완료된 상태의 데이터를 기반으로 진행하되, 본 연구는 실시간(Real Time) 효과 구현을 목표로 하기 때문에 중간에 움직임이 수정되어도 무방함을 밝혀둔다. 실험의 진행은 3D 모델링으로 제작된 절삭도구로 특정 물체를 절단하는 모션 데이터를 기반으로 연구기술 적용 후, 실제 절삭도구의 움직임에 따라 해당 물체의 절삭이 시뮬레이션 되게 한다. 실험 도구는 3D General Graphic Package로 영화, 애니메이션, 게임 등의 디지털콘텐츠 분야에서 가장 많이 쓰이는 Autodesk사의 Maya를 사용하며, 본 프로그램은 해당 개발사 홈페이지에서 무료로 다운로드가 가능한 소프트웨어이다.

Fig. 3.Getting distance between Proxy Chopper and Target Object. (a) Distance using centroid, (b) Distance for each point of Object, (c) Distance using locators and closest points.

3.1 대리 물체(Proxy Object)와 절삭의 대상이 되는 지오메트리(Geometry)와의 각도를 추출

실험의 진행을 위해 실제 부여된 움직임에 따른 절삭도구(본 실험에서는 Chopper라 규정)와 종속구조 설정에 따라 절삭도구와 동일한 움직임을 지닌 대리물체(본 실험에서는 Proxy Chopper라 규정)를 생성한다. Proxy Chopper는 Chopper를 대리하여 측정·계산을 수행한다. Proxy Chopper와 시뮬레이션에 따라 절단이 이루어질 물체(본 실험에서는 Target Object라 규정)와의 각도 추적을 통해 상호간의 거리 데이터를 추출하는 것이 본 실험단계의 주 연구방향이다.

Proxy Chopper와 Target Object의 3차원적 거리는 실제 절삭이 이루어졌는가를 검출하는 중요한 기준으로 사용되어지기 때문에 정확한 계산이 요구된다. Proxy Chopper와 Target Object의 거리를 추출하는 방법에는 3가지가 있다. 첫 번째는 각각의 중심 좌표 상호간의 거리를 계산하는 방법, 두 번째는 각 도형을 이루는 모든 점마다의 거리를 계산하는 방법, 세 번째는 대표좌표와 최고 근접 점 상호간의 거리를 계산하는 방법이다. 각 방법별 장단점을 비교 분석해가며 실험을 진행하도록 한다. 첫 번째, (a)와 같이 각각의 중심좌표 상호간의 거리를 계산하는 방법의 경우, 3D 좌표계 상에서 특정 물체의 위치를 나타내기 위해 사용되는 것은 센트로이드(Centroid), 즉 기하학적 도형의 중심(中心)이다. X, Y, Z의 3차원 벡터로 표기되며, 각각의 중심좌표의 3차원 벡터 연산을 통해 두 물체 사이의 거리를 계산할 수 있다. 각 물체를 대표하는 중심좌표만의 계산을 통해 거리를 추출하는 방법이기 때문에 계산은 빠르나 정확도는 매우 떨어진다.

두 번째는 각 도형을 이루는 모든 점마다의 거리를 계산하는 방법으로 3D 공간에서 물체를 구성하는 최소 단위인 점을 기준으로 상호간의 거리를 추출하기 때문에 오차가 적고 정확한 결과를 기대할 수 있다. 하지만 (b)에서처럼 도형을 구성하는 모든 점들 상호간의 거리를 계산해야하기 때문에 시간이 오래 걸리고 고성능 하드웨어의 지원 없이는 원활한 시뮬레이션을 진행하기 힘들다는 단점이 있다.

세 번째, (c)와 같이 대표좌표와 최고 근접 점(Closest Point) 상호간의 거리를 계산하는 방법은 물체의 대표좌표를 상정하고 최고 근접 점들과의 3차원 벡터 연산을 통해 두 물체 사이의 거리를 계산하는 방식으로 정확도도 뛰어나며 과중한 연산을 피하면서 시간소요를 줄일 수 있어 그 효율성이 높다고 할 수 있다. 최고 근접 점은 실험도구인 Maya의 Closest point on Mesh, 혹은 Closest point on Surface 등의 내부명령어를 통해 추출이 가능하다. 먼저 Proxy Chopper의 5개의 대표좌표(Top, Bottom, Left, Right, Center)를 지정하고 각 위치를 대리할 Locator를 종속시킨다. 생성된 Top, Bottom, Left, Right and Center Locator와 각 Locator들과 Target Object 상 가장 가까운 위치에 있는 최고 근접 점 하나씩을 추출하여 계산을 수행한다. 다섯 개의 대표좌표를 상정한 근거는 절삭이 이루어진 후 Chopper가 다시 원래의 위치로 복귀하는 경우, 절삭을 수행한 Chopper가 그 위치에 머무를 경우, 절삭과 동시에 Chopper가 진행 방향으로 계속 운동할 경우를 모두 포함하여 실험과정에서 계산 상 발생되어질 수 오류를 미연에 방지하고자 한다.

상술한대로 가장 효율성이 뛰어난 세 번째 방법을 통해 실험을 진행하되, 필요한 거리 값을 추출하는데 있어서 공정의 최적화를 위하여 수학의 벡터 내적연산(Vector Dot product)을 이용하여 실험을 진행한다. Proxy Chopper 상의 다섯 개의 대표좌표와 Target Object로의 각각의 최고 근접 점과의 거리에 대한 계속적인 추적을 통해 실제 절삭시점을 추출할 수도 있으나 필요한 계산을 최소화함으로써 효율성을 더욱 높이기 위해 벡터 내적연산을 이용한 Proxy Chopper와 Target Object의 충돌검출을 통해 실제 절삭시점을 추출하기로 한다. 임의의 두 벡터 A, B 사이의 각도를 구하는 내적연산 A·B의 결과는 방향이 없이 크기만 있는 물리량인 스칼라(Scalar) 값이 나온다. 삼차원 벡터 내적연산에 따른 두 벡터 사이의 각도는 이를 θ라 할 때, 다음과 같이 정의된다.

Table 1에서 제시한 벡터 내적연산 결과에 따라 Proxy Chopper와 Target Object의 충돌검출을 통해 Chopper의 절삭이 발생한 시작시점과 완료시점 데이터의 추출이 가능하다.

Table 1.Results of Dot Product

3.2 추출된 데이터를 기반으로 대리물체(Proxy Chopper)의 매 프레임별 위치 값을 추적

상술한 실험과정의 Proxy Chopper와 Target Object의 각도 데이터를 기반으로 절삭이 발생한 프레임 번호를 추출함으로써 실제 지오메트리 절삭효과 수행을 위한 시스템 구축의 필요정보를 수집하는 것을 본 실험단계의 목적으로 한다. Proxy Chopper의 Target Object에 대한 절삭(본 연구에서는 절삭의 시작과 진행, 완료 프레임을 의미)발생은 첫째, Proxy Chopper 상의 다섯 개의 대표좌표와 Target Object의 각각의 최고 근접 점과의 벡터 내적연산에 의한 각도 값 검출과 둘째, Proxy Chopper에서 중심 좌표를 제외한 네 개의 대표좌표 상호간의 법선 벡터(Normal Vector) 내적연산에 의한 각도 값 검출을 통해 규정된다.

Fig. 4.Experiment process for cutting point sampling. (a) Doing vector dot product calculation between vector from Top Locater to Center Locator and vector from Top Locater to closest point on mesh. (b) Same process applies to Bottom, Left and Right Locators. (c) Getting normal vector from closest point on mesh to each Locator.

실험진행의 과정은 다음과 같다. 먼저 Top Locator부터 Center Locator로의 벡터와 Top Locator부터 Target Object의 최고 근접 점으로의 벡터를 계산한 후, 이 두 벡터의 내적연산을 수행한다. 이 과정을 Bottom Locator, Left Locator, Right Locator에도 각각 동일하게 적용하면 총 4개의 내적연산 결과를 추출할 수 있다. 이 결과 값들에 대한 곱셈(Multiply)을 수행한다. 그 결과가 양수이면 Proxy Chopper의 Target Object에 대한 절삭이 시작되었다는 것을 의미하고, 결과가 음수이면 Proxy Chopper의 Target Object에 대한 절삭이 시작되지 않았음을 의미한다. 하지만 실험을 통해, 본 과정만 적용해서는 Proxy Chopper가 Target Object에 대한 절삭이 일정 깊이 이상 진행되면 결과가 다시 음수 값이 나오는 오류가 발생됨을 확인하였다.

Fig. 5.Flowchart for cutting point sampling.

이에 실험의 정확도를 높이고자 하나의 조건(Condition)을 더 부여한다. Target Object의 각각의 최고 근접 점으로부터 Top Locator, Bottom Locator, Left Locator, Right Locator로의 법선 벡터를 계산한다. Top Locator와 Bottom Locator의 법선 벡터 내적연산을 수행하고 Left Locator와 Right Locator의 법선 벡터 내적연산을 수행하여 두 결과 값이 동일하게 음수이면 Proxy Chopper의 Target Object에 대한 절삭이 진행되고 있음을 의미한다. 상술한 두 개의 검출을 바탕으로 해당 프레임에서 Proxy Chopper의 Target Object에 대한 프레임별 위치 값 추적을 통해 절삭 진행여부를 확인할 수 있다. 절삭과정에서 중간에 절삭도구의 움직임이 멈추거나 뒤로 빠지는 경우는 절삭이 이루어지지 않았다고 상정하고 실험을 진행함을 명시한다.

3.3 지오메트리 절삭 과정 수행을 위한 시스템 구축 및 강체전환

본 실험단계에서는 이전까지의 실험진행을 통해 추출된 Proxy Chopper의 Target Object에 대한 절삭시점 데이터를 이용하여 실제적인 지오메트리 절삭효과 과정을 수행한다. 실험을 진행하기에 앞서 추출된 데이터를 분류(Sort)할 필요가 있는데, 이는 절삭의 과정이 단일 프레임이 아닌 연속적인 동작을 통해 발생하기 때문이다. 예를 들어 Target Object에 대한 Proxy Chopper의 절삭이 수차례 이루어졌을 경우, 첫 번째 절삭이 25-28 Frame에서, 두 번째 절삭이 41-46 Frame에서 진행되었다고 가정해보자. 첫 번째 절삭이 진행된 프레임을 모두 더한 다음 해당 프레임 횟수로 나눠준다. 결과 값의 정수(Integer)형태로의 재 정렬을 위하여 올림(Rounding Up)을 거쳐 최종적으로 절삭이 발생되는 중간 프레임(본 실험에서는 Frame Num이라 규정)을 저장한다. 절삭이 발생한 모든 구간에서 동일한 과정을 반복한다.

Table 2.Sampling process for cutting frame

상술한 과정을 통해 발생된 모든 절삭발생의 Frame Num을 추출한 후, 각 Frame Num마다 해당 위치에서 Proxy Chopper의 복제를 수행한다. 각 Frame Num마다 복제된 Proxy Chopper(본 실험에서는 Cloned Chopper라 규정)를 기준으로 Target Object의 절단을 진행하는데, 실험도구로는 Autodesk사의 Maya에 탑재된 Booleans 기능을 사용한다. Booleans은 두 개의 겹쳐진 Object를 서로 합치거나(Union), 빼거나(Difference), 공통부분을 남기거나(Intersection) 할 때 사용되어지는 3D 모델링을 위한 기능이지만, 본 실험과정에서는 Booleans의 특성을 활용하여 Cloned Chopper를 기준으로 Target Object로부터 잘린 조각별로 분리하는 실험을 진행한다. Booleans 기능의 한계 상 복잡한 지오메트리 적용 시 오류가 발생할 가능성을 배제할 수 없지만, 본 연구는 복잡한 형태의 아닌 단순한 물체의 효율적인 절삭 비주얼이펙트 구현에 목적이 있다. 실험의 과정은 첫 번째 Cloned Chopper를 이용하여 Target Object로부터 분리되는 조각을 생성하고, 이를 반복 수행한다.

Fig. 6.Target Object cutting process using Maya Booleans.

각각의 조각별로 분리된 Target Object(본 실험에서는 Chopped Object라 규정)가 실제적인 물리기반 시뮬레이션 안에서 운동할 수 있도록 강체(Rigid Body)로 전환하는 과정이 필요하다. 컴퓨터 그래픽스에서 물체가 파괴 또는 절삭된 후 파편들의 실제적인 충돌(Collision)을 구현하는 비주얼이펙트 기술은 결과물의 사실성을 부여하여 완성도를 높이는데 일조한다. 정확한 충돌검사는 물리적으로 사실적인 느낌을 부여하는 신뢰성에 입각한 시뮬레이션 구현을 가능하게 한다[7]. Chopped Object의 강체전환을 진행하되 일괄적으로 한 번에 전환되는 것이 아닌 절삭된 순서에 맞게 순차적으로 전환과정이 진행됨으로서 보다 사실적인 시뮬레이션이 이루어지게 한다. 실험의 진행은 실험도구인 Maya 내에 있는 강체 시스템(Rigid Body System)을 활용한다. 본 연구는 최적화된 공정을 통해 물체의 절삭을 효율적으로 구현하는데 목적을 두고 있으므로 그 외에 효과의 사실성을 높이기 위한 방법은 기존에 구축되어있는 시스템을 이용하되 강체에 적용되는 중력(Gravity), 항력(Drag), 난기류(Turbulence), 마찰(Friction), 탄성(Resilience) 등의 물리적 속성은 별도의 매개변수(Parameter)로 분리 지정하여 독립적인 제어가 가능하도록 한다.

Fig. 7.Conversion for Rigid Body based on chopper's motion.

Fig. 8.Experimental Study process.

3.4 연구의 결과 및 적용가능성

상술된 실험연구 과정을 통해 동작구성이 완료된 절삭도구의 움직임을 추적하여 동일한 움직임을 가진 Proxy Chopper를 생성, Target Object와의 벡터 내적연산을 통한 매 프레임마다의 거리를 산출하고 절삭이 발생한 시점에서의 Frame Num을 추출하여 실제적인 Target Object 절삭과정을 수행하며 Chopped Object의 강체전환을 절삭도구의 움직임에 맞게 진행하여 사실적인 지오메트리 절삭 비주얼 이펙트를 구현하였다.

또한 본 연구와 관련하여 제시된 기술은 미국의 샌프란시스코에서 2011년에 개최된 AAU Spring Show에 출품된 ‘Cutting Machine'에 일부 적용되어 대상을 수상함으로써 연구의 우수성과 기술의 실효성을 입증한 바 있음을 명시한다.

Fig. 9.Example of technology application. (Winning the grand prize. Dynamic and Particle filed from 2011 Annual Spring Show. AAU), .

 

4. 결론 및 제언

본 연구는 순차적인 실험과정을 거쳐 결과로서 제시하는 기술적인 솔루션을 통해 고가의 프로그램이나 하드웨어 장비의 구축 없이 효율적으로 물체의 절삭 및 파괴효과 비주얼이펙트에 관한 것이다. 상용화된 프로그램으로는 대규모의 사실적인 파괴 장면을 표현하기에는 적합하나 작은 물체를 연속적으로 절삭하는 시각적 효과를 표현하는데 있어서는 최적화되어 있지 않으며 패턴 수정이 용이하지 않고 작업자의 숙련도에 따라 상이한 결과물을 양산한다는 단점이 있다. 이에, 사실적인 물체의 절삭 및 파괴 비주얼이펙트를 효과적으로 표현 가능토록 하되 패턴수정의 자율성과 사용 편의성에 주안점을 둔 실험연구를 진행하였다. 절삭도구의 움직임을 추적하여 동일한 움직임을 가지는 Proxy Chopper를 통해 Target Object와의 벡터 내적연산을 수행하고, 추출된 거리 값을 기반으로 절삭시점을 계산하여 실제적인 지오메트리 절삭과 함께 파편들의 물리적 충돌까지 시뮬레이션이 가능한 통합적인 자동화 솔루션을 제시한다. 이를 통해 소규모 스튜디오나 교육기관에서도 완성도 높은 관련 비주얼이펙트를 효율적으로 구현할 수 있는 가능성을 열어 놓았으며 벡터의 내적연산이라는 수학적인 개념을 활용하여 비주얼적인 결과물을 완성하기까지의 과정을 직관적으로 제시한 본 연구는 실무적 활용이 가능한 교육 자료로서의 가치가 있다 하겠다.

참고문헌

  1. T.Y. Kim, "Recent Advances and Trends in Real-Time Physics Simulation Techniques," Journal of Communications of the Korea Information Science Society, Vol. 31, No. 11, pp. 39-45, 2013.
  2. S.U. Lee, "A Particle Method in Physically-based for splash Simulation," Journal of Korean Society For Computer Game, Vol. 28, No. 1, pp. 43-50, 2015.
  3. J.W. Na, S.G. Kim, K.H. Kim, J.W. Kim, Y.H. Jang, and J.W. Jung, "Bullet Physics Engine-based Collision Simulator for Reality Contents," Proceedings of KIIS Fall Conference of Korean Institute of Intelligent Systems, Vol. 22, No. 2, pp. 265-266, 2012.
  4. T.Y. Kim, "Recent Advances and Trends in Real-Time Physics Simulation Techniques," Journal of Communications of the Korea Information Science Society, Vol. 31, No. 11, pp. 39-45, 2013.
  5. S.Y. Kang, A Study of Morphological Design Possibilities Using the Voronoi Diagram, Master's Thesis of Inha University of Architectural Engineering Department, 2008.
  6. E.J. Kim, "Interactive Simulation between Rigid body and Fluid using Simplified Fluid-Surface Model," Journal of Korea Multimedia Society, Vol. 12, No. 2, pp. 323-328, 2009.
  7. M.S. Bae and Y.J. Kim, "Recent Advances and Trends in Real-Time Physics Simulation Techniques," Journal of Communications of the Korea Information Science Society, Vol. 31, No. 11, pp. 46-52, 2013.