KR20190028634A - 디지털 크리쳐의 제작 방법 및 전자장치 - Google Patents

디지털 크리쳐의 제작 방법 및 전자장치 Download PDF

Info

Publication number
KR20190028634A
KR20190028634A KR1020180107147A KR20180107147A KR20190028634A KR 20190028634 A KR20190028634 A KR 20190028634A KR 1020180107147 A KR1020180107147 A KR 1020180107147A KR 20180107147 A KR20180107147 A KR 20180107147A KR 20190028634 A KR20190028634 A KR 20190028634A
Authority
KR
South Korea
Prior art keywords
mesh
mesh structure
deformer
structure forming
deformers
Prior art date
Application number
KR1020180107147A
Other languages
English (en)
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 주식회사 디지털아이디어
Publication of KR20190028634A publication Critical patent/KR20190028634A/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
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Landscapes

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

Abstract

본 발명은 디지털 크리쳐의 제작 방법 및 전자장치에 관한 것으로, 디지털 크리쳐를 제작하기 위한 오브젝트를 선택하는 단계, 오브젝트에 복수의 메쉬 디포머를 선택적으로 적용하는 단계 및 메쉬 디포머가 적용된 오브젝트를 결합하여 디지털 크리쳐를 제작하는 단계를 포함할 수 있고, 다른 실시 예로도 적용이 가능하다.

Description

디지털 크리쳐의 제작 방법 및 전자장치{Method and Electronic Apparatus for Producing of Digital Creature}
본 발명은 디지털 크리쳐의 제작 방법 및 전자장치에 관한 것으로, 선택된 오브젝트에 복수의 메쉬 디포머(mesh deformer)를 적용하여 디지털 크리쳐를 제작하는 디지털 크리쳐의 제작 방법 및 전자장치에 관한 것이다.
현재에는 영상에 시각적인 특수효과(visual effects; VFX)를 제공하기 위해서 물리 시뮬레이션을 이용한 이미지 연산을 통해 컴퓨터 그래픽 영상을 제작한다. 컴퓨터 그래픽 영상 중에서 특히 사람, 동물 등의 생물체가 실재하는 것처럼 표현하여 디지털 크리쳐를 제작하는 것은 고난이도의 기술 및 많은 비용이 필요한 작업이다.
이러한 디지털 크리쳐를 제작하기 위해서는 디지털 크리쳐의 움직임을 생성하는 애니메이션, 애니메이션에 기반하여 생물체의 움직임에 따른 몸체 변형 및 털 등의 움직임을 연산하는 시뮬레이션 및 애니메이션과 시뮬레이션을 통해 획득된 결과물로 디지털 크리쳐를 생성하는 렌더링 작업이 필요하다. 이때, 시뮬레이션 작업은 미리 정해진 수학 모델에 기반하여 디지털 크리쳐의 움직임을 자동으로 연산하는 방식을 채택한다. 현재는 FEM(finite element method) 시뮬레이션 기법을 이용하는데, 이는 연산량이 많고 시간이 오래 걸리는 문제점이 발생한다.
이러한 종래의 문제점을 해결하기 위한 본 발명의 다양한 실시 예들은 선택된 오브젝트에 복수의 메쉬 디포머를 선택적으로 적용하여 디지털 크리쳐를 제작하는 디지털 크리쳐 제작 방법 및 전자장치를 제공하는 것이다.
또한, 본 발명의 다양한 실시 예들은 복수의 메쉬 디포머의 적용결과를 결합하여 확인할 수 있고, 수정요청 발생 시 수정이 요청된 부분에 대한 메쉬 디포머 연산만 분리하여 수정하는 디지털 크리쳐 제작 방법 및 전자장치를 제공하는 것이다.
본 발명의 일 실시 예에 따른 디지털 크리쳐의 제작 방법은, 디지털 크리쳐를 제작하기 위한 오브젝트를 선택하는 단계, 상기 오브젝트에 복수의 메쉬 디포머를 선택적으로 적용하는 단계 및 상기 메쉬 디포머가 적용된 오브젝트를 결합하여 상기 디지털 크리쳐를 제작하는 단계를 포함하는 것을 특징으로 한다.
또한, 복수의 메쉬 디포머를 선택적으로 적용하는 단계는, 메쉬 구조로 형성된 뼈대, 근육, 근막, 피부 및 털을 포함하여 구성된 상기 오브젝트에서 상기 뼈대에 움직임을 적용하는 단계 및 상기 움직임을 기반으로 상기 오브젝트에 콜리젼디포머, 지글디포머, 랩디포머, 슬라이딩디포머 및 링클디포머를 포함하는 상기 복수의 메쉬 디포머를 선택적으로 적용하는 단계를 포함하는 것을 특징으로 한다.
또한, 콜리젼디포머는, 상기 근육을 형성하는 메쉬 구조를 구와 실린더로 정의하고 상기 움직임에 따른 상기 근육을 형성하는 메쉬 구조의 변형으로 상기 근육을 형성하는 메쉬 구조의 충돌 여부를 확인하는 것을 특징으로 한다.
또한, 콜리젼디포머는, 상기 근육을 형성하는 메쉬 구조를 팔진 트리 형태로 정의하고 상기 움직임에 따라 상기 근육을 형성하는 메쉬 구조의 변형을 기반으로 상기 근육을 형성하는 메쉬 구조의 충돌 여부를 확인하는 것을 특징으로 한다.
또한, 지글디포머는, 상기 움직임에 따라 변형되는 상기 근육을 형성하는 메쉬 구조를 기반으로 변형 속성 및 모양을 연산하는 것을 특징으로 한다.
또한, 랩디포머는, 상기 움직임에 따라 변형되는 상기 근막을 형성하는 메쉬 구조를 상기 근막을 형성하는 메쉬 구조보다 조밀하게 형성된 상기 피부를 형성하는 메쉬 구조에 적용하는 것을 특징으로 한다.
또한, 슬라이딩디포머는, 일정한 기준점에서 다수의 광선을 쏘아 상기 광선이 상기 피부를 형성하는 메쉬 구조에 충돌하는 지점을 연산하는 것을 특징으로 한다.
또한, 링클디포머는, 상기 피부를 형성하는 메쉬 구조를 기반으로 주름 맵을 생성하고, 상기 주름 맵을 기반으로 상기 움직임에 따라 상기 피부를 형성하는 메쉬 구조의 변형을 연산하는 것을 특징으로 한다.
또한, 디지털 크리쳐를 제작하는 단계는, 상기 복수의 메쉬 디포머가 선택적으로 적용된 적용 오브젝트를 선형 결합하여 상기 디지털 크리쳐로 제작하는 단계인 것을 특징으로 한다.
또한, 제작된 디지털 크리쳐에 대한 수정 요청을 수신하는 단계, 상기 복수의 메쉬 디포머 중에서 상기 수정 요청에 대응되는 메쉬 디포머를 확인하는 단계, 상기 확인된 메쉬 디포머를 상기 오브젝트에 재적용하는 단계 및 상기 재적용된 결과를 이용하여 상기 디지털 크리쳐를 재제작하는 단계를 더 포함하는 것을 특징으로 한다.
아울러, 본 발명의 일 실시 예에 따른 디지털 크리쳐를 제작하는 전자장치는, 디지털 크리쳐를 제작하기 위한 오브젝트를 제공하는 장치와 통신을 수행하는 통신부 및 상기 오브젝트에 복수의 메쉬 디포머를 선택적으로 적용하고, 상기 메쉬 디포머가 적용된 오브젝트를 결합하여 상기 디지털 크리쳐를 제작하는 제어부를 포함하는 것을 특징으로 한다.
또한, 제어부는, 메쉬 구조로 형성된 뼈대, 근육, 근막, 피부 및 털을 포함하여 구성된 상기 오브젝트에서 상기 뼈대에 움직임을 적용하고, 상기 움직임을 기반으로 상기 오브젝트에 콜리젼디포머, 지글디포머, 랩디포머, 슬라이딩디포머 및 링클디포머를 포함하는 상기 복수의 메쉬 디포머를 선택적으로 적용하는 것을 특징으로 한다.
또한, 콜리젼디포머는, 상기 근육을 형성하는 메쉬 구조를 구와 실린더로 정의하고 상기 움직임에 따른 상기 근육을 형성하는 메쉬 구조의 변형으로 상기 근육을 형성하는 메쉬 구조의 충돌 여부를 확인하는 것을 특징으로 한다.
또한, 콜리젼디포머는, 상기 근육을 형성하는 메쉬 구조를 팔진 트리 형태로 정의하고 상기 움직임에 따라 상기 근육을 형성하는 메쉬 구조의 변형을 기반으로 상기 근육을 형성하는 메쉬 구조의 충돌 여부를 확인하는 것을 특징으로 한다.
또한, 지글디포머는, 상기 움직임에 따라 변형되는 상기 근육을 형성하는 메쉬 구조를 기반으로 변형 속성 및 모양을 연산하는 것을 특징으로 한다.
또한, 랩디포머는, 상기 움직임에 따라 변형되는 상기 근막을 형성하는 메쉬 구조를 상기 근막을 형성하는 메쉬 구조보다 조밀하게 형성된 상기 피부를 형성하는 메쉬 구조에 적용하는 것을 특징으로 한다.
또한, 슬라이딩디포머는, 일정한 기준점에서 다수의 광선을 쏘아 상기 광선이 상기 피부를 형성하는 메쉬 구조에 충돌하는 지점을 연산하는 것을 특징으로 한다.
또한, 링클디포머는, 상기 피부를 형성하는 메쉬 구조를 기반으로 주름 맵을 생성하고, 상기 주름 맵을 기반으로 상기 움직임에 따라 상기 피부를 형성하는 메쉬 구조의 변형을 연산하는 것을 특징으로 한다.
또한, 제어부는, 상기 복수의 메쉬 디포머가 선택적으로 적용된 적용 오브젝트를 선형 결합하여 상기 디지털 크리쳐로 제작하는 것을 특징으로 한다.
또한, 제어부는, 상기 제작된 디지털 크리쳐에 대한 수정 요청이 수신되면, 상기 복수의 메쉬 디포머 중에서 상기 수정 요청에 대응되는 메쉬 디포머를 확인하고, 상기 확인된 메쉬 디포머를 상기 오브젝트에 재적용하여 상기 디지털 크리쳐를 재제작하는 것을 특징으로 한다.
상술한 바와 같이 본 발명의 디지털 크리쳐의 제작 방법 및 전자장치는, 선택된 오브젝트에 복수의 메쉬 디포머를 선택적으로 적용함으로써, 높은 사양의 컴퓨터 인프라 요구 및 시뮬레이션 연산 시간을 최소화하여 디지털 크리쳐를 제작할 수 있는 효과가 있다.
또한, 본 발명의 디지털 크리쳐의 제작 방법 및 전자장치는, 복수의 메쉬 디포머의 적용결과를 결합하여 확인할 수 있고, 수정요청 발생 시 수정이 요청된 부분에 대한 메쉬 디포머 연산만 분리하여 수정함으로써, 보다 빠르고 쉽게 수정을 수행할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 디지털 크리쳐를 제작하는 전자장치의 주요 구성을 나타내는 도면이다.
도 2는 본 발명의 실시 예에 따른 디지털 크리쳐를 제작하는 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 실시 예에 따른 디지털 크리쳐를 제작하기 위해 메쉬 디포머를 적용하는 방법을 설명하기 위한 상세순서도이다.
도 4는 본 발명의 실시 예에 따른 입체도형의 충돌여부 연산을 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예들을 보다 상세하게 설명하고자 한다. 이 때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 그리고 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
도 1은 본 발명의 실시 예에 따른 디지털 크리쳐를 제작하는 전자장치의 주요 구성을 나타내는 도면이다.
도 1을 참조하면, 본 발명에 따른 전자장치(100)는 통신부(110), 입력부(120), 표시부(130), 메모리(140) 및 제어부(150)를 포함한다.
통신부(110)는 전자장치(100)의 외부에 구비된 외부 장치(미도시)와의 통신을 수행한다. 외부 장치는 전자장치(100)에서 요청한 오브젝트의 뼈대, 근육, 근막, 피부 및 털 등의 요소를 저장하여 전자장치(100)로 제공하는 데이터베이스, 서버 등의 장치이다. 이때, 오브젝트는 말, 토끼, 사람 등의 오브젝트로, 전자장치(100)가 디지털 크리쳐로 제작하기 위한 생물체를 의미한다. 이를 위해, 통신부(110)는 유선 또는 무선 통신 중 적어도 하나를 수행할 수 있다. 통신부(110)는 5G(5th generation), LTE(long term evolution), LTE-A(long term evolution-advanced), WiFi(wireless fidelity) 등의 무선 통신 및 USB(universal serial bus) Cable 등의 유선 통신을 수행할 수 있다.
입력부(120)는 전자장치(100)의 사용자 입력에 대응하여, 입력데이터를 발생시킨다. 입력부(120)는 적어도 하나의 입력수단을 포함한다. 이러한 입력부(120)는 키 패드(key pad), 돔 스위치(dome switch), 터치 패널(touch panel), 조그 셔틀(jog and shuttle), 터치 키(touch key) 중 적어도 하나를 포함한다.
표시부(130)는 표시데이터를 출력한다. 예를 들면, 액정 디스플레이(LCD; liquid crystal display), 발광 다이오드(LED; light emitting diode) 디스플레이, 유기 발광 다이오드(OLED; organic LED) 디스플레이 등을 포함할 수 있다. 표시부(130)는 다수개의 발광 소자들을 포함할 수 있다. 표시부(130)는 입력부(120)와 결합되어 터치 스크린(touch screen)으로 구현될 수 있다.
메모리(140)는 전자장치(100)를 동작시키기 위한 프로그램들을 저장할 수 있다. 메모리(140)는 오브젝트를 디지털 크리쳐로 제작하기 위한 복수의 메쉬 디포머(mesh deformer) 알고리즘(이하, 메쉬 디포머로 통칭함)을 저장한다. 이때, 메쉬 디포머 알고리즘은 콜리젼디포머(collision deformer), 지글디포머(jiggle deformer), 랩디포머(wrap deformer), 슬라이딩디포머(sliding deformer) 및 링클디포머(wrinkle deformer)를 포함한다. 아울러, 메모리(140)는 각각의 메쉬 디포머 중 적어도 두 개의 메쉬 디포머를 적용하여 도출된 오브젝트를 결합하기 위한 믹스 알고리즘을 저장한다.
제어부(150)는 입력부(120)에서 선택되어 외부장치로부터 수신된 오브젝트에 복수의 메쉬 디포머를 선택적으로 적용한다. 제어부(150)는 메쉬 디포머가 적용된 오브젝트를 믹스 알고리즘에 적용하여 디지털 크리쳐를 제작한다.
보다 구체적으로, 제어부(150)는 입력부(120)로부터 디지털 크리쳐를 제작하기 위한 제작신호에 따라 외부장치로부터 디지털 크리쳐로 제작할 오브젝트를 호출한다. 이때, 오브젝트는 말, 토끼, 사람 등의 생물체를 의미하며, 생물체의 해부학적 구조에 기반하여 뼈대, 근육, 근막, 피부, 털 등의 요소를 포함한다. 아울러, 각각의 요소들은 폴리곤 형태로 연결된 3D메쉬 구조로 형성되고, 오브젝트는 각각의 요소들을 형성하는 3D 메쉬 구조가 결합되어 하나의 3D 메쉬 구조로 형성될 수 있다.
제어부(150)는 입력부(120)의 입력에 따라 오브젝트에 복수의 메쉬 디포머를 선택적으로 적용한다. 이때, 복수의 메쉬 디포머는 콜리젼디포머, 지글디포머, 랩디포머, 슬라이딩디포머 및 링클디포머를 포함한다.
콜리젼디포머는, 오브젝트에 적용한 움직임에 의해 3D메쉬 구조가 충돌할 때의 변형을 연산하는 알고리즘을 의미한다. 즉, 입력부(120)의 입력에 의해 폴리곤 형태로 연결되어 3D메쉬 구조로 형성된 뼈대에 움직임을 적용하면, 뼈대의 움직임에 의해 폴리곤 형태로 연결되어 3D메쉬 구조로 형성된 근육의 움직임이 변형된다. 콜리젼디포머는 근육의 움직임에 의해 3D메쉬 구조가 충돌할 때의 변형을 연산한다. 이를 위해, 제어부(150)는 근육을 형성하는 3D메쉬 구조를 구(sphere)와 실린더(cylinder)의 조합으로 구성된 입체도형인 캡슐 형태로 정의하고, 원과 직선 사이의 거리를 구하는 공식을 기반으로 움직임에 의해 발생되는 입체도형의 충돌여부를 연산할 수 있다. 또한, 제어부(150)는 근육을 형성하는 3D메쉬 구조를 갖는 메쉬 데이터를 팔진 트리(Octree) 형태로 정의한다. 특히, 제어부(150)는 메쉬 데이터를 팔진 트리의 형태인 복수의 복셀(Voxel) 형태의 데이터 구조로 정의하여 부정형(general shape)에 대한 메쉬 충돌여부를 연산할 수 있다.
지글디포머는, 오브젝트에 움직임이 발생했을 때 충돌에 의해 발생된 근육의 미세한 진동 즉, 콜리젼디포머에 의해 변형된 근육을 형성하는 3D메쉬 구조가 다시 원래 모양대로 복원될 때 발생되는 떨림(jiggle)의 연산을 수행하는 알고리즘을 의미한다. 따라서, 제어부(150)는 지글디포머를 근육, 근막 및 피부를 형성하는 3D메쉬 구조에 적용하여 뼈대에 적용한 움직임에 대응되는 미세한 진동을 근육 및 피부에 표현할 수 있다.
랩디포머는, 움직임에 따라 변형되는 근막에 대한 3D메쉬 구조를 근막에 대한 3D메쉬 구조보다 조밀하게 형성된 피부에 대한 3D메쉬 구조에 적용하기 위한 알고리즘을 의미한다. 이를 위해, 제어부(150)는 무게중심 좌표계(barycentric coordinate)를 활용하여 서로 다른 해상도 즉, 근막에 대한 3D메쉬 구조와 피부에 대한 3D메쉬 구조를 형성하는 폴리곤의 상관관계를 이용하여 근막에 발생된 변형이 피부에 적용될 수 있도록 한다.
슬라이딩디포머는 오브젝트의 피부 곡면 상태를 유지하면서 오브젝트에 적용한 움직임에 따라 변형되도록 하는 알고리즘을 의미한다. 따라서, 제어부(150)는 슬라이딩디포머를 피부를 형성하는 3D메쉬 구조에 적용하여 뼈대에 적용한 움직임에 따라 피부 곡면 상태의 변형을 표현할 수 있다.
링클디포머는 피부의 접히는 부위, 착용 중인 의복 등에 의해 표현되는 주름을 표현하기 위한 알고리즘을 의미한다. 이를 위해, 제어부(150)는 관절에 의해 접히는 부분, 슬라이딩 이펙트에 의해 밀려나간 부분 등에 주름을 형성한다. 따라서, 제어부(150)는 링클디포머를 피부를 형성하는 3D메쉬 구조에 적용하여 뼈대에 적용한 움직임에 따라 피부 주름 상태의 변형을 표현할 수 있다.
제어부(150)는 복수의 메쉬 디포머를 선택적으로 적용한 적용 오브젝트를 결합하고, 렌더링을 수행하여 최종적으로 디지털 크리쳐를 제작 및 저장한다. 제어부(150)는 적용 오브젝트를 결합하기 위해 각각의 적용 오브젝트를 믹스 알고리즘에 적용한다. 제어부(150)는 믹스 알고리즘을 적용하여 결합된 결합 오브젝트에 수정요청이 발생되면, 수정요청에 대응되는 메쉬 디포머를 확인한다. 예컨대, 제어부(150)는 수정요청에 대응되는 메쉬 디포머가 콜리젼디포머이면, 오브젝트를 콜리젼디포머에 재적용할 수 있다. 제어부(150)는 수정요청에 대응되는 메쉬 디포머에 오브젝트를 적용하여 수정이 완료된 것으로 확인되면 제어부(150)는 믹스 알고리즘에 의해 각각의 적용 오브젝트를 재결합한다. 제어부(150)는 재결합 오브젝트를 렌더링하여 디지털 크리쳐의 제작을 완료하고, 제작이 완료된 디지털 크리쳐를 메모리(140)에 저장한다.
도 2는 본 발명의 실시 예에 따른 디지털 크리쳐를 제작하는 방법을 설명하기 위한 순서도이다.
도 2를 참조하면, 201단계에서 제어부(150)는 입력부(120)로부터 디지털 크리쳐를 제작하기 위한 제작신호가 수신되면 203단계를 수행하고, 제작신호가 수신되지 않으면 제작신호의 수신을 대기한다. 203단계에서 제어부(150)는 제작신호를 기반으로 디지털 크리쳐로 제작할 오브젝트를 외부장치로부터 호출하여 표시부(130)에 표시한다. 이때, 오브젝트는, 말, 토끼, 사람 등의 오브젝트로 전자장치(100)가 디지털 크리쳐로 제작하기 위한 생물체를 의미하며, 생물체의 해부학적 구조에 기반하여 뼈대, 근육, 근막, 피부, 털 등의 요소를 포함한다. 아울러, 각각의 요소들은 폴리곤 형태로 연결된 3D메쉬 구조로 형성되고, 오브젝트는 각각의 요소들을 형성하는 3D 메쉬 구조가 결합되어 하나의 3D 메쉬 구조로 형성될 수 있다.
205단계에서 제어부(150)는 오브젝트에 복수의 메쉬 디포머를 선택적으로 적용하고, 207단계를 수행한다. 복수의 메쉬 디포머를 적용하는 방법은 하기의 도 3을 이용하여 상세하게 설명하기로 한다. 도 3은 본 발명의 실시 예에 따른 디지털 크리쳐를 제작하기 위해 메쉬 디포머를 적용하는 방법을 설명하기 위한 상세순서도이다.
도 3을 참조하면, 301단계에서 제어부(150)는 도 2의 203단계에서 호출된 오브젝트에 콜리젼디포머를 적용한다. 보다 구체적으로, 콜리젼디포머는 오브젝트에 적용한 움직임에 의해 3D메쉬 구조가 충돌할 때의 변형을 연산하는 알고리즘을 의미한다. 즉, 폴리곤 형태로 연결되어 3D메쉬 구조로 형성된 뼈대에 움직임을 적용하면, 뼈대의 움직임에 의해 폴리곤 형태로 연결되어 3D메쉬 구조로 형성된 근육의 움직임이 변형된다. 따라서, 콜리젼디포머는 근육의 움직임에 의해 3D메쉬 구조가 충돌할 때의 변형을 연산한다.
이를 위해, 제어부(150)는 근육을 형성하는 3D메쉬 구조를 구(sphere)와 실린더(cylinder)의 조합으로 구성된 입체도형인 캡슐 형태로 정의한다. 제어부(150)는 원과 직선 사이의 거리를 구하는 공식을 기반으로 움직임에 의해 발생되는 입체도형의 충돌여부를 연산한다. 이는 도 4와 같다. 도 4는 본 발명의 실시 예에 따른 입체도형의 충돌여부 연산을 설명하기 위한 도면이다. 도 4를 참조하면, 제어부(150)는 중심점 O와 구(400)의 중심 C까지의 거리벡터(
Figure pat00001
)와 중심점 O와 3차원 상의 한 점 P까지의 거리벡터(
Figure pat00002
)를 산출한다. 제어부(150)는
Figure pat00003
Figure pat00004
를 기준으로 산출된 거리가 구(400)의 반지름 r보다 작은 경우 3차원 상의 한 점 P가 3D메쉬 구조로 형성된 구(400)와 충돌이 발생한 것으로 확인할 수 있다. 또한, 제어부(150)는 근육을 형성하는 3D메쉬 구조를 갖는 메쉬 데이터를 팔진 트리(Octree) 형태인 복수의 복셀(Voxel) 형태의 데이터 구조로 정의하여 부정형(general shape)에 대한 메쉬 충돌여부를 연산할 수 있다.
303단계에서 제어부(150)는 도 2의 203단계에서 호출된 오브젝트에 지글디포머를 적용한다. 보다 구체적으로, 지글디포머는 오브젝트에 움직임이 발생했을 때 충돌에 의해 발생된 근육의 미세한 진동 즉, 콜리젼디포머에 의해 변형된 근육을 형성하는 3D메쉬 구조가 다시 원래 모양대로 복원될 때 발생되는 떨림(jiggle)의 연산을 수행하는 알고리즘을 의미한다. 지글디포머는 변형 속성(property)과 모양(shape)을 기반으로 오브젝트의 떨림과 관련된 연산을 수행한다. 특히, 제어부(150)는 오브젝트의 강성도(stiffness), 오브젝트의 진동이 감쇄되는 감폭(damping)을 연산하여 떨림이 발생할 때의 변형 속성을 결정하고, 폴리곤 메쉬의 법선 벡터 외력(force on tangent)과 수직 벡터 항력(force along normal)의 크기를 연산하여 떨림이 발생할 때의 3D메쉬 구조의 모양을 결정한다.
강성도 및 감폭은 뉴튼 법칙에 기반한 오브젝트의 탄성 물리 연산식에 변수 형태로 적용되어 메쉬 변형을 연산한다. 즉, 실제 메쉬 떨림 시뮬레이션의 무거운 연산을 인터랙티브한 디포머 형태로 컨트롤하기 위하여 전체 시뮬레이션 타임 스텝을 이산화하고, 일정 구간의 타임 윈도우 안에서 근사(approximation)하여, 작은 메모리를 활용해서 메쉬 변형을 연산하는 방식을 이용한다. 이를 통하여 메쉬 변형 결과의 역재생(rewind), 변형 중간으로 건너뛰기(time jump) 등의 기존 시뮬레이션에서는 불가능했던 기능들이 가능하다. 따라서, 제어부(150)는 지글디포머를 근육, 근막 및 피부를 형성하는 3D메쉬 구조에 적용하여 뼈대에 적용한 움직임에 대응되는 미세한 진동을 근육 및 피부에 표현할 수 있다.
305단계에서 제어부(150)는 도 2의 203단계에서 호출된 오브젝트에 랩디포머를 적용한다. 보다 구체적으로, 랩디포머는 움직임에 따라 변형되는 근막에 대한 3D메쉬 구조를 근막에 대한 3D메쉬 구조보다 조밀하게 형성된 피부에 대한 3D메쉬 구조에 적용하기 위한 알고리즘을 의미한다. 이를 위해, 제어부(150)는 무게중심 좌표계(barycentric coordinate)를 활용하여 서로 다른 해상도 즉, 근막에 대한 3D메쉬 구조와 피부에 대한 3D메쉬 구조를 형성하는 폴리곤의 상관관계를 이용하여 근막에 발생된 변형이 피부에 적용될 수 있도록 한다.
307단계에서 제어부(150)는 도 2의 203단계에서 호출된 오브젝트에 슬라이딩디포머를 적용한다. 보다 구체적으로, 슬라이딩디포머는 오브젝트의 피부 곡면 상태를 유지하면서 오브젝트에 적용한 움직임에 따라 변형되도록 하는 알고리즘을 의미한다. 슬라이딩디포머는 피부 곡면 상태를 유지한 채 메쉬 구조를 변형시키기 위하여, 일정한 기준점에서 다수의 광선(Ray)을 쏘아 이 광선의 충돌 위치에 기반한 연산을 수행하는 광선 추적(Ray tracing - 레이트레이싱) 기법을 활용한다.
제어부(150)는 먼저 광선의 광원이 되는 지점을 설정하고, 이 지점에서 광선을 출력하여 메쉬 표면에 있는 버텍스(Vertex) 및 엣지(Edge)에 닿는 지점을 연산한다. 이때, 광선의 방향을 변형시키면 메쉬의 표면은 그대로이나 광선이 닿는 부분에 따라 버텍스(Vertex) 및 엣지(Edge)의 위치가 변화하여 동일한 곡률을 유지한 채 변형되는 슬라이딩 디포머의 효과를 구현할 수 있다. 이때, 광원이 되는 오브젝트를 점(point)으로 하는 방사형 광선 추적, 면(face)으로 하는 수직형 광선 추적 등 광원-광선 옵션을 다양하게 구현함으로써 다양한 요구 분야에 폭넓게 적용될 수 있다. 이를 위해, 전자장치(100)는 실질적으로 오브젝트에 광선을 출력하는 것이 아니라, 광선을 출력하는 것과 동일한 효과를 낼 수 있도록 알고리즘을 이용하여 광원이 되는 지점에서 광선이 출력되는 위치의 밝기를 제어할 수 있다. 따라서, 제어부(150)는 슬라이딩디포머를 피부를 형성하는 3D메쉬 구조에 적용하여 뼈대에 적용한 움직임에 따라 피부 곡면 상태의 변형을 표현할 수 있다.
309단계에서 제어부(150)는 도 2의 203단계에서 호출된 오브젝트에 링클디포머를 적용한다. 보다 구체적으로, 링클디포머는 피부의 접히는 부위, 착용 중인 의복 등에 의해 표현되는 주름을 표현하기 위한 알고리즘을 의미한다. 다양한 부위에 적용되는 서로 다른 디테일한 주름의 표현은 단순 디포머의 수학 연산만으로는 표현이 불가능하므로, 링클디포머는 사전 연산(pre-computation) 단계를 거친다. 즉, 일정 변형에 따른 폴리곤 메쉬의 주름 생성을 시뮬레이션 한 다음, 해당 주름 생성의 결과를 기반으로 주름 맵(map)을 생성한다. 주름 맵은 0~1 사이의 값을 가진 2D 그레이스케일(greyscale) 맵으로 앞서 설명된 주름 생성 시뮬레이션의 결과에 의해 생성된다. 아울러, 주름 맵은 사용자의 추가적인 리터칭 등에 의하여 간편하게 편집될 수 있는 장점이 있다.
이와 같이, 사전 연산 단계를 거쳐 생성된 주름 맵에 기반하여 링클디포머는 일정한 방향으로 외력이 작동했을 때 메쉬 폴리곤의 돌출/함몰 부분을 디테일하게 컨트롤할 수 있다. 이때, 사전 연산 단계를 거쳐 생성된 주름 맵은 메쉬 변형 단계뿐 아니라 이미지 랜더링 단계에서도 활용되어 사실적인 랜더 이미지를 형성할 수 있다. 링클디포머를 위해 제어부(150)는 관절에 의해 접히는 부분, 슬라이딩 이펙트에 의해 밀려나간 부분 등에 주름을 형성한다. 따라서, 제어부(150)는 링클디포머를 피부를 형성하는 3D메쉬 구조에 적용하여 뼈대에 적용한 움직임에 따라 피부 주름 상태의 변형을 표현할 수 있다.
아울러, 본 발명의 실시 예에서는 콜리젼디포머, 지글디포머, 랩디포머, 슬라이딩디포머 및 링클디포머가 오브젝트에 순차적으로 모두 적용되는 것을 예로 설명하고 있으나, 반드시 이에 한정되는 것은 아니다. 예컨대, 제어부(150)는 입력부(120)의 입력에 의해 콜리젼디포머, 지글디포머, 랩디포머, 슬라이딩디포머 및 링클디포머 중 어느 하나의 메쉬 디포머를 선택적으로 적용할 수 있다.
207단계에서 제어부(150)는 도 3과 같이 복수의 메쉬 디포머가 선택적으로 적용된 각각의 적용 오브젝트를 결합하기 위한 결합신호가 입력부(120)로부터 수신되면 209단계를 수행하고, 결합신호가 수신되지 않으면 219단계를 수행한다. 219단계에서 제어부(150)는 복수의 메쉬 디포머가 선택적으로 적용된 각각의 적용 오브젝트를 메모리(140)에 저장한다.
209단계에서 제어부(150)는 결합신호를 기반으로 각각의 적용 오브젝트를 결합한다. 이때, 각각의 적용 오브젝트는 지오메트리 캐시(geometry cache)형태로 베이크(bake)되고, 제어부(150)는 각각의 적용 오브젝트에 믹스 알고리즘을 적용하여 선형 결합(linear combination)을 통해 상호 결합한다. 보다 구체적으로 믹스 알고리즘은 하기의 수학식 1과 같이 나타낼 수 있다.
Figure pat00005
(단,
Figure pat00006
는 오브젝트에 대한 3D메쉬, N은 선택된 메쉬 디포머의 개수, k는 오브젝트에 적용된 k번째 메쉬 디포머,
Figure pat00007
는 k번째 메쉬 디포머로 변형된 오브젝트의 3D메쉬의 변형 결과,
Figure pat00008
는 k번째 메쉬 디포머로 인한 변형 정도를 최종 결합할 때 적용하는 가중치 값)
이어서, 211단계에서 제어부(150)는 입력부(120)로부터 믹스 알고리즘에 의해 결합된 결합 오브젝트에 대한 수정요청이 수신되면 213단계를 수행하고, 수정요청이 수신되지 않으면 217단계를 수행한다. 217단계에서 제어부(150)는 믹스 알고리즘에 의해 각각의 오브젝트가 결합되면, 결합 오브젝트를 렌더링하여 디지털 크리쳐의 제작을 완료하고 219단계를 수행한다. 219단계에서 제어부(150)는 제작이 완료된 디지털 크리쳐를 메모리(140)에 저장한다.
213단계에서 제어부(150)는 수정요청에 대응되는 메쉬 디포머를 확인하고, 오브젝트를 확인된 메쉬 디포머에 적용한다. 예컨대, 제어부(150)는 수정요청에 대응되는 메쉬 디포머가 콜리젼디포머이면, 오브젝트를 콜리젼디포머에 재적용할 수 있다. 아울러, 수학식 1과 같이 믹스 알고리즘은 가중치 값을 통해 각 메쉬 디포머의 역할을 병렬, 독립적으로 분리할 수 있으므로, 수정이 필요한 메쉬 디포머를 선택하여 오브젝트를 선택된 메쉬 디포머에 재적용할 수 있다. 따라서, 수정요청 발생 시 수정이 요청된 부분에 대한 메쉬 디포머 연산만 분리하여 수정함으로써, 보다 빠르고 쉽게 수정을 수행할 수 있는 효과가 있다.
215단계에서 제어부(150)는 수정요청에 대응되는 메쉬 디포머에 오브젝트를 적용하여 수정이 완료된 것으로 확인되면 217단계를 수행하고, 수정이 완료되지 않은 것으로 확인되면 211단계로 회귀할 수 있다. 217단계에서 제어부(150)는 믹스 알고리즘에 의해 각각의 적용 오브젝트를 재결합하고, 재결합 오브젝트를 렌더링하여 디지털 크리쳐의 제작을 완료한다. 219단계에서 제어부(150)는 제작이 완료된 디지털 크리쳐를 메모리(140)에 저장한다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 즉 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (20)

  1. 디지털 크리쳐를 제작하기 위한 오브젝트를 선택하는 단계;
    상기 오브젝트에 복수의 메쉬 디포머를 선택적으로 적용하는 단계; 및
    상기 메쉬 디포머가 적용된 오브젝트를 결합하여 상기 디지털 크리쳐를 제작하는 단계;
    를 포함하는 것을 특징으로 하는 디지털 크리쳐 제작방법.
  2. 제1항에 있어서,
    상기 복수의 메쉬 디포머를 선택적으로 적용하는 단계는,
    메쉬 구조로 형성된 뼈대, 근육, 근막, 피부 및 털을 포함하여 구성된 상기 오브젝트에서 상기 뼈대에 움직임을 적용하는 단계; 및
    상기 움직임을 기반으로 상기 오브젝트에 콜리젼디포머, 지글디포머, 랩디포머, 슬라이딩디포머 및 링클디포머를 포함하는 상기 복수의 메쉬 디포머를 선택적으로 적용하는 단계;
    를 포함하는 것을 특징으로 하는 디지털 크리쳐 제작방법.
  3. 제2항에 있어서,
    상기 콜리젼디포머는,
    상기 근육을 형성하는 메쉬 구조를 구와 실린더로 정의하고 상기 움직임에 따른 상기 근육을 형성하는 메쉬 구조의 변형으로 상기 근육을 형성하는 메쉬 구조의 충돌 여부를 확인하는 것을 특징으로 하는 디지털 크리쳐 제작방법.
  4. 제2항에 있어서,
    상기 콜리젼디포머는,
    상기 근육을 형성하는 메쉬 구조를 팔진 트리 형태로 정의하고 상기 움직임에 따라 상기 근육을 형성하는 메쉬 구조의 변형을 기반으로 상기 근육을 형성하는 메쉬 구조의 충돌 여부를 확인하는 것을 특징으로 하는 디지털 크리쳐 제작방법.
  5. 제2항에 있어서,
    상기 지글디포머는,
    상기 움직임에 따라 변형되는 상기 근육을 형성하는 메쉬 구조를 기반으로 변형 속성 및 모양을 연산하는 것을 특징으로 하는 디지털 크리쳐 제작방법.
  6. 제2항에 있어서,
    상기 랩디포머는,
    상기 움직임에 따라 변형되는 상기 근막을 형성하는 메쉬 구조를 상기 근막을 형성하는 메쉬 구조보다 조밀하게 형성된 상기 피부를 형성하는 메쉬 구조에 적용하는 것을 특징으로 하는 디지털 크리쳐 제작방법.
  7. 제2항에 있어서,
    상기 슬라이딩디포머는,
    일정한 기준점에서 다수의 광선을 쏘아 상기 광선이 상기 피부를 형성하는 메쉬 구조에 충돌하는 지점을 연산하는 것을 특징으로 하는 디지털 크리쳐 제작방법.
  8. 제2항에 있어서,
    상기 링클디포머는,
    상기 피부를 형성하는 메쉬 구조를 기반으로 주름 맵을 생성하고, 상기 주름 맵을 기반으로 상기 움직임에 따라 상기 피부를 형성하는 메쉬 구조의 변형을 연산하는 것을 특징으로 하는 디지털 크리쳐 제작방법.
  9. 제2항에 있어서,
    상기 디지털 크리쳐를 제작하는 단계는,
    상기 복수의 메쉬 디포머가 선택적으로 적용된 적용 오브젝트를 선형 결합하여 상기 디지털 크리쳐로 제작하는 단계인 것을 특징으로 하는 디지털 크리쳐 제작방법.
  10. 제9항에 있어서,
    상기 제작된 디지털 크리쳐에 대한 수정 요청을 수신하는 단계;
    상기 복수의 메쉬 디포머 중에서 상기 수정 요청에 대응되는 메쉬 디포머를 확인하는 단계;
    상기 확인된 메쉬 디포머를 상기 오브젝트에 재적용하는 단계; 및
    상기 재적용된 결과를 이용하여 상기 디지털 크리쳐를 재제작하는 단계;
    를 더 포함하는 것을 특징으로 하는 디지털 크리쳐 제작방법.
  11. 디지털 크리쳐를 제작하기 위한 오브젝트를 제공하는 장치와 통신을 수행하는 통신부; 및
    상기 오브젝트에 복수의 메쉬 디포머를 선택적으로 적용하고, 상기 메쉬 디포머가 적용된 오브젝트를 결합하여 상기 디지털 크리쳐를 제작하는 제어부;
    를 포함하는 것을 특징으로 하는 디지털 크리쳐를 제작하는 전자장치.
  12. 제11항에 있어서,
    상기 제어부는,
    메쉬 구조로 형성된 뼈대, 근육, 근막, 피부 및 털을 포함하여 구성된 상기 오브젝트에서 상기 뼈대에 움직임을 적용하고, 상기 움직임을 기반으로 상기 오브젝트에 콜리젼디포머, 지글디포머, 랩디포머, 슬라이딩디포머 및 링클디포머를 포함하는 상기 복수의 메쉬 디포머를 선택적으로 적용하는 것을 특징으로 하는 디지털 크리쳐를 제작하는 전자장치.
  13. 제12항에 있어서,
    상기 콜리젼디포머는,
    상기 근육을 형성하는 메쉬 구조를 구와 실린더로 정의하고 상기 움직임에 따른 상기 근육을 형성하는 메쉬 구조의 변형으로 상기 근육을 형성하는 메쉬 구조의 충돌 여부를 확인하는 것을 특징으로 하는 디지털 크리쳐를 제작하는 전자장치.
  14. 제12항에 있어서,
    상기 콜리젼디포머는,
    상기 근육을 형성하는 메쉬 구조를 팔진 트리 형태로 정의하고 상기 움직임에 따라 상기 근육을 형성하는 메쉬 구조의 변형을 기반으로 상기 근육을 형성하는 메쉬 구조의 충돌 여부를 확인하는 것을 특징으로 하는 디지털 크리쳐를 제작하는 전자장치.
  15. 제12항에 있어서,
    상기 지글디포머는,
    상기 움직임에 따라 변형되는 상기 근육을 형성하는 메쉬 구조를 기반으로 변형 속성 및 모양을 연산하는 것을 특징으로 하는 디지털 크리쳐를 제작하는 전자장치.
  16. 제12항에 있어서,
    상기 랩디포머는,
    상기 움직임에 따라 변형되는 상기 근막을 형성하는 메쉬 구조를 상기 근막을 형성하는 메쉬 구조보다 조밀하게 형성된 상기 피부를 형성하는 메쉬 구조에 적용하는 것을 특징으로 하는 디지털 크리쳐를 제작하는 전자장치.
  17. 제12항에 있어서,
    상기 슬라이딩디포머는,
    일정한 기준점에서 다수의 광선을 쏘아 상기 광선이 상기 피부를 형성하는 메쉬 구조에 충돌하는 지점을 연산하는 것을 특징으로 하는 디지털 크리쳐를 제작하는 전자장치.
  18. 제12항에 있어서,
    상기 링클디포머는,
    상기 피부를 형성하는 메쉬 구조를 기반으로 주름 맵을 생성하고, 상기 주름 맵을 기반으로 상기 움직임에 따라 상기 피부를 형성하는 메쉬 구조의 변형을 연산하는 것을 특징으로 하는 디지털 크리쳐를 제작하는 전자장치.
  19. 제12항에 있어서,
    상기 제어부는,
    상기 복수의 메쉬 디포머가 선택적으로 적용된 적용 오브젝트를 선형 결합하여 상기 디지털 크리쳐로 제작하는 것을 특징으로 하는 디지털 크리쳐를 제작하는 전자장치.
  20. 제19항에 있어서,
    상기 제어부는,
    상기 제작된 디지털 크리쳐에 대한 수정 요청이 수신되면, 상기 복수의 메쉬 디포머 중에서 상기 수정 요청에 대응되는 메쉬 디포머를 확인하고, 상기 확인된 메쉬 디포머를 상기 오브젝트에 재적용하여 상기 디지털 크리쳐를 재제작하는 것을 특징으로 하는 디지털 크리쳐를 제작하는 전자장치.
KR1020180107147A 2017-09-08 2018-09-07 디지털 크리쳐의 제작 방법 및 전자장치 KR20190028634A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170115243 2017-09-08
KR20170115243 2017-09-08

Publications (1)

Publication Number Publication Date
KR20190028634A true KR20190028634A (ko) 2019-03-19

Family

ID=65908433

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180107147A KR20190028634A (ko) 2017-09-08 2018-09-07 디지털 크리쳐의 제작 방법 및 전자장치

Country Status (1)

Country Link
KR (1) KR20190028634A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022020746A1 (en) * 2020-07-24 2022-01-27 Kitestring, Inc. Systems and methods for computer animation using an order of operations deformation engine
KR20220039428A (ko) * 2020-09-22 2022-03-29 (주)클로버추얼패션 부분 시뮬레이션 방법 및 장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022020746A1 (en) * 2020-07-24 2022-01-27 Kitestring, Inc. Systems and methods for computer animation using an order of operations deformation engine
US11631209B2 (en) 2020-07-24 2023-04-18 Kitestring, Inc. Systems and methods for computer animation using an order of operations deformation engine
US11948240B2 (en) 2020-07-24 2024-04-02 O3 Story Technologies, Inc. Systems and methods for computer animation using an order of operations deformation engine
KR20220039428A (ko) * 2020-09-22 2022-03-29 (주)클로버추얼패션 부분 시뮬레이션 방법 및 장치
US11961199B2 (en) 2020-09-22 2024-04-16 Clo Virtual Fashion Inc. Method and apparatus for partial simulation of pinching to form wrinkles on a garment

Similar Documents

Publication Publication Date Title
US10909744B1 (en) Simulating garment with wrinkles based on physics based cloth simulator and machine learning model
Zurdo et al. Animating wrinkles by example on non-skinned cloth
CN111369655B (zh) 渲染方法、装置和终端设备
Dachille et al. Haptic sculpting of dynamic surfaces
Ryken et al. Applying virtual reality techniques to the interactive stress analysis of a tractor lift arm
JP7299414B2 (ja) 画像処理方法、装置、電子機器及びコンピュータプログラム
US10984578B2 (en) Method and system for directly manipulating the constrained model of a computer-generated character
CN105427386A (zh) 基于输入人体姿态实时生成的服装变形方法
JP2019204476A (ja) 画像生成装置、画像生成方法及びプログラム
CN112395786A (zh) 服装纸样的自动放码
CN111031305A (zh) 图像处理方法及装置、图像设备及存储介质
CN111369647B (zh) 信息处理方法及装置、计算机存储介质、电子设备
KR20190028634A (ko) 디지털 크리쳐의 제작 방법 및 전자장치
US20080129738A1 (en) Method and apparatus for rendering efficient real-time wrinkled skin in character animation
CN115908664B (zh) 人机交互的动画生成方法、装置、计算机设备、存储介质
CN103325086A (zh) 一种基于四面体坐标系的三维图形的变形方法
CN116934948A (zh) 基于多视角视频的可重光照三维数字人构建方法及装置
CN114926572B (zh) 一种角色动画中衣物的驱动方法及设备
US9111391B2 (en) Image generating device, image generating method, and non-transitory information storage medium
CN104537704A (zh) 一种鸟类躯干模型的羽毛实时动态生成方法
CN106408644B (zh) 三维控制笼构造方法
KR102273317B1 (ko) 의상 패턴들의 오토 그레이딩 방법 및 장치
JP3683487B2 (ja) 外殻による3dモデルアニメーション生成方法
JP2013041500A (ja) Html52d描画仕様のみで動作する3dエンジン
KR101227183B1 (ko) 3d 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application