KR101005322B1 - 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법 - Google Patents

3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법 Download PDF

Info

Publication number
KR101005322B1
KR101005322B1 KR1020030076800A KR20030076800A KR101005322B1 KR 101005322 B1 KR101005322 B1 KR 101005322B1 KR 1020030076800 A KR1020030076800 A KR 1020030076800A KR 20030076800 A KR20030076800 A KR 20030076800A KR 101005322 B1 KR101005322 B1 KR 101005322B1
Authority
KR
South Korea
Prior art keywords
model
geometry
hierarchy
graphic
max
Prior art date
Application number
KR1020030076800A
Other languages
English (en)
Other versions
KR20050041583A (ko
Inventor
김성곤
Original Assignee
(주)코딕커뮤니케이션즈
정보통신연구진흥원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)코딕커뮤니케이션즈, 정보통신연구진흥원 filed Critical (주)코딕커뮤니케이션즈
Priority to KR1020030076800A priority Critical patent/KR101005322B1/ko
Publication of KR20050041583A publication Critical patent/KR20050041583A/ko
Application granted granted Critical
Publication of KR101005322B1 publication Critical patent/KR101005322B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • 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
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

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

Abstract

개시된 본 발명은 SDRM의 클래스(Class)들을 이용하여 3D MAX나 Maya에서 늘 사용되는 하나의 character의 복합적인 구성 요소들을 표현할 수 있도록 하는 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법에 관한 것으로서, 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법에 있어서, 각각의 기본적인 메쉬(mesh)단위로 구성된 각각의 지오메트리(geometry)들은 모두 하나의 모델(model)로 기록하는 과정; 및 오브젝트가 구성할 수 있는 개념적 의미를 부여하기 위해 상기 모델을 구성하고 있는 구성요소들의 그룹 및 링크 관계를 정의하는 과정; 으로 이루어진 것을 특징으로 한다.

Description

3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법{method for constitution formatting of 3D graphic model and animation}
도 1은 일반적인 3DS MAX의 내부 오브젝트의 구조 및 연관관계를 설명하기 위한 도면,
도 2는 오키노사의 Polytrans/Nugraf에서 사용하고 있는 오브젝트의 계층적 구조를 설명하기 위한 도면,
도 3은 MAYA에서 사용하고 있는 오브젝트의 계층적 구조를 설명하기 위한 도면,
도 4는 3DS MAX에서의 오브젝트(object) 상호간의 그룹(group) 및 링크(Link) 관계를 나타내고 있는 실제 화면도,
도 5는 도 4의 화면을 생성하기 위한 프로그램이 그래픽 툴에 의해 제작되는 것을 설명하기 위한 도면,
도 6은 3DS MAX에서 오브젝트의 계층적 구조를 도시한 트리챠트,
도 7은 MAYA에서 오브젝트의 계층적 구조를 3차원 프로그램 에디터를 이용하여 도시한 화면,
도 8은 본 발명에 따른 3D 메시 데이터 표현과 관련된 SDRM의 트리구조도,
도 9는 본 발명에 따른 오브젝트의 계층적 구조와 관련된 SDRM의 트리구조 도,
도 10은 도 4를 SDRM으로 변환시켰을 때의 실제 화면도,
도 11은 도 10의 화면을 생성하기 위한 프로그램이 그래픽 툴에 의해 제작되는 것을 설명하기 위한 도면,
도 12는 본 발명에 적용된 SEDRIS STF의 유용성을 검증하기 위한 화면도,
도 13 내지 도 15는 본 발명에 적용된 Acusoft의 Side-By-Side로 본 건물 모델의 실시예를 도시한 도면,
도 16은 도 13 내지 도 15를 통해 도시된 모델을 월드 스페이스에 표현시키기 위한 트리 구조도,
도 17은 본 발명에 적용된 LSR 트랜스포메이션을 설명하기 위한 화면도,
도 18은 본 발명이 적용된 SDRM의 Union Of Geometry Hierarchy를 DAG 시스템의 널노드 개념으로 정의한 도면,
도 19는 도 4를 SEDRIS의 DRM 방식으로 표현하였을 때의 화면도이다.
본 발명은 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법에 관한 것이다.
보다 상세하게는, SDRM의 클래스(Class)들을 이용하여 3D MAX나 Maya에서 늘 사용되는 하나의 character의 복합적인 구성 요소들을 표현할 수 있도록 하는 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법에 관한 것이다.
일반적으로 3차원 그래픽 모델 및 애니메이션을 구조적으로 표현하고 이를 포맷으로 구현하기 위해서, 3DS MAX 및 MAYA 등, 많은 그래픽 에디팅 및 렌더링 프로그램들은, 자체적으로 고유의 그래픽 오브젝트를 나타내기 위한 오브젝트의 표현 방식 및 오브젝트간의 연관관계를 구현하고 있다.
즉, 3차원 그래픽 오브젝트를 가장 효율적으로 표현하기 위해 사용되는 구조적 관계성에서 가장 중요한 것은, 오브젝트들 간의 연관관계를 표현하기 위한 관계 모델이다. 대표적인 그래픽 모델 에디팅 및 렌더링 프로그램 중에서, 3DS MAX, MAYA 그리고 대표적인 그래픽 파일 포맷 변환 프로그램인 오키노(Okino)사의 Polytrans/Nugraf 등은, 각각 서로 다른 오브젝트 표현 모델을 사용하고 있다.
먼저, 3DS MAX의 object hierarchy 표현 모델의 특징을 첨부 도면 도 1를 참조하여 설명하면 다음과 같다.
첨부 도면 도 1에 도시된 바와 같이, 3DS MAX 프로그램은 널노드(Null Node)가 실제 그래픽 오브젝트에 연결되거나, 또는 실제 오브젝트가 널노드(Null Node) 에 직접 연결되는 방식을 취하고 있다. 즉 3D 그래픽 오브젝트(geometry object) 상호간에 직접 연결되거나, 또는 널노드(Null Node)가 직접 연결된다.
이때, 상기 널노드(Null Node)는 비쥬얼 오브젝트가 아닌, 오브젝트간의 연관성, 즉 그룹이나 링킹 개념 등을 나타내기 위해서나, 혹은 오브젝트에 영향을 미치는 환경 오브젝트의 존재를 나타내기 위해서, 혹은 오브젝트에 직접 부여되기 보다는 주변 환경의 조건을 표현하기 위해서 필요한 비 그래픽적 오브젝트를 나타낼 때 주로 사용된다.
또한 3DS MAX에서의 널노드(Null Node)는, 3D 그래픽 오브젝트(geometry object)의 상대적인 위치나 방위(orientation) 등을 hierarchy내에서나 skeleton내에서, 하위의 자 오브젝트(child object)들이 새로운 Local coordinate로 사용할 때 사용되어진다.
그리고, 3D MAX에서는 이들 널노드(Null Node)를 더미 오브젝트(Dummy Object) 라는 이름으로 사용되며, 이들 널노드(Null Node)는 4x4 트랜스폼 매트릭스(transformation matrix)를 포함하는 한편, 상기 널노드(Null Node)는 hierarchy내에서의 상대적인 위치나 방위(orientation)를 나타내기 위해 사용되어진다.
또한 3D MAX에서 상기 더미 오브젝트(Dummy object)인 널노드(Null Node)는 오브젝트(object)들 간의 피벗 포인트(pivot point)를 나타내기 위해서도 사용되어진다.
그러나 MaYa, Lightwave 등과 같은 다른 3D 그래픽 프로그램은 상기 3DS MAX의 피벗 포인트(pivot point) 구조와는 다른 방식을 사용하고 있다.
그리고, 3DS MAX는 상기와 같은 다양한 종류의 오브젝트들의 관계와 조건 등을 표현하기 위해서 상기 그래픽 오브젝트 상호간에 직접 연결되는 방식을 적용하고 있으나, 상기와 같은 연결방식은 object들 상호간의 계층적 구조(hierarchy)를 나타내기 위한 일종의 skeleton type에 대한 구조측면에서 문제가 발생된다. 즉, 3DS MAX에서와 같이, 지오메트리(geometry)가 직접 다른 지오메트리(geometry)에 직접 연걸 되는 방식을 취하게 되면, 지오메트리 오브젝트(geometry object)를 나타내는 오브젝트(object)를 포함하여 하단의 모든 자 오브젝트(child object)들도 모두 각각의 Local coordinate를 나타내기 위하여, 스스로 4x4의 트랜스폼 매트릭스(transformation matrix)를 가져야 한다. 그러므로 오브젝트(object)들 상호간의 상대적인 coordinate를 계산하기 위해서, 오브젝트(object)들 상호간의 계층적 구조(hierarchy)에 변화가 생길 때 마다 매번 로컬 트랜스폼 매트릭스(Local transformation matrix)를 재 생성하거나, 또는 피벗 포인트(pivot point)를 다시 설정해야 하는 등 많은 수정을 해야 한다는 문제점이 있다.
상기와 같은 문제점은 하나의 오브젝트(object)가 원래의 부모 노드(node)가 아닌 다른 부모 노드(node) 밑으로 이동하고자 할 경우, 계층적 구조(hierarchy)를 구성하는 어느 하나의 지오메트리 오브젝트(geometry object)가, 전혀 다른 계층적 구조(hierarchy)를 가진 다른 부모 노드(node) 밑의 특정 지오메트리(geometry)의 인스턴스(instance)일 경우, 메쉬(mesh)정보는 같지만 서로 다른 Local coordinate과 피벗 포인트(pivot point), 부모 노드(node)가 다르기 때문에 생기는 서로 다른 계층적 구조(hierarchy) 관계 등을 나타낼 때, 이를 직접 오브젝트(object) 자체에 서 포함하고 있는 경우(3D MAX처럼), 오브젝트의 계층적 구조(object hierarchy)의 변화가 생길 경우 표현상에 많은 복잡함과 문제를 야기하게 된다.
이에 따라 그래픽 오브젝트(object) 자체와 이들 오브젝트(object) 상호간의 계층적 구조(hierarchy)등 연관관계를 효율적으로 표현하기 위해서 많은 연구가 있어왔고, 그 중에서 DAG(Direct Acyclic Graph) hierarchy가 3D 그래픽 오브젝트의 계층적 구조(hierarchy)를 표현하는데 가장 적합한 것으로 알려져 있으며, 또한 오키노사(Onkino)의 Polytrans/Nugraf, Maya 등이 DAG hierarchy 시스템을 사용하거나, 또는 약간 변형된 DAG hierarchy 시스템을 사용하고 있다.
한편, 오키노(Okino)사의 3D 그래픽 변환 프로그램인 PolyTrans와 Nugraf는 첨부 도면 도 2에 도시된 바와 같이 오브젝트의 계층적 구조(Object Hierarchy)를 적용하고 있는데, 상기 오브젝트의 계층적 구조는 DAG hierarchy 시스템과 동일하다. 즉 지오메트리(geometry)는 널노드(Null Node)에 의해서만 연결된다.
즉, PolyTrans와 Nugraf에서의 널노드(Null Node)는 Local Coordinate를 나타내는 4x4 트랜스폼 매트릭스(Transformation matrix)와 피벗 포인트(pivot point)등의 정보를 가지고 있게 된다. 따라서 가장 상위의 널노드(Null Node)는 하나의 오브젝트의 계층적 구조(object hierarchy)의 최상위 루트(root)가 되면, 가장 상위인 부모 노드(node)에 대한 트랜스래이션(translation), 로테이션(rotation), 스케일링(scaling) 등의 영향은 하위 자 노드(child node)에 그대로 적용된다.
또한, 하위 어느 특정 부분의 자 노드(child node)가 다른 부모 노드(node) 로 이동하게 되면, 그 자 노드(child node)를 포함하고 있는 널노드(Null Node)가 함께 이동하게 되며, 상기 자 노드(child node)의 하위에 존재하는 다른 자 노드(child node) 또한 상기 자 지오메트리(child geometry)가 연결하고 있는 널노드(Null Node)의 이동으로 같이 이동하게 된다.
상기와 같이 동작됨으로써, 로컬 트랜스포메이션 매트릭스(Local transformation matrix)와 피벗 포인트(pivot point)등은 전혀 영향을 받지 않고 효율적으로 다른 부모 노드(node)로 이동할 수가 있게 된다.
따라서, 오브젝트(object)의 계층적 구조(hierarchy)를 구성하는 skeleton을 널노드(Null node)만으로 표현함으로써, 오브젝트(object)의 이동시에도 해당 오브젝트(object)와 그 하위의 skeleton에는 영향을 받지 않게 하는 구조이다.
한편, 또다른 3D 프로그램인 Maya의 경우도 오키노(Okino)의 PolyTrans/Nugraf 프로그램과 같은 DAG hierarchy 시스템을 사용하고 있다. 단지 첨부 도면 도 3에 도시된 바와 같이 널 노드(Null Node) 대신 트랜스폼 노드(Transform Node)라는 트랜스포메이션(Transformation) 정보를 가지고 있는 노드(Node)를 Skeleton의 계층즉 구조(hierarchy)를 유지하기 위한 노드(Node)로 사용하고 있다는 점만 다르다.
즉 첨부 도면 도 3에 도시된 바와 같이 트랜스폼 노드(Transform Node)가 각각의 지오메트리(geometry)의 Local Coordinate을 나타내며, 그 하위에 실제 지오메트리(geometry)를 나타내는 쉐이프 노드(shape node)가 존재한다. 쉐이프 노드(Shape node)는 순수하게 지오메트리(geometry)정보만을 가지고 있기 때문에 트랜스폼 노드(Transform Node)없이는 제대로 coordinate상에 표현할 수 없다.
트랜스폼 노드(Transform Node)의 최상위 노드(Node)가 해당 그래픽 오브젝트(object)의 루트 노드(root node)가 되며, 하위의 트랜스폼 노드(transform node)의 이동으로 특정 지오메트리 쉐이프(geometry shape)를 다른 부모 노드(node)의 자 노드(child node)로 이동할 수 있게 된다.
상술한 바와 같이, 3D 그래픽 데이터간의 데이터 변환을 위해서는, 무엇보다도 그래픽 데이터 내에서 표현되고 있는 그래픽 오브젝트(object) 상호간의 연관관계를 나타내는 오브젝트의 계층적 구조(Object hierarchy)를 변환시키는 부분이 가장 중요하다 할 것이다.
첨부 도면 도 4는 3DS MAX에서의 오브젝트(object) 상호간의 그룹(group) 및 링크(Link) 관계를 나타내고 있는 실제 화면이다.
첨부 도면 도 5는 도 4의 화면을 생성하기 위한 프로그램이 그래픽 툴에 의해 제작되는 것을 설명하기 위한 도면이다.
첨부 도면 도 4 및 도 5에 도시된 바와 같이 최상위에, 원환체(torus)와 원뿔(cone)이 하나의 그룹(group)으로 묶어 있으며, 하나의 구체(sphere)가 다시 원뿔(cone)을 링크하고 있다.
그리고 실린더(cylinder)와 박스(box)가 하나의 그룹을 이루고 있으며, 이 그룹이 상위의 구체(sphere)를 링크하고 있으며, 또 다른 구체(sphere)가, 이 두 번째 그룹을 링크하고 있고, 마지막으로 또 다른 원뿔 오브젝트(Cone object)가 이 구체(sphere)를 링크하고 있다.
3D MAX 뷰포트(viewport)상에서, 최상위의 그룹인 원환체(torus)와 원뿔(cone)을 클릭하여 회전시키거나 이동시키면 그 하위의 모든 오브젝트(object)는 같이 이동하거나 회전하게 된다. 물론 이동하거나 회전의 중심축인 피벗 포인트(pivot point)는, 최상위 그룹에 상대적으로 반영되게 된다. 이러한 오브젝트의 계층적 구조(object hierarchy)를 Maya 등과 같은 다른 그래픽 프로그램으로 변환하기 위해서는, 이를 적절히 보존할 수 있는 일종의 intermediate object hierarchy 시스템이 필요하다.
첨부 도면 도 6은 3D MAX의 object hierarchy를 Diagram과 Tree chart로 나타낸 것이다.
첨부 도면 도6에 도시된 바와 같이, 3D 그래픽 프로그램인 Maya에서 오브젝트의 구조적 계층(object hierarchy)에 대한 정의는 트랜스폼 노드(Transform node)를 통한 object skeleton을 구성하고, 기본적인 지오메트리 오브젝트(geometry object)는 이 트랜스폼 노드(Transform node)에 연결되는 DAG system 방식을 취하고 있다. 이것은 오브젝트(object)에 직접 다른 오브젝트(object)가 연결되는 방식인 3D MAX의 방식보다 개념적으로나 기능적으로 일관성 있고, 확고(robust)한 오브젝트의 계층적 구조(object hierarchy) 방식이다. 즉, 첨부 도면 도 6과 같이 구현되는 오브젝트의 계층적 구조 방식은 SEDRIS DRM의 재귀적 정의 방법과 object hierarchy를 지원하는 다양한 클래스(class)들로 쉽게 변환할 수 있는 3D 그래픽 프로그램을 요구하기에 이르렀다.
따라서, 본 발명은 상기와 같은 요구에 발맞추어 안출된 것으로서, 본 발명의 목적은, SDRM의 클래스(Class)들을 이용하여 3D MAX나 Maya에서 늘 사용되는 하나의 character의 복합적인 구성 요소들을 표현할 수 있도록 하는 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법을 제공하는데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 일 실시예는, 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법에 있어서, 각각의 기본적인 메쉬(mesh)단위로 구성된 각각의 지오메트리(geometry)들은 모두 하나의 모델(model)로 기록하는 과정; 및 오브젝트가 구성할 수 있는 개념적 의미를 부여하기 위해 상기 모델을 구성하고 있는 구성요소들의 그룹 및 링크 관계를 정의하는 과정; 으로 이루어진 것을 특징으로 한다.
또한, 상기 모델(Model) 각각은, 재사용성을 가지며, 하나의 모델이 다른 서브 모델(sub model)을 포함할 수 있는 복합 모델(composite model)로 정의된다.
그리고, 상기 모델은, 공간좌표(Local Coordinate)와 전송(Transformation) 정보를 가진 하나의 객체이다.
그리고, 상기 모델은, 지오메트리(geometry) 정보를 포함하고 있으며, 기 정의된 다른 모델(model)을 한정할 수 있으며, 기 정의된 다른 모델(model)과의 연합관계에 대한 정보를 포함하고 있으며, 상기 연합관계에 있는 모델은, 적어도 하나 이상의 포리곤(Polygon)으로 표시되며, 트랜스폼 매트릭스(transformation matrix) 정보를 포함하고 있는 것을 특징으로 한다.
이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예에 대해 설명한다.
첨부 도면 도 8에 도시된 바와 같이, 본 발명은 SEDRIS의 DRM, 즉 SDRM은 현상적으로 존재하는 모든 환경 데이터를 표현하기 위해 만들어진 모델과 모델링 방법에 대한 규칙(rule)을 말한다. 각각의 DRM Class는 추상적이거나 혹은 실제적인 하나의 object를 표현하기 위한 객체로서 정의할 수 있으며, 각각의 객체들은 서로간의 연관관계를 훌륭하게 표현할 수 있는 다양한 연관 방법을 제시하고 있다. 또한 각 객체에는, 객체만이 가지는 고유의 속성(Attribute)들을 표현할 수 있다.
이는 특정 Domain만을 표현하기 위해서 제약될 수밖에 없는 다른 특정 분야의 객체들이나 객체정의 방법과 rule과는 근본적으로 다른 것이다. 표현할 수 있거나 존재하는 모든 현상을 주어진 객체 Class에서 표현 할 수 있도록 하기 위해서, SEDRIS DRM의 모든 객체의 정의는, 근본적이고 원칙적인 속성들을 표현 할 수 있도록 신중히 선택된다.
특히, SEDRIS의 DRM class중에서 3D 그래픽 데이터의 변환을 위해 사용될 수 있는 가장 중요한 DRM class는 <GEOMETRY>이다. 이 class와 하위의 모든 aggregate class들은 그래픽 geometry object를 표현하기 위해서 바로 사용될 수 있는 유용한 DRM class들을 갖는다. 또한 그래픽 object의 hierarchy들을 표현하고 변환하기 위해 필요한 intermediate 구조를 담보할 수 있는, 막강한 class들을 갖는다.
즉, 3D 그래픽 object들을 표현하기 위한 기본 primitive인 mesh data를 표현하기 위해서 사용되어지는 각종 SEDRIS DRM(SDRM)들이 존재한다. 예를 들면 <POLYGON>, <VERTEX>, <LINE>, <ARC> 등이 존재하고, 또한 <PATCH>, <FINITE ELEMENT MESH> 등도 존재하며, 3D Scene 표현에 중요한 <CAMERA>, <LIGHT>등 또한 존재한다. 상기와 같은 class들은 기본적인 3D primitive들을 구성하는 class들과의 연관 관계이다. 단 <PATCH> class의 경우는 그 정의의 다양함이 존재하여 3D geometry object의 patch representation를 구현하기 위한 구체적인 attribute와 방법은 추후에 추가할 예정으로 되어있다.
또한 이것은 URN만을 부여하여, 구체적인 patch data의 구성과 구조 등은 사용자가 정의하여 사용할 수 있게 되어있다. <FINITE ELEMENT MESH> class의 경우, 기본적인 그래픽 이론에 충실하게 구현되어 있으며, 3D MAX나 Maya등의 geometry data를 표현하기에 부족함이 없다. 또한 일반적인 triangle mesh뿐만 아니라 polygonal mesh도 전부 표현할 수 있다.
그러나, <FINITE ELEMENT MESH> class로 mesh data를 변환할 경우 이를 모니터상에서 확인할 수 있는 전용 graphic viewer가 아직 없다는 문제점이 있다. 즉, utilities로 제공되는 3D Model Viewer나, Acusoft사의 Side-By-Side Browser등은 아직 <FINITE ELEMENT MESH> class의 visual viewing을 제공하지 않는다는 문제점이 있다.
그러나, 간단하게 OpenGL등을 이용하여 작성하여 이용하면 될 것이다. 또한 <FINITE ELEMENT MESH>의 table data를 디스플레이 해주는 프로그램도 없다. 'depth' utilities의 경우 일반적인 table은(예 : <PROPERTY GRID>), -vv option을 통하여 제대화면상에 디스플레이해 주지만, <FINITE ELEMENT MESH>의 경우는 error를 표시하며 제대로 표시해 주지 않는다. 이것은 depth가 사용하고 있는 내부 함수의 선택에 문제가 있을 뿐이다. SEDRIS의 API중 일부를 수정하여 새로 첨가하여 사 용하면 된다.
첨부 도면 도 8 및 도 9를 참조해 볼 때, 상위 class에 <Primitive Geometry> class가 있음을 알 수 있다. 결국 SEDRIS DRM에서, 실제의 모든 geometry data는 최종적으로 <Primitive Geometry> class의 mesh data 형태로 표현이 가능하다는 것이다.
가장 중요한 3D 그래픽 데이터의 object hierarchy 표현은 SEDRIS DRM의 막강한 장점을 그대로 드러내는 부분으로서, 간결하면서도 완벽하다는 표현이 어울릴 정도로, 3D 그래픽 object의hierarchy 표현에 이상적이라는 DAG 표현 이상의 것을 제공하고 있다.
그러므로 <Environment Root>의 aggregation으로 존재하는 <Geometry Hierarchy>를 시작으로 그 하위의 모든 class들은 geometry의 모든 연관성 및 해당 Domain의 표현 방식, 그리고 topology 정보까지 포함하는 하나의 거대한 Hierarchy System을 이루고 있다.
3D MAX와 Maya등 3D 그래픽 에디터의 데이터 변환에는 이들 class 중에서, <Union of Geometry>, <Union of Geometry Hierarchy>, <Union of Primitive Geometry> 등이 주요한 classes로서 사용된다.
또한 SEDRIS DRM의 가장 큰 특징 중의 하나인 <Model>의 표현도 주목해야 한다. <Model>은 그 내에서 자체의 Local Coordinate와 Transformation 정보를 가진 하나의 객체로서, 주어진 환경 영역에서 한번이상 존재할 수 있다. 즉 <Model>은 언제나 재사용이 가능하다. 또한 <Model> 내에서도 다른 하위 Model을 component 개념으로서 가지고 있을 수 있으며, 따라서 복합적인 다중 복합 Model이 존재할 수 있다.
즉, 3D MAX나 Maya에서 늘 사용되는 하나의 character의 복합적인 구성 요소들을 표현할 수 있다는 것을 의미한다. 즉, human모델의 경우, 몸통에 붙은 회전이 가능한 팔과, 다시 팔에 연결된 일정한 회전각을 가지는 팔목과 손가락, 그리고 다시 움직임이 지정된 발과 관절의 표현 등이 그대로 SEDRIS DRM으로 표현이 가능하다.
이것은 각 Model에서 가질 수 있는 Local Coordinate 정보를 모두 각각 표현할 수 있기에 가능하며, 하나의 sub Model을 다른 model이 포함 할 수 있는 융통성 있는 구조를 제공할 수 있다.
또한 이러한 모델들의 components의 group 및 Link 관계를 정의하기 위한 aggregation 및 inheritance를 자연스러운 방법으로 해결할 수가 있는데, 그것이 바로 <Union of Geometry Hierarchy> class와 같은, 재귀적(recursive) 정의를 보장하는 class들의 아주 중요한 정의 개념이다. 이러한 재귀적 정의 개념들은 DAG system의 Null Node의 개념보다 더 나아간 효율적 정의 개념이며, 단지 object들의 hierarchy만을 구축하는 개념을 넘어선다. 즉 단순한 object skeleton의 정의를 넘어서서, object가 구성할 수 있는 개념적 의미부여를 가능하게 하는 수준 높은 정의 개념이다.
또한, <Model> class에서도 공히 사용할 수 있는 이 개념적 정의 기능에는, <Level of Detail Related Geometry>, <Animation Related Geometry> 등도 포함하 고 있어서, Geometry와 Texture등의 level에 따른 표현 및 Animation관련 motion effect등도 또한 표현이 가능하다.
전술한 바와 같이 3DS MAX가 채택하고 있는 object hierarchy system은 문제점이 있다. 이것은 Maya나 기타 다른 3D 그래픽 에디팅 프로그램이 채택하고 있는 좀더 효율적이고 개념적 일치성을 보장하는 DAG system보다 뒤떨어진 방식이다.
그러나, SEDRIS DRM(SDRM)은 전술한 바와 같이, 3D 그래픽 데이터들의 object hierarchy를 정의하기 위한 근본적인 object skeleton 표현을 충분히 지원하는 class들과 연관관계 rule을 이미 제공하고 있다. 이에 3D MAX의 object hierarchy를 SDRM으로 표현하기 위한 SDRM class들과의 대응관계에 대해 설명하면 다음과 같다.
첨부 도면 도 10에 도시된 바와 같이 group과 link관계로 이루어진 전형적인 3DS MAX의 실시예를 SDRM으로 옮겼을 경우로서, 먼저 3DS MAX의object hierarchy를 살펴보면 2개의 group와 여러 개의 link들로 이루어져 있음을 알 수 있다. 이것을 SDRM으로 표현하면 다음과 같다.
우선 각각의 기본적인 mesh단위로 구성된 각각의 geometry들은 모두 하나의 model로 기록될 수 있다. SEDRIS에서 이 각각의 Model들은 World space 즉 SEDRIS DRM의 <Environment Root> 상에서 하나의 <Geometry Model Instance>로서 존재하게 된다. 이것은 SEDRIS가 가지는 가장 큰 이상적인 개념 중에 하나이며, 이 개념을 통하여 Model의 재사용성(reusability)과 하나의 model이(root model)이 다른 sub model(component model)을 포함 할 수 있는, 복합 모델(composite model)의 정의가 가능하게 된다.
그리고, 첨부 도면 도 11을 참조하여 SEDRIS STF의 한 예제인 Bellevue 예제를 통해서 이의 유용성을 확인할 수 있다.
즉, 첨부 도면 도 11에 도시된 바와 같이, 같은 model로 보이는 작은 건물들이 여러 개가 화면에 보인다. 이 건물들은 실제 모두 같은 geometry로 구성된 동일한 model이다. 이 model들이 실제 환경에서 서로 다른 위치에 실제 존재하게 된다. 이때 이 건물의 본래의 geometry model은 SEDRIS STF의 <Model Library>하의 Model : bldg_house_a 라는 형태로 존재한다.
첨부 도면 도 12는 Acusoft의 Side-By-Side(SBS)로 본 건물 Model의 예를 도시한 도면으로서, level of detail 이 적용되어있는데, detail type은 distance(거리) 정보를 통하여 특정 거리 이내에서는 상세한 model이 표현되고 먼 거리에서는 덜 상세한 조악한 model이 표현되도록 하고 있다.
첨부 도면 도 13에 도시된 바와 같이 실제 Model의 표현 방식을 tree구조로 살펴보면, 하나의 model은 <Geometry Model>로 표현이 되며, 이것은 SDRM의 <level of Detail Related Geometry>로 다시 그 개념적 정의가 이루어지며, level의 type은 distance로 표현되고 있다.
그리고 그 실제 geometry 정보는 기 정의된 다른 model을 가리키는 <Geometry Model Instance>로서 표현하고 있는 것을 알 수 있다. 즉 해당 level에서 표현할 model은 이미 정의된 model에 대한 instance로 대신하고 있는 것을 알 수 있다. 이것은 SDRM의 associate 관계로 나타내고 있다.
결국 associate하고 있는 model은 <Union Of Primitive Geometry>로 표현되며, 이것은 여러 개의 <Polygon>으로 최종 표현된다. 마지막으로 model의transformation matrix 정보를 포함함으로써, 완전한 하나의 model을 정의하고 있다.
tree chart에서 보듯이, model이 실제 world space에서 표현되기 위해서, world space coordinate을 가지고 있어야 하는데, 이것은 <World Transformation>으로 표현된다. 또한 좌표 또한 실제 좌표계인 AUTM좌표계를 선택하고 있다.
그러나 3DS MAX나 Maya 같은 가상의 world space를 포함하는 데이터에서는<World Transformation> 대신에 <LSRTransformation>을 사용하여, Model의 내부 LSR coordinate와는 별개의 전체 world coordinate을 LSR로 표시하는 것이 더 타당하다고 할 수 있다.
3DS MAX와 Maya에서 구현하고 있는 Model의 copy, instance, reference 중에서, reference를 제외한 copy와 instance를 이번 프로젝트에서 구현하고자 할 때, copy는 원본의 복사이므로 그대로 구현하면 될 것이며, instance의 경우 mesh 정보를 공유하게 되므로, SEDRIS DRM의 instance 개념과 같다고 보면 되겠다. Instance의 구현은 앞에서 지금까지 설명한 Model Instance 개념을 이용하면 모두 구현이 가능하다.
3DS MAX와 Maya 등에서 object hierarchy의 중요 요소 중에 하나인 group과 link 의 경우는 다음과 같은 개념으로 SEDRIS DRM으로 정의될 수 있다.
먼저 Group의 경우, 3DS MAX의 경우 Dummy Object라 불리는 root object를 group된 여러 개의 object들이 link를 하고 있는 방식으로 구현하고 있다. Maya의 경우는, 같은 transform node를 공유하는 방식으로 같은 개념이다. 따라서 SEDRIS DRM에서는 다음과 같은 구조로 이것을 간단하게 해결한다.
<Union of Geometry Hierarchy> : Scene
<Union of Geometry Hierarchy> : 3DS MAX의 Dummy Object
<LSR Transformation>
<Geometry Model Instance> : Model Torus-01
<LSR Transformation>
<Union of Geometry Hierarchy>가 한 level 존재해야 것은, Group되지 않은 개별 Model과의 분별을 위함이며, 즉 <Union of Geometry Hierarchy> 가 하나의 level만 나오는 경우(Group이 아닌, 단지 여러 개의 Model Instance가 존재하는 경우)와의 구별을 위함이다. 두번째 <Union of Geometry Hierarchy> 아래의 <LSR Transformation>이 바로 Null Node의 LSR Transformation을 나타내며, 이것은 Group의 geometry pivot point를 나타낸다.
Link의 경우는, 3DS MAX가 object에서 object로 직접 연결하는 방식을 취하고 있는데, 앞서 설명 드린 바와 같이 이것의 단점을 보완하고 다른 format(Maya등)으로 변환의 일반성을 구현하기 위해서 SDRM의 '<Union Of Geometry Hierarchy>'를 DAG system의 'Null Node' 개념으로 정의하여 사용하면 된다.
<Union of Geometry Hierarchy> : Scene
<Geometry Model Instance> : Model cylinder-01
<LSR Transformation>
<Geometry Model Instance> : Model Sphere-01
<LSR Transformation>
<Geometry Model Instance> : Model box-01
<LSR Transformation>
이에 따라서 앞서 예로 든 3DS MAX의 예제를 SEDRIS의 DRM으로 표현하면 다음과 같이 될 것이다.
<Union of Geometry Hierarchy> : Scene
<Union of Geometry Hierarchy> : Group-02
<LSR Transformation>
<Geometry Model Instance> : Model torus-01
<LSR Transformation>
<Geometry Model Instance> : Model cone-01
<LSR Transformation>
<Geometry Model Instance> : Model sphere-02
<LSR Transformation>
<Union of Geometry Hierarchy> : Group-01
<LSR Transformation>
<Geometry Model Instance> : Model box-01
<LSR Transformation>
<Geometry Model Instance> : Model cylinder-01
<LSR Transformation>
(1)-----<Union of Geometry Hierarchy> : shpere-01 links Group-01
<Geometry Model Instance> : Model shpere-01
<LSR Transformation>
<Geometry Model Instance> : Model cone-02
<LSR Transformation>
주의 할 점은, (1) 이라고 표시된 부분에서 정의된 <Union of Geometry Hierarchy> : shpere-01 links Group-01 부분의 역할이다. <Union of Geometry Hierarchy>는 여기서 Group을 표시하기 위한 부분이 아니라 상위 그룹에 대한 개별 object(여기서는 sphere-01)의 링크 정보를 나타내기 위함이다. 즉 <Union of Geometry Hierarchy> 아래의 또 하나의 <Union of Geometry Hierarchy>는 그 하위의 Grouping을 의미할 수도 있지만, 여기서처럼 상위 Group에 대한 Link를 의미할 수도 있다. 이것의 구분은 <Union of Geometry Hierarchy> 에 <LSR Transformation>의 정보가 있느냐 없느냐로 구분된다. <LSR Transformation>이 존재한다면 그것은 Group의 Pivot Point를 나타내주는 것이므로 Group을 정의하는 것으로 볼 수 있고, 만일 존재하지 않는다면, 단순한 상위 Group이나 object에 대한 Link를 의미한다고 정의할 수 있다. 이것은 STF를 해석하는데 있어서도 자연스러운 것이며, 원래의 DRM의 hierarchy를 해석하는데 있어서도 자연스럽다.
그러므로, 상기와 같이 SDRM의 class들을 이용하여 3DS MAX나 Maya에서, object간의 Group과 Link 개념을 충실히 구현할 수 있게 된다.
이에 따라서, 본 발명은 SDRM의 클래스(Class)들을 이용하여 3D MAX나 Maya에서 늘 사용되는 하나의 character의 복합적인 구성 요소들을 표현할 수 있도록 하는 한편, 오브젝트 상호간의 그룹(Group)이나 링크(Link) 개념을 충실히 구현할 수 있도록 하는 효과가 있다.
본 발명은 상기 실시예에만 한정되지 않으며, 본 발명의 기술적 사상 내에서 당 분야의 통상의 지식을 가진 자에 의해 많은 변형이 가능함은 명백하다.

Claims (4)

  1. 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법에 있어서,
    각각의 기본적인 메쉬(mesh)단위로 구성된 각각의 지오메트리(geometry)들은 모두 하나의 모델(model)로 기록하는 과정; 및
    오브젝트가 구성할 수 있는 개념적 의미를 부여하기 위해 상기 모델을 구성하고 있는 구성요소들의 그룹 및 링크 관계를 정의하는 과정;
    으로 이루어진 것을 특징으로 하는 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법.
  2. 제 1 항에 있어서, 상기 모델(Model) 각각은,
    재사용성을 가지며, 하나의 모델이 다른 서브 모델(sub model)을 포함할 수 있는 복합 모델(composite model)로 정의되는 것을 특징으로 하는 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법.
  3. 제 1 항에 있어서, 상기 모델은,
    공간좌표(Local Coordinate)와 전송(Transformation) 정보를 가진 하나의 객체인 것을 특징으로 하는 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법.
  4. 제 1 항에 있어서, 상기 모델은,
    지오메트리(geometry) 정보를 포함하고 있으며, 기 정의된 다른 모델(model)을 한정할 수 있으며, 기 정의된 다른 모델(model)과의 연합관계에 대한 정보를 포함하고 있으며,
    상기 연합관계에 있는 모델은, 적어도 하나 이상의 포리곤(Polygon)으로 표시되며, 트랜스폼 매트릭스(transformation matrix) 정보를 포함하고 있는 것을 특징으로 하는 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법.
KR1020030076800A 2003-10-31 2003-10-31 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법 KR101005322B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030076800A KR101005322B1 (ko) 2003-10-31 2003-10-31 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030076800A KR101005322B1 (ko) 2003-10-31 2003-10-31 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법

Publications (2)

Publication Number Publication Date
KR20050041583A KR20050041583A (ko) 2005-05-04
KR101005322B1 true KR101005322B1 (ko) 2011-01-11

Family

ID=37243043

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030076800A KR101005322B1 (ko) 2003-10-31 2003-10-31 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법

Country Status (1)

Country Link
KR (1) KR101005322B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729871A (zh) * 2012-10-16 2014-04-16 林世仁 云动漫制作方法
CN103729870A (zh) * 2012-10-16 2014-04-16 林世仁 云动漫制作系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8175734B2 (en) 2009-10-08 2012-05-08 3D M. T. P. Ltd. Methods and system for enabling printing three-dimensional object models

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916809A (ja) * 1995-06-30 1997-01-17 Meidensha Corp 3次元グラフィックスシステム
JP2002024852A (ja) * 2000-07-05 2002-01-25 Ricoh Co Ltd 3次元形状処理装置、3次元形状表示方法およびその方法を実施するためのプログラムを記憶した記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916809A (ja) * 1995-06-30 1997-01-17 Meidensha Corp 3次元グラフィックスシステム
JP2002024852A (ja) * 2000-07-05 2002-01-25 Ricoh Co Ltd 3次元形状処理装置、3次元形状表示方法およびその方法を実施するためのプログラムを記憶した記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729871A (zh) * 2012-10-16 2014-04-16 林世仁 云动漫制作方法
CN103729870A (zh) * 2012-10-16 2014-04-16 林世仁 云动漫制作系统

Also Published As

Publication number Publication date
KR20050041583A (ko) 2005-05-04

Similar Documents

Publication Publication Date Title
CA2774114C (en) Connectivity depended geometry optimization for real-time rendering
Steinbrückner et al. Representing development history in software cities
CN108710739A (zh) 一种建筑信息模型轻量化和三维场景可视化的方法及系统
CN113593051B (zh) 一种实景可视化方法及大坝可视化方法及计算机设备
Li et al. [Retracted] Multivisual Animation Character 3D Model Design Method Based on VR Technology
Gao et al. An approach to solid modeling in a semi-immersive virtual environment
CN102385744A (zh) 3d建模对象的水印添加
JPH10255081A (ja) 画像処理方法及び画像処理装置
US8244508B1 (en) Method for modifying a piece of 3D geometry
Döllner et al. Object‐oriented 3D Modelling, Animation and Interaction
KR101005322B1 (ko) 3차원 그래픽 모델과 애니메이션의 포맷을 구성하는 방법
Alfert et al. Experiences in 3-dimensional visualization of Java class relations
Morvan et al. IVECS: An interactive virtual environment for the correction of. STL files
Dwyer et al. WilmaScope—a 3D graph visualization system
Häfner PolyVR-a virtual reality authoring framework for engineering applications
Zheng et al. FEView: An interactive visualization tool for finite elements
DK177170B1 (da) Metode og system til produktudvikling
Bull Integrating dynamic views using model driven development
Whyte et al. Visualization and information: a building design perspective
Yan et al. 3D visual design for mobile search result on 3G mobile phone
Penev Computer Graphics And Geometric Modelling–A Hybrid Approach
Olivero et al. Lumiére: A novel framework for rendering 3d graphics in smalltalk
Popescu et al. Fidelity in visualizing large-scale simulations
Li Development of Virtual Simulation Teaching System of Architectural Decoration Structure Based on WebGL Environment
Jamil et al. Optimizing 3D Assets and Character Modeling of the Mixed Reality Simulator in a Disaster Mitigation Learning Using Vertex Decimation and Depth-of-Field Algorithm

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
FPAY Annual fee payment

Payment date: 20120402

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20131223

Year of fee payment: 4