KR20230077677A - 3차원 아바타의 신체 부위 경계면 결정 방법 및 장치 - Google Patents

3차원 아바타의 신체 부위 경계면 결정 방법 및 장치 Download PDF

Info

Publication number
KR20230077677A
KR20230077677A KR1020220158169A KR20220158169A KR20230077677A KR 20230077677 A KR20230077677 A KR 20230077677A KR 1020220158169 A KR1020220158169 A KR 1020220158169A KR 20220158169 A KR20220158169 A KR 20220158169A KR 20230077677 A KR20230077677 A KR 20230077677A
Authority
KR
South Korea
Prior art keywords
avatar
determining
body part
curvature
points
Prior art date
Application number
KR1020220158169A
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 (주)클로버추얼패션
Priority to EP22899085.9A priority Critical patent/EP4250243A1/en
Priority to CN202280005947.4A priority patent/CN116508064A/zh
Priority to PCT/KR2022/018842 priority patent/WO2023096403A1/ko
Priority to US18/297,393 priority patent/US20230260146A1/en
Publication of KR20230077677A publication Critical patent/KR20230077677A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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
    • 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
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2008Assembling, disassembling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2024Style variation

Landscapes

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

Abstract

일 실시예에 따르면, 3차원 아바타의 신체 부위 경계면 결정 방법은 3차원 아바타의 표면에 존재하는 복수의 점들 각각의 곡률을 포함하는 곡률 정보를 생성하는 단계; 복수의 점들 중에서, 곡률 정보에 기초하여 곡률이 제1 미리 결정된 기준을 충족하는 제1 점들을 결정하는 단계; 제1 점들 중에서, 3차원 아바타 내부의 두께 정보에 기초하여 결정된 제1 점들 각각에 대응하는 두께가 제2 미리 결정된 기준을 충족하는지 여부에 기초하여 제2 점들을 결정하는 단계; 및 제2 점들에 기초하여 복수의 신체 부위 경계면들을 결정하는 단계를 포함할 수 있다.

Description

3차원 아바타의 신체 부위 경계면 결정 방법 및 장치{METHOD AND DEVICES FOR DETERMINING BODY PART BOUNDARY OF 3D AVATAR}
아래 실시예들은 3차원 아바타의 신체 부위 경계면을 결정하는 방법 및 장치들에 관한 것이다.
3차원 의상 시뮬레이션에서 3차원 아바타인 원본 아바타에 착장된(draped) 의상을 다른 3차원 아바타인 타겟 아바타에 착장시킬 필요가 존재할 수 있다. 타겟 아바타는 현재 의상을 착장하고 있는 원본 아바타와 포즈(pose), 크기(size), 메쉬 토폴로지(mesh topology)가 모두 다를 수 있다. 이에 따라 타겟 아바타에서 의상도 변형될 필요가 존재할 수 있다. 그러므로 시뮬레이션 장치는 원본 아바타와 의상 간의 관계, 원본 아바타와 타겟 아바타 간의 관계에 기초하여 타겟 아바타에 의상을 착장시킬 수 있다. 하지만 타겟 아바타에 원본 아바타에 착장된 의상을 착장시킬 수 있는 방법은 여러가지가 될 수 있다. 의상 시뮬레이션 분야에서는 원본 아바타에 착장된 의상을 타겟 아바타에 착장시키기 위한 연구에 대한 관심이 높아지고 있다.
일 실시예에 따르면, 3차원 아바타의 신체 부위 경계면 결정 방법은 3차원 아바타의 표면에 존재하는 복수의 점들 각각의 곡률을 포함하는 곡률 정보를 생성하는 단계; 복수의 점들 중에서, 곡률 정보에 기초하여 곡률이 제1 미리 결정된 기준을 충족하는 제1 점들을 결정하는 단계; 제1 점들 중에서, 3차원 아바타 내부의 두께 정보에 기초하여 결정된 제1 점들 각각에 대응하는 두께가 제2 미리 결정된 기준을 충족하는지 여부에 기초하여 제2 점들을 결정하는 단계; 및 제2 점들에 기초하여 복수의 신체 부위 경계면들을 결정하는 단계를 포함할 수 있다.
일 실시예에 따르면, 곡률 정보는 가우스 곡률(Gaussian Curvature)에 기초한 정보를 포함하고, 가우스 곡률은 제1 곡률 및 제2 곡률의 곱에 의하여 결정될 수 있다.
일 실시예에 따르면, 제1 미리 결정된 기준은 가우스 곡률이 음수인지 여부에 기초하여 결정되는 기준을 포함할 수 있다.
일 실시예에 따르면, 두께 정보는 3차원 아바타 내부에 위치하면서, 3차원 아바타의 표면에 접하는 적어도 하나의 접점을 포함하는 구(sphere)의 반지름에 기초하여 결정된 정보를 포함할 수 있다.
일 실시예에 따르면, 제2 미리 결정된 기준은 두께가 미리 결정된 두께 이상인지 여부에 기초하여 결정되는 기준을 포함할 수 있다.
일 실시예에 따르면, 제2 점들을 결정하는 단계는 제1 점에 대응하는 두께가 미리 결정된 두께 이상인 경우, 제1 점을 제2 점으로 결정하는 단계를 포함할 수 있다.
일 실시예에 따르면, 곡률 정보를 생성하는 단계 이전에 3차원 아바타의 시작점에서 시작하여 3차원 아바타의 메쉬 정보에 기초하여 적어도 하나의 끝점을 탐색하는 단계를 포함할 수 있다.
일 실시예에 따르면, 곡률 정보를 생성하는 단계 이전에 탐색된 적어도 하나의 끝점들의 3차원 아바타에서의 위치를 식별하는 단계를 포함할 수 있다.
일 실시예에 따르면, 3차원 아바타의 신체 부위 경계면 결정 방법은 적어도 하나의 끝점 및 복수의 신체 부위 경계면들 중 적어도 하나에 기초하여, 3차원 아바타의 신체 부위인 세그먼트를 결정하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 3차원 아바타의 신체 부위 경계면 결정 방법은 신체 비율 정보에 기초하여, 세그먼트에서 적어도 하나의 신체 부위 경계면을 결정하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 3차원 아바타의 신체 부위 경계면 결정 방법은 3차원 아바타의 어깨 위치 정보에 기초하여 결정된 단면과 평행한 복수의 단면들 중 3차원 아바타의 목에 대응하는 적어도 하나의 신체 부위 경계면을 결정하는 단계; 또는 3차원 아바타의 얼굴 위치 정보에 기초하여 결정된 단면과 평행한 복수의 단면들 중 3차원 아바타의 목에 대응하는 적어도 하나의 신체 부위 경계면을 결정하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 3차원 아바타의 신체 부위 경계면 결정 방법은 3차원 아바타에 착장되는 의상의 3차원 패턴의 크기를 상기 복수의 신체 부위 경계면들 각각의 크기에 기초하여 조정하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 3차원 아바타의 신체 부위 경계면 결정 방법은 3차원 패턴에 대응하는 2차원 패턴의 크기를 유지하는 단계를 더 포함할 수 있다.
도 1은 일 실시예에 따른 3차원 아바타의 신체 부위 경계면 결정 방법을 설명하기 위한 순서도이다.
도2는 일 실시예에 따른 기준 의상이 착장된 원본 아바타와 타겟 아바타를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 신체 부위 경계면이 결정된 3차원 아바타를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 곡률 정보를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 두께 정보를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 3차원 아바타에 표시된 제2 점들을 설명하기 위한 도면이다.
도 7는 다양한 실시예에 따른 시뮬레이션 장치를 설명하기 위한 블록도이다.
본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실시예들은 다양한 다른 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간에"와 "바로~간에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 3차원 아바타의 신체 부위 경계면 결정 방법을 설명하기 위한 순서도이다.
일 실시예에 따른 시뮬레이션 장치(700)는 원본 아바타에 착장된 의상을 타겟 아바타에 착장시키기 위하여 타겟 아바타에 기준 의상을 착장시킬 수 있다. 원본 아바타는 현재 의상을 착장하고 있는 3차원 아바타일 수 있다. 그리고 타겟 아바타는 원본 아바타에 착장된 의상을 착장시키고자 하는 3차원 아바타일 수 있다. 기준 의상은 3차원 아바타의 표면에 붙는 의상(또는 3차원 아바타의 표면에 밀착되는 의상)일 수 있다. 예를 들어, 기준 의상은 내복처럼 사람의 신체에 붙는 의상일 수 있다. 기준 의상은 적어도 하나의 2차원 패턴으로 구성될 수 있다. 기준 의상이 3차원 아바타에 착장 될 경우, 시뮬레이션 장치(700)는 기준 의상을 3차원으로 시뮬레이션 할 수 있다. 기준 의상은 적어도 하나의 메쉬로 구성될 수 있다. 3차원 아바타의 크기에 기초하여 기준 의상을 구성하는 적어도 하나의 메쉬의 정점(vertex)들 사이의 거리가 조정될 수 있다. 예를 들어, 원본 아바타에 대응하는 기준 의상을 구성하는 적어도 하나의 메쉬들의 정점과 타겟 아바타에 대응하는 기준 의상을 구성하는 적어도 하나의 메쉬들의 정점 사이의 상관 관계에 기초하여, 시뮬레이션 장치(700)는 원본 아바타에 착장된 의상을 타겟 아바타에 착장시킬 수도 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 원본 아바타에 기준 의상을 착장시킨 후, 기준 의상과 원본 아바타에 착장된 의상 사이의 관계 정보를 생성할 수 있다. 예를 들어, 시뮬레이션 장치(700)는 기준 의상의 메쉬와 원본 아바타에 착장된 의상의 메쉬 사이의 관계 정보를 생성할 수 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 원본 아바타에 착장된 기준 의상을 타겟 아바타에 착장시킬 수 있다. 그리고 시뮬레이션 장치(700)는 타겟 아바타에 착장된 기준 의상 및 기준 의상과 의상 사이의 관계 정보에 기초하여 타겟 아바타에 의상을 착장시킬 수 있다. 예를 들어, 시뮬레이션 장치(700)는 원본 아바타에 착장된 기준 의상과 원본 아바타에 착장된 의상 사이의 관계 정보를 타겟 아바타에 착장된 기준 의상에 적용하여, 타겟 아바타에 원본 아바타에 착장되었던 의상을 착장시킬 수 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 타겟 아바타에 기준 의상을 착장시키기 위하여, 3차원 아바타의 신체 부위별로 기준 의상을 세분화할 수 있다. 예를 들어, 몸통, 팔, 다리, 목 등의 신체 부위 별로 기준 의상을 세분화할 수 있다. 신체 부위별로 기준 의상을 세분화하기 위하여, 시뮬레이션 장치(700)는 타겟 아바타의 신체 부위별 경계면을 추출할 필요가 존재할 수 있다. 그 이유는 신체 부위별 경계면에 기초하여 신체 부위별 기준 의상을 결정할 수 있기 때문이다.
이하에서는 시뮬레이션 장치(700)가 3차원 아바타의 신체 부위 경계면을 추출하는 방법이 구체적으로 서술된다.
일 실시예에 따른 시뮬레이션 장치(700)는 3차원 아바타의 표면에 존재하는 복수의 점들 각각의 곡률을 포함하는 곡률 정보를 생성(110)할 수 있다. 3차원 아바타는 복수의 메쉬들로 구성될 수 있다. 그리고 메쉬들 각각은 점을 포함할 수 있다. 예를 들어, 삼각형 메쉬는 3개의 점을, 사각형 메쉬는 4개의 점을 포함할 수 있다. 따라서, 3차원 아바타의 표면에는 복수의 점들이 존재할 수 있다. 곡률 정보는 3차원 아바타의 표면에 존재하는 점들 각각의 곡률을 포함할 수 있다. 시뮬레이션 장치(700)는 3차원 아바타의 표면에 존재하는 점에서의 곡률을 산출할 수 있다. 곡률 정보는 가우스 곡률에 기초한 정보를 포함할 수 있다. 곡률 정보의 구체적인 설명은 도 4를 참조하여 구체적으로 후술된다.
일 실시예에 따른 시뮬레이션 장치(700)는 복수의 점들 중에서, 곡률 정보에 기초하여 곡률이 제1 미리 결정된 기준을 충족하는 제1 점들을 결정(120)할 수 있다. 제1 미리 결정된 기준은 3차원 아바타의 표면에서 특징점을 추출하기 위한 기준일 수 있다. 3차원 아바타에서 겨드랑이, 사타구니처럼 곡면의 굽은 정도가 다른 신체 부위와는 다른 특징을 가질 수 있다. 시뮬레이션 장치는 가우스 곡률에 기초하여 이러한 특징을 파악할 수 있다. 따라서 제1 미리 결정된 기준은 가우스 곡률이 음수인지 여부에 기초하여 결정되는 기준일 수 있다. 한 점에서 가우스 곡률이 음수인 경우, 시뮬레이션 장치(700)는 해당 점을 제1 점으로 결정할 수 있다. 다른 한 점에서의 가우스 곡률이 양수이거나 0인 경우, 시뮬레이션 장치(700) 해당 점을 제1 점으로 결정하지 않을 수 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 제1 점들 중에서, 3차원 아바타 내부의 두께 정보에 기초하여 결정된 제1 점들 각각에 대응하는 두께가 제2 미리 결정된 기준을 충족하는지 여부에 기초하여 제2 점들을 결정(130)할 수 있다. 두께 정보는 3차원 아바타의 신체 부위 단면의 두께를 포함할 수 있다. 예를 들어, 신체 부위 단면은 3차원 아바타의 뼈대에 대응하는 중간축(medial axis)에 수직인 면을 포함할 수 있다. 중간축의 구체적인 설명은 도 5에서 후술된다. 예를 들어, 두께 정보는 3차원 아바타의 팔 두께, 다리 두께, 목 두께, 몸통 두께 등을 포함할 수 있다.
두께 정보는 3차원 아바타 내부에 위치하면서, 3차원 아바타의 표면에 접하는 적어도 하나의 접점을 포함하는 구(sphere)의 반지름에 기초하여 결정된 정보를 포함할 수 있다. 시뮬레이션 장치(700)는 3차원 아바타 내부에서 최대로 접하는 구를 생성할 수 있다. 최대로 접하는 구는 어느 방향으로도 더 이상 구의 크기를 키울 수 없는 크기를 가진 구를 의미할 수 있다. 두께 정보는 도 5를 참조하여 구체적으로 후술된다.
제2 미리 결정된 기준은 3차원 아바타의 적어도 일부의 신체 부위를 필터링하기 위한 기준을 포함할 수 있다. 제2 미리 결정된 기준은 3차원 아바타에서 특정 신체 부위를 구분하는 경계면을 결정하기 위하여 필요한 점들을 필터링하기 위한 기준을 포함할 수 있다. 3차원 아바타에서 제1점들은 손가락 사이, 발가락 사이, 쇄골, 가슴 아래, 겨드랑이, 사타구니 등 곡면의 특징점이 있는 부위에 위치할 수 있다. 하지만 시뮬레이션 장치(700)는 전체 신체 부위 중 적어도 일부의 신체 부위를 결정할 수도 있다. 예를 들어, 시뮬레이션 장치(700)는 겨드랑이 및 사타구니에 대해서만 신체 부위 경계면을 결정할 수 있다. 이 경우, 손가락 사이, 발가락 사이, 쇄골, 가슴 아래에 있는 제1 점들은 필터링될 필요가 존재할 수 있다. 그러므로 시뮬레이션 장치(700)는 손가락 사이, 발가락 사이, 쇄골, 가슴 아래에 있는 제1 점들을 신체 부위 경계면을 결정하는 요소(factor)에서 제외시키기 위하여 제2 미리 결정된 기준을 이용할 수 있다. 예를 들어, 제2 미리 결정된 기준은 겨드랑이 및 사타구니 경계면을 결정하기 위하여 필요한 점들을 결정하기 위한 기준을 포함할 수 있다.
제2 미리 결정된 기준은 두께가 미리 결정된 두께 이상인지 여부에 기초하여 결정되는 기준을 포함할 수 있다. 예를 들어, 필터링 대상이 되는 손가락 및 발가락의 평균 두께는 겨드랑이 및 사타구니의 평균 두께보다 작을 수 있다. 이 경우, 시뮬레이션 장치(700)는 미리 결정된 두께를 겨드랑이 및 사타구니의 최소 두께로 결정할 수 있다. 이 경우, 손가락 및 발가락의 두께는 미리 결정된 두께보다 작으므로, 필터링될 수 있다.
다른 예를 들어, 제2 미리 결정된 기준은 두께를 기준으로 일정 비율만큼 제1 점들을 필터링하기 위한 기준을 포함할 수도 있다. 제2 미리 결정된 기준은 두께를 기준으로 두께가 작은 하위 20-30% 사이의 점들을 필터링할 수 있다. 그 이유는 두께가 작은 하위 20-30%의 점들은 손가락 또는 발가락에 분포하고 있을 가능성이 클 수 있기 때문이다.
일 실시예에 따른 시뮬레이션 장치(700)는 제2 미리 결정된 기준을 충족하는 제1 점을 제2 점으로 결정할 수 있다. 일 실시예에 따른 시뮬레이션 장치(700)는 제1 점에 대응하는 두께가 제2 미리 결정된 기준을 충족하는 경우 해당하는 제1 점을 제2 점으로 결정할 수 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 제2 점들에 기초하여 복수의 신체 부위 경계면들을 결정할 수 있다. 도 6을 참조하여 설명하면, 제2 점들은 왼쪽 겨드랑이(610), 왼쪽 사타구니(620), 오른쪽 겨드랑이(630), 오른쪽 사타구니(640)에 분포할 수 있다. 이 경우, 시뮬레이션 장치(700)는 제2 점들에 기초하여 신체 부위 경계면을 결정할 수 있다. 일 실시예에 따른 시뮬레이션 장치(700)는 왼쪽 겨드랑이(610) 및 오른쪽 겨드랑이(630)에 분포하는 제2 점들에 기초하여, 지면에 수직인 방향으로 신체 부위 경계면을 결정할 수 있다. 도 3에 도시된 바와 같이 시뮬레이션 장치(700)는 겨드랑이 경계면(310)을 지면에 수직인 방향으로 결정할 수 있다. 일 실시예에 따른 시뮬레이션 장치(700)는 왼쪽 사타구니(620) 및 오른쪽 사타구니(640)에 분포하는 제2 점들에 기초하여, 지면에 비스듬한 방향으로 신체 부위 경계면을 결정할 수 있다. 도 3에 도시된 바와 같이 시뮬레이션 장치(700)는 사타구니 경계면(330)을 지면에 비스듬한 방향으로 결정할 수 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 3차원 아바타에 착장되는 의상(예, 기준 의상)의 3차원 패턴의 크기를 복수의 신체 부위 경계면들 각각의 크기에 기초하여 조정할 수 있다. 예를 들어, 시뮬레이션 장치는 기준 의상의 3차원 패턴의 크기를 신체 부위 경계면의 두께에 기초하여 감소시키거나 증가시킬 수 있다. 일 실시예에 따른 시뮬레이션 장치(700)는 3차원 패턴에 대응하는 2차원 패턴의 크기를 유지할 수 있다. 예를 들어, 시뮬레이션 장치(700)가 3차원 패턴의 크기를 조정하여도 3차원 패턴에 대응하는 2차원 패턴의 크기는 유지될 수 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 3차원 아바타의 신체 부위 경계면들을 결정하고, 결정된 신체 부위 경계면들에 기초하여 기준 의상을 생성할 수 있다. 시뮬레이션 장치(700)는 타겟 아바타의 신체 부위 경계면을 결정하고, 해당 타겟 아바타에 착장되는 기준 의상을 생성할 수 있다. 일 실시예에 따른 시뮬레이션 장치(700)는 타겟 아바타의 기준 의상 착장 정보를 저장할 수 있다.
도2는 일 실시예에 따른 기준 의상이 착장된 원본 아바타와 타겟 아바타를 설명하기 위한 도면이다.
도 2에서는 원본 아바타(210), 원본 아바타에 착장된 기준 의상(220) 및 타겟 아바타(230)가 도시되어 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 원본 아바타(210)에 착장된 기준 의상(220)을 타겟 아바타(230)에 착장시키기 위하여, 타겟 아바타(230)의 신체 부위 경계면을 산출할 수 있다. 그 이유는 도 2에 도시된 바와 같이 기준 의상은 신체 부위별로 분할되어 있을 수 있기 때문이다. 따라서, 시뮬레이션 장치(700)는 신체 부위 별로 분할된 기준 의상의 패턴들의 크기를 조정함으로써, 기준 의상을 타겟 아바타(230)에 착장시킬 수 있다.
도 3은 일 실시예에 따른 신체 부위 경계면이 결정된 3차원 아바타를 설명하기 위한 도면이다.
일 실시예에 따른 시뮬레이션 장치(700)는 3차원 아바타에서 손끝 및 발끝의 위치를 결정할 수 있다. 손끝 및 발끝의 위치를 결정하기 위하여 시뮬레이션 장치(700)는 3차원 아바타의 자세를 결정할 필요가 존재할 수 있다. 예를 들어, 시뮬레이션 장치(700)는 3차원 아바타가 차렷 자세, 양팔을 좌우로 벌린 T 자세, 양팔을 내린 A 자세 등의 자세를 취하도록 설정할 수 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 3차원 아바타에 한 점(예, 3차원 아바타를 구성하는 메쉬의 정점들 중 한 점)에서 시작하여, 3차원 아바타의 메쉬 정보에 기초하여 3차원 아바타의 적어도 하나의 끝점을 탐색할 수 있다. 끝점은 3차원 아바타의 메쉬의 정점들 중 하나일 수 있다. 시뮬레이션 장치(700)는 시작점으로부터 가장 멀리 떨어진 끝점을 3차원 아바타의 메쉬 정보에 기초하여 탐색할 수 있다. 시작점은 3차원 아바타에서 높이가 가장 큰 점일 수 있다. 예를 들어, 점1(시작점)에서 가장 멀리 떨어진 끝점은 점2일 수 있다. 그리고 시뮬레이션 장치(700)는 탐색된 끝점(예, 점 2)에서 시작하여, 탐색된 끝점과 시작점으로부터 가장 멀리 떨어진 끝점을 3차원 아바타의 메쉬 정보에 기초하여 탐색할 수 있다. 예를 들어, 시뮬레이션 장치(700)는 탐색된 점2와 점3 사이 거리 및 시작점인 점1과 점 3 사이 거리의 합이 가장 큰 점3을 탐색할 수 있다. 점 3이 탐색된 경우, 시뮬레이션 장치(700)는 점4와 탐색된 점3 사이 거리, 점 4와 탐색된 점 2 사이 거리, 점4와 점1 사이 거리의 합이 가장 큰 점 4를 탐색할 수 있다. 시뮬레이션 장치(700)는 필요한 개수의 끝점을 탐색하기 위하여 상술한 동작을 반복할 수 있다. 예를 들어, 4개의 끝점을 탐색하는 경우, 상술한 동작을 4번 반복할 수 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 n번째 점을 탐색할 수 있다. 탐색된 n번째 점은 시작점인 1번째 점부터 n-1번째 점 각각과의 거리의 합이 가장 큰 점일 수 있다. 예를 들어, n번째 점은 1번째 점과 n번째 점 사이 거리, 2번째 점과 n번째 점 사이 거리, 3번째 점과 n번째 점 사이 거리, ?? , n-1번째 점과 n번째 점 사이 거리의 합이 가장 큰 점일 수 있다. 시뮬레이션 장치(700)는 다익스트라 알고리즘(Dijkstra's algorithm)을 이용하여, 시작점인 1번째 점부터 n-1번째 점 각각과의 거리의 합이 가장 큰 n번째 점을 탐색할 수 있다.
상술한 동작을 통하여 탐색된 적어도 하나의 끝점이 3차원 아바타에서 어느 위치에 존재하는지 시뮬레이션 장치(700)는 모를 수 있다. 탐색된 끝점들은 3차원 아바타의 신체 어느 부위인지 불분명할 수 있다.
따라서, 일 실시예에 따른 시뮬레이션 장치(700)는 탐색된 적어도 하나의 끝점들의 3차원 아바타에서의 위치를 식별할 수 있다. 상술한 동작을 통하여 탐색된 적어도 하나의 끝점들은 3차원 아바타의 끝점들일 수 있다. 예를 들어, 시작점이 3차원 아바타의 정수리인 경우, 끝점들은 3차원 아바타의 좌측 손 끝점, 우측 손 끝점, 좌측 발 끝점, 우측 발 끝점 등일 수 있다. 시뮬레이션 장치(700)는 식별된 위치에 기초하여 탐색된 끝점들을 좌측 손 끝점, 우측 손 끝점, 좌측 발 끝점, 우측 발 끝점 등으로 결정할 수 있다. 시뮬레이션 장치(700)는 끝점들의 탐색된 순서에 기초하여 3차원 아바타에서의 위치를 식별할 수 있다. 예를 들어, 3차원 아바타가 일반적인 인간 체형인 경우, 시작점인 정수리로부터 가장 먼 위치는 좌측 발 끝점 또는 우측 발 끝점일 수 있다. 따라서 시뮬레이션 장치(700)는 1번째로 탐색된 끝점 또는 2번째로 탐색된 끝점을 좌측 발 끝점 또는 우측 발 끝점 중 하나로 결정할 수 있다. 다른 예를 들어, 3차원 아바타가 얼굴이 크고 팔이 길며 다리가 짧은 캐릭터인 경우, 시작점인 정수리로부터 가장 먼 위치는 좌측 팔 끝점 또는 우측 팔 끝점일 수 있다. 따라서 시뮬레이션 장치(700)는 1번째로 탐색된 끝점 또는 2번째로 탐색된 끝점을 좌측 팔 끝점 또는 우측 팔 끝점 중 하나로 결정할 수 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 5개 이상의 끝점을 탐색할 수도 있다. 예를 들어, 3차원 아바타에 날개 또는 꼬리 중 적어도 하나가 부착될 수 있다. 이 경우, 시뮬레이션 장치(700)는 5개 이상의 끝점을 탐색할 수 있다. 예를 들어, 3차원 아바타에 꼬리가 부착되고, 시작점이 3차원 아바타의 정수리인 경우, 끝점들은 3차원 아바타의 꼬리의 끝점, 좌측 손 끝점, 우측 손 끝점, 좌측 발 끝점, 우측 발 끝점 등일 수 있다. 예를 들어, 시작점인 정수리로부터 가장 먼 위치는 좌측 꼬리의 끝점일 수 있다. 따라서 시뮬레이션 장치(700)는 1번째로 탐색된 끝점을 꼬리의 끝점으로 탐색할 수 있다. 예를 들어, 3차원 아바타에 날개가 부착되고, 시작점이 3차원 아바타의 정수리인 경우, 끝점들은 3차원 아바타의 좌측 날개 끝점, 우측 날개 끝점, 좌측 손 끝점, 우측 손 끝점, 좌측 발 끝점, 우측 발 끝점 등일 수 있다. 시작점인 정수리로부터 가장 먼 위치는 좌측 날개 끝점 또는 우측 날개 끝점일 수 있다. 따라서 시뮬레이션 장치(700)는 1번째로 탐색된 끝점 또는 2번째로 탐색된 끝점을 좌측 날개 끝점 또는 우측 날개 끝점 중 하나로 결정할 수 있다. 다른 예를 들어, 3차원 아바타에 날개 및 꼬리가 부착된 경우, 끝점은 7개 이상이 될 수도 있다.
일 실시예에 따른 시작점이 3차원 아바타의 정수리인 경우, 시뮬레이션 장치(700)는 3차원 아바타의 정수리에 대응하는 점(301)에서 시작하여 3차원 아바타의 메쉬 정보에 기초하여 끝점들(302, 303, 304, 305)을 탐색할 수 있다. 일 실시예에 따른 시뮬레이션 장치(700) 정수리에 대응하는 점(301)에서 가장 멀리 떨어진 점을 탐색할 수 있다. 3차원 아바타의 표면은 복수의 메쉬들로 구성될 수 있다. 따라서 시뮬레이션 장치(700)는 메쉬 정보(예, 메쉬 연결 관계)에 기초하여 정수리에 대응하는 점(301)으로부터 가장 멀리 떨어진 점을 탐색할 수 있다. 예를 들어, 시뮬레이션 장치(700)는 다익스트라 알고리즘을 사용하여 정수리에 대응하는 점(301)에서 가장 멀리 떨어진 점을 탐색할 수 있다. 정수리에 대응하는 점(301)에서 가장 멀리 떨어진 점이 제1 끝점(302)인 경우, 시뮬레이션 장치(700)는 시작점(301)과 제2 끝점(303) 사이 거리와 제1 끝점(302)과 제2끝점(303) 사이 거리 합이 최대인 제2끝점(303)을 탐색할 수 있다. 따라서, 시뮬레이션 장치(700)는 끝점(302, 303)들을 획득할 수 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 제2 끝점(303)에서 시작하여 메쉬 정보에 기초하여 제3 끝점(304)을 탐색할 수 있다. 예를 들어, 시뮬레이션 장치(700)는 제2 끝점(303)에서 시작하여 제2 끝점(303)과 제3 끝점(304) 사이 거리, 제1 끝점(302)과 제3 끝점(304) 사이 거리 및 시작점(301)과 제3 끝점(304) 사이 거리의 합이 가장 큰 제3 점(304)을 탐색할 수 있다. 시뮬레이션 장치(700)는 제3 끝점(304)에서 시작하여, 제3 끝점(304)과 제4 끝점(305) 사이 거리, 제2 끝점(303)과 제4 끝점(305) 사이 거리, 제1 끝점(302)과 제4 끝점(305) 사이 거리 및 시작점(301)과 제4 끝점(305) 사이 거리의 합이 가장 큰 제4 끝점(305)을 결정할 수 있다. 시뮬레이션 장치(700)는 탐색된 제1 끝점(302), 제2 끝점(303), 제3 끝점(304) 및 제4 끝점(305) 각각에 대응하는 3차원 아바타 상에서의 위치를 식별할 수 있다. 예를 들어, 시뮬레이션 장치(700)는 제1 끝점(302)을 오른쪽 발 끝점으로, 제2 끝점(303)을 왼쪽 발 끝점으로, 제3 끝점(304)을 오른쪽 손 끝점으로, 제4 끝점(305)를 왼쪽 손 끝점으로 식별할 수 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 적어도 하나의 끝점 및 복수의 신체 부위 경계면들 중 적어도 하나에 기초하여, 3차원 아바타의 신체 부위인 세그먼트를 결정할 수 있다. 예를 들어, 도 3에 도시된 바와 같이 시뮬레이션 장치(700)는 끝점(304)과 겨드랑이 경계면(310)에 기초하여 팔 세그먼트를 결정할 수 있다. 또한, 시뮬레이션 장치(700)는 끝점(302)과 사타구니 경계면(330)에 기초하여 다리 세그먼트를 결정할 수 있다. 시뮬레이션 장치(700)는 마찬가지의 방법을 이용하여 오른팔 세그먼트, 왼팔 세그먼트, 오른다리 세그먼트, 왼다리 세그먼트를 각각 결정할 수 있다. 세그먼트는 3차원 아바타의 적어도 일부일 수 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 신체 비율 정보에 기초하여, 세그먼트에서 적어도 하나의 신체 부위 경계면을 결정할 수 있다. 예를 들어, 제2 끝점(304)과 겨드랑이 경계면(310)에 기초하여 결정된 팔 세그먼트에서, 시뮬레이션 장치(700)는 신체 비율 정보에 기초하여 팔꿈치 경계면(311) 및/또는 손목 경계면(312)을 결정할 수 있다. 팔 세그먼트에서, 손목의 위치 및 팔꿈치의 위치에 따라 손 길이, 전완(fore arm) 길이, 상완(upper arm) 길이가 결정되고 각각의 길이 비율이 결정될 수 있다. 신체 비율 정보는 손 길이: 전완 길이: 상완 길이에 대한 비율 정보를 포함할 수 있다. 예를 들어, 팔 세그먼트에서 신체 부위 경계면은 중간축에 수직인 면으로 절단된 면일 수 있다. 일반적으로, 3차원 아바타의 팔은 다리와 다르게 몸통과 이루는 각도가 다양할 수 있다. 3차원 아바타가 차렷 자세일 경우의 팔과 몸통이 이루는 각도부터 3차원 아바타가 양 팔을 벌리고 있는 경우의 팔과 몸통이 이루는 각도가 모두 다르기 때문에, 시뮬레이션 장치(700)가 지면에 평행한 방향으로 경계면을 결정할 경우, 부정확하게 팔의 경계면이 결정될 수 있다. 따라서 3차원 아바타의 팔이 위치가 다양할 수 있으므로, 시뮬레이션 장치(700)는 팔 세그먼트의 중간축에 수직인 면으로 절단된 면을 경계면으로 결정할 수 있다.
다른 예를 들어, 끝점(302)과 사타구니 경계면(330)에 기초하여 결정된 다리 세그먼트에서, 시뮬레이션 장치(700)는 신체 비율 정보에 기초하여 무릎 경계면(331) 및/또는 발목 경계면(332)을 결정할 수 있다. 다리 세그먼트에서, 무릎의 위치 및 발목의 위치에 따라 발 높이, 종아리 길이, 허벅지 길이가 결정되고 각각의 길이 비율이 결정될 수 있다. 예를 들어, 다리 세그먼트에서 신체 부위 경계면은 지면과 평행한 방향으로 절단된 면일 수 있다. 지면은 3차원 아바타가 지지하고 서 있는 면으로서, 3차원 아바타의 발이 위치하는 면일 수 있다. 일반적으로 3차원 아바타가 서 있는 경우, 3차원 아바타의 다리는 펴진 상태일 수 있기 때문에, 시뮬레이션 장치(700)가 지면과 평행한 방향으로 절단해도 정확한 경계면을 획득할 수 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 신체 비율 정보에 기초하여 허리 경계면(350)을 결정할 수도 있다. 예를 들어 신체 비율 정보는 허리 경계면에 위치하는 비율 정보를 포함할 수도 있다.
일 실시예에 따른 시뮬레이션 장치(700)는 3차원 아바타의 어깨 위치 정보에 기초하여 결정된 단면과 평행한 복수의 단면들 중 3차원 아바타의 목에 대응하는 적어도 하나의 신체 부위 경계면을 결정할 수 있다. 일 실시예에 따른 시뮬레이션 장치(700)는 3차원 아바타의 어깨 위치 정보에 기초하여 단면을 결정할 수 있다. 그리고, 시뮬레이션 장치(700)는 어깨에 위치하는 단면(예, 아랫목 경계면)에서 시작하여 높이를 증가시켜가면서 해당 단면과 평행한 복수의 단면들을 생성할 수 있다. 이러한 과정에서, 시뮬레이션 장치는 아랫목 경계면(370) 및 윗목 경계면(371)을 결정할 수 있다. 높이를 증가시켜 가면서 단면을 생성하는 경우, 두께가 얇아지다가 얼굴 부분에서 두께가 갑자기 증가할 수 있다. 이 경우, 시뮬레이션 장치는 두께가 갑자기 증가하기 이전의 위치를 윗목 경계면(371)으로 결정할 수 있다.
다른 일 실시예에 따른 시뮬레이션 장치는 3차원 아바타의 얼굴 위치 정보에 기초하여 결정된 단면과 평행한 복수의 단면들 중 3차원 아바타의 목에 대응하는 적어도 하나의 신체 부위 경계면을 결정할 수 있다. 일 실시예에 따른 시뮬레이션 장치(700)는 3차원 아바타의 얼굴 위치 정보에 기초하여 단면을 결정할 수 있다. 그리고, 시뮬레이션 장치(700)는 얼굴 바로 아래에 위치하는 단면(예, 윗목 경계면)에서 시작하여 높이를 감소시켜가면서 해당 단면과 평행한 복수의 단면들을 생성할 수 있다. 이러한 과정에서, 시뮬레이션 장치는 아랫목 경계면(370) 및 윗목 경계면(371)을 결정할 수 있다. 높이를 감소시켜 가면서 단면을 생성하는 경우, 두께가 조금씩 증가하다가 어깨 부분에서 두께가 갑자기 증가할 수 있다. 이 경우, 시뮬레이션 장치는 두께가 갑자기 증가하기 이전의 위치를 아랫목 경계면(370)으로 결정할 수 있다.
도 4는 일 실시예에 따른 곡률 정보를 설명하기 위한 도면이다.
도 4에서는 한 점(410)에서의 가우스 곡률이 양수(400)인 경우, 한 점(430)에서의 가우스 곡률이 음수(401)인 경우 및 한 점(450)에서의 가우스 곡률이 0(402)인 경우가 도시되어 있다.
곡률 정보는 가우스 곡률에 기초한 정보를 포함할 수 있다. 가우스 곡률은 곡면의 한 점의 굽은 정도를 나타내는 측도를 의미할 수 있다. 가우스 곡률은 제1 곡률 및 제2 곡률의 곱에 의하여 결정될 수 있다. 제1 곡률 및 제2 곡률은 각각 주 곡률(principal curvature)일 수 있다. 주 곡률은 곡면이 각 방향에 따라 굽은 정도를 나타내는 값일 수 있다. 곡면에는 무한개의 법선 곡률(normal curvature)가 존재할 수 있다. 법선 곡률은 곡면 상의 한 점에서 그 점의 법선을 포함하는 평면으로 해당 곡면을 잘랐을 때 나오는 곡선의 곡률을 해당 방향의 곡률을 의미할 수 있다. 제1 곡률 및 제2 곡률은 무한개의 법선 곡률 중, 가장 큰 곡률과 가장 작은 곡률을 가지는 곡률일 수 있다. 예를 들어, 제1 곡률을 가장 큰 곡률, 제2 곡률을 가장 작은 곡률일 수 있다. 제1 곡률의 방향과 제2 곡률의 방향은 서로 수직이 될 수 있다.
도 4에서는 한 점(410)에서의 가우스 곡률이 양수(400)인 경우가 도시되어 있다. 제1 곡률에 대응하는 곡선(411) 및 제2 곡률에 대응하는 곡선(412)이 동일한 방향으로 볼록하므로, 주 곡률의 부호가 동일할 수 있다. 가우스 곡률은 제1 곡률과 제2 곡률의 곱이므로, 가우스 곡률은 양수일 수 있다. 가우스 곡률이 양수인 경우, 한 점(410)에서의 곡면은 볼록하거나 오목할 수 있다.
도 4에서는 한 점(430)에서의 가우스 곡률이 음수(401)인 경우가 도시되어 있다. 제1 곡률에 대응하는 곡선(431) 및 제2 곡률에 대응하는 곡선(432)이 서로 다른 방향으로 볼록할 수 있다. 예를 들어, 제1 곡률에 대응하는 곡선(431)은 위로 볼록하고, 제2 곡률에 대응하는 곡선(432)은 아래로 볼록할 수 있다. 이 경우, 제1 곡률과 제2 곡률의 부호는 반대이므로, 가우스 곡률은 음수가 될 수 있다. 가우스 곡률이 음수인 경우, 한 점(430)은 안장점(saddle point)이이될 수 있다.
도 4에서는 한 점(450)에서의 가우스 곡률이 0(402)인 경우가 도시되어 있다. 제2 곡률에 대응하는 선(452)은 곡률이 없는 직선일 수 있다. 이 경우, 제2 곡률은 0이므로, 가우스 곡률은 0이 될 수 있다.
도 5는 일 실시예에 따른 두께 정보를 설명하기 위한 도면이다.
도 5에서는 객체의 표면 및 객체 내부에 존재하는 원이 도시되어 있다. 설명의 편의를 위하여 2차원으로 도시되었으나, 객체는 3차원 아바타가 될 수 있고, 객체 내부에 존재하는 원은 3차원 아바타 내부에 존재하는 구가 될 수 있다. 예를 들어, 도 5의 도시된 2차원 도면은, 3차원 아바타 및 3차원 아바타 내부에 존재하는 구들의 단면을 도시한 것일 수 있다.
도 5에서 3차원 아바타의 일부분(500), 구1(510), 접점1(511), 접점2(512), 구2(530), 접점3(531), 접점4(532) 및 중간축(medial axis)(520)이 도시되어 있다. 구1(510) 및 구2(530)는 3차원 아바타의 일부분(500)의 내부에 위치하면서, 3차원 아바타의 표면에 접하는 적어도 하나의 접점을 포함할 수 있다. 그리고 구1(510) 및 구2(530)는 아바타 내부에서 최대로 접하는 구를 생성할 수 있다. 최대로 접하는 구는 어느 방향으로도 더 이상 구의 크기를 키울 수 없는 크기를 가진 구를 의미할 수 있다. 예를 들어, 구1(510)은 3차원 아바타 표면과 접점1(511) 및 접점2(512)에서 접할 수 있다. 또 다른 예를 들어, 구2(530)은 3차원 아바타 표면과 접점3(531) 및 접점4(532)에서 접할 수 있다.
3차원 아바타 내부에는 최대로 접하는 구가 적어도 하나 이상 생성될 수 있다. 그리고 최대로 접하는 구의 중심을 연결하면 도 5에 도시된 바와 같이 중간축(520)이 생성될 수 있다. 일 실시예에 따른 시뮬레이션 장치(700)는 중간축으로부터 접점까지의 거리(예, 구의 반지름)에 기초하여 두께를 결정할 수 있다. 시뮬레이션 장치(700)는 중간축으로부터 접점까지의 거리를 이용함으로써, 3차원 아바타의 특정 신체 부위의 두께를 산출할 수 있다. 예를 들어, 시뮬레이션 장치(700)는 구의 반지름의 2배 값을 두께로 결정할 수도 있고, 구의 반지름에서 일정 비율을 곱한 값을 두께로 결정할 수도 있다.
도 6은 일 실시예에 따른 3차원 아바타에 표시된 제2 점들을 설명하기 위한 도면이다.
도 6에 대한 구체적인 설명은 도 1에서 전술한 바가 있으므로, 도 6에서는 구체적인 설명을 생략하도록 한다.
도 7는 다양한 실시예에 따른 시뮬레이션 장치를 설명하기 위한 블록도이다.
일 실시예에 따른 시뮬레이션 장치(700)는 서버, 사용자 단말 (예: 스마트폰, 퍼스널 컴퓨터, 태블릿 PC 등) 등일 수 있다. 도 7을 참조하면, 일 실시예에 따른 시뮬레이션 장치(700)는 사용자 인터페이스(710), 프로세서(730), 디스플레이(750), 및 메모리(760)를 포함할 수 있다. 사용자 인터페이스(710), 프로세서(730), 디스플레이(750), 및 메모리(760)는 통신 버스(705)를 통해 서로 연결될 수 있다.
사용자 인터페이스(710)는 아바타에 착장 시뮬레이션된 3차원 의상에서 3차원 의상에 포함된 하나 또는 그 이상의 패턴 조각들 및 패턴 조각들 각각을 구성하는 패턴들(2차원 패턴) 중 적어도 하나 이상을 선택하는 사용자 입력을 수신한다. 사용자 인터페이스(710)는 예를 들어, 스타일러스 펜, 마우스 클릭, 및/또는 사용자의 손가락을 통해 터치 입력 등을 통해 3차원 공간에 표시된 3차원 의상, 패턴 조각 및/또는 패턴에 대한 사용자 입력을 수신할 수 있다.
또한, 사용자 인터페이스(710)는 복수의 객체(예, 3차원 아바타, 3차원 의상 등)들이 표시되는 시뮬레이션 공간에서 복수의 객체들을 제외한 나머지의 빈 공간에 대한 사용자 입력을 수신할 수 있다.
프로세서(730)는 선택된 패턴 조각 및/또는 패턴을 활성화하여 시각화할 수 있다. 또한, 프로세서(730)는 선택된 패턴 조각 및/또는 패턴을 제외한 적어도 하나의 나머지 패턴 조각 및/또는 패턴을 비활성화하여 투명 또는 반투명하게 시각화할 수 있다.
디스플레이(750)는 프로세서(730)에 의해 생성된 3차원 아바타를 표시한다.
메모리(760)는 생성된 3차원 아바타 관련 정보, 의상 정보 등을 저장할 수 있다. 이 밖에도, 메모리(760)는 상술한 프로세서(730)의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(760)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(760)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(760)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
또한, 프로세서(730)는 도 1 내지 도 6을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(730)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 프로세서(730)는 예를 들어, CPU(Central Processing Unit), GPU(Graphics Processing Unit), 또는 NPU(Neural network Processing Unit)으로 구성될 수 있다. 예를 들어, 하드웨어로 구현된 시뮬레이션 장치(700)는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(730)는 프로그램을 실행하고, 시뮬레이션 장치(700)를 제어할 수 있다. 프로세서(730)에 의하여 실행되는 프로그램 코드는 메모리(760)에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (14)

  1. 3차원 아바타의 신체 부위 경계면 결정 방법에 있어서,
    상기 3차원 아바타의 표면에 존재하는 복수의 점들 각각의 곡률을 포함하는 곡률 정보를 생성하는 단계;
    상기 복수의 점들 중에서, 상기 곡률 정보에 기초하여 곡률이 제1 미리 결정된 기준을 충족하는 제1 점들을 결정하는 단계;
    상기 제1 점들 중에서, 상기 3차원 아바타의 내부 두께 정보에 기초하여 결정된 상기 제1 점들 각각에 대응하는 두께가 제2 미리 결정된 기준을 충족하는지 여부에 기초하여 제2 점들을 결정하는 단계; 및
    상기 제2 점들에 기초하여 복수의 신체 부위 경계면들을 결정하는 단계
    를 포함하는,
    3차원 아바타의 신체 부위 경계면 결정 방법.
  2. 제1항에 있어서,
    상기 곡률 정보는
    가우스 곡률(Gaussian Curvature)에 기초한 정보를 포함하고,
    상기 가우스 곡률은 제1 곡률 및 제2 곡률의 곱에 의하여 결정되는,
    3차원 아바타의 신체 부위 경계면 결정 방법.
  3. 제1항에 있어서,
    상기 제1 미리 결정된 기준은
    가우스 곡률이 음수인지 여부에 기초하여 결정되는 기준을 포함하는,
    3차원 아바타의 신체 부위 경계면 결정 방법.
  4. 제1항에 있어서,
    상기 두께 정보는
    상기 3차원 아바타 내부에 위치하면서, 상기 3차원 아바타의 표면에 접하는 적어도 하나의 접점을 포함하는 구(sphere)의 반지름에 기초하여 결정된 정보를 포함하는,
    3차원 아바타의 신체 부위 경계면 결정 방법.
  5. 제1항에 있어서,
    상기 제2 미리 결정된 기준은
    상기 두께가 미리 결정된 두께 이상인지 여부에 기초하여 결정되는 기준을 포함하는,
    3차원 아바타의 신체 부위 경계면 결정 방법.
  6. 제1항에 있어서,
    상기 제2 점들을 결정하는 단계는
    상기 제1 점에 대응하는 두께가 미리 결정된 두께 이상인 경우, 상기 제1 점을 제2 점으로 결정하는 단계
    를 포함하는,
    3차원 아바타의 신체 부위 경계면 결정 방법.
  7. 제1항에 있어서,
    상기 곡률 정보를 생성하는 단계 이전에
    상기 3차원 아바타의 시작점에서 시작하여 상기 3차원 아바타의 메쉬 정보에 기초하여 적어도 하나의 끝점을 탐색하는 단계
    를 포함하는,
    3차원 아바타의 신체 부위 경계면 결정 방법.
  8. 제7항에 있어서,
    상기 적어도 하나의 끝점 및 상기 복수의 신체 부위 경계면들 중 적어도 하나에 기초하여, 상기 3차원 아바타의 신체 부위인 세그먼트를 결정하는 단계
    를 더 포함하는,
    3차원 아바타의 신체 부위 경계면 결정 방법.
  9. 제8항에 있어서,
    신체 비율 정보에 기초하여, 상기 세그먼트에서 적어도 하나의 신체 부위 경계면을 결정하는 단계
    를 더 포함하는,
    3차원 아바타의 신체 부위 경계면 결정 방법.
  10. 제1항에 있어서,
    상기 3차원 아바타의 어깨 위치 정보에 기초하여 결정된 단면과 평행한 복수의 단면들 중 상기 3차원 아바타의 목에 대응하는 적어도 하나의 신체 부위 경계면을 결정하는 단계; 또는
    상기 3차원 아바타의 얼굴 위치 정보에 기초하여 결정된 단면과 평행한 복수의 단면들 중 상기 3차원 아바타의 목에 대응하는 적어도 하나의 신체 부위 경계면을 결정하는 단계
    를 더 포함하는,
    3차원 아바타의 신체 부위 경계면 결정 방법.
  11. 제1항에 있어서,
    상기 3차원 아바타에 착장되는 의상(garment)의 3차원 패턴의 크기를 상기 복수의 신체 부위 경계면들 각각의 크기에 기초하여 조정하는 단계;
    를 더 포함하는,
    3차원 아바타의 신체 부위 경계면 결정 방법.
  12. 제11항에 있어서,
    상기 3차원 패턴에 대응하는 2차원 패턴의 크기를 유지하는 단계;
    를 더 포함하는,
    3차원 아바타의 신체 부위 경계면 결정 방법.
  13. 하드웨어와 결합되어 제1항 내지 제12항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  14. 3차원 아바타의 신체 부위 경계면을 결정하기 위한 시뮬레이션 장치에 있어서,
    상기 3차원 아바타의 표면에 존재하는 복수의 점들 각각의 곡률을 포함하는 곡률 정보를 생성하고,
    상기 복수의 점들 중에서, 상기 곡률 정보에 기초하여 곡률이 제1 미리 결정된 기준을 충족하는 제1 점들을 결정하고,
    상기 제1 점들 중에서, 상기 3차원 아바타 내부의 두께 정보에 기초하여 결정된 상기 제1 점들 각각에 대응하는 두께가 제2 미리 결정된 기준을 충족하는지 여부에 기초하여 제2 점들을 결정하고, 그리고
    상기 제2 점들에 기초하여 복수의 신체 부위 경계면들을 결정하는 프로세서를 포함하는,
    시뮬레이션 장치.



KR1020220158169A 2021-11-25 2022-11-23 3차원 아바타의 신체 부위 경계면 결정 방법 및 장치 KR20230077677A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP22899085.9A EP4250243A1 (en) 2021-11-25 2022-11-25 Method and apparatus for determining body part boundary surface of three-dimensional avatar
CN202280005947.4A CN116508064A (zh) 2021-11-25 2022-11-25 确定3d分身的身体部位边界面的方法及装置
PCT/KR2022/018842 WO2023096403A1 (ko) 2021-11-25 2022-11-25 3차원 아바타의 신체 부위 경계면 결정 방법 및 장치
US18/297,393 US20230260146A1 (en) 2021-11-25 2023-04-07 Determining boundaries of body parts of three-dimensional avatar

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210164354 2021-11-25
KR1020210164354 2021-11-25

Publications (1)

Publication Number Publication Date
KR20230077677A true KR20230077677A (ko) 2023-06-01

Family

ID=86771157

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220158169A KR20230077677A (ko) 2021-11-25 2022-11-23 3차원 아바타의 신체 부위 경계면 결정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20230077677A (ko)

Similar Documents

Publication Publication Date Title
KR102136620B1 (ko) 의상 패턴들을 표시하는 방법 및 장치
CA2863097C (en) System and method for simulating realistic clothing
US11308707B2 (en) Automated grading of clothing patterns of garment
CN102622606B (zh) 基于测地模型的人体骨骼提取和朝向判定方法
JP2014501011A5 (ko)
KR20110119260A (ko) 3차원 의상 자동 전이 착장 방법 및 그 장치와, 그 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독가능 기록매체
Fuhrmann et al. Interaction-free dressing of virtual humans
CN109614925A (zh) 服饰属性识别方法和装置、电子设备、存储介质
JP2019096113A (ja) キーポイントデータに関する加工装置、方法及びプログラム
US11151786B2 (en) Grading garment that includes supplemental material
CN103021027A (zh) 电子人模的特征数据结构
CN106406875A (zh) 基于自然手势的虚拟数字雕塑方法
KR20210021898A (ko) 부자재 요소를 포함하는 의상의 그레이딩 방법 및 장치
CN114511369A (zh) 在线试穿方法及装置
KR20190114675A (ko) 아바타간 의상 전이 착장 방법
KR20230077677A (ko) 3차원 아바타의 신체 부위 경계면 결정 방법 및 장치
EP4250243A1 (en) Method and apparatus for determining body part boundary surface of three-dimensional avatar
KR102273317B1 (ko) 의상 패턴들의 오토 그레이딩 방법 및 장치
CN105204630B (zh) 一种用体感进行服装设计的方法与系统
EP4089562A1 (en) Designing garment using style line
CN116508064A (zh) 确定3d分身的身体部位边界面的方法及装置
KR102228099B1 (ko) 의상의 패턴 조각들의 결합을 위한 가이드를 제공하는 방법 및 장치
Tang et al. Point cloud decomposition by internal and external critical points
CN117557699B (zh) 动画数据生成方法、装置、计算机设备和存储介质
US20240169632A1 (en) Automatic arrangement of patterns for garment simulation using neural network model