KR20120001114A - 가상세계 실시간 3d 객체 제어와 이를 위한 인터페이스 및 입출력 방법 - Google Patents

가상세계 실시간 3d 객체 제어와 이를 위한 인터페이스 및 입출력 방법 Download PDF

Info

Publication number
KR20120001114A
KR20120001114A KR1020100061751A KR20100061751A KR20120001114A KR 20120001114 A KR20120001114 A KR 20120001114A KR 1020100061751 A KR1020100061751 A KR 1020100061751A KR 20100061751 A KR20100061751 A KR 20100061751A KR 20120001114 A KR20120001114 A KR 20120001114A
Authority
KR
South Korea
Prior art keywords
virtual world
scene
terrain
grass
texture
Prior art date
Application number
KR1020100061751A
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 KR1020100061751A priority Critical patent/KR20120001114A/ko
Publication of KR20120001114A publication Critical patent/KR20120001114A/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/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Abstract

본 발명은 가상세계 콘텐츠 개발을 위해 제공되는 가상세계 저작도구의 핵심 기능으로 가상세계 서비스를 제공하는 사업자 혹은 가상세계 서비스를 사용하는 소비자가 가상세계 구축을 위해 제작된 배경 2D/3D 아트웍 리소스의 등록 및 관리, Scene을 중심으로 한 사용자 플레이 환경 및 서비스 환경 설정할 수 있도록 하는, 가상세계 3D 뷰어 및 가상세계 저작도구에 관한 것이다.

Description

가상세계 실시간 3D 객체 제어와 이를 위한 인터페이스 및 입출력 방법{METHOD FOR CONTROLLING 3D OBJECT IN VIRTUAL WORLD, INETERFACE AND INPUT/OUTPUT THEREFOR}
본 발명은, 3D 가상세계 저작도구에 관한 것으로, 구체적으로 가상세계 실시간 3D 객체 제어와 이를 위한 인터페이스 및 입출력 방법에 관한 것이다.
현재 실생활의 행위 또는 정보 등이 인터넷을 통해 가상세계에서 아바타 등으로 구현될 수 있는 플랫폼 및 어플리케이션 개발이 진행되고 있다. 격지의 다수 이용자가 온라인 가상세계에서 현실에서는 경험해 볼 기회가 적은 실생활의 기능을 모의 체험하여 협업 또는 협동할 수 있는 서비스 모델이 제시되고 있고, 관련 저작도구의 개발도 진행중이다.
본 발명은 상기와 같은 점을 고려하여 창안된 것으로, 사용자 중심의 개방형 및 진화형 현실모사 가상세계 프레임워크에 있어서, 가상세계 콘텐츠 개발을 위해 제공되는 가상세계 저작도구의 핵심 기능으로 가상세계 서비스를 제공하는 사업자 혹은 가상세계 서비스를 사용하는 소비자가 가상세계 구축을 위해 제작된 배경 2D/3D 아트웍 리소스의 등록 및 관리, Scene을 중심으로 한 사용자 플레이 환경 및 서비스 환경 설정할 수 있도록 하는, 가상세계 실시간 3D 객체 제어와 이를 위한 인터페이스 및 입출력 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 3D 뷰어는, 3D 엔진(Engine)에서 디스플레이를 위해 준비된 데이터들이 백 버퍼에 카피되고 준비되면 데이터들을 스크린에 3D 렌더링(Rendering) 디스플레이한다.
또한, 상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 가상세계 저작도구는 가상세계 콘텐츠 개발을 위해 제공되는 가상세계 저작도구의 핵심 기능으로 가상세계 서비스를 제공하는 사업자 혹은 가상세계 서비스를 사용하는 소비자가 가상세계 구축을 위해 제작된 배경 2D/3D 아트웍 리소스의 등록 및 관리, 씬(Scene)을 중심으로 한 사용자 플레이 환경 및 서비스 환경을 설정하는 장면 에디터(Scene editor)를 포함한다.
상기와 같은 본 발명은, 사용자 중심의 개방형 및 진화형 현실모사를 수행할 수 있게 한다. 특히, 별도의 패키징 없이 클라이언트 환경 플레이가 가능해진다.
도 1은 본 발명의 일 실시예에 따른 가상세계 3D 엔진의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 가상세계 저작도구의 전체 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 가상세계 3D 뷰어 데이터 플로우를 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 가상세계 저작도구 씬 에디터 데이터 플로우를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 가상세계 3D 뷰어의 렌더링 클래스의 클래스 다이어그램을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 씬 에디터의 클래스 다이어그램을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 가상세계 3D 뷰어의 클래스 다이어그램을 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 씬 에디터의 인터페이스상 Main parts의 구성을 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 다른 터레인을 생성하는 화면이다.
도 10은 From existent hmap의 Height map의 예이다.
도 11은 From existent color texture의 Color map의 예이다.
도 12는 터레인을 링크하는 과정의 화면 예이다.
도 13은 터레인의 속성을 나타낸 화면의 예이다.
도 14 및 도 15는 터레인을 수정하는 화면의 예이다.
도 16은 Brush와 Texture 편집창의 예이다.
도 17은 Material 설정창의 예이다.
도 18은 생성된 Terrain materials의 예이다.
도 19는 Terrain의 전체적인 면적을 Block별로 Edit하는 예이다.
도 20은 Environment의 상세 Property의 예이다.
도 21은 Sky의 상세 Property의 예이다.
도 22는 Static sky의 cube map을 제작한 예이다.
도 23은 Cube map 형태로 제작 한 Sky Texture의 예이다.
도 24는 백그라운드의 SKY의 상세 속성을 나타낸 예이다.
도 25는 기본 Background와 제작된 background texture의 예를 나타낸다.
도 26은 Distant cloud의 상세 Property의 예이다.
도 27은 기본 distant cloud와 제작된 distant cloud texture의 예를 나타낸다.
도 28은 Light의 상세 Property의 예이다.
도 29는 Point Light(좌)와 Spot Light(우)의 예를 나타낸 도면이다.
도 30은 Light의 수치에 대한 인터페이스 화면이다.
도 31은 Grass planting을 생성하는 화면의 예이다.
도 32는 Grass texture의 예이다.
도 33은 생성한 Grass의 상세 속성을 나타낸다.
도 34는 생성과 설정이 끝난 grass를 씬에 배치하는 과정을 설명하는 도면이다.
도 35는 edit grass의 상세 속성을 나타낸 도면이다.
도 36은 바람세기를 조절하는 local wind의 속성을 나타낸 도면이다.
도 37은 change grass의 속성을 나타낸 도면이다.
도 38은 erase grass의 속성을 나타낸 도면이다.
도 39는 grass 페인팅의 예를 나타낸 도면이다.
도 40은 Occluder를 세팅하는 예를 나타낸 도면이다.
도 41은 섹터 노드의 속성을 나타낸 도면이다.
도 42는 섹터의 사용 과정을 나타낸 도면이다.
도 43은 포털의 속성을 나타낸 도면이다.
도 44는 포털의 사용 예를 나타낸 도면이다.
도 45는 포털의 사용의 다른 예를 나타낸 도면이다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
본 발명에 따른 3D 뷰어는 3D 엔진(Engine)에서 디스플레이를 위해 준비된 데이터들이 백 버퍼에 카피되고 준비되면 데이터들을 스크린에 3D 렌더링(Rendering) 디스플레이하는 소프트웨어로 저작도구 주요 에디터(Editor)에 포함될 수 있다. 각 에디터의 3D 뷰어가 동일한 옵션과 성능으로 렌더링이 지원 가능하다. 특히 레벨 에디터(Level editor)에서는 별도의 패키징 없이 클라이언트 환경 플레이가 가능한 것이 일반 3D 뷰어와 차이점이다.
또한, 본 발명에 따른 가상세계 저작도구의 장면 에디터(Scene editor)는 가상세계 콘텐츠 개발을 위해 제공되는 가상세계 저작도구의 핵심 기능으로 가상세계 서비스를 제공하는 사업자 혹은 가상세계 서비스를 사용하는 소비자가 가상세계 구축을 위해 제작된 배경 2D/3D 아트웍 리소스의 등록 및 관리, 씬(Scene)을 중심으로 한 사용자 플레이 환경 및 서비스 환경을 설정할 수 있도록 하는 소프트웨어 이다.
본 발명의 실시예를 설명하기에 앞서, 관련된 용어들을 이하와 같이 정의 및 설명한다.
쉐이더( Shader )
컴퓨터 그래픽스 분야에서 쉐이더는 소프트웨어 명령의 집합으로 주로 그래픽 하드웨어의 렌더링 효과를 계산하는 데 쓰인다. 쉐이더는 그래픽 처리 장치(GPU)의 프로그래밍이 가능한 렌더링 파이프라인을 프로그래밍하는 데 쓰인다.
버텍스 쉐이더( Vertex Shader )
그래픽 처리 장치에 의해 수행되는 쉐이더 프로그램 중의 하나이다. 주로 물체의 정점 정보에 수학적인 연산을 함으로써, 물체에 특별한 효과는 주는데 쓰인다. 각각의 정점이 정의되는 방법은 다양하다. 정점이 가지는 정보는 예를 들어 3차원의 위치를 나타내는 x,y,z 좌표나, 색상, 텍스쳐, 조명 정보 등이 있다. 버텍스 쉐이더는 이런 정점의 정보값을 변화시켜서, 물체를 특별한 위치로 옮기거나, 텍스쳐를 바꾸거나, 색상을 바꾸는 등의 일을 할 수 있다. 하지만 기존의 정점의 삭제나 새로운 정점의 추가 등의 작업은 할 수 없다.
지오메트리 쉐이더( Geomerty Shader )
그래픽 처리 장치에 의해 수행되는 쉐이더 프로그램 중의 하나이다. 버텍스 쉐이더에서 할 수 없는 점이나, 선, 삼각형 등의 도형을 생성할 수 있는 기능이 있다. 지오메트리 쉐이더 프로그램은 버텍스 쉐이더가 수행되고 난 뒤에 수행된다. 지오메트리 쉐이더는 버텍스 쉐이더를 거쳐온 도형 정보를 입력받는데, 예를 들어 정점 3개가 지오메트리 쉐이더에 들어오면 쉐이더는 정점을 모두 없앨 수도 있고 더 많은 도형을 만들어 내보낼 수도 있다.
다이렉트 3D( direct 3D)
다이렉트 3D는 마이크로소프트의 DirextX API에서 3차원 그래픽스 연산과 출력을 담당하는 부분이다. 마이크로소프트의 윈도 운영체제에서만 작동하며, 엑스박스와 엑스박스 360 게임 콘솔의 그래픽 API로 사용되고 있다. 다이렉트 3D와 비슷한 역할을 하는 API로는 OpenGL이 있으며 역할은 같지만 각자가 서로 다른 장단점을 가지고 있다.
텍스쳐 맵핑( Texture Mapping )
텍스쳐 맵핑은 컴퓨터 그래픽스 분야에서 가상의 삼차원 물체의 표면에 세부적인 질감의 묘사를 하거나 색을 칠하는 기법이다. 일반적으로는 수식이나 2차원의 그림을 삼차원 물체의 표면에 여러 가지 방법을 통하여 적용하고 이에 따라 컴퓨터 그래픽 화면을 만들어 나갈 때 마치 실제의 물체처럼 느껴지게 그 세부 묘사를 하는 것이다.
텍스쳐 맵( Texture Map )
2차원의 컴퓨터 그래픽 그림으로 도형 또는 면의 단위인 폴리곤의 겉에 적용된다. 이 과정은 마치 아무 색이 없는 상자에 무늬가 그려진 종이를 붙이는 것과 비슷하다.
노멀 맵( Normal Map )
2차원의 컴퓨터 그래픽 그림의 내용을 표면의 질감을 묘사하기 위해 그림의 내용을 직접적으로 적용하는 대신 표면의 올록볼록한 정도를 나타내는데 쓰인다. 이를 사용하면 오렌지 표면과 같은 질감을 쉽게 표현할 수 있다.
폴리곤 메시( Polygon Mesh )
폴리곤 메시는 3차원 컴퓨터 그래픽스에서 다면체의 형태를 구성하는 폴리곤과 정점들의 집합을 의미한다. 메시는 간단한 렌더링이 가능하도록 주로 삼각형과 사변형 또는 볼록한 다각형으로 구성되지만 구멍이 뚫려 있는 등 더 복잡한 도형을 이용하여 구성할 수도 있다.
TIFF
TIFF(Tagged Image File Format)는 앨더스(Aldus)사와 마이크로소프트사가 공동 개발한 이미지 저장 포맷이다. 사용자가 고쳐서 쓸 수 있는 유연함이 특징이다. 1980년대 스캐너 제조사들이 일반적인 파일 형식을 사용하기 위하여 개발되었다, 컴퓨터와 스캐너의 성능이 점차 향상되자 TIFF의 스펙도 그레이 스케일과 컬러이미지를 지원하도록 발전하였다.
텍스쳐( Texture )
3차원 컴퓨터 그래픽으로 물체의 표면 질감을 표현하기 위해 붙이는 화상을 말한다. 텍스쳐를 물체 표면에 붙이는 것을 텍스쳐 맵핑이라고 한다. 같은 입방체의 그래픽스라도, 금속의 텍스쳐를 붙이면 금속 조각처럼 보이고, 나뭇결의 텍스쳐를 붙이면 나무 조각처럼 보인다. 비슷한 것으로 표면에 울퉁불퉁을 표현하는 범프 맵핑이 있다.
씬( Scene )
오브젝트(Object)가 배치하고 Terrain, Sky 등이 설정된 실제 스테이지를 말한다. 씬(Scene)은 실제 지역이 되는 Terrain, 환경요소인 Environment(Sky포함), 빛(밝기) 요소인 Light, 물(강 및 호수 등등) 효과인 Water, 제작된 씬을 최적화하여 새로운 씬으로 만드는 Mono Scene, 공간인 Sector, 공간을 연결하는 Portal, Effect, Deformer Animation, Vertex Animation을 배경 오브젝트로 인식하게 해주는 Background objects등이 포함된다.
프리펩( Prefab )
Prefab이란 가상세계 저작도구에서 가장 기본이 되는 객체 단위로 정의하면 분자와 같다 할 수 있으며, 기존에 제작된 구조물의 클래스, 씬끼리 공유할 수 있는 오브젝트를 생성할 때 사용한다.
피직스 ( Phys X)
Phys X 는 실질적인 몸의 동작 시뮬레이션과 충돌을 처리하는 것이 합쳐져 있다. 실질적인 몸의 동작 시뮬레이션 구성요소들은 오브젝트를 이용하여 현실감 있는 시뮬레이션을 가능하게 하며 이를 사용하여 속력, 가속, 회전, 충돌, 마찰, 충격 등의 물리적인 요소들을 만들 수 있다.
스타틱 액터( Static Actor )
동적 속성을 가지고 있지 않는 액터로, 액터 디스크립터에서 움직이지 않는 오브젝트에 스타틱액터를 사용한다.
키네마틱 액터( Kinematics actor )
Kinematics actor는 Dynamic Actor의 종류 중 하나로써 유저에 의해 바로 움직이지 않는다. 즉, 유저의 힘, 유저의 중력, 유저의 충돌 등에 영향을 받지 않으며, 유저의 실질적인 속력 혹은 운동량을 감소시킨다.
이하 도면을 참조하여 설명한다.
도 1은 본 발명의 일 실시예에 따른 가상세계 3D 엔진의 구성을 나타낸 도면으로, 도 1에 도시된 바와 같이, Material system, math, repository system, terrain, world system, common, ageia physx를 포함한다.
도 2는 본 발명의 일 실시예에 따른 가상세계 저작도구의 전체 구성을 나타낸 도면으로, 도 2에 도시된 바와 같이, 클라이언트 플러그인(client plugin), SUN 서버, Collada 플러그인, 가상세계 저작도구, 3D 엔진, 그리고 각종 에디터 및 액터 스튜디오를 포함한다. 가상세계 저작도구는 개별 에디터(Editor)는 있으나 각 에디터가 별도의 소프트웨어로 존재하지 않고 가상세계 저작도구와 3D 뷰어로 통합되어 있으며 3D 엔진(Engine)과 클라이언트 프레임워크(Client Framework)가 함께 포함되어 있다.
도 3은 본 발명의 일 실시예에 따른 가상세계 3D 뷰어 데이터 플로우를 나타낸 도면으로, 해당 프레임 렌더링링이 완료되었으면, 렌더 씬(Render Scene)이 업데이트 된다. 그 다음 이 씬은 3D Engine의 Main view에 렌더링된다. 그 후 Render view 디스플레이를 위해 준비된 데이터들이 백 버퍼에 카피되며 준비된 데이터들이 스크린에 디스플레이된다.
도 4는 본 발명의 일 실시예에 따른 가상세계 저작도구 씬 에디터 데이터 플로우를 나타낸 도면으로, 기본적으로 유저 액션에 반응한다. 모든 유저의 액션은 적절한 명령 생성을 선도한다. Command는 가상세계 3D 씬 에디터(Scene editor)에서 기본 행동 유닛이며 카피, 붙여넣기, 씬(Scene)의 오브젝트(Object) 이동 등을 말한다. Command 매니저를 통하여 Command를 실행한다. Command가 실행되면 Main scene editor windows들이 명령에 의해 변화된 모습을 보여준다. 모든 Command는 취소를 사용할 수 있지는 않다.(취소 및 다시 가 실행된 cache of command managed 같은 경우)
도 5는 본 발명의 일 실시예에 따른 가상세계 3D 뷰어의 렌더링 클래스의 클래스 다이어그램을 나타낸 도면으로, RenderScene은 Material System으로 Render가 가능한 씬(Scene)을 위한 Base class이다. FlexScene은 편집에 사용되는 스페셜 버전의 씬(Scene)이다. MonoRenderScene은 컴파일된 버전의 Flex scene이며 주로 Client에서 Rendering performance를 높일 때 사용한다. StaticBlock은 씬(Scene)의 그래프 컴파일러에서 생성된 Capsule data이며 Static geometry, Static physic object들 등 포함한다. Node는 모든 Graph node의 Base class이다(meshes, prefabs, environment, physic nodes 등). Prefab은 기존에 제작된 3D Model data class이며 씬(Scene)끼리 공유할 수 있는 Object를 생성할 때 사용 한다.
도 6은 본 발명의 일 실시예에 따른 씬 에디터의 클래스 다이어그램을 나타낸 도면으로, ResourceEditor는 가상세계 저작도구의 모든 Editor의 기본 인터페이스이다. SceneEditor는 Scene editor의 클래스이다. SceneEditorWindow는 Scene editor의 모든 프레임은 CFrameWnd를 상속 받는다. SceneEditorWindow는 CFrameWnd class 포함 한다. ObjectWindow는 Scene graph를 대표하는 클래스를 제어한다. PropertyWindow는 Object window에서 선택된 Object의 Property를 편집하는 Class를 제어한다. RenderWindow는 ResourceEditor는 가상세계 저작도구의 모든 Editor의 기본 인터페이스이다. CommandManager는 취소 및 다시 리스트들의 명령어들을 유지하고 실행하는 명령어를 담당하고 있다. ICommand는 가상세계 3D Engine 클래스에서 실행 되는 명령어들의 기본 인터페이스다. RenderScene은 가상세계 3D Engine에서 Render가 되는 Scene의 Base class다. FlexScene은 가상세계 저작도구에서 편집으로 사용되는 Scene의 Class의 Special version 이다. Node는 기본적인 Scene 그래프 Node class 이다.
씬(Scene)은 Node graph와 Prefab으로 등록된 오브젝트(Object) 구성되어 있으며 Node들은 씬(Scene)의 구성 객체로 각각의 쓰임 목적은 다음 표1과 같다.
Figure pat00001
인터페이스 설계
가상세계 3D Engine의 Render View는 사용자에게 보여줄 수 있도록 준비가 된 씬(Scene)을 말한다. 가상세계 3D 뷰어 인터페이스에 관련한 Class diagram을 살펴보면 다음과 같다.
도 7은 본 발명의 일 실시예에 따른 가상세계 3D 뷰어의 클래스 다이어그램을 나타낸 도면으로, IMaterialSystem은 3D Engine의 기본적인 Render링 시스템의 인터페이스이며 Material, Shaders, 그리고 Render 뷰를 관리한다. IFontManager은 폰트 기능에 관련된 인터페이스이다. IVertexManager는 Geometry 버퍼에 관련된 인터페이스이다
가상세계 저작도구 Scene editor 의 사용자 인터페이스
Scene Editor는 배경 Object를 생성할 때 필요한 소스로 사용되는 Scene을 편집하거나 생성할 때 사용된다. Scene editor는 인터페이스상 세 개의 Main parts로 구성되어 있다. 도 8은 본 발명의 일 실시예에 따른 씬 에디터의 인터페이스상 Main parts의 구성을 나타낸 도면으로, 참조부호 1은 Render window로서 3D 데이터를 비주얼적으로 렌더링하여 보여주는 씬이다. 가상세계에서 씬이 어떻게 보여지는지 보여준다. 참조부호 2는 Object explorer로서 씬 에디팅 제어를 한다. Scene Node 생성, 이동, 제거를 통하여 Scene의 구조를 변화시킬 수 있도록 한다. 참조부호 3은 Property Window로서 Object explorer에 선택된 Scene의 Node의 설정 값들을 상세 편집할 수 있다.
Terrain 생성
Resource explore에서 생성시키고 싶은 폴더에 Create Terrain을 통해 생성 한다. 도 9는 본 발명의 일 실시예에 다른 터레인을 생성하는 화면으로서, 도 9의 (a)와 같이 Resource explore에서 생성시키고 싶은 폴더에 Create Terrain을 통해 터레인을 생성한다. 그러면 도 9의 (b)와 같이 옵션을 설정할 수 있다. 옵션의 설명은 다음 표2와 같다.
Figure pat00002
처음 생성한 Block Size와 Block 개수는 이후 수정이 가능하다. From existent hmap의 Height map은 도 10의 예와 같으며, 제작은 RAW Format으로 추출이 가능하다면 외부 저작도구 중 어느 것이든 사용 가능하다. 그리고 From existent color texture의 Color map은 도 11의 예와 같으며 제작은 TIF등 지원되는 Format으로 추출이 가능하다면 외부 저작도구 중 어느 것이든 사용 가능하다.
Terrain 생성이 끝난 후 해당 Terrain을 배치할 씬을 만든 후 해당 씬을 열고 그룹 노드(Group node)를 만들어 Create Terrain 후 생성된 Terrain을 링크해 준다. 도 12는 터레인을 링크하는 과정의 화면 예이고, 도 12의 노드의 속성을 설정하는 파라미터의 설명은 다음 표3과 같다.
Figure pat00003
한편, 터레인의 속성을 조절할 수 있으며, 터레인의 생성시에 적용된 값을 볼 수 있다. 도 13은 터레인의 속성을 나타낸 화면의 예이다. 그리고 아래 표4는 터레인의 속성을 설명한다.
Figure pat00004
Terrain 편집
생성된 터레인은 edit terrain을 통해 수정을 진행할 수 있다. 도 14는 터레인을 수정하는 화면의 예이다. 도 14의 (a)와 같이 Object explorer에서 생성한 Terrain의 Properties에서 표시된 아이콘 중 가장 좌측에 Edit terrain을 선택하면 도 14의 (b)와 같은 Terrain 편집창이 실행되게 된다. 도 14의 (b)에 도시된 편집창의 용어 및 메뉴의 설명은 다음 표5와 같다.
Figure pat00005
도 14의 (b)에 도시된 편집창에서 brush를 선택하면 도 15와 같이 활성화되고, brush의 상세 기능은 다음 표6과 같다.
Figure pat00006
Terrain Painting
생성 및 수정이 끝난 Terrain은 다음과 같이 Painting을 할 수 있다. 아이콘 중 Paint Texture를 선택하면 도 16과 같이 Brush와 Texture 편집창이 선택된다. Paint Texture는 Diffuse Map과 Normal Map으로 Detail Texture를 이루며 여기에 Color painting이 추가된다. 편집창의 상세 기능은 다음 표7과 같다.
Figure pat00007
원하는 Brush 형태와 제작된 Edit terrain materials에서 선택하여 Terrain에 Painting하면 된다. Terrain materials 생성은 TM Edit terrain materials 아이콘을 선택하면 도 17과 같은 Material 설정창이 선택된다. 설정창의 상세 기능은 다음 표8과 같다.
Figure pat00008
생성된 Terrain materials은 도 18의 예와 같다. 사용 Texture는 외부 저작도구 중 어느 것이든 사용 가능하다. 한 Scene에 사용 가능한 Terrain materials은 수량 제한은 없다.
Edit block Properties Tool
Paint Texture의 Edit block Properties Tool과 똑같은 기능을 하지만 도 19와 같은 창이 불러지면서 Terrain의 전체적인 면적을 Block별로 Edit할 수 있는 기능이다. Block별로 Color Map의 Resolution과 Texture의 Import, Export, Enable을 설정할 수 있다.
Environment 설정
Environment는 Scene의 환경적 요소로 Sun light, Cube Map, Wind, Fog 등을 설정해 줄 수 있으며 Object explorer 에서 Create environment로 생성해 준다. 생성한 Environment의 상세 Property는 도 20의 예와 같고, 각 속성의 설명은 다음 표9와 같다.
Figure pat00009
Sky
Sky는 Environment 하부 구조로 Object explorer에서 Environment를 선택 하 후 Create sky를 통해 생성한다. 생성한 Sky의 상세 Property는 도 21의 예와 같고, 각 속성의 설명은 다음 표10과 같다.
Figure pat00010
그리고 Static sky의 cube map을 제작하면 도 22의 예와 같고, Cube map 형태로 제작 한 Sky Texture는 도 23의 예와 같다.
Background
Background는 실린더 형태의 띠로 Environment의 하부 구조로 산, 구름 등을 연출하는데 사용하며 현재 3개까지 지원된다. 생성한 Sky의 상세 Property는 도 24와 같고, 각 속성의 설명은 다음 표11과 같다.
Figure pat00011
도 25는 기본 Background와 제작된 background texture의 예를 나타낸다.
Distant cloud
Distant cloud는 Environment 하부 구조로 자연스러운 그룸 연출을 위해 사용 된다. 생성한 Distant cloud의 상세 Property는 도 26과 같고, 각 속성의 설명은 다음 표12와 같다.
Figure pat00012
도 27은 기본 distant cloud와 제작된 distant cloud texture의 예를 나타낸다.
Light 설정
가상세계 Scene Editor에서 사용하는 Light는 Point, Spot 두 종류가 있으며 Prefab 또는 Scene에 세팅하여 사용한다. 생성한 Light의 상세 Property는 도 28과 같고, 각 속성의 설명은 다음 표13과 같다. 대부분의 Property 설정은 Key animation이 가능하여서 Light의 움직임을 줄 수 있다.
Figure pat00013
도 29는 Point Light(좌)와 Spot Light(우)의 예를 나타낸 도면이다.
도 30은 Light의 수치에 대한 인터페이스 화면으로서, 모든 Light의 지정 수치는 도 30과 같이 그래프 형태의 인터페이스를 제공하여 좀 더 다이나믹한 움직임을 지정할 수 있다.
Grass planting
가상세계 Scene Editor에는 이번에 독자 개발된 Grass System이 포함되어 있다. Resource explore에서 Create grass를 통해 생성한다. 도 31은 Grass planting을 생성하는 화면의 예이고, 도 32는 Grass texture의 예이다. Grass texture는 Alpha map이 지원되는 외부 저작도구 어느 것이든 관계가 없으며 DDS Format으로 제작한다. 도 33은 생성한 Grass의 상세 속성을 나타낸다. 각 속성의 설명은 다음 표14와 같다.
Figure pat00014
도 34는 생성과 설정이 끝난 grass를 씬에 배치하는 과정을 설명하는 도면이다. 도 34의 (a)에 도시된 바와 같이, Scene에서 Add grass를 한 후, 도 34의 (b)와 같이 Resource explorer에 생성한 grass file(.t3grs)을 선택한다. File을 선택하면 도 34의 (c)와 같이 grass preset 항목이 뜬다.
도 35는 edit grass의 상세 속성을 나타낸 도면으로, plant grass는 풀 심기에 관한 여러 기능이다. 각 속성의 설명은 다음 표15와 같다.
Figure pat00015
도 36은 바람세기를 조절하는 local wind의 속성을 나타낸 도면이고, 각 속성의 설명은 다음 표16과 같다. local wind는 environmnet의 wind와는 무관하게 설정할 수 있다.
Radius 바람의 범위를 지정한다
Wind strength 바람의 세기를 지정한다.
도 37은 change grass의 속성을 나타낸 도면이고, 각 속성의 설명은 다음 표17과 같다. change grass는 풀 표면에 색을 변경하는 기능이다.
Modify size grass의 modify 크기를 지정한다.
Modify color grass의 modify 색깔을 결정한다.
color grass 표면에 덧입히는 색을 결정한다.
ambient grass 색깔의 밝기를 지정한다.
도 38은 erase grass의 속성을 나타낸 도면이고, 각 속성의 설명은 다음 표18과 같다. erase grass는 씬상에서 풀을 제거하는 기능이다.
Figure pat00016
도 39는 grass 페인팅의 예를 나타낸 도면으로, 장소의 특성과 색감을 고려해 적정한 밀도로 planting 작업을 해준다.
Occluder
Occlusion이란 가상세계 유저 플레이시 캐릭터(아바타)가 움직임이는 방향과 거리에 따라 카메라의의 시점기준으로 바라보는 영역의 Rendering을 제어하여 Rendering 부분을 최소화하여 CPU와 GPU의 연산 효율을 증대시켜 프레임을 높이는 작업이다. 예를 들어 실내 내부에서 플레이시 보이는 부분만을 Rendering하고 보이지 않아도 될 부분에 대해서는 Occluder로 가려 Occluder 뒤의 리소스는 Rendering을 하지 않아 Rendering performance를 높이는 방법을 지칭한다. 도 40은 Occluder를 세팅하는 예를 나타낸 도면이다.
Sector & Portal
Sector는 Scene을 효과적으로 분활 사용하여 Frame의 향상을 할 수 있는 기능이며 Scene에 Sector를 설치하면 Sector는 각각의 다른 공간으로 인식이 되며(Auto Culling, Sector밖에서 볼 때에 Sector안은 Rendering이 안됨, Camera가 그 Sector안에 들어가면 Sector안에 속하여 있는 것 이외 Sector밖은 Rendering을 하지 않음) 이 다른 공간들을 연결해주는 것은 Portal이다. 기본적으로 Sector는 Cube, Portal은 Plane으로 구성이 되기 때문에 Room과 corridor등과 같이 Wall와 Door로 이루어진 실내 공간에 유리하다. 도 41은 섹터 노드의 속성을 나타낸 도면이고, 각 속성의 설명은 다음 표19와 같다.
Figure pat00017
도 42는 섹터의 사용 과정을 나타낸 도면이다. 도 42에 도시된 바와 같이, Sector의 Point를 이동하여 Room하나 전체를 감싼다. 다음으로 Object를 Sector위에 Drag & Drop한다. 이렇게 하면 위의 도 42의 (1) Image 같이 Object의 Rendering이 안되게 된다. Sector Room안에 같이 배치하고 싶은 Object가 있다면 그 Sector위에 Object들도 이렇게 Drag & Drop 한다. Camera가 Sector안에 들어가면 (2) Image같이 Object가 Rendering이 된다.
각각의 섹터를 만들어 연결을 시켜야 한다면, 이때 연결고리는 Portal이다. 도 43은 포털의 속성을 나타낸 도면이고, 각 속성의 설명은 다음 표20과 같다.
Figure pat00018
도 44는 포털의 사용 예를 나타낸 도면으로, 도 44와 같이 Sector 두 개를 연결하고 Door을 통하여 봐도 Portal이 설치되어 있지 않으면 서로 Rendering하지 않는다. 도 45는 포털의 사용의 다른 예를 나타낸 도면으로, 도 45와 같이 양쪽 Room의 Door에 각각 Portal을 생성, 배치하고 각각의 Sector에 Portal을 Drag & Drop 하면 Portal로 연결된 Sector는 Rendering 되는 것을 확인할 수 있다. 하지만 한 쪽만 Portal을 설치하면 서로 Rendering 되지 않는다.
이러한 본 발명에 따른 방법을 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장하는 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 아니된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절한 부결합(subcombination)에서 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 아니된다. 어떤 환경에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (1)

  1. 3D 엔진(Engine)에서 디스플레이를 위해 준비된 데이터들이 백 버퍼에 카피되고 준비되면 데이터들을 스크린에 3D 렌더링(Rendering) 디스플레이하는 방법.
KR1020100061751A 2010-06-29 2010-06-29 가상세계 실시간 3d 객체 제어와 이를 위한 인터페이스 및 입출력 방법 KR20120001114A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100061751A KR20120001114A (ko) 2010-06-29 2010-06-29 가상세계 실시간 3d 객체 제어와 이를 위한 인터페이스 및 입출력 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100061751A KR20120001114A (ko) 2010-06-29 2010-06-29 가상세계 실시간 3d 객체 제어와 이를 위한 인터페이스 및 입출력 방법

Publications (1)

Publication Number Publication Date
KR20120001114A true KR20120001114A (ko) 2012-01-04

Family

ID=45608851

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100061751A KR20120001114A (ko) 2010-06-29 2010-06-29 가상세계 실시간 3d 객체 제어와 이를 위한 인터페이스 및 입출력 방법

Country Status (1)

Country Link
KR (1) KR20120001114A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367944B2 (en) 2013-06-04 2016-06-14 Electronics And Telecommunications Research Institute Tree model and forest model generating method and apparatus
CN109343842A (zh) * 2018-10-09 2019-02-15 上海莉莉丝科技股份有限公司 在编辑器中显示物体的方法、系统、设备和介质
US10593096B2 (en) 2016-12-20 2020-03-17 Samsung Electronics Co., Ltd. Graphics processing employing cube map texturing
CN112037308A (zh) * 2020-09-01 2020-12-04 完美世界(北京)软件科技发展有限公司 天气系统编辑方法以及装置、系统、设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367944B2 (en) 2013-06-04 2016-06-14 Electronics And Telecommunications Research Institute Tree model and forest model generating method and apparatus
US10593096B2 (en) 2016-12-20 2020-03-17 Samsung Electronics Co., Ltd. Graphics processing employing cube map texturing
CN109343842A (zh) * 2018-10-09 2019-02-15 上海莉莉丝科技股份有限公司 在编辑器中显示物体的方法、系统、设备和介质
US11294541B2 (en) 2018-10-09 2022-04-05 Shanghai Lilith Technology Corporation Method, system, and device for displaying geometry in editor, and medium
CN112037308A (zh) * 2020-09-01 2020-12-04 完美世界(北京)软件科技发展有限公司 天气系统编辑方法以及装置、系统、设备

Similar Documents

Publication Publication Date Title
US6215495B1 (en) Platform independent application program interface for interactive 3D scene management
US20160267705A1 (en) System, method and device for three-dimensional modeling
US8704823B1 (en) Interactive multi-mesh modeling system
Harper Mastering Autodesk 3ds Max 2013
Peddie Ray tracing: a tool for all
CN105184843B (zh) 一种基于OpenSceneGraph的三维动画制作方法
Baglivo et al. X3D/X3DOM, Blender Game Engine and OSG4WEB: open source visualisation for cultural heritage environments
KR20120001114A (ko) 가상세계 실시간 3d 객체 제어와 이를 위한 인터페이스 및 입출력 방법
Thorn Learn unity for 2d game development
US11625900B2 (en) Broker for instancing
Haller et al. Real-time painterly rendering for mr applications
Trapp et al. Colonia 3D communication of virtual 3D reconstructions in public spaces
Lee et al. Unreal Engine: Game Development from A to Z
Murdock Kelly L. Murdock's Autodesk 3ds Max 2016 Complete Reference Guide
Döllner Geovisualization and real-time 3D computer graphics
Papaioannou et al. Enhancing Virtual Reality Walkthroughs of Archaeological Sites.
CA3166500A1 (en) Applying non-destructive edits to nested instances for efficient rendering
Jung et al. Virtual Worlds
Bose Rendering interactive 3D scene as a web-page using Three. js, WebGL, and Blender
Chen et al. Animating 3D vegetation in real-time using a 2D approach
Lu et al. Design and implementation of three-dimensional game engine
Fun et al. Non-photorealistic outdoor scene rendering: techniques and application
McQuilkin Cinema 4D apprentice: real-world skills for the aspiring motion graphics artist
Bertoline et al. Computer-Aided Design, Computer-Aided Engineering, and Visualization
Li et al. Research on a coal mine virtual system using Unreal Engine

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination