KR20180021817A - 중복 배면을 갖는 작은 메시 컴포넌트의 단순화 - Google Patents

중복 배면을 갖는 작은 메시 컴포넌트의 단순화 Download PDF

Info

Publication number
KR20180021817A
KR20180021817A KR1020187002102A KR20187002102A KR20180021817A KR 20180021817 A KR20180021817 A KR 20180021817A KR 1020187002102 A KR1020187002102 A KR 1020187002102A KR 20187002102 A KR20187002102 A KR 20187002102A KR 20180021817 A KR20180021817 A KR 20180021817A
Authority
KR
South Korea
Prior art keywords
component
mesh
polygonal mesh
size
determining
Prior art date
Application number
KR1020187002102A
Other languages
English (en)
Other versions
KR102042941B1 (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 일렉트로닉 아트 아이엔씨.
Publication of KR20180021817A publication Critical patent/KR20180021817A/ko
Application granted granted Critical
Publication of KR102042941B1 publication Critical patent/KR102042941B1/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
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials

Landscapes

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

Abstract

메시 단순화 시스템은 3차원(3D) 객체의 3D 다각형 메시를 수신한다. 메시 단순화 시스템은 (3D) 다각형 메시의 컴포넌트를 식별하고, 상기 컴포넌트는 3D 다각형 메시의 제2 표면적 크기보다 작은 제1 표면적 크기를 가지며, 상기 컴포넌트는 3D 다각형 메시와 별개의 구조로서 모델링된 한 세트의 위상학적으로 상호연결된 표면들을 포함한다. 그 다음에 메시 단순화 시스템은 컴포넌트로부터 배면을 제거함으로써 컴포넌트의 단순화된 버전을 자동으로 생성하며, 여기서, 컴포넌트의 단순화된 버전은 컴포넌트보다 더 적은 다각형을 포함한다.

Description

중복 배면을 갖는 작은 메시 컴포넌트의 단순화
관련 출원들
본 출원은, 참조로 그 전체 내용이 본 명세서에 포함되는 2015년 6월 26일 출원된 미국 가출원 제62/185,183호의 우선권을 주장한다.
기술분야
본 개시내용은 일반적으로 메시 단순화(mesh simplification)에 관한 것으로, 더욱 구체적으로는, 더 먼 거리에서 보기 위한 3D 모델의 계산적으로 더 간단한 버전을 생성하는 것에 관한 것이다.
다각형 메시는, 3차원 객체의 형상 및/또는 경계들을 정의하는 꼭지점들(vertices), 엣지들(edges), 및 면들(faces)의 집합(collection)에 의해 표현될 수 있다. 엣지는 2개의 꼭지점을 연결하는 선에 의해 표현될 수 있다. 꼭지점은 소정의 공간 위치를 갖는 점에 의해 표현될 수 있다. 메시 면들은, 삼각형, 쿼드(사각형), 및/또는 다른 규칙적인 또는 불규칙한 다각형 등의 다양한 다각형 형상에 의해 표현될 수 있다. 다양한 예시적인 예에서, 삼각형 면은 닫힌 세트의 3개의 엣지로 형성될 수 있고, 사각형 면은 닫힌 세트의 4개의 엣지로 형성되는 등등이다.
컴퓨터-생성된 이미지를 생성하는 정황에서, 메시 단순화는 메시 모델의 단순화된 버전을 생성하는데 이용될 수 있다. LOD(Level of Detail) 생성이라고도 하는 메시 단순화는, 컴퓨터 게임 캐릭터(computer game character)의 아티스트-저작된 모델(artist-authored model)로 표현될 수 있는 객체의 원본 모델의 단순화된 버전을 생성하는데 이용될 수 있다. 원본 모델의 단순화된 버전을 이용하여 다양한 거리로부터의 모델링된 객체에서 뷰를 시뮬레이션할 수 있다.
본 개시내용은 제한으로서가 아니라 예로서 예시되며, 다음과 같은 도면들과 연계하여 고려될 때 이하의 상세한 설명을 참조하여 더욱 완전히 이해될 수 있다 :
도 1a는, 본 개시내용의 하나 이상의 실시예에 따른, 그래픽 시뮬레이션을 위한 기사 캐릭터(knight character)의 3D 다각형 메시를 나타내는 시뮬레이션된 캐릭터 메시를 나타낸다.
도 1b는 본 개시내용의 하나 이상의 실시예에 따른 시뮬레이션된 캐릭터 메시의 줌인 뷰(zoomed in view)를 나타낸다.
도 2는, 본 개시내용의 하나 이상의 실시예에 따른, 연관된 시뮬레이션된 캐릭터 모델 이외의 메시 컴포넌트들의 예를 나타낸다.
도 3은, 본 개시내용의 하나 이상의 실시예에 따른, 메시 컴포넌트 전면의 정면도를 나타낸다.
도 4는, 본 개시내용의 하나 이상의 실시예에 따른, 메시 컴포넌트 배면의 배면도를 나타낸다.
도 5는, 본 개시내용의 하나 이상의 실시예에 따른, 단순화된 메시 컴포넌트의 배면도를 나타낸다.
도 6a는, 본 개시내용의 하나 이상의 실시예에 따른, 시뮬레이션된 캐릭터 메시에 관련된 메시 컴포넌트의 배면의 적극적 식별(positive identification)을 나타낸다.
도 6b는, 본 개시내용의 하나 이상의 실시예에 따른, 시뮬레이션된 캐릭터 메시에 관련된 배면으로서 식별되지 않는 메시 컴포넌트의 배면을 나타낸다.
도 6c는, 본 개시내용의 하나 이상의 실시예에 따른, 시뮬레이션된 캐릭터 메시에 관련된 배면으로 식별된 메시 컴포넌트의 배면을 나타낸다.
도 6d는, 본 개시내용의 하나 이상의 실시예에 따른, 메시 컴포넌트 전면의 정면도를 나타낸다.
도 7a는, 본 개시내용의 하나 이상의 실시예에 따른, 다양한 수준의 디테일 단순화 옵션을 선택하기 위한 예시적인 GUI를 나타낸다.
도 7b는, 본 개시내용의 하나 이상의 실시예에 따른, 다양한 수준의 디테일 단순화 옵션을 선택하기 위한 예시적인 GUI를 나타낸다.
도 8은, 본 개시내용의 하나 이상의 실시예에 따른, 예시적인 그래픽 시뮬레이션 시스템 아키텍처의 고수준 컴포넌트 도면을 나타낸다.
도 9는, 본 개시내용의 하나 이상의 실시예에 따른, 중복 배면을 갖는 작은 메시 컴포넌트를 단순화하기 위한 예시적인 방법의 흐름도를 도시한다.
도 10은, 본 개시내용의 하나 이상의 실시예들에 따른, 제2 컴포넌트의 크기에 기초하여 메시 단순화를 위한 임계 크기를 결정하기 위한 예시적인 방법의 흐름도를 도시한다.
도 11은, 본 개시내용의 하나 이상의 실시예들에 따른, 3D 다각형 메시의 전체 크기에 기초하여 메시 단순화를 위한 임계 크기를 결정하기 위한 예시적인 방법의 흐름도를 도시한다.
도 12는, 본 개시내용의 하나 이상의 실시예에 따른, 한 컴포넌트가 단순화에 대해 적격인지를 다른 컴포넌트 e로부터의 거리에 기초하여 결정하기 위한 예시적인 방법의 흐름도를 도시한다.
도 13은, 본 개시내용의 하나 이상의 실시예에 따른, 제거될 수 있는 컴포넌트의 적격 배면을 식별하기 위한 예시적인 방법의 흐름도를 도시한다.
도 14는, 본 개시내용의 하나 이상의 실시예에 따른, 제거될 수 있는 컴포넌트의 적격 배면을 식별하기 위한 예시적인 방법의 흐름도를 도시한다.
도 15는, 본 개시내용의 하나 이상의 실시예에 따라 동작하는 예시적인 컴퓨터 시스템의 블록도를 도시한다.
중복 배면을 갖는 작은 메시 컴포넌트를 단순화하기 위한 방법 및 시스템이 본 명세서에서 설명된다. 메시는 종종 복수의 "컴포넌트"로 구성된다. 소정 구현에서, 용어 "컴포넌트"는 위상학적으로 상호연결된 면들의 섬(island)을 말할 수 있다. 3D 모델의 작은 표면 피쳐들은 종종 별개의 컴포넌트들로서 모델링된다. 예를 들어, 캐릭터의 어깨 패드 또는 뱃지는, 그래픽적으로 본체(main body)와 중첩되거나 이에 접촉하더라도, 위상학적으로 별개의 컴포넌트일 수 있다.
메시의 작은 피쳐가 별개의 컴포넌트들로서 모델링되고 메인 메시의 표면 상에 위치하는 상황에서, 컴포넌트의 "배면"을 형성하는 작은 컴포넌트의 일부 면들이 존재할 수 있다(예를 들어, 작은 컴포넌트는 메인 메시에 맞대어 "닿음"). 이들 면들은 메인 메시의 면들에 매우 근접하거나, 정확히 접촉하거나, 약간 중첩될 수 있고, 여기서, 컴포넌트는 그 표면에 위치한다. 이것은 종종, 아티스트가, 배면을 생략하지 않고, 캐릭터의 뱃지나 갑옷판 또는 건물의 벽면 상의 그림 등의 피쳐를, 완전한 닫힌 컴포넌트로 모델링했을 경우일 수 있다. 이 상황에서, 배면은 컴포넌트가 더 큰 메시의 표면 상에 위치할 경우 중복적일 수 있는데, 그 이유는, 더 큰 메시가 배면을 가리거나, 적어도 관찰자가 배면을 볼 수 있는 각도의 수를 최소화하기 때문이다.
본 개시내용의 실시예들은, 더 큰 메시의 표면 상의 작은 컴포넌트를 식별하고, 메시의 배면(또는 "뒷쪽 면")을 식별하고, 후속해서 메시로부터 배면을 자동으로 제거함으로써 중복 배면을 갖는 메시 컴포넌트를 단순화하는 능력을 제공할 수 있다. 이들 배면들은, 특히 먼 곳에서 볼 때, 메시의 외관에 거의 영향을 주지 않는다. 배면을 제거하는 것은, 그 외관을 크게 변경시키지 않으면서 메시의 다각형 수를 감소시킬 수 있다. 따라서, 단순화된 메시는 렌더링과 저장 양쪽 모두에 필요한 자원을 감소시킬 수 있다. 추가적으로, 단순화된 메시를 자동으로 생성하는데 있어서, 아티스트 측에서 광범위하게 작업하지 않아도 중복 배면들이 식별 및 제거될 수 있으므로 아티스트의 주관성에 의존하지 않고 더욱 효율적으로 완료될 수 있다.
예시적인 예에서, 메시 단순화 시스템은 3D 객체의 3차원(3D) 다각형 메시를 수신한다. 3D 다각형 메시는 3D 객체의 평면 표면 근사의 위상학적으로 상호연결된 다면체 평면 패싯(polyhedral planar facet)으로 이루어진 3D 객체의 표현일 수 있다. 메시는 3D 객체를 생성하기 위해 아티스트가 이용하는 저작 도구로부터 수신될 수 있다. 예를 들어, 아티스트는 저작 도구를 이용하여, 비디오 게임, 3D 애니메이션 등에 대한 시뮬레이션된 캐릭터의 3D 표현을 위한 메시를 생성할 수 있다. 그 다음, 메시는 (예를 들어, 로컬 저장 디바이스에) 저장될 수 있고, 후속해서 메시 단순화 시스템에 전송될 수 있다. 일부 구현에서, 메시 단순화 시스템은 아티스트가 메시를 생성하기 위해 이용하는 저작 도구의 컴포넌트일 수 있다. 대안으로서, 메시 단순화 시스템은 저작 도구와 독립적으로 실행되는 별개의 컴포넌트일 수 있다.
앞서 언급된 바와 같이, 다각형 메시는, 3D 객체의 형상 및/또는 경계를 정의하는 꼭지점, 엣지 및 면들의 집합으로 표현될 수 있다. 엣지는 2개의 꼭지점을 연결하는 선에 의해 표현될 수 있다. 꼭지점은 소정의 공간 위치를 갖는 점에 의해 표현될 수 있다. 메시 면은 3D 객체의 일부(예를 들어, 메시 내의 평면 패싯)의 다면체 평면 표면 근사일 수 있다. 메시 면들은, 삼각형, 쿼드(사각형), 및/또는 다른 규칙적인 또는 불규칙한 다각형 등의 다양한 다각형에 의해 표현될 수 있다. 다양한 예시적인 예에서, 삼각형 면은 닫힌 세트의 3개의 엣지로 형성될 수 있고, 사각형 면은 닫힌 세트의 4개의 엣지로 형성되는 등등이다.
일부 구현에서, 3D 다각형 메시는 복수의 컴포넌트로 이루어질 수 있고, 여기서 컴포넌트는 메시의 다른 부분들과는 별도의 구조로서 모델링된 추가적인 세트의 위상학적으로 상호연결된 표면들일 수 있다. 컴포넌트는 전면과 배면을 가질 수 있고, 그 각각은 높은 수준의 디테일을 가지고 있다. 컴포넌트의 전면측은 3D 다각형 메시의 메인 부분으로부터 멀리 위치할 수 있고, 배면측은 3D 다각형 메시의 메인 부분에 매우 근접하여 위치할 수 있다.
예시적인 예에서, 시스템의 사용자(예를 들어, 아티스트)는 비디오 게임을 위한 기사(knight)의 시뮬레이션된 캐릭터에 대한 3D 다각형 메시를 생성할 수 있다. 기사 캐릭터는 기사의 몸체(예를 들어, "메인 메시")뿐만 아니라 헬멧, 흉부판, 긴 장갑, 방패 등의 별개의 구조로서 표현되는 기사의 갑옷의 개개의 부분들을 포함하도록 3D 다각형 메시에서 표현될 수 있다. 아티스트는 기사 갑옷의 부분들을 메시의 메인 부분으로부터 위상학적으로 고립될 뿐만 아니라 위상학적으로 서로 고립된 시뮬레이션된 캐릭터의 메인 메시의 컴포넌트로서 생성할 수 있다. 따라서, 소정 컴포넌트는 메인 메시와는 별개로 구성되어, 3D 객체의 메인 메시(또는 다른 컴포넌트)를 접촉하거나, 이와 중첩되거나, 이와 매우 가깝게 나타나도록 나중에 배치될 수 있다. 메시의 컴포넌트의 다른 예는, 캐릭터의 유니폼 상에 디스플레이된 뱃지, 의복의 요소들, 군대 스타일 캐릭터의 갑옷판 컴포넌트, 방 벽면에 디스플레이된 사진 프레임 등을 포함할 수 있지만, 이것으로 제한되지는 않는다.
그 다음, 메시 단순화 시스템은 중복 배면(예를 들어, 뒷쪽 표면)의 제거에 의해 단순화를 위한 타겟이 되는 메시의 컴포넌트들을 식별할 수 있다. 시스템은, 메인 메시와 연관된 컴포넌트들 중 임의의 것이 메시의 전체 표면적과 관련하여 작은지를 먼저 결정함으로써 메시의 적격 컴포넌트를 선택할 수 있다. 그렇게 하기 위해, 메시 단순화 시스템은 컴포넌트의 크기가 임계 크기보다 작거나 같은지를 결정할 수 있고, 여기서, 임계 크기는 3D 다각형 메시의 표면적 적어도 일부의 백분율일 수 있다. 일부 구현에서, 임계 값을 계산하는데 이용되는 3D 다각형 메시의 표면적의 일부는 단일 컴포넌트의 표면적일 수 있다. 대안으로서, 3D 다각형 메시의 전체 표면적(예를 들어, 3D 다각형 메시의 전체 부분)이 임계 값을 계산하는데 이용될 수 있다.
한 실시예에서, 메시 단순화 시스템은 3D 다각형 메시의 전체 표면적을 이용하여 임계 크기를 결정할 수 있다. 먼저, 시스템은 3D 다각형 메시의 표면적의 전체 크기를 결정한다. 표면적은, 제곱 인치(in2), 제곱 센티미터(cm2), 제곱 밀리미터(mm2), 또는 면적 측정치를 나타내는 기타 임의의 측정 단위로 측정할 수 있다. 일부 구현에서, 3D 다각형 메시의 표면적은, 먼저 메시 내의 각각의 개개의 면의 표면적의 값을 계산한 다음 계산된 값들을 합산함으로써 계산될 수 있다. 면의 표면적은 먼저 비-연결-꼭지점들 사이에 추가 엣지들을 추가함으로써 (면이 아직 삼각형이 아니라면) 면을 하나 이상의 삼각형으로 세분함으로써 계산할 수 있다. 그 다음, 각각의 삼각형 면의 면적은, 삼각형의 임의의 2개 엣지를 나타내는 2개의 벡터의 벡터 외적의 크기의 절반을 계산함으로써 계산될 수 있다. 그 다음, 시스템은 임계 크기를 3D 다각형 메시의 전체 크기에 대한 백분율로서 결정할 수 있다. 예를 들어, 임계 크기는, 3D 다각형 메시의 표면적 크기(예를 들어, 메인 메시 및 모든 연관된 컴포넌트들의 크기)의 5 퍼센트인 값으로 설정될 수 있다. 그 다음, 시스템은 컴포넌트의 크기를 임계 크기와 비교할 수 있다. 컴포넌트의 크기가 임계 크기보다 작거나 같다면, 컴포넌트는 작은 컴포넌트로 간주되어 단순화에 대해 적격일 수 있다.
한 실시예에서, 메시 단순화 시스템은 메시로부터의 또 다른 컴포넌트의 표면적을 이용하여 임계 크기를 결정할 수 있다. 예를 들어, 컴포넌트가 제2 컴포넌트에 근접 범위 부근에 있다면, 시스템은 제2 컴포넌트의 크기를 이용하여 제1 컴포넌트가 단순화에 대해 적격이 될 만큼 충분히 작은지를 결정할 수 있다. 상기 기사 예를 이용하면, 이것은, 갑옷 흉부판 컴포넌트가 또 다른 작은 컴포넌트에 가깝게 배치된 경우 발생할 수 있다. 먼저, 시스템은 제2 컴포넌트(예를 들어, 2개 중 더 큰 컴포넌트)의 표면적의 전체 크기를 결정한다. 표면적은, 제곱 인치(in2), 제곱 센티미터(cm2), 제곱 밀리미터(mm2), 또는 면적 측정치를 나타내는 기타 임의의 측정 단위로 측정할 수 있다. 일부 구현에서, 3D 다각형 메시의 표면적은 전술된 바와 같이 계산될 수 있다. 그 다음, 시스템은 임계 크기를 제2 컴포넌트의 크기의 백분율로 결정할 수 있다. 예를 들어, 임계 크기는 제2 컴포넌트의 표면적 크기의 5 퍼센트인 값으로 설정될 수 있다. 그 다음, 시스템은 컴포넌트의 크기를 임계 크기와 비교할 수 있다. 컴포넌트의 크기가 임계 크기보다 작거나 같다면, 컴포넌트는 작은 컴포넌트로 간주되어 단순화에 대해 적격일 수 있다.
상기 실시예는 5 퍼센트의 임계 크기 백분율을 기술하고 있지만, 임계 크기 백분율은 5 퍼센트보다 높거나 낮은 값으로 설정될 수 있다는 점에 유의해야 한다. 임계 크기 백분율은, 결과적인 단순화된 메시에 대한 예상된 디테일(예를 들어, 단순화된 메시가 얼마나 멀리 떨어져서 보여질 것인가)에 따라 조절될 수 있다. 일부 구현에서, 임계 크기 백분율은 그래픽 사용자 인터페이스(GUI)를 통해 사용자에 의해 수정될 수 있다. 예를 들어, 사용자는 백분율을 입력 필드 내에 직접 입력하거나, 드롭다운 옵션 목록으로부터 선택하거나, 슬라이더 바 GUI 요소를 이용하여 값을 조절하거나, 기타 임의의 방법으로 조절할 수 있다. 대안으로서, 시스템은 단순화된 메시를 볼 거리에 기초하여 임계 크기를 자동으로 선택할 수 있다.
일부 구현에서, 일단 컴포넌트가 단순화에 적격인 작은 컴포넌트로서 식별되고 나면, 시스템은 또한, 컴포넌트가 "닫힌" 컴포넌트인지를 결정할 수 있다. 컴포넌트가 어떠한 갭도 없이 정의된 체적을 둘러싸는 완전한 표면을 형성하는 3D 지오메트리로 구성되는 경우 그 컴포넌트는 닫힌 컴포넌트일 수 있다. 이러한 방식으로 구성된 컴포넌트는 2개의 측면으로 모델링된 객체일 수 있다는 강력한 지표가 될 수 있다. 따라서, 메인 메시에 근접하거나, 이에 접촉하거나 또는 이와 중첩하는 닫힌 컴포넌트는 전체 메시를 함께 볼 때 보이지 않게 될 수 있는 배면(예를 들어, 하나 이상의 뒷쪽 면)을 가질 수 있다.
일단 컴포넌트가 단순화에 대해 적격인 것으로 타겟화되고 나면, 메시 단순화 시스템은 제거될 수 있는 컴포넌트의 임의의 배면(예를 들어, 임의의 뒷쪽 면)이 있는지를 결정할 수 있다. 그렇게 하기 위해, 메시 단순화 시스템은 컴포넌트의 임의의 배면이 또 다른 컴포넌트의 표면 또는 메인 메시의 임의의 표면에 근접하거나, 접촉하거나, 중첩하는지를 결정할 수 있다. 일부 구현에서, 메시 단순화 시스템은 컴포넌트의 배면과 메인 메시(또는 다른 컴포넌트)의 적어도 하나의 표면 사이의 거리가 임계 거리와 동일하거나 그보다 작다고 결정할 수 있다. 임계 거리는 3D 다각형 메시의 선형 크기의 백분율일 수 있다. 일부 구현에서, 임계 거리를 계산하는데 이용되는 3D 다각형 메시의 선형 크기는 메시의 임의의 2개의 꼭지점 사이의 최대 거리일 수 있다. 대안으로서, 3D 다각형 메시의 경계 박스의 최대 치수(경계 상자는 3D 다각형 메시를 완전히 포함하는 최소 박스임)가 임계 거리를 계산하는데 이용될 수 있다. 선형 크기는, 인치, 인치의 분수, 센티미터, 밀리미터, 또는 기타 임의의 측정 단위로 측정될 수 있다.
한 실시예에서, 임계 거리는 3D 다각형 메시의 또는 대안으로서 추가 컴포넌트의 선형 크기의 5 퍼센트인 값으로 설정될 수 있다. 다른 실시예에서, 임계 거리 백분율은 5 퍼센트보다 높거나 낮은 값으로 설정될 수 있다. 임계 거리 백분율은, 결과적인 단순화된 메시에 대한 예상된 디테일(예를 들어, 단순화된 메시가 얼마나 멀리 떨어져서 보여질 것인가)에 따라 조절될 수 있다. 일부 구현에서, 임계 거리 백분율은 그래픽 사용자 인터페이스(GUI)를 통해 사용자에 의해 수정될 수 있다. 예를 들어, 사용자는 백분율을 입력 필드 내에 직접 입력하거나, 드롭다운 옵션 목록으로부터 선택하거나, 슬라이더 바 GUI 요소를 이용하여 값을 조절하거나, 기타 임의의 방법으로 조절할 수 있다. 대안으로서, 시스템은 단순화된 메시를 볼 거리에 기초하여 임계 거리를 자동으로 선택할 수 있다.
메시 단순화 시스템은 먼저 광선 투사(ray casting)를 이용하여 컴포넌트의 배면을 식별할 수 있다. 광선 투사는 메시의 표면 상의 한 점으로부터 기하학적 광선이 관찰자의 눈의 방향으로 광선이 투사되어 그 광선의 경로를 차단하는 가장 가까운 객체를 결정하는 3D 렌더링 기술이다. 광선 투사를 이용하여, 메시 단순화 시스템은 컴포넌트와 메인 메시(또는 메시의 다른 컴포넌트) 사이의 거리를 결정할 수 있다. 일부 구현에서, 광선은 컴포넌트의 표면의 각각의 꼭지점(예를 들어, 면의 각각의 꼭지점)으로부터 투사될 수 있다. 예를 들어, 4개의 꼭지점을 갖는 다각형 면의 경우, 4개의 광선이, 각각의 꼭지점으로부터 하나씩 투사될 수 있다. 대안으로서, 표면 상의 특정한 지점(예를 들어, 표면의 중심으로부터)으로부터 단일의 광선이 투사될 수 있다.
컴포넌트의 배면을 식별하기 위해, 메시 단순화 시스템은 먼저 컴포넌트 메시의 표면들 중 하나(예를 들어, 면들 중 하나)를 선택할 수 있다. 그 다음, 시스템은 선택된 표면으로부터 제1 표면의 표면 법선 벡터의 방향으로 광선(단일의 광선, 각각의 꼭지점으로부터의 광선 등)을 투사할 수 있다. 표면 법선 벡터는 식별된 표면의 지오메트리에 접하는 평면에 수직인 벡터이다. 다른 실시예에서, 광선은 단지 표면 법선 벡터의 방향이 아니라 접평면(tangent plane)으로부터 복수의 방향으로 투사될 수 있다. 시스템은 광선이 3D 다각형 메시(메인 메시 또는 메시의 또 다른 컴포넌트 부분)의 나머지와 교차하는 위치를 결정할 수 있다.
메시 단순화 시스템은 메인 메시(또는 추가 컴포넌트)의 표면과 각각의 광선의 제1 교차점을 식별할 수 있다. 일부 구현에서, 제1 교차점은, 광선이 광선의 시작점에 대해 거리가 가장 가까운 메인 메시(또는 추가 컴포넌트)의 지오메트리를 교차하는 메인 메시(또는 추가 컴포넌트) 상의 위치일 수 있다. 즉, 제1 교차점은 광선이 교차하는 (단순화에 대해 적격인 컴포넌트 이외의) 제1 표면을 나타낸다. 컴포넌트가 메시(또는 추가 컴포넌트)의 메인 부분에 얼마나 가까운지에 따라, 광선은 전면(예를 들어, 컴포넌트 쪽으로 향하는 표면) 또는 배면(컴포넌트로부터 멀어지는 쪽으로 향하는 메인 메시의 표면) 중 어느 하나를 교차할 수 있다. 컴포넌트가 메인 메시의 전면에 가깝게 또는 약간 접촉하여 위치한다면, 광선은 메인 메시의 전면을 교차할 수 있다. 컴포넌트의 배면이 메인 메시의 전면과 약간 중첩하도록 컴포넌트가 위치한다면, 광선은 메인 메시의 배면을 교차할 수 있다. 다양한 광선 투사 교차점의 예가 도 6a 내지 도 6d에 관하여 더욱 상세하게 설명된다.
한 실시예에서, 메시 단순화 시스템은 광선의 제1 교차점이 메인 메시(또는 추가 컴포넌트)의 전면에 위치한다고 결정할 수 있다. 시스템은 (예를 들어, 광선의 원점으로부터의) 컴포넌트의 표면과 메인 메시(또는 추가 컴포넌트) 상의 교차점 사이의 거리를 결정할 수 있다. 그 다음, 시스템은, 위에서 설명된 임계 거리를 이용하여, 컴포넌트의 표면이, 제거될 수 있는 배면으로서 자격을 갖추기에 충분히 가까운지를 결정할 수 있다. 표면과 교차점 사이의 거리가 임계 거리보다 작거나 같다고 결정하는 것에 응답하여, 메시 단순화 시스템은 표면을 배면(예를 들어, 뒷쪽 면)으로 식별할 수 있다.
또 다른 실시예에서, 메시 단순화 시스템은 광선의 제1 교차점이 메인 메시(또는 추가 컴포넌트)의 배면에 위치한다고 결정할 수 있다. 앞서 언급된 바와 같이, 이것은, 컴포넌트의 배면이 메인 메시(또는 추가 컴포넌트)의 전면과 중첩되도록 컴포넌트가 위치할 때 발생할 수 있다. 이 상황에서, 시스템은, 컴포넌트의 표면을, 표면과 메인 메시와의 광선의 교차점 사이의 거리에 관계없이 배면으로서 식별할 수 있다.
일단 컴포넌트의 표면이 배면으로서 식별되면(따라서, 제거에 대해 적격인 것으로), 메시 단순화 시스템은 컴포넌트의 메시로부터 배면을 제거함으로써(예를 들어, 뒷면을 제거함으로써) 3D 다각형 메시에 대한 단순화된 컴포넌트를 (예를 들어, 사용자 상호작용없이) 자동으로 생성할 수 있다. 일부 구현에서, 3D 다각형 메시는, 인덱스(또는 핸들)와 각각 연관된 면들의 집합으로서 (예를 들어, 데이터베이스, 리스트 등에) 저장되어 연관된 면의 속성을 수정하는 능력을 시스템에 제공한다. 메시 단순화 시스템은, 메시로부터 면을 삭제하기 위해 면과 연관된 적절한 핸들을 기동함으로써 표면(예를 들어, 면)을 제거할 수 있다.
따라서, 단순화된 컴포넌트는, 컴포넌트가 메인 메시(또는 추가 컴포넌트)에 가깝게 위치하기 때문에 메시(또는 추가 컴포넌트)의 메인 부분에 의해 가려지는 배면없이 원본 컴포넌트의 전면의 구조적 요소들을 유지한다. 결과적인 단순화된 컴포넌트는, 높은 수준의 디테일을 가지며 3D 다각형 메시의 메인 부분으로부터 멀리 위치한 메시를 갖는 전면을 포함할 수 있다. 단순화된 컴포넌트는 또한, 전면에 비해 낮은 수준의 디테일을 가지며 3D 다각형 메시의 메인 부분의 표면에 매우 근접하게 위치한 배면을 가질 수 있고, 여기서, 컴포넌트의 면들은 제거되었다.
일부 구현에서, 표면을 즉시 제거하는 것이 아니라, 메시 단순화 시스템은 시스템의 또 다른 컴포넌트에 의한 제거를 위해 식별된 배면을 마킹할 수 있다. 예를 들어, 배면과 연관된 데이터베이스 요소는 배면이 제거를 위해 선택되었는지를 나타내는 추가 속성을 포함하도록 수정될 수 있다. 그 다음, 메시 단순화 시스템은, (제거를 위해 식별되고 마킹된 배면을 갖는) 갱신된 메시를, 단순화 프로세스를 완료하기 위해 아티스트에 의해 이용되는 저작 도구의 또 다른 컴포넌트에 전달할 수 있다.
일부 구현에서, 메시 단순화 시스템은 배면의 제거가 불량하게-형성된 메시를 초래하지 않도록 보장하기 위한 추가적인 보호조처를 포함할 수 있다. 예시적인 예에서, 메시 단순화 시스템은 컴포넌트로부터 배면을 제거하는 것이 결과의 단순화된 컴포넌트에 비-매니폴드 토폴로지(non-manifold topology)를 도입할 수 있는지를 결정할 수 있다. 비-매니폴드 토폴로지의 한 예는 컴포넌트의 꼭지점이 컴포넌트의 2개 이상의 국부적으로 분리된 면들에 입사하는 경우이다(즉, 꼭지점이 2개 이상의 면 그룹들에 입사하고, 여기서, 각각의 그룹 내의 모든 면은 꼭지점을 포함하며, 공유된 엣지에 의해 연결되지만, 상이한 그룹들은 어떠한 엣지도 공유하지 않는다). 이러한 꼭지점은 비-매니폴드 꼭지점(non-manifold vertex)인 것으로서 정의될 수 있다. 컴포넌트로부터 배면을 제거하기 전에, 메시 단순화 시스템은 표면이 제거된 결과 구조를 모델링하여 제거로 인해 비-매니폴드 토폴로지가 초래될 수 있는지를 결정할 수 있다. 표면을 제거하는 것이 비-매니폴드 토폴로지를 초래할 것이라는 결정에 응답하여, 메시 단순화 시스템은 배면을 제거하지 않고 단순화된 컴포넌트의 일부로서 유지할 수 있다. 일부 구현에서, 메시 단순화 시스템은 제거에 대해 적격인 배면들의 가능한 조합들을 분석하고, 비-매니폴드 토폴로지를 도입하지 않고 제거될 수 있는 가장 큰 표면 세트를 선택할 수 있다.
본 개시내용의 실시예는 중복 배면들을 제거함으로써 3D 다각형 메시의 단순화된 컴포넌트를 생성하는 능력을 제공한다. 이것은 보일 가능성이 크지 않은 표면을 메시로부터 제거함으로써 효율적인 메시 구조를 제공할 수 있으므로, 렌더링 프로세스에 의해 요구되는 자원을 감소시킬 수 있다. 추가로, 더 큰 컴포넌트나 메시의 메인 부분에 의해 가려질 가능성이 큰 표면들이 저장될 필요가 없으므로, 렌더링된 객체를 지원하는데 요구되는 메모리와 스토리지를 감소시킬 수 있다. 이것은, 특히, 관찰자로부터 소정 거리에서 3D 객체를 디스플레이하기 위해 그래픽 시뮬레이션에 의해 이용될 수 있는 3D 객체의 더 낮은 디테일 버전에 대해 해당된다.
도 1a 및 도 1b는 복수의 컴포넌트를 포함하는 시뮬레이션된 캐릭터에 대한 3D 다각형 메시의 상이한 뷰들의 예를 나타낸다. 도 1a는 그래픽 시뮬레이션을 위한 기사 캐릭터의 3D 다각형 메시를 나타내는 시뮬레이션된 캐릭터 메시(100)를 나타낸다. 시뮬레이션된 캐릭터 메시(100)는, 메인 메시(110), 메시 컴포넌트(120A-C), 및 메시 컴포넌트(130-150)를 포함한다. 도 1a에 도시된 바와 같이, 메인 메시(110)는 기사 캐릭터의 본체를 나타내는 반면, 메시 컴포넌트들(120A-C) 및 메시 컴포넌트들(130-150)은, 메인 메시(110)와는 별개로 모델링되고 메인 메시(110)와 중첩하는 것으로서 시뮬레이션된 캐릭터 메시(100) 상에 위치한 다양한 컴포넌트들을 나타낸다.
메시 컴포넌트들(120A-C)은 메인 메시(110)의 복부 및 상위 다리 위에 위치하는 갑옷판 부분들을 나타낸다. 도시된 바와 같이, 메시 컴포넌트들(120A-C)의 전면(앞쪽 면)은 메인 메시(110)로부터 바깥 쪽을 향하도록 위치하고, 메시 컴포넌트들(120A-C)의 배면(뒷쪽 면)은 메인 메시(110) 쪽으로 안쪽으로 향하도록 위치한다. 예시적인 예에서, 메시 컴포넌트들(120A-C)은 중복 배면들의 제거에 의한 단순화를 위한 잠재적 타겟들로서 전술된 메시 단순화 시스템에 의해 식별될 수 있다. 도 1a에 나타낸 바와 같이, 메시 컴포넌트들(120A-C) 각각은 메인 메시(110)의 표면적보다 작은 표면적을 포함할 수 있기 때문에 메인 메시(110)에 비해 각각 작은 것으로 식별될 수 있다. 또한, 도 1a는 메시 컴포넌트들(120A-C)이 메인 메시(110)의 표면에 매우 근접한(접촉하지 않은 경우) 것으로서 도시하고 있다. 따라서, 시뮬레이션된 캐릭터 메시(100)가 회전되어 그의 측면 또는 배면을 보여주더라도, 메시 컴포넌트들(120A-C)의 배면(뒷쪽 면)은 시야에서 가려져야 한다. 따라서, 120A-C의 배면은 전술된 메시 단순화 시스템에 의해 중복성으로 간주될 수 있으며, 따라서 제거를 위한 타겟이 된다.
메시 컴포넌트들(130-150)은 시뮬레이션된 캐릭터 메시(100)의 일부로서 메인 메시(110)와 연관된 컴포넌트들의 다른 예를 나타낸다. 메시 컴포넌트(130)는 기사의 갑옷판의 어깨 패드 부분의 예를 나타낸다. 메시 컴포넌트(140)는 기사의 갑옷판의 뱃지 부분(또는 장식 오버레이의 한 유형)의 예를 나타낸다. 메시 컴포넌트(150)는 기사의 갑옷판의 팔꿈치 보호구의 예를 나타낸다. 메시 컴포넌트들(130-150) 각각은 또한, 메인 메시(110)에 관한 그 크기 및 위치에 기초하여 전술된 바와 같이 단순화에 대해 적격인 것으로 간주될 수 있다.
도 1b는 메인 메시(110)와 메시 컴포넌트들(120A-C) 사이의 공간적 위치 및 크기 관계의 더 상세한 모습을 제공하는 시뮬레이션된 캐릭터 메시(100)의 줌인 도면을 나타낸다. 도 1a에서와 같이, 메인 메시(110)는 기사 캐릭터의 본체를 도시하는 반면, 메시 컴포넌트들(120A-C)은 시뮬레이션된 캐릭터에 대한 갑옷판의 상이한 컴포넌트들을 나타낸다.
도 2는 연관된 시뮬레이션된 캐릭터 모델 이외의 메시 컴포넌트들의 예를 나타낸다. 도 2에 도시된 바와 같이, 메시 컴포넌트들(220A-C) 및 메시 컴포넌트들(230-250)은 도 1a의 메시 컴포넌트들(120A-C) 및 메시 컴포넌트들(130-150)에 대응할 수 있다.
도 3은 메시 컴포넌트 전면들(310-A, 310-B, 310-C)의 정면도를 나타낸다. 한 실시예에서, 메시 컴포넌트 전면들(310A-C)은 도 1의 기사 시뮬레이션된 캐릭터 메시에 대한 갑옷판의 부분들을 도시하는 도 1의 메시 컴포넌트들(110A-C)에 대응한다.
도 4는 메시 컴포넌트 배면들(410-A, 410-B, 410-C)의 배면도를 나타낸다. 한 실시예에서, 메시 컴포넌트 배면들(410A-C)은 도 1의 기사 시뮬레이션된 캐릭터 메시에 대한 갑옷판의 부분들을 도시하는 도 1의 메시 컴포넌트들(110A-C)에 대응한다. 메시 컴포넌트 배면들(410-A, 410-B 및 410-C)은 전술된 단순화 프로세스를 이용하여 제거될 수 있는 시뮬레이션된 캐릭터 모델(예를 들어, 도 1의 시뮬레이션된 캐릭터 메시(100))의 부분들과 중첩하는 도 3의 메시 컴포넌트들(310-A, 310-B 및 310-C)의 부분들을 나타낼 수 있다. 도 4의 메시 컴포넌트들은, 정의된 체적을 둘러싸기 위해 완전한 표면을 형성하도록 모델링된 컴포넌트들을 나타내므로 "닫힌" 컴포넌트들이다. 메시 컴포넌트 배면들(410A-C)은 도 1의 메인 메시(110)의 전면과 접촉하는 위치에 있는 메시 컴포넌트들의 배면들을 나타낸다.
도 5는 단순화된 메시 컴포넌트들(510-A, 510-B 및 510-C)의 배면도를 나타낸다. 한 실시예에서, 단순화된 메시 컴포넌트들(510A-C)은 도 1의 기사 시뮬레이션된 캐릭터 메시에 대한 갑옷판의 부분들을 도시하는 도 1의 메시 컴포넌트들(110A-C)의 단순화된 버전에 대응한다. 단순화된 메시 컴포넌트들(510-A, 510-B, 및 510-C)은 전술된 단순화 방법을 도 4의 컴포넌트 배면들(410-A, 410-B 및 410-C)에 적용함으로써 자동으로 생성된 결과적인 단순화된 메시 컴포넌트들을 나타낼 수 있다. 결과적인 단순화된 메시 컴포넌트들(510A-C)은 메시 컴포넌트 배면들(410A-C)보다 적은 수의 배면들을 가지며, 단순화된 컴포넌트들의 전면들의 꼭지점들을 나타낸다. 따라서, 결과적인 단순화된 메시 컴포넌트들(510A-C)은 배면이 제거되었기 때문에 더 이상 "닫힌" 컴포넌트가 아니다.
도 6a 내지 도 6d는 메시 컴포넌트와 더 큰 메시 컴포넌트(또는 메인 메시)의 교차점을 결정하기 위한 광선 투사의 다양한 예를 도시한다. 전술된 본 개시내용의 실시예들에서, 광선 투사가 이용되어 컴포넌트들 사이의 거리를 결정해 소정 컴포넌트의 특정한 표면이 제거에 대한 적격의 배면(뒷쪽 면)인지를 결정할 수 있다.
도 6a는 시뮬레이션된 캐릭터 메시(600A)와 관련한 메시 컴포넌트(610A)의 배면의 적극적 식별을 나타낸다. 일부 실시예에서, 메시 컴포넌트(610A) 및 시뮬레이션된 캐릭터 메시(600A)는 각각 도 1의 메시 컴포넌트(120A-C) 및 메인 메시(110)에 대응할 수 있다. 도 6a에 도시된 바와 같이, 광선들(615A 및 616A)은 메시 컴포넌트(610A)의 2개의 꼭지점으로부터 투사된다. 교차점(620A)은 광선(615A)이 시뮬레이션된 캐릭터 메시(600A)의 표면과 교차하는 지점을 나타낸다. 거리 임계 값(630A)은, 610A의 배면이 제거에 대해 적격이 되기에 충분히 가깝게 메시 컴포넌트(610A)가 시뮬레이션된 캐릭터 메시(600A)에 위치하는지를 결정하기 위해 전술된 메시 단순화 시스템에 의해 이용되는 미리 결정된 임계 거리를 나타낸다. 도 6a에 도시된 바와 같이, 교차점(620A)은 거리 임계 값(630A)의 경계 내에서 발생한다. 따라서, 메시 컴포넌트(610A)의 배면은 많은 각도로부터 보이지 않을 가능성이 높다. 따라서, 메시 단순화 시스템은 메시 컴포넌트(610A)의 배면이 제거에 대해 적격인 배면이라고 결정할 수 있다.
도 6b는 시뮬레이션된 캐릭터 메시(600B)와 관련하여 배면으로서 식별되지 않는 메시 컴포넌트(610B)의 배면을 나타낸다. 일부 실시예에서, 메시 컴포넌트(610B) 및 시뮬레이션된 캐릭터 메시(600B)는 각각 도 1의 메시 컴포넌트(120A-C) 및 메인 메시(110)에 대응할 수 있다. 도 6b에 도시된 바와 같이, 광선들(615B 및 616B)은 메시 컴포넌트(610B)의 2개의 꼭지점으로부터 투사된다. 교차점(620B)은 광선(615B)이 시뮬레이션된 캐릭터 메시(600B)의 표면과 교차하는 지점을 나타낸다. 거리 임계 값(630B)은, 610B의 배면이 제거에 대해 적격이 되기에 충분히 가깝게 메시 컴포넌트(610B)가 시뮬레이션된 캐릭터 메시(600B)에 위치하는지를 결정하기 위해 전술된 메시 단순화 시스템에 의해 이용되는 미리 결정된 임계 거리를 나타낸다. 도 6b에 도시된 바와 같이, 교차점(620B)은 거리 임계치(630B)의 경계 외부에서 발생한다. 따라서, 메시 컴포넌트(610B)의 배면은 제거에 대해 적격인 배면으로 간주되기에는 시뮬레이션된 캐릭터 메시(600B)로부터 너무 멀리 떨어져 있다.
도 6c는 시뮬레이션된 캐릭터 메시(600C)와 관련하여 배면으로서 식별되지 않는 메시 컴포넌트(610C)의 배면을 나타낸다. 일부 실시예에서, 메시 컴포넌트(610C) 및 시뮬레이션된 캐릭터 메시(600C)는 각각 도 1의 메시 컴포넌트(120A-C) 및 메인 메시(110)에 대응할 수 있다. 도 6c에 도시된 바와 같이, 광선들(615C 및 616C)은 메시 컴포넌트(610C)의 2개의 꼭지점으로부터 투사된다. 교차점(620C)은 광선(615B)이 시뮬레이션된 캐릭터 메시(600C)의 표면과 교차하는 지점을 나타낸다. 거리 임계 값(630C)은, 610C의 배면이 제거에 대해 적격이 되기에 충분히 가깝게 메시 컴포넌트(610C)가 시뮬레이션된 캐릭터 메시(600C)에 위치하는지를 결정하기 위해 전술된 메시 단순화 시스템에 의해 이용되는 미리 결정된 임계 거리를 나타낸다.
도 6c에 도시된 바와 같이, 교차점(620C)은 거리 임계치(630C)의 경계 내에서 발생하지만, 광선(616C)은 시뮬레이션된 캐릭터 메시(600C)의 어떠한 표면과도 교차하지 않는다. 메시 컴포넌트(610C)의 배면은 시뮬레이션된 캐릭터 메시(600C)와 중첩되되, 메시 컴포넌트(610C)의 배면의 적어도 일부가 어떤 각도에서 보일 수 있게 한다. 따라서, 메시 컴포넌트(610C)의 배면은 제거에 대해 적격인 것으로 간주되기에 시뮬레이션된 캐릭터 메시(600C)의 표면의 일부로부터 너무 멀리 떨어져 있는 일부분을 갖는다.
도 6d는 시뮬레이션된 캐릭터 메시(600D)와 관련하여 배면으로서 식별되는 메시 컴포넌트(610D)의 배면을 나타낸다. 일부 실시예에서, 메시 컴포넌트(610D) 및 시뮬레이션된 캐릭터 메시(600D)는 각각 도 1의 메시 컴포넌트(120A-C) 및 메인 메시(110)에 대응할 수 있다. 도 6d에 도시된 바와 같이, 광선들(615D 및 616D)은 메시 컴포넌트(610D)의 2개의 꼭지점으로부터 투사된다. 교차점(620D)은 광선(615D)이 시뮬레이션된 캐릭터 메시(600D)의 표면과 교차하는 지점을 나타낸다. 교차점(621D)은 광선(616D)이 시뮬레이션된 캐릭터 메시(600D)의 표면과 교차하는 지점을 나타낸다. 거리 임계 값(630D)은, 610D의 배면이 제거에 대해 적격이 되기에 충분히 가깝게 메시 컴포넌트(610D)가 시뮬레이션된 캐릭터 메시(600D)에 위치하는지를 결정하기 위해 전술된 메시 단순화 시스템에 의해 이용되는 미리 결정된 임계 거리를 나타낸다.
도 6d에 도시된 바와 같이, 메시 컴포넌트(610D)는 그 일부가 시뮬레이션된 캐릭터 메시(600D)의 전면 근처에 놓이도록 위치한다. 이것은 광선(616D)이 교차점(621D)에서 시뮬레이션된 캐릭터 메시(600D)를 교차하는 곳에서 도시된다. 또한, 시뮬레이션된 캐릭터 메시(600D)에 의해 점유된 공간 내에서 3D 공간을 점유하도록 위치하는 메시 컴포넌트(610D)의 적어도 일부가 존재한다. 이것은 광선(615D)이 메시 컴포넌트(610D)로부터 투사되는 곳에서 도시되어 있다. 이 광선을 투사하는 꼭지점이 이미 시뮬레이션된 캐릭터 메시(600D)의 전면을 넘어서 있기 때문에, 광선(615D)과 시뮬레이션된 캐릭터 메시(600D)의 임의의 표면의 제1 교차점은 시뮬레이션된 캐릭터 메시(600D)의 배면이다. 교차점(620D)은 배면 상에 있고 광선(615D)에 대한 교차점의 제1 지점이기 때문에, 메시 단순화 시스템은 따라서 메시 컴포넌트(610D)의 이 부분이 시뮬레이션된 캐릭터 메시(600D)의 "내부"에 있다고 결정할 수 있다. 따라서, 메시 컴포넌트(610D)의 그 부분의 배면은 어떠한 각도에서도 볼 수 없을 가능성이 크다. 따라서, 메시 단순화 시스템은 메시 컴포넌트(610D)의 배면이 제거에 대해 적격인 배면이라고 결정할 수 있다.
도 7a 및 도 7b는 전술된 바와 같이 메시 단순화에서 이용하기 위한 임계 크기를 제어하기 위한 그래픽 사용자 인터페이스(GUI) 스크린의 예를 나타낸다. 도 7a는 다양한 수준의 디테일 단순화 옵션을 선택하기 위한 GUI 선택 요소들(710A, 715A)을 포함하는 GUI(700A)를 나타낸다. 이들 요소들은 메시 단순화 시스템에 대한 입력으로서 수신된 원본 메시에 기초하여 얼마나 많은 낮은-디테일 메시를 생성할지 뿐만 아니라 각각의 낮은-디테일 메시에서 이용될 수 있는 다각형(삼각형)의 타겟 개수를 사용자가 선택하는 것을 허용한다. 사용자는 메시 단순화 시스템에 의해 생성된 하나 이상의 최종 단순화된 메시의 속성을 결정하기 위해 GUI 선택 요소(710A, 715A)를 선택할 수 있다.
GUI 슬라이더 요소(720A)는 컴포넌트가 단순화에 대해 적격인지를 결정하기 위해 메시 단순화 시스템에 의해 이용되는 크기 임계치를 조절하는데 이용될 수 있다. 크기 제한 디스플레이(730A)는 GUI 슬라이더 요소(720A)의 움직임에 의해 변경된 값을 나타낸다. 크기 제한 디스플레이(730A)에 도시된 단위는 센티미터로 도시되어 있지만, 다른 구현에서는 다른 측정 단위로 디스플레이될 수 있다.
도 7b는 다양한 수준의 디테일 단순화 옵션을 선택하기 위한 GUI 선택 요소(710B, 715b)를 포함하는 GUI(700B)를 나타낸다. 도 7a에 도시된 바와 같이, 이들 요소들은 메시 단순화 시스템에 대한 입력으로서 수신된 원본 메시에 기초하여 얼마나 많은 낮은-디테일 메시를 생성할지 뿐만 아니라 각각의 낮은-디테일 메시에서 이용될 수 있는 다각형(삼각형)의 타겟 개수를 사용자가 선택하는 것을 허용한다. 사용자는 메시 단순화 시스템에 의해 생성된 하나 이상의 최종 단순화된 메시의 속성을 결정하기 위해 GUI 선택 요소(710B, 715B)를 선택할 수 있다.
GUI 선택 요소(720B)는 임계 크기를 수정하지 않고 중복 배면을 갖는 컴포넌트들에 대한 메시 단순화를 인에이블 또는 디스에이블하는데 이용될 수 있다. 일부 구현에서, 적격 컴포넌트에 대한 최대 임계 크기는 단순화 프로세스에 대한 입력으로서 수신된 메시의 전체 표면적 크기뿐만 아니라 GUI 선택 요소들(710B, 715B)을 통해 단순화된 메시에 대해 사용자에 의해 선택된 디테일의 수준에 기초하여 자동으로 결정될 수 있다.
도 8은 본 개시내용의 하나 이상의 실시예에 따른 그래픽 시뮬레이션 시스템(800)의 예시적인 예의 고수준 컴포넌트 도면을 나타낸다. 본 기술분야의 통상의 기술자라면, 그래픽 시뮬레이션 시스템(800)을 위한 다른 아키텍처가 가능하고, 본 발명의 예를 이용하는 컴퓨터 시스템의 구현이 반드시 도 8에 도시된 특정한 아키텍처로 제한되지 않는다는 것을 이해할 것이다.
도 8에 도시된 바와 같이, 그래픽 시뮬레이션 시스템(800)은 메시 저작 모듈(810) 및 데이터 저장소(850)(예를 들어, 하나 이상의 자기 하드 디스크 드라이브, USB(Universal Serial Bus) 솔리드 스테이트 드라이브, RAID(Redundant Array of Independent Disks) 시스템, NAS(network attached storage) 어레이 등)을 포함할 수 있다. 그래픽 시뮬레이션 시스템(800)은, 서버, 메인 프레임, 워크스테이션, 개인용 컴퓨터(PC), 모바일 전화, 손바닥-크기 컴퓨팅 디바이스 등일 수 있다. 그래픽 시뮬레이션 시스템(800)은 비디오 게임 또는 다른 그래픽 시뮬레이션에서 이용하기 위해 3D 시뮬레이션된 캐릭터의 메시를 생성하고 유지할 수 있다. 예를 들어, 그래픽 시뮬레이션 시스템은 그래픽 사용자 인터페이스를 통해 사용자에 의해 액세스되어 비디오 게임에서 이용하기 위한 시뮬레이션된 캐릭터를 생성할 수 있다. 대안으로서, 그래픽 시뮬레이션 시스템은 다른 그래픽 시뮬레이션 시스템에 대한 입력으로 이용되는 3D 메시의 단순화된 버전을 생성하기 위해 저작 시스템의 컴포넌트로서 이용될 수 있다.
메시 저작 모듈(810)은 그래픽 시뮬레이션에서 이용하기 위한 3D 다각형 메시를 생성하고 관리하기 위해 아티스트에 의해 이용될 수 있다. 소정 구현에서, 메시 저작 모듈(810)은 시뮬레이션된 캐릭터의 메시 속성을 편집하기 위해 그래픽 사용자 인터페이스에 의해 기동될 수 있다.
메시 저작 모듈(810)은, 도 9 내지 도 14와 관련하여 이하에서 상세히 설명되는 바와 같이, 중복 배면을 제거함으로써 메시 컴포넌트의 단순화된 버전을 자동으로 생성할 수 있는 작은 메시 단순화기 모듈(820)을 추가로 가질 수 있다. 일부 대안적 구현에서, 작은 메시 단순화기 모듈(820)은, 메시 저작 모듈(810) 내에 내장되는 것이 아니라, 메시 저작 모듈(810)의 외부에 있을 수 있거나, 메시 저작 모듈(810)을 대체할 수 있다는 점에 유의해야 한다.
데이터 저장소(850)는 작은 메시 단순화기 모듈(820)에 의해 수정될 수 있는 3D 다각형 메시에 관련된 정보를 저장할 수 있다. 데이터 저장소(850)는 그래픽 시뮬레이션 시스템(800)에서 시뮬레이션된 캐릭터에 대한 원본 메시 데이터를 저장할 수 있는 메시 데이터(851)를 포함할 수 있다. 데이터 저장소(850)는, 메시 단순화 프로세스가 원본 메시 데이터에 이용된 후에 메시의 단순화되고 낮은-디테일 버전에 대한 메시 데이터를 저장할 수 있는 단순화된 메시 데이터(852)를 추가로 포함할 수 있다. 데이터 저장소(850)로부터의 정보는, 도 9 내지 도 14와 관련하여 이하에서 상세히 설명되는 바와 같이, 작은 메시 단순화기 모듈(820)에 의해 액세스되어 메시 컴포넌트의 단순화된 버전을 자동으로 생성할 수 있다.
도 9는 중복 배면을 갖는 작은 메시 컴포넌트를 단순화하기 위한 예시적인 방법(900)의 흐름도를 나타낸다. 이 방법은, 하드웨어(회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신에서 실행되는) 소프트웨어, 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 하나의 예시적인 예에서, 방법(900)은 도 8의 작은 메시 단순화기 모듈(820)에 의해 수행될 수 있다. 대안으로서, 방법(900)의 일부 또는 전부는 또 다른 모듈 또는 머신에 의해 수행될 수 있다. 도 9에 도시된 블록들은 동시에(시간적으로 적어도 부분적으로 중첩하여) 또는 도시된 것과 상이한 순서로 수행될 수 있다는 점에 유의해야 한다.
블록 901에서, 처리 로직은 3D 객체의 3D 다각형 메시를 수신한다. 3D 다각형 메시는 3D 객체의 평면 표면 근사의 위상학적으로 상호연결된 다면체 평면 패싯(polyhedral planar facet)으로 이루어진 3D 객체의 표현일 수 있다. 일부 구현에서, 메시는 3D 객체를 생성하기 위해 사용자(예를 들어, 아티스트)에 의해 이용되는 저작 도구로부터 수신될 수 있다. 일부 구현에서, 3D 다각형 메시는 복수의 컴포넌트로 이루어질 수 있고, 여기서 컴포넌트는 메시의 다른 부분들과는 별도의 구조로서 모델링된 위상학적으로 상호연결된 표면들의 세트일 수 있다.
블록 902에서, 처리 로직은 3D 다각형 메시의 컴포넌트의 크기가 임계 크기 이하라고 결정하고, 여기서, 임계 크기는 3D 다각형 메시의 표면적의 적어도 일부의 백분율이다. 예시적인 예에서, 3D 다각형 메시의 표면적의 일부의 백분율은 도 10과 관련하여 후술되는 바와 같이 제2 컴포넌트일 수 있다. 또 다른 예시적인 예에서, 3D 다각형 메시의 표면적의 부분의 백분율은 도 11과 관련하여 후술되는 바와 같이 3D 다각형 메시의 전체 표면적일 수 있다.
블록 903에서, 처리 로직은 컴포넌트가 어떠한 갭도 없이 정의된 체적을 둘러싸는 완전한 표면을 형성하는 3D 지오메트리를 포함한다고 결정한다. 이러한 방식으로 구성된 컴포넌트는, 2개의 면으로 모델링된 객체일 수 있고, 따라서 제거에 대해 적격일 수 있는 표면을 갖고 있다는 강력한 지표가 될 수 있다.
블록 904에서, 처리 로직은, 컴포넌트의 배면과 제2 컴포넌트의 적어도 한 표면 사이의 거리가 임계 거리 이하라고 결정한다. 일부 구현에서, 임계 거리를 계산하는데 이용되는 3D 다각형 메시의 선형 크기의 부분은 추가 컴포넌트의 선형 크기일 수 있다. 대안으로서, 전체 3D 다각형 메시(예를 들어, 3D 다각형 메시의 전체 부분)의 선형 크기가 임계 거리를 계산하는데 이용될 수 있다. 선형 크기는, 인치, 인치의 분수, 센티미터, 밀리미터, 또는 기타 임의의 측정 단위로 측정될 수 있다.
한 예시적인 예에서, 처리 로직은 도 12와 관련하여 이하에서 더 설명되는 바와 같이 이러한 결정을 한다.
블록 905에서, 처리 로직은 컴포넌트의 배면을 제거함으로써 3D 다각형 메시에 대한 단순화된 컴포넌트를 자동으로 (예를 들어, 사용자 상호작용없이) 생성한다. 일부 구현에서, 3D 다각형 메시는, 인덱스(또는 핸들)와 각각 연관된 면들의 집합으로서 (예를 들어, 데이터베이스, 리스트 등에) 저장되어 면의 속성을 수정하는 능력을 시스템에 제공한다. 처리 로직은, 메시로부터 면을 삭제하기 위해 면과 연관된 적절한 핸들을 기동함으로써 면을 제거할 수 있다. 따라서, 단순화된 컴포넌트는, 컴포넌트가 메인 메시(또는 추가 컴포넌트)에 가깝게 위치하기 때문에 메시(또는 추가 컴포넌트)의 메인 부분에 의해 가려지는 배면없이 원본 컴포넌트의 전면의 구조적 요소들을 유지한다.
일부 구현에서, 처리 로직은 블록 905에서 배면의 제거가 불량하게-형성된 메시를 초래하지 않도록 보장하기 위한 추가적인 보호조처를 포함할 수 있다. 예시적인 예에서, 처리 로직은 컴포넌트로부터 배면을 제거하는 것이 결과의 단순화된 컴포넌트에 비-매니폴드 토폴로지를 도입할 수 있는지를 결정할 수 있다. 비-매니폴드 토폴로지의 한 예는 컴포넌트의 꼭지점이 컴포넌트의 2개 이상의 국부적으로 분리된 면들에 입사하는 경우이다(즉, 꼭지점이 2개 이상의 면 그룹에 입사하고, 여기서, 각각의 그룹 내의 모든 면은 꼭지점을 포함하며, 공유된 엣지에 의해 연결되지만, 상이한 그룹들은 어떠한 엣지도 공유하지 않는다). 이러한 꼭지점은 비-매니폴드 꼭지점인 것으로서 정의될 수 있다. 컴포넌트로부터 배면을 제거하기 전에, 처리 로직은 표면이 제거된 결과 구조를 모델링하여 제거로 인해 비-매니폴드 토폴로지가 초래될 수 있는지를 결정할 수 있다. 표면을 제거하는 것이 비-매니폴드 토폴로지를 초래할 것이라는 결정에 응답하여, 처리 로직은 배면을 제거하지 않고 단순화된 컴포넌트의 일부로서 유지할 수 있다. 블록 905 후에, 도 9의 방법은 종료한다.
도 10은 제2 컴포넌트의 크기에 기초하여 메시 단순화를 위한 임계 크기를 결정하기 위한 예시적인 방법(1000)의 흐름도를 나타낸다. 이 방법은, 하드웨어(회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신에서 실행되는) 소프트웨어, 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 하나의 예시적인 예에서, 방법(1000)은 도 8의 작은 메시 단순화기 모듈(820)에 의해 수행될 수 있다. 대안으로서, 방법(1000)의 일부 또는 전부는 또 다른 모듈 또는 머신에 의해 수행될 수 있다. 도 10에 도시된 블록들은 동시에(시간적으로 적어도 부분적으로 중첩하여) 또는 도시된 것과 상이한 순서로 수행될 수 있다는 점에 유의해야 한다.
블록 1001에서, 처리 로직은 3D 다각형 메시와 연관된 제2 컴포넌트의 표면적의 크기를 결정한다. 표면적은, 제곱 인치(in2), 제곱 센티미터(cm2), 제곱 밀리미터(mm2), 또는 면적 측정치를 나타내는 기타 임의의 측정 단위로 측정할 수 있다. 일부 구현에서, 3D 다각형 메시의 표면적은, 먼저 메시 내의 각각의 개개의 면의 표면적의 값을 계산한 다음 계산된 값들을 합산함으로써 계산될 수 있다. 면의 표면적은 먼저 비-연결-꼭지점들 사이에 추가 엣지들을 추가함으로써 (면이 아직 삼각형이 아니라면) 면을 하나 이상의 삼각형으로 세분함으로써 계산할 수 있다. 그 다음, 각각의 삼각형 면의 면적은, 삼각형의 임의의 2개 엣지를 나타내는 2개의 벡터의 벡터 외적의 크기의 절반을 계산함으로써 계산될 수 있다.
블록 1002에서, 처리 로직은 제2 컴포넌트의 표면적의 크기의 백분율로서 임계 크기를 결정한다. 예를 들어, 임계 크기는 제2 컴포넌트의 표면적 크기의 5 퍼센트인 값으로 설정될 수 있다. 블록 1003에서, 처리 로직은 제1 컴포넌트의 크기를 임계 크기와 비교한다. 컴포넌트의 크기가 임계 크기보다 작거나 같다면, 컴포넌트는 작은 컴포넌트로 간주되어 단순화에 대해 적격일 수 있다. 블록 1003 후에, 도 10의 방법은 종료한다.
도 11은 3D 다각형 메시의 전체 크기에 기초하여 메시 단순화를 위한 임계 크기를 결정하기 위한 예시적인 방법(1100)의 흐름도를 나타낸다. 이 방법은, 하드웨어(회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신에서 실행되는) 소프트웨어, 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 하나의 예시적인 예에서, 방법(1100)은 도 8의 작은 메시 단순화기 모듈(820)에 의해 수행될 수 있다. 대안으로서, 방법(1100)의 일부 또는 전부는 또 다른 모듈 또는 머신에 의해 수행될 수 있다. 도 11에 도시된 블록들은 동시에(시간적으로 적어도 부분적으로 중첩하여) 또는 도시된 것과 상이한 순서로 수행될 수 있다는 점에 유의해야 한다.
블록 1101에서, 처리 로직은 3D 다각형 메시의 표면적의 전체 크기를 결정한다. 표면적은, 제곱 인치(in2), 제곱 센티미터(cm2), 제곱 밀리미터(mm2), 또는 면적 측정치를 나타내는 기타 임의의 측정 단위로 측정할 수 있다. 일부 구현에서, 3D 다각형 메시의 표면적은, 먼저 메시 내의 각각의 개개의 면의 표면적의 값을 계산한 다음 계산된 값들을 합산함으로써 계산될 수 있다. 면의 표면적은 먼저 비-연결-꼭지점들 사이에 추가 엣지들을 추가함으로써 (면이 아직 삼각형이 아니라면) 면을 하나 이상의 삼각형으로 세분함으로써 계산할 수 있다. 그 다음, 각각의 삼각형 면의 면적은, 삼각형의 임의의 2개 엣지를 나타내는 2개의 벡터의 벡터 외적의 크기의 절반을 계산함으로써 계산될 수 있다.
블록 1102에서, 처리 로직은 3D 다각형 메시의 표면적의 크기의 백분율로서 임계 크기를 결정한다. 예를 들어, 임계 크기는, 3D 다각형 메시의 표면적 크기(예를 들어, 메인 메시 및 모든 연관된 컴포넌트들의 크기)의 5 퍼센트인 값으로 설정될 수 있다. 블록 1103에서, 처리 로직은 제1 컴포넌트의 크기를 임계 크기와 비교한다. 블록 1103 후에, 도 11의 방법은 종료한다.
도 12는 소정 컴포넌트가 단순화에 적격인지를 또 다른 컴포넌트로부터의 거리에 기초하여 결정하기 위한 예시적인 방법(1200)의 흐름도를 나타낸다. 이 방법은, 하드웨어(회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신에서 실행되는) 소프트웨어, 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 하나의 예시적인 예에서, 방법(1200)은 도 8의 작은 메시 단순화기 모듈(820)에 의해 수행될 수 있다. 대안으로서, 방법(1200)의 일부 또는 전부는 또 다른 모듈 또는 머신에 의해 수행될 수 있다. 도 12에 도시된 블록들은 동시에(시간적으로 적어도 부분적으로 중첩하여) 또는 도시된 것과 상이한 순서로 수행될 수 있다는 점에 유의해야 한다.
블록 1201에서, 처리 로직은 컴포넌트의 배면을 식별한다. 예시적인 예에서, 처리 로직은 도 13 및 도 14와 관련하여 이하에 설명된 바와 같이 이러한 식별을 할 수 있다. 블록 1202에서, 처리 로직은 컴포넌트의 배면과 제2 컴포넌트의 적어도 하나의 표면 사이의 거리를 결정한다. 블록 1203에서, 처리 로직은 거리를 임계 거리와 비교한다. 임계 거리는 3D 다각형 메시의 선형 크기의 적어도 일부의 백분율일 수 있다. 일부 구현에서, 임계 거리를 계산하는데 이용되는 3D 다각형 메시의 선형 크기의 부분은 추가 컴포넌트의 선형 크기일 수 있다. 대안으로서, 전체 3D 다각형 메시(예를 들어, 3D 다각형 메시의 전체 부분)의 선형 크기가 임계 거리를 계산하는데 이용될 수 있다. 선형 크기는, 인치, 인치의 분수, 센티미터, 밀리미터, 또는 기타 임의의 측정 단위로 측정될 수 있다. 컴포넌트의 배면과 제2 컴포넌트의 적어도 하나의 표면 사이의 거리가 임계 거리보다 작거나 같다는 결정에 응답하여, 처리 로직은 컴포넌트로부터 제거에 대해 적격인 배면을 식별할 수 있다. 블록 1203 후에, 도 12의 방법은 종료한다.
도 13은 제거될 수 있는 컴포넌트의 적격 배면을 식별하기 위한 예시적인 방법(1300)의 흐름도를 나타낸다. 이 방법은, 하드웨어(회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신에서 실행되는) 소프트웨어, 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 한 예시적인 예에서, 방법(1300)은 도 8의 작은 메시 단순화기 모듈(820)에 의해 수행될 수 있다. 대안으로서, 방법(1300)의 일부 또는 전부는 또 다른 모듈 또는 머신에 의해 수행될 수 있다. 도 13에 도시된 블록들은 동시에(시간적으로 적어도 부분적으로 중첩하여) 또는 도시된 것과 상이한 순서로 수행될 수 있다는 점에 유의해야 한다.
블록 1301에서, 처리 로직은 컴포넌트의 표면(예를 들어, 컴포넌트 메시의 면들 중 하나)을 선택한다. 블록 1302에서, 처리 로직은 표면으로부터 컴포넌트의 표면의 표면 법선 벡터의 방향으로 광선을 투사한다. 표면 법선 벡터는 식별된 표면의 지오메트리에 접하는 평면에 수직인 벡터이다. 다른 실시예에서, 광선은 단지 표면 법선 벡터의 방향이 아니라 접평면으로부터 복수의 방향으로 투사될 수 있다. 블록 1303에서, 처리 로직은 광선의 시작점과 가장 가까운 거리에 있는 제2 컴포넌트(또는 메인 메시와)와의 광선의 제1 교차점을 식별한다.
블록 1304에서, 처리 로직은 제1 교차점이 제2 컴포넌트(또는 메인 메시)의 전면에 위치하는 것으로 결정한다. 블록 1305에서, 처리 로직은 3D 다각형 메시의 전체 크기의 백분율로서 임계 거리를 설정한다. 임계 거리는 3D 다각형 메시의 크기의 적어도 일부의 백분율일 수 있다. 일부 구현에서, 임계 거리를 계산하는데 이용되는 3D 다각형 메시의 크기의 부분은 추가 컴포넌트의 크기일 수 있다. 대안으로서, 전체 3D 다각형 메시(예를 들어, 3D 다각형 메시의 전체 부분)의 크기가 임계 거리를 계산하는데 이용될 수 있다. 크기는, 인치, 인치의 분수, 센티미터, 밀리미터, 또는 기타 임의의 측정 단위로 측정될 수 있다.
블록 1306에서, 처리 로직은 블록 1301에서 선택된 컴포넌트의 표면과 교차점 사이의 거리가 임계 거리보다 작거나 같다고 결정한다. 블록 1307에서, 처리 로직은 컴포넌트의 표면을 제거되기에 적격인 배면으로서 식별한다. 블록 1307 후에, 도 13의 방법은 종료한다.
도 14는 제거될 수 있는 컴포넌트의 적격 배면을 식별하기 위한 예시적인 방법(1400)의 흐름도를 나타낸다. 이 방법은, 하드웨어(회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신에서 실행되는) 소프트웨어, 또는 이들의 조합을 포함할 수 있는 처리 로직에 의해 수행될 수 있다. 하나의 예시적인 예에서, 방법(1400)은 도 8의 작은 메시 단순화기 모듈(820)에 의해 수행될 수 있다. 대안으로서, 방법(1400)의 일부 또는 전부는 또 다른 모듈 또는 머신에 의해 수행될 수 있다. 도 14에 도시된 블록들은 동시에(시간적으로 적어도 부분적으로 중첩하여) 또는 도시된 것과 상이한 순서로 수행될 수 있다는 점에 유의해야 한다.
블록 1401에서, 처리 로직은 컴포넌트의 표면(예를 들어, 컴포넌트 메시의 면들 중 하나)을 선택한다. 블록 1402에서, 처리 로직은 표면으로부터 컴포넌트의 표면의 표면 법선 벡터의 방향으로 광선을 투사한다. 표면 법선 벡터는 식별된 표면의 지오메트리에 접하는 평면에 수직인 벡터이다. 다른 실시예에서, 광선은 단지 표면 법선 벡터의 방향이 아니라 접평면으로부터 복수의 방향으로 투사될 수 있다. 블록 1403에서, 처리 로직은 제2 컴포넌트와 광선의 제1 교차점을 식별한다.
블록 1404에서, 처리 로직은 제1 교차점이 제2 컴포넌트(또는 메인 메시)의 배면 상에 위치하는 것으로 결정한다. 이것은, 컴포넌트의 배면이 메인 메시(또는 추가 컴포넌트)의 전면과 중첩되도록 컴포넌트가 위치할 때 발생할 수 있다. 이 상황에서, 시스템은, 컴포넌트의 표면을, 컴포넌트의 표면과 제2 컴포넌트(또는 메인 메시)와의 광선의 교차점 사이의 거리에 관계없이 배면으로서 식별할 수 있다. 블록 1405에서, 처리 로직은 컴포넌트의 표면을 제거되기에 적격인 배면으로서 식별한다. 블록 1405 후에, 도 14의 방법은 종료한다.
도 15는 여기서 설명된 방법들 중 임의의 하나 이상을 수행할 수 있는 예시적인 컴퓨터 시스템(1500)을 나타낸다. 한 예에서, 컴퓨터 시스템(1500)은 도 8의 그래픽 시뮬레이션 시스템(800)에 대응할 수 있다. 컴퓨터 시스템은, LAN, 인트라넷, 엑스트라넷, 또는 인터넷 내의 다른 컴퓨터 시스템에 접속될 수 있다(예를 들어, 네트워킹될 수 있다). 컴퓨터 시스템은 클라이언트-서버 네트워크 환경에서 서버의 용량에서 동작할 수 있다. 컴퓨터 시스템은, 개인용 컴퓨터(PC), 셋톱박스(STB), 서버, 네트워크 라우터, 스위치 또는 브릿지, 또는 디바이스에 의해 취해질 동작을 명시하는 한 세트의 명령어를 (순차적으로 또는 기타의 방식으로) 실행할 수 있는 임의의 디바이스일 수 있다. 또한, 단일의 컴퓨터 시스템만이 예시되어 있지만, 용어 "컴퓨터"는, 여기서 논의된 방법론들 중 임의의 하나 이상을 수행하기 위해 개별적으로 또는 공동으로 한 세트(또는 복수 세트)의 명령어를 실행하는 컴퓨터들의 임의의 집합을 포함하는 것으로 간주되어야 할 것이다.
예시적 컴퓨터 시스템(1500)은, 버스(1530)를 통해 서로 통신하는, 처리 디바이스(1502), 메인 메모리(1504)(예를 들어, 판독 전용 메모리(ROM), 플래시 메모리, 동기식 DRAM(SDRAM)과 같은 동적 랜덤 액세스 메모리(DRAM)), 정적 메모리(1506)(예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM)), 및 데이터 저장 디바이스(1518)를 포함한다.
처리 디바이스(1502)는, 마이크로프로세서, 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), 또는 이와 유사한 것과 같은 하나 이상의 범용 처리 디바이스를 나타낸다. 더 구체적으로는, 처리 디바이스(1502)는, CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computing) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 또는 다른 명령어 세트들을 구현하는 프로세서나 명령어 세트들의 조합을 구현하는 프로세서들일 수 있다. 처리 디바이스(1502)는 또한, 주문형 집적 회로(ASIC; application specific integrated circuit), 필드 프로그래머블 게이트 어레이(FPGA; field programmable gate array), 디지털 신호 프로세서(DSP; digital signal processor), 네트워크 프로세서 등의 하나 이상의 특별-목적 처리 디바이스일 수도 있다. 처리 디바이스(1502)는, (예를 들어, 도 9 내지 도 14 등의 방법들에 대응하는) 본 명세서에서 논의된 동작들 및 단계들을 수행하기 위한 작은 메시 단순화기 모듈(1526)을 포함할 수 있는 명령어(722)를 실행하도록 구성된다.
컴퓨터 시스템(1500)은 네트워크 인터페이스 디바이스(1508)를 더 포함할 수 있다. 컴퓨터 시스템(1500)은 또한, 비디오 디스플레이 유닛(1510)(예를 들어, 액정 디스플레이(LCD) 또는 음극선관(CRT)), 영숫자 입력 디바이스(1512)(예를 들어, 키보드), 커서 제어 디바이스(1514)(예를 들어, 마우스), 및 신호 생성 디바이스(1516)(예를 들어, 스피커)를 포함할 수 있다.
한 예시적인 예에서, 비디오 디스플레이 유닛(1510), 영숫자 입력 디바이스(1512), 및 커서 제어 디바이스(1514)는 단일의 컴포넌트 또는 디바이스(예를 들어, LCD 터치 스크린)로 결합될 수 있다.
데이터 저장 디바이스(1518)는, 본 명세서에서 설명된 방법론들 또는 기능들 중 하나 이상을 구현하는 (예를 들어, 도 9 내지 도 14 등의 방법들에 대응하는) 작은 메시 단순화기 모듈(1526) 등의 하나 이상의 세트의 명령어 또는 소프트웨어(722)가 저장되는 컴퓨터-판독가능한 매체(1528)를 포함할 수 있다. 작은 메시 단순화기 모듈(1026)은 또한, 컴퓨터 시스템(1500)에 의한 그 실행 동안에, 완전히 또는 적어도 부분적으로, 메인 메모리(1504) 내에 및/또는 처리 디바이스(1502) 내에 존재할 수 있고, 메인 메모리(1504)와 처리 디바이스(1502)는 또한 컴퓨터-판독가능한 매체를 구성한다. 작은 메시 단순화기 모듈(1026)은 또한, 네트워크 인터페이스 디바이스(1522)를 이용하여 네트워크를 통해 전송되거나 수신될 수 있다. 명령어(1522)는, 본 명세서에서 설명된 바와 같은 원본의 또는 단순화된 3D 객체들 중 임의의 하나 이상을 구현하는 3D 다각형 메시를 구현하는 3D 객체(1527)를 추가로 포함할 수 있다. 일부 실시예에서, 3D 객체(1527)는 본 명세서에서 설명된 방법들 또는 동작들 중 임의의 하나 이상을 구현하는 (예를 들어, 도 9 내지 도 14 등의 방법들에 대응하는) 작은 메시 단순화기 모듈(1526)에 의해 자동으로 생성된 3D 객체의 표현일 수 있다.
컴퓨터-판독가능한 저장 매체(1528)가 예시적인 예에서 단일의 매체로서 도시되어 있지만, 용어 "컴퓨터-판독가능한 매체"는 하나 이상의 세트의 명령어들을 저장하는 단일 매체 또는 복수의 매체(예를 들어, 중앙집중형 또는 분산형 데이터베이스, 및/또는 연관된 캐시 및 서버)를 포함하는 것으로 간주되어야 한다. 용어 "컴퓨터-판독가능한 매체"는 또한, 머신에 의한 실행을 위한 한 세트의 명령어를 저장, 인코딩 또는 운반할 수 있고, 머신으로 하여금 본 발명의 방법론들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 간주되어야 한다. 따라서, 용어 '컴퓨터-판독가능한 저장 매체"는, 고체-상태 메모리, 광학적 매체, 및 자기 매체를 포함하며, 이것으로 제한되지 않는 것으로 간주되어야 한다.
여기서의 방법들의 동작들이 특정한 순서로 도시되고 설명되었지만, 각각의 방법의 동작들의 순서는, 소정의 동작들이 역순으로 수행되거나 소정의 동작이 적어도 부분적으로 다른 동작들과 동시에 수행되도록 변경될 수 있다. 소정 구현에서, 별개의 동작들의 명령어들 또는 하위-동작들은 간헐적 및/또는 교대하는 방식일 수도 있다.
상기 설명은 예시를 위한 것이지 제한을 위한 것이 아님을 이해해야 한다. 상기 설명을 읽고 이해하는 본 기술분야의 통상의 기술자에게는 많은 다른 구현들이 명백할 것이다. 따라서, 본 발명의 범위는 첨부된 청구항들을 참조하여 이러한 청구항들에 부여된 균등물들의 전체 범위와 함께 결정되어야 한다. 특히, 본 개시내용의 실시예들이 다각형 모델에 적용되는 것으로 전술되었지만, 이들 실시예들은 또한 너브(nurb), 스플라인(spline), 세분 표면(subdivision surface) 등의 다른 3차원 표면 표현 구조에 유사한 방식으로 적용될 수 있다.
상기 설명에서, 다양한 상세사항이 개시되었다. 그러나, 본 발명은 이들 구체적인 상세사항 없이도 실시될 수 있다는 것은 본 기술분야의 통상의 기술자에게 명백할 것이다. 일부 사례에서, 공지된 구조와 디바이스들은, 본 발명을 모호하게 하지 않도록, 상세히가 아니라 블록도 형태로 도시된다.
상기 상세한 설명의 일부는 컴퓨터 메모리 내에서의 데이터 비트들에 관한 연산의 알고리즘 및 심볼 표현의 관점에서 제공되었다. 이들 알고리즘적 설명 및 표현은 데이터 처리 분야의 통상의 기술자가 본 기술분야의 다른 통상의 기술자에게 그들의 작업의 본질을 가장 효과적으로 전달하기 위해 이용되는 수단이다. 알고리즘은, 본 명세서 및 일반적으로, 원하는 결과를 주는 자기-일관적인 단계들의 시퀀스인 것으로 간주된다. 단계들은 통상, 물리량(physical quantity)의 물리적 조작(physical manipulation)을 요구하는 것들이다. 반드시는 아니지만, 대개는, 이들 양들은, 저장, 전달, 결합, 비교, 및 기타의 방식으로 조작될 수 있는 전기 또는 자기 신호의 형태를 취한다. 주로 일반적 사용의 이유 때문에, 이들 신호들을, 비트, 값, 엘리먼트, 심볼, 문자, 항, 숫자 등으로 지칭하는 것이 때때로 편리한 것으로 드러났다.
그러나, 이들 및 유사한 용어들 모두는 적절한 물리량과 연관되며 이들 물리량에 적용된 편리한 라벨일 뿐이라는 점을 기억해야 한다. 구체적으로 달리 언급하지 않는 한, 이하의 논의로부터 명백한 바와 같이, 설명을 통틀어, "수신", "결정", "식별", "생성", "설정" 등의 용어를 사용한 논의는, 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 레지스터나 메모리 내의 물리적 (전자적) 양으로서 표현된 데이터를 처리하여, 컴퓨터 시스템의 메모리 또는 레지스터나 기타의 이러한 정보 저장, 전송 또는 디스플레이 장치 내의 물리량으로서 유사하게 표현되는 다른 데이터로 변환하는 동작이나 프로세스를 지칭할 수 있다는 것을 이해할 것이다.
본 개시내용은 또한, 본 명세서의 동작들을 수행하기 위한 장치에도 관련되어 있다. 이 장치는, 필요한 목적을 위해 구체적으로 구성(construct)될 수도 있고, 또는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 작동(activate)되거나 재구성(reconfigure)될 수 있는 범용 컴퓨터를 포함할 수도 있다. 이러한 컴퓨터 프로그램은, 각각이 컴퓨터 시스템 버스에 결합된, 플로피 디스크, 광학 디스크, CD-ROM, 및 광자기 디스크를 포함한 임의 유형의 디스크, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), EPROM, EEPROM, 자기 또는 광학 카드, 또는 전자적 명령어를 저장하기에 적합한 임의의 유형의 매체를 포함한 그러나 이들로 제한되지 않는, 컴퓨터 판독가능한 저장 매체에 저장될 수 있다.
본 명세서에서 제시된 알고리즘들 및 디스플레이들은 임의의 특정한 컴퓨터 또는 기타의 장치에 고유하게 관련된 것은 아니다. 본 교시에 따라 다양한 범용 시스템이 프로그램들과 함께 이용될 수 있거나, 요구되는 방법 단계들을 수행하기 위해 더 전문화된 장치를 구성하는 것이 편리한 것으로 입증될 수도 있다. 다양한 이들 시스템들에 대한 요구되는 구조는 이하의 설명에서 개시된 바와 같이 드러날 것이다. 또한, 본 발명은 임의의 특정한 프로그래밍 언어를 참조하여 기술되는 것은 아니다. 본 명세서에서 설명된 본 발명의 교시를 구현하기 위해 다양한 프로그래밍 언어가 이용될 수 있다는 것을 이해할 것이다.
본 발명의 실시예들은, 본 발명에 따른 프로세스를 수행하도록 컴퓨터 시스템(또는 기타의 전자 디바이스)을 프로그램하는데 이용될 수 있는 명령어들을 저장하고 있는 머신-판독가능한 매체를 포함할 수 있는 컴퓨터 프로그램 제품 또는 소프트웨어로서 제공될 수도 있다. 머신-판독가능한 매체는, 머신(예를 들어, 컴퓨터)에 의해 판독가능한 형태로 정보를 저장하거나 전송하기 위한 임의의 메커니즘을 포함할 수 있다. 예를 들어, 머신-판독가능한(예를 들어, 컴퓨터-판독가능한) 매체는, 머신(예를 들어, 컴퓨터) 판독가능한 저장 매체(예를 들어, 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 디바이스 등)를 포함한다.
"예시적" 또는 "예시적인"이라는 용어는, 본 명세서에서는, 예, 사례, 또는 예시로서 역할을 함을 의미하는 데에 사용된다. 본 명세서에서 "예시적" 또는 "예시적인"이라고 설명된 임의의 양태 또는 설계는 다른 양태 또는 설계에 비해 반드시 선호되거나 유익한 것으로 해석되는 것은 아니다. 오히려, "예시적" 또는 "예시적인"이라는 용어의 사용은 개념을 구체적인 방식으로 제공하기 위한 것이다. 본 출원에서 사용될 때, 용어 "또는"은 배타적인 "또는"이 아니라 포함적인 "또는"을 의미하기 위한 것이다. 즉, 달리 명시되거나 문맥상 명백하지 않다면, "X는 A 또는 B를 포함한다"라는 것은 당연한 포함적인 치환들(natural inclusive permutations) 중 임의의 것을 의미하고자 한다. 즉, 만일 X는 A를 포함한다; X는 B를 포함한다; 또는 X는 A와 B 양쪽 모두를 포함한다면, 이러한 사례들 중 임의의 사례 하에서 "X는 A 또는 B를 포함한다"가 만족된다. 추가로, 관사 "한(a)" 및 "한(an)"은 본 출원과 첨부된 청구항에서 사용될 때, 달리 명시되거나 문맥으로부터 단수 형태를 지칭하는 것이 명백하지 않는 한, 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다. 또한, 명세서 전체를 통해 "실시예" 또는 "한 실시예" 또는 "구현" 또는 "한 구현"이라는 용어의 사용은, 특별히 달리 명시하지 않는 한, 동일한 실시예 또는 구현을 의미하기 위한 것은 아니다. 또한, 여기서 사용되는 "제1", "제2", "제3", "제4" 등의 용어는, 상이한 요소들을 구별하는 라벨로서 의미되고, 반드시 수치 지정에 따른 서수적 의미를 가질 필요는 없다.
조항들
조항 1. 방법으로서,
3차원(3D) 객체의 평면 표면 근사의 위상학적으로 상호연결된 다면체 평면 패싯을 포함하는 3D 객체의 3D 다각형 메시를 수신하는 단계 ―상기 3D 다각형 메시는 제1 컴포넌트 및 제2 컴포넌트를 포함하고, 상기 제1 컴포넌트는 상기 제2 컴포넌트로부터 위상학적으로 분리되며, 상기 제1 컴포넌트는 상기 3D 객체의 일부를 포함함―;
처리 디바이스에 의해, 상기 제1 컴포넌트의 제1 크기가 임계 크기 이하라고 결정하는 단계 ―상기 임계 크기는 상기 3D 다각형 메시의 표면적의 적어도 일부의 백분율임―;
상기 처리 디바이스에 의해, 상기 제1 컴포넌트가 정의된 체적을 둘러싸는 완전한 표면을 형성하는 3D 지오메트리를 포함한다고 결정하는 단계;
상기 처리 디바이스에 의해, 상기 제1 컴포넌트의 배면과 상기 제2 컴포넌트의 적어도 한 표면 사이의 거리가 임계 거리 이하라고 결정하는 단계; 및
상기 처리 디바이스에 의해, 상기 제1 컴포넌트로부터 상기 배면을 제거함으로써 상기 3D 다각형 메시에 대한 단순화된 컴포넌트를 자동으로 생성하는 단계 ―상기 단순화된 컴포넌트는 상기 제1 컴포넌트보다 더 적은 상호연결된 다면체 평면 패싯을 포함함―;
를 포함하는 방법.
조항 2. 제1항에 있어서, 상기 3D 다각형 메시의 표면적의 상기 일부는 상기 제2 컴포넌트의 표면적을 포함하는, 방법.
조항 3. 제2항에 있어서, 상기 제1 컴포넌트의 제1 크기가 임계 크기 이하라고 결정하는 단계는:
상기 제2 컴포넌트의 표면적의 제2 크기를 결정하는 단계;
상기 임계 크기를 상기 제2 컴포넌트의 상기 제2 크기의 백분율로서 결정하는 단계; 및
상기 제1 크기를 상기 임계 크기와 비교하는 단계를 포함하는, 방법.
조항 4. 제1항에 있어서, 상기 3D 다각형 메시의 표면적의 상기 일부는 상기 3D 다각형 메시의 전체 표면적을 포함하는, 방법.
조항 5. 제1항에 있어서, 상기 제1 컴포넌트의 제1 크기가 임계 크기 이하라고 결정하는 단계는:
상기 3D 다각형 메시의 상기 전체 표면적의 전체 크기를 결정하는 단계;
상기 임계 크기를 상기 3D 다각형 메시의 전체 크기의 백분율로서 결정하는 단계; 및
상기 제1 크기를 상기 임계 크기와 비교하는 단계를 포함하는, 방법.
조항 6. 제1항에 있어서, 상기 제1 컴포넌트의 배면과 상기 제2 컴포넌트의 표면 사이의 거리가 임계 거리 이하라고 결정하는 단계는:
상기 제1 컴포넌트의 상기 배면을 식별하는 단계;
상기 제1 컴포넌트의 상기 배면과 상기 제2 컴포넌트의 상기 적어도 한 표면 사이의 거리를 결정하는 단계; 및
상기 거리를 상기 임계 거리와 비교하는 단계를 포함하는, 방법.
조항 7. 제6항에 있어서, 상기 배면을 식별하는 단계는:
상기 제1 컴포넌트의 제1 표면을 선택하는 단계;
상기 제1 표면으로부터 상기 제1 표면의 표면 법선 벡터의 방향으로 광선을 투사하는 단계 ―상기 표면 법선 벡터는 상기 제1 표면의 지오메트리에 대한 접평면에 수직임―; 및
상기 제2 컴포넌트와 상기 광선의 제1 교차점을 식별하는 단계 ―상기 제1 교차점은, 상기 광선이 상기 광선의 시작점에 가장 근접한 거리에 있는 상기 제2 컴포넌트의 지오메트리를 교차하는 위치를 포함함―;
를 포함하는, 방법.
조항 8. 제7항에 있어서,
상기 제2 컴포넌트와 상기 광선의 상기 제1 교차점이 상기 제2 컴포넌트의 전면 상에 위치한다고 결정하는 단계;
상기 임계 거리를 상기 3D 다각형 메시의 전체 크기의 제2 백분율로서 설정하는 단계; 및
상기 제1 표면과 상기 교차점 사이의 거리가 상기 임계 거리 이하라는 결정에 응답하여, 상기 제1 표면을 상기 배면으로서 식별하는 단계를 더 포함하는 방법.
조항 9. 제7항에 있어서,
상기 제2 컴포넌트와 상기 광선의 상기 제1 교차점이 상기 제2 컴포넌트의 배면 상에 위치한다고 결정하는 단계; 및
상기 제1 표면을 상기 배면으로서 식별하는 단계를 더 포함하는 방법.
조항 10. 제1항에 있어서, 상기 3D 다각형 메시에 대한 상기 단순화된 컴포넌트를 자동으로 생성하는 단계는:
상기 제1 컴포넌트로부터 상기 배면을 제거하는 것이 상기 단순화된 컴포넌트에 비-매니폴드 토폴로지를 도입한다는 결정에 응답하여, 상기 배면을 상기 단순화된 컴포넌트의 일부로서 유지하는 단계를 더 포함하고, 상기 비-매니폴드 토폴로지는 상기 제1 컴포넌트의 2개 이상의 국부적으로 분리된 표면에 입사하는 제1 컴포넌트의 제1 꼭지점을 포함하는, 방법.
조항 11. 방법으로서,
3차원(3D) 다각형 메시의 컴포넌트를 식별하는 단계 ―상기 컴포넌트는 상기 3D 다각형 메시의 제2 표면적 크기보다 작은 제1 표면적 크기를 가지며,
상기 컴포넌트는 상기 3D 다각형 메시와 별개의 구조로서 모델링된 한 세트의 위상학적으로 상호연결된 표면들을 포함함―; 및
처리 디바이스에 의해, 상기 컴포넌트로부터 배면을 제거함으로써 상기 컴포넌트의 단순화된 버전을 자동으로 생성하는 단계 ―상기 컴포넌트의 상기 단순화된 버전은 상기 컴포넌트보다 더 적은 다각형을 포함함―;
를 포함하는 방법.
조항 12. 제11항에 있어서,
상기 3D 다각형 메시의 전체 크기의 제1 백분율로서 임계 크기를 설정하는 단계 ―상기 3D 다각형 메시의 상기 전체 크기의 상기 제1 백분율은 상기 3D 다각형 메시의 상기 제2 표면적 크기의 10 퍼센트 이하의 값을 포함함―; 및
상기 제1 표면적 크기가 상기 임계 크기 이하라고 결정하는 단계를 더 포함하는 방법.
조항 13. 제11항에 있어서,
상기 컴포넌트의 배면을 식별하는 단계를 더 포함하고, 상기 컴포넌트의 상기 배면은, 상기 3D 다각형 메시의 전면에 가깝게 위치한, 방법.
조항 14. 제13항에 있어서,
상기 컴포넌트의 제1 표면을 선택하는 단계;
상기 표면으로부터 상기 제1 표면의 표면 법선 벡터의 방향으로 광선을 투사하는 단계 ―상기 표면 법선 벡터는 상기 제1 표면의 지오메트리에 대한 접평면에 수직임―; 및
상기 3D 다각형 메시 내의 상기 광선의 제1 교차점을 식별하는 단계 ―상기 제1 교차점은, 상기 광선이 상기 광선의 시작점에 가장 근접한 거리에 있는 상기 3D 다각형 메시의 지오메트리를 교차하는 위치를 포함함―;
를 더 포함하는, 방법.
조항 15. 제14항에 있어서,
상기 3D 다각형 메시와 상기 광선의 상기 제1 교차점이 상기 3D 다각형 메시의 전면 상에 위치한다고 결정하는 단계;
상기 3D 다각형 메시의 전체 크기의 제2 백분율로서 임계 거리를 설정하는 단계; 및
상기 컴포넌트의 상기 제1 표면과 상기 교차점 사이의 거리가 상기 임계 거리 이하라는 결정에 응답하여, 상기 컴포넌트의 상기 제1 표면을 상기 배면으로서 식별하는 단계를 더 포함하는 방법.
조항 16. 제15항에 있어서, 상기 3D 다각형 메시의 전체 크기의 상기 제2 백분율은 상기 3D 다각형 메시의 상기 제2 표면적 크기의 5 퍼센트 이하의 값을 포함하는, 방법.
조항 17. 제14항에 있어서,
상기 3D 다각형 메시와 상기 광선의 상기 제1 교차점이 상기 3D 다각형 메시의 배면 상에 위치한다고 결정하는 단계; 및
상기 제1 표면을 상기 배면으로서 식별하는 단계를 더 포함하는 방법.
조항 18. 제11항에 있어서, 상기 컴포넌트는 어떠한 분리된 표면도 갖지 않는 정의된 체적을 둘러싸는 완전한 구조를 형성하는, 방법.
조항 19. 제11항에 있어서, 상기 컴포넌트의 상기 단순화된 버전을 자동으로 생성하는 단계는:
상기 컴포넌트로부터 상기 배면을 제거하는 것이 상기 단순화된 컴포넌트에 비-매니폴드 토폴로지를 도입한다는 결정에 응답하여, 상기 배면을 상기 단순화된 컴포넌트의 일부로서 유지하는 단계를 더 포함하고, 상기 비-매니폴드 토폴로지는 상기 제1 컴포넌트의 2개 이상의 국부적으로 분리된 표면에 입사하는 제1 컴포넌트의 제1 꼭지점을 포함하는, 방법.
조항 20. 처리 디바이스에 의해 실행될 때, 상기 처리 디바이스로 하여금, 3차원(3D) 객체의 표현을 생성하게 하는 명령어들을 저장한 비일시적 컴퓨터 판독가능한 저장 매체로서, 상기 3D 객체의 표현은,
평면 표면의 제1 세트의 위상학적으로 상호연결된 패싯들을 포함하는 3D 다각형 메시; 및
상기 3D 다각형 메시와 별개의 구조로서 모델링된 제2 세트의 위상학적으로 상호연결된 패싯들을 포함하는 상기 3D 객체의 컴포넌트
를 포함하고, 상기 컴포넌트는:
높은 디테일을 갖는 제1 메시를 갖는 전면 ―상기 전면은 상기 3D 다각형 메시로부터 멀리 떨어져 위치함―; 및
상기 제1 메시에 비해 낮은 디테일 메시를 갖는 제2 메시를 갖는 배면 ―상기 전면은 상기 3D 다각형 메시의 표면에 매우 근접하여 위치하고, 상기 제2 메시는 상기 컴포넌트의 패싯들이 제거된 상기 컴포넌트의 부분을 포함함―;
을 더 포함하는, 비일시적 컴퓨터 판독가능한 저장 매체.

Claims (20)

  1. 방법으로서,
    3차원(3D) 객체의 평면 표면 근사(planar surface approximation)의 위상학적으로 상호연결된 다면체 평면 패싯(polyhedral planar facet)들을 포함하는 3D 객체의 3D 다각형 메시를 수신하는 단계 ―상기 3D 다각형 메시는 제1 컴포넌트 및 제2 컴포넌트를 포함하고, 상기 제1 컴포넌트는 상기 제2 컴포넌트로부터 위상학적으로 분리되며, 상기 제1 컴포넌트는 상기 3D 객체의 일부를 포함함―;
    처리 디바이스에 의해, 상기 제1 컴포넌트의 제1 크기가 임계 크기 이하라고 결정하는 단계 ―상기 임계 크기는 상기 3D 다각형 메시의 표면적의 적어도 일부의 백분율임―;
    상기 처리 디바이스에 의해, 상기 제1 컴포넌트가 정의된 체적을 둘러싸는 완전한 표면을 형성하는 3D 지오메트리(3D geometry)를 포함한다고 결정하는 단계;
    상기 처리 디바이스에 의해, 상기 제1 컴포넌트의 배면(back surface)과 상기 제2 컴포넌트의 적어도 한 표면 사이의 거리가 임계 거리 이하라고 결정하는 단계; 및
    상기 처리 디바이스에 의해, 상기 제1 컴포넌트로부터 상기 배면을 제거함으로써 상기 3D 다각형 메시에 대한 단순화된 컴포넌트를 자동으로 생성하는 단계 ―상기 단순화된 컴포넌트는 상기 제1 컴포넌트보다 더 적은 상호연결된 다면체 평면 패싯을 포함함―;
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 3D 다각형 메시의 표면적의 상기 일부는 상기 제2 컴포넌트의 표면적을 포함하는, 방법.
  3. 제2항에 있어서, 상기 제1 컴포넌트의 제1 크기가 임계 크기 이하라고 결정하는 단계는:
    상기 제2 컴포넌트의 표면적의 제2 크기를 결정하는 단계;
    상기 임계 크기를 상기 제2 컴포넌트의 상기 제2 크기의 백분율로서 결정하는 단계; 및
    상기 제1 크기를 상기 임계 크기와 비교하는 단계를 포함하는, 방법.
  4. 제1항에 있어서, 상기 3D 다각형 메시의 표면적의 상기 일부는 상기 3D 다각형 메시의 전체 표면적을 포함하는, 방법.
  5. 제1항에 있어서, 상기 제1 컴포넌트의 제1 크기가 임계 크기 이하라고 결정하는 단계는:
    상기 3D 다각형 메시의 상기 전체 표면적의 전체 크기를 결정하는 단계;
    상기 임계 크기를 상기 3D 다각형 메시의 전체 크기의 백분율로서 결정하는 단계; 및
    상기 제1 크기를 상기 임계 크기와 비교하는 단계를 포함하는, 방법.
  6. 제1항에 있어서, 상기 제1 컴포넌트의 배면과 상기 제2 컴포넌트의 표면 사이의 거리가 임계 거리 이하라고 결정하는 단계는:
    상기 제1 컴포넌트의 상기 배면을 식별하는 단계;
    상기 제1 컴포넌트의 상기 배면과 상기 제2 컴포넌트의 상기 적어도 한 표면 사이의 거리를 결정하는 단계; 및
    상기 거리를 상기 임계 거리와 비교하는 단계를 포함하는, 방법.
  7. 제6항에 있어서, 상기 배면을 식별하는 단계는:
    상기 제1 컴포넌트의 제1 표면을 선택하는 단계;
    상기 제1 표면으로부터 상기 제1 표면의 표면 법선 벡터의 방향으로 광선을 투사하는 단계 ―상기 표면 법선 벡터는 상기 제1 표면의 지오메트리에 대한 접평면(tangent plane)에 수직임―; 및
    상기 제2 컴포넌트와 상기 광선의 제1 교차점을 식별하는 단계 ―상기 제1 교차점은, 상기 광선이 상기 광선의 시작점에 가장 근접한 거리에 있는 상기 제2 컴포넌트의 지오메트리를 교차하는 위치를 포함함―;
    를 포함하는, 방법.
  8. 제7항에 있어서,
    상기 제2 컴포넌트와 상기 광선의 상기 제1 교차점이 상기 제2 컴포넌트의 전면 상에 위치한다고 결정하는 단계;
    상기 임계 거리를 상기 3D 다각형 메시의 전체 크기의 제2 백분율로서 설정하는 단계; 및
    상기 제1 표면과 상기 교차점 사이의 거리가 상기 임계 거리 이하라는 결정에 응답하여, 상기 제1 표면을 상기 배면으로서 식별하는 단계를 더 포함하는 방법.
  9. 제7항에 있어서,
    상기 제2 컴포넌트와 상기 광선의 상기 제1 교차점이 상기 제2 컴포넌트의 배면 상에 위치한다고 결정하는 단계; 및
    상기 제1 표면을 상기 배면으로서 식별하는 단계를 더 포함하는 방법.
  10. 제1항에 있어서, 상기 3D 다각형 메시에 대한 상기 단순화된 컴포넌트를 자동으로 생성하는 단계는:
    상기 제1 컴포넌트로부터 상기 배면을 제거하는 것이 상기 단순화된 컴포넌트에 비-매니폴드 토폴로지(non-manifold topology)를 도입한다는 결정에 응답하여, 상기 배면을 상기 단순화된 컴포넌트의 일부로서 유지(retaining)하는 단계를 더 포함하고, 상기 비-매니폴드 토폴로지는 상기 제1 컴포넌트의 2개 이상의 국부적으로 분리된 표면에 입사하는 제1 컴포넌트의 제1 꼭지점을 포함하는, 방법.
  11. 방법으로서,
    3차원(3D) 다각형 메시의 컴포넌트를 식별하는 단계 ―상기 컴포넌트는 상기 3D 다각형 메시의 제2 표면적 크기보다 작은 제1 표면적 크기를 가지며, 상기 컴포넌트는 상기 3D 다각형 메시와 별개의 구조로서 모델링된 한 세트의 위상학적으로 상호연결된 표면들을 포함함―; 및
    처리 디바이스에 의해, 상기 컴포넌트로부터 배면을 제거함으로써 상기 컴포넌트의 단순화된 버전을 자동으로 생성하는 단계 ―상기 컴포넌트의 상기 단순화된 버전은 상기 컴포넌트보다 더 적은 다각형을 포함함―;
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 3D 다각형 메시의 전체 크기의 제1 백분율로서 임계 크기를 설정하는 단계 ―상기 3D 다각형 메시의 상기 전체 크기의 상기 제1 백분율은 상기 3D 다각형 메시의 상기 제2 표면적 크기의 10 퍼센트 이하의 값을 포함함―; 및
    상기 제1 표면적 크기가 상기 임계 크기 이하라고 결정하는 단계
    를 더 포함하는 방법.
  13. 제11항에 있어서,
    상기 컴포넌트의 상기 배면을 식별하는 단계를 더 포함하고, 상기 컴포넌트의 상기 배면은, 상기 3D 다각형 메시의 전면에 가깝게 위치한, 방법.
  14. 제13항에 있어서,
    상기 컴포넌트의 제1 표면을 선택하는 단계;
    상기 표면으로부터 상기 제1 표면의 표면 법선 벡터의 방향으로 광선을 투사하는 단계 ―상기 표면 법선 벡터는 상기 제1 표면의 지오메트리에 대한 접평면에 수직임―; 및
    상기 3D 다각형 메시 내의 상기 광선의 제1 교차점을 식별하는 단계 ―상기 제1 교차점은, 상기 광선이 상기 광선의 시작점에 가장 근접한 거리에 있는 상기 3D 다각형 메시의 지오메트리를 교차하는 위치를 포함함―;
    를 더 포함하는, 방법.
  15. 제14항에 있어서,
    상기 3D 다각형 메시와 상기 광선의 상기 제1 교차점이 상기 3D 다각형 메시의 전면 상에 위치한다고 결정하는 단계;
    상기 3D 다각형 메시의 전체 크기의 제2 백분율로서 임계 거리를 설정하는 단계; 및
    상기 컴포넌트의 상기 제1 표면과 상기 교차점 사이의 거리가 상기 임계 거리 이하라는 결정에 응답하여, 상기 컴포넌트의 상기 제1 표면을 상기 배면으로서 식별하는 단계를 더 포함하는 방법.
  16. 제15항에 있어서, 상기 3D 다각형 메시의 전체 크기의 상기 제2 백분율은 상기 3D 다각형 메시의 상기 제2 표면적 크기의 5 퍼센트 이하의 값을 포함하는, 방법.
  17. 제14항에 있어서,
    상기 3D 다각형 메시와 상기 광선의 상기 제1 교차점이 상기 3D 다각형 메시의 배면 상에 위치한다고 결정하는 단계; 및
    상기 제1 표면을 상기 배면으로서 식별하는 단계를 더 포함하는 방법.
  18. 제11항에 있어서, 상기 컴포넌트는 어떠한 분리된 표면도 갖지 않는 정의된 체적을 둘러싸는 완전한 구조를 형성하는, 방법.
  19. 제11항에 있어서, 상기 컴포넌트의 상기 단순화된 버전을 자동으로 생성하는 단계는:
    상기 컴포넌트로부터 상기 배면을 제거하는 것이 상기 단순화된 컴포넌트에 비-매니폴드 토폴로지를 도입한다는 결정에 응답하여, 상기 배면을 상기 단순화된 컴포넌트의 일부로서 유지하는 단계를 더 포함하고, 상기 비-매니폴드 토폴로지는 상기 제1 컴포넌트의 2개 이상의 국부적으로 분리된 표면에 입사하는 제1 컴포넌트의 제1 꼭지점을 포함하는, 방법.
  20. 처리 디바이스에 의해 실행될 때, 상기 처리 디바이스로 하여금, 3차원(3D) 객체의 표현(representation)을 생성하게 하는 명령어들을 저장한 비일시적 컴퓨터 판독가능한 저장 매체로서, 상기 3D 객체의 표현은,
    평면 표면의 제1 세트의 위상학적으로 상호연결된 패싯들을 포함하는 3D 다각형 메시; 및
    상기 3D 다각형 메시와 별개의 구조로서 모델링된 제2 세트의 위상학적으로 상호연결된 패싯들을 포함하는 상기 3D 객체의 컴포넌트
    를 포함하고, 상기 컴포넌트는:
    높은 디테일(high-detail)을 갖는 제1 메시를 갖는 전면 ―상기 전면은 상기 3D 다각형 메시로부터 멀리 떨어져 위치함―; 및
    상기 제1 메시에 비해 낮은 디테일 메시(low-detail mesh)를 갖는 제2 메시를 갖는 배면 ―상기 전면은 상기 3D 다각형 메시의 표면에 매우 근접하여 위치하고, 상기 제2 메시는 상기 컴포넌트의 패싯들이 제거된 상기 컴포넌트의 부분을 포함함―;
    을 더 포함하는, 비일시적 컴퓨터 판독가능한 저장 매체.
KR1020187002102A 2015-06-26 2016-06-23 중복 배면을 갖는 작은 메시 컴포넌트의 단순화 KR102042941B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562185183P 2015-06-26 2015-06-26
US62/185,183 2015-06-26
US15/040,931 US9978176B2 (en) 2015-06-26 2016-02-10 Simplifying small mesh components with redundant backs
US15/040,931 2016-02-10
PCT/US2016/039071 WO2016210166A1 (en) 2015-06-26 2016-06-23 Simplifying small mesh components with redundant backs

Publications (2)

Publication Number Publication Date
KR20180021817A true KR20180021817A (ko) 2018-03-05
KR102042941B1 KR102042941B1 (ko) 2019-11-08

Family

ID=57586282

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187002102A KR102042941B1 (ko) 2015-06-26 2016-06-23 중복 배면을 갖는 작은 메시 컴포넌트의 단순화

Country Status (4)

Country Link
US (1) US9978176B2 (ko)
KR (1) KR102042941B1 (ko)
CN (1) CN107735815B (ko)
WO (1) WO2016210166A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017146818A (ja) * 2016-02-18 2017-08-24 キヤノン株式会社 三次元データ処理装置および三次元データ処理方法
KR20180065135A (ko) * 2016-12-07 2018-06-18 삼성전자주식회사 셀프 구조 분석을 이용한 구조 잡음 감소 방법 및 장치
US10521958B2 (en) 2018-01-16 2019-12-31 Electronic Arts Inc. Computer handling of object silhouettes
KR102056788B1 (ko) 2018-02-13 2019-12-18 가이아쓰리디 주식회사 웹 서비스를 위한 3차원 데이터를 처리하는 방법 및 이를 사용한 시스템
US10459706B1 (en) * 2018-03-12 2019-10-29 State Farm Mutual Automobile Insurance Company System and methods for simplifying three-dimensional models
CN108876920B (zh) * 2018-06-28 2022-09-27 网易(杭州)网络有限公司 用于三维组件拼接的几何结构数据处理方法和装置
CN110930514B (zh) * 2019-11-22 2021-08-10 华南理工大学 基于局部区域特征的三维网格模型自适应简化方法
US20220410002A1 (en) * 2021-06-29 2022-12-29 Bidstack Group PLC Mesh processing for viewability testing

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5894308A (en) * 1996-04-30 1999-04-13 Silicon Graphics, Inc. Interactively reducing polygon count in three-dimensional graphic objects
JP2005275646A (ja) * 2004-03-24 2005-10-06 Fujitsu Ltd 3次元描画モデル生成方法、3次元モデル描画方法及びそのプログラム
WO2007125912A1 (ja) * 2006-04-24 2007-11-08 Panasonic Corporation 描画装置及び描画方法
KR20080044221A (ko) * 2007-04-30 2008-05-20 (주) 코이시스 컴퓨터를 이용한 3차원 이미지의 형상화 처리방법
US20120182298A1 (en) * 2011-01-14 2012-07-19 Wei Sun Planetary scale object rendering
KR20130101332A (ko) * 2012-03-05 2013-09-13 한국과학기술원 삼각형 메쉬로 표현된 3차원 물체를 DoSurface 표현 방법으로 변환하는 시스템 및 그 방법
KR20140013292A (ko) * 2012-07-23 2014-02-05 엘지전자 주식회사 레이 트레이싱 연산 시스템
KR20140101439A (ko) * 2011-12-16 2014-08-19 유니베르지테트 추 뤼베크 포즈를 추정하기 위한 방법 및 장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4181430B2 (ja) * 2003-03-10 2008-11-12 シャープ株式会社 図形処理装置、図形処理方法、図形処理プログラム、および、プログラム記録媒体
WO2007100298A1 (en) 2006-03-03 2007-09-07 Donya Research Ab Creation and rendering of hierarchical digital multimedia data
US7831089B2 (en) * 2006-08-24 2010-11-09 Microsoft Corporation Modeling and texturing digital surface models in a mapping application
US8760450B2 (en) * 2007-10-30 2014-06-24 Advanced Micro Devices, Inc. Real-time mesh simplification using the graphics processing unit
WO2009096891A1 (en) 2008-02-01 2009-08-06 Donya Labs Ab Real-time user guided optimization of general 3d data
US8860723B2 (en) 2009-03-09 2014-10-14 Donya Labs Ab Bounded simplification of geometrical computer data
CN101877147B (zh) * 2010-06-29 2012-10-03 浙江大学 三维三角形网格模型的简化算法
US20140111510A1 (en) 2012-10-19 2014-04-24 Donya Labs Ab Method for optimized polygon reduction of computer graphics
US9311749B2 (en) 2012-12-07 2016-04-12 Donya Labs Ab Method for forming an optimized polygon based shell mesh
US20140198103A1 (en) 2013-01-15 2014-07-17 Donya Labs Ab Method for polygon reduction
CN104008147B (zh) * 2014-05-12 2017-12-01 中国矿业大学(北京) 三维地质结构模型多体索引构建方法
EP2966621A1 (en) 2014-07-09 2016-01-13 Donya Labs AB Method and system for converting an existing 3D model into graphical data

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5894308A (en) * 1996-04-30 1999-04-13 Silicon Graphics, Inc. Interactively reducing polygon count in three-dimensional graphic objects
JP2005275646A (ja) * 2004-03-24 2005-10-06 Fujitsu Ltd 3次元描画モデル生成方法、3次元モデル描画方法及びそのプログラム
WO2007125912A1 (ja) * 2006-04-24 2007-11-08 Panasonic Corporation 描画装置及び描画方法
KR20080044221A (ko) * 2007-04-30 2008-05-20 (주) 코이시스 컴퓨터를 이용한 3차원 이미지의 형상화 처리방법
US20120182298A1 (en) * 2011-01-14 2012-07-19 Wei Sun Planetary scale object rendering
KR20140101439A (ko) * 2011-12-16 2014-08-19 유니베르지테트 추 뤼베크 포즈를 추정하기 위한 방법 및 장치
KR20130101332A (ko) * 2012-03-05 2013-09-13 한국과학기술원 삼각형 메쉬로 표현된 3차원 물체를 DoSurface 표현 방법으로 변환하는 시스템 및 그 방법
KR20140013292A (ko) * 2012-07-23 2014-02-05 엘지전자 주식회사 레이 트레이싱 연산 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Attene, et al. "Re-meshing techniques for topological analysis." Proceedings International Conference on Shape Modeling and Applications. IEEE(2001) *
Skeletal Mesh Simplification Tool. Skeletal Meshes. Unreal engine 3. Epic Games, Inc.(2014) *

Also Published As

Publication number Publication date
US9978176B2 (en) 2018-05-22
KR102042941B1 (ko) 2019-11-08
CN107735815B (zh) 2021-10-29
US20160379406A1 (en) 2016-12-29
WO2016210166A1 (en) 2016-12-29
CN107735815A (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
KR102042941B1 (ko) 중복 배면을 갖는 작은 메시 컴포넌트의 단순화
CN106687886B (zh) 三维混合现实视口
EP2681649B1 (en) System and method for navigating a 3-d environment using a multi-input interface
CN106575153B (zh) 虚拟现实环境内基于注视的对象放置
KR102385756B1 (ko) 가상 현실 환경에서 몰입된 때의 안티 트립
US11636643B2 (en) Normal offset smoothing
US10481754B2 (en) Systems and methods for manipulating a 3D object in a 3D model using a software widget and surface constraints
US20100245352A1 (en) Method and system for 3d object positioning in 3d virtual environments
JP2011510398A5 (ko)
US20100073368A1 (en) Methods and systems to determine conservative view cell occlusion
Grottel et al. Object-space ambient occlusion for molecular dynamics
US20170109920A1 (en) Method and apparatus rendering caustics
KR20160082477A (ko) 객체들의 세트의 뷰포인트의 선택
Stuerzlinger et al. Considerations for targets in 3D pointing experiments
US11120629B2 (en) Method and device for providing augmented reality, and computer program
EP4089562A1 (en) Designing garment using style line
US20210278954A1 (en) Projecting inputs to three-dimensional object representations
US20220335676A1 (en) Interfacing method and apparatus for 3d sketch
JP2022095102A (ja) 指標算出装置、指標算出方法、及びプログラム
JP2004178006A (ja) 3次元形状処理装置、モデル干渉部表示方法、プログラム、及び記憶媒体
Sankar Immersive data visualization with virtual reality
Penick VFire: Virtual fire in realistic environments. A framework for wildfire visualization in immersive environments
Bapat Integration of multiple vision systems and toolbox development
WO2013024348A2 (en) Systems and methods for intelligent navigation
KR20110045986A (ko) 구좌표계 렌더링 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant