470 likes | 877 Views
VRML 을 이용한 멀티미디어관 소개. DREAM FACTORY. 순 서. VRML 의 소개 , 역사 , 특징 VRML 의 기본구조 Cosmo World 와 Cosmo Player 의 소개 제작 과정 제작시 어려웠던 점 참고 문헌. VRML 이란. VRML (Virtual Reality modeling Language) = 가상현실 구현 언어 인터넷상에서 상호 작용하는 3 차원을 (Web3D) 을 표현하기 위한 텍스트를 기반으로 한 언어
E N D
VRML을 이용한 멀티미디어관 소개 DREAM FACTORY
순 서 • VRML의 소개, 역사, 특징 • VRML의 기본구조 • Cosmo World 와 Cosmo Player의 소개 • 제작 과정 • 제작시 어려웠던 점 • 참고 문헌
VRML이란 • VRML(Virtual Reality modeling Language) = 가상현실 구현 언어 • 인터넷상에서 상호 작용하는 3차원을(Web3D)을 표현하기 위한 텍스트를 기반으로 한 언어 • ISO 와 IEC에서 공인한 표준 Web3D 언어
VRML의 역사 • VRML 1.0 • 1994년 제1회 웹 컨퍼런스에서 처음 언급 • 실리콘 그래픽스의 지원 아래 실리콘 그래픽스의 오픈 인벤터(Open Inventor)파일 포맷에 기초한 VRML 1.0 규약이 제정 • VRML 2.0 • 1996년 8월 4일 실리콘 그래픽스의 Moving World에 기초한 VRML 2.0 규약이 탄생 • 사용자와의 상호작용의 기능들과 키프레임 애니메이션을 가능하게 하여 차세대 인터넷 구축을 위한 기반을 제시
VRML의 역사 • VRML 97 • VRML 2.0 기술을 기술적으로 명문화하고 일부 기능을 수정한 VRML 97규약으로 ISO(국제표준기구)에서 1997년 8월에 새로 승인한 규약 • X3D • Web3D CONSORTIUM은 VRML의 다음 버젼을 X3D라고 명명, 차세대 웹언어인 XML과의 통합을 목적으로 활발히 논의중 • X3D는 "Extensible 3D"의 약자로 인터넷 가상현실 구현 표준 언어인 VRML을 대체할 새로운 표준안의 이름
VRML의 특징 • 상호작용성 & 탐색항해 • VRML 내에서 사용자는 주위 사물과 상호 작용이 가능하다. • 사용자는 VRML 월드 안을 자유롭게 돌아다닐 수 있다. • 공개 소스 • VRML의 기술은 Web3D CONSORTIUM을 통해서 통합되고 정리되고 있다 • 라이센스 요구가 없어 누구나 웹상에서 자유로이 표현할 수 있다.
VRML 파일의 구조 • Header • Vrml의 가장 첫줄에 해당되는 부분 • Scene graph • 그 사물들의 특징을 설명하는 노드을 포함 • Prototype(원형) • 사용자는 원형을 이용하여 vrml 파일에 새로운 노드를 정의하고 추가할 수 있다. • Eventrouting(사건전달) • Vrml노드는 환경의 변화나 사용자의 행동에 반응하여 사건을 발생한다.
VRML 문서의 구성 • 기본구성 • VRML에서 가상세계를 구축하는 것을 장면(Scene) 장면을 구성하는 것은 노드(Node)라 하며 여러 개의 노드가 모여 하나의 객체를 구성 • 장면의 구성 • 사물 • 빛 • 시점 • 이벤트
Box 노드 #VRML V2.0 utf8 Shape { geometry Box { size 10 0.1 0.1 } appearance Appearance { material Material {diffuseColor 0 0 1 }}} Shape { geometry Box { size 2 2 2} appearance Appearance { material Material { diffuseColor 1 1 0}}}
Cone 노드 #VRML V2.0 utf8 Shape { geometry Cone{ bottomRadius 2 height 3 bottom FALSE} appearance Appearance { material Material { diffuseColor 1 0 0}}} Shape { geometry Cone{ bottomRadius 2 height 3 side FALSE} appearance Appearance { material Material { diffuseColor 0 1 0}}}
표준단위와 좌표계 • VRML은 측정은 미터단위를 사용한다. • 오른손 법칙이 적용되는 3차원적 cartesian 좌표 시스템을 이용한다.
Cosmo World • 제 작 : 실리콘 그래픽스사 • VRML 저작툴로서 가장 다양하고 강력한 기능제공 • Cosmo Worlds의 인터페이스는 일반적인 컴퓨터 그래픽 툴의 인터페이스와 매우 유사. • 장점 : VRML 월드를 구현함에 있어서 저작도구를 이용하면 쉽게 사이버 월드를 구현. • 단점 : 자칫 너무 세밀하게 나타내기 때문에 용량이 커진다.
Cosmo World Menu bar Outline Editor Tool bar Property Inspector Status bar View port
Cosmo Player • 제 작 : 실리콘 그래픽사 • 가장 많은 사람이 쓰는 Viewer • VRML 2.0 의 모든 노드를 완벽히 지원 • 독립적으로 작동하지 못하고 익스플로러나 넷스케이프에 플러그인되어 작동 • 인텔에서 개발된 3D RSX Sound 지원
Cosmo Player • 공 통 • 1 Undo/Redo : 방금전에 한 실행을 취소시키거나 취소시킨 것을 다시 실행시킨다. • 2 Straighten : 지평선에 수직으로 서있지 않은 경우 지평선과 수직으로 만들고 시야도 지평선을 수평으로 바라보도록 한다. • 3 Prefererces : CosmoPlayer2.0의 환경설정창을 연다. • 4 Change Controls : 두종류의 계기판 사이를 전환시켜 준다. • 5 Viewpoint : 제작자에 의해 정해진 시점을 보여주고, 이동한다.
Cosmo Player • Work / Fly Mode • 1 Go-이동할 때 사용합니다. Gravity Float의 선택에 따라 걷거나 공중을 날 게 됩니다. • 2 Tilt-관찰자 위치의 변화없이 상하좌우를 관찰할 수 있습니다. • 3 Slide-사물과의 거리는 변화시키지 않고 수평으로 이동합니다. • 4 Gravity-중력을 작동시켜 관찰자를 바닥으로 내려놓습니다. • 5 Float-무중력 상태로 만들어 공중으로 부양시깊니다.
Cosmo Player • Examine Mode • 1 Rotate-중심을 기준으로 회전시킴니다. • 2 Zoom-사물을 확대 시킵니다. • 3 Pan-slide와 비슷하나 대상물이 수평으로 이동합니다.
층별 구조 확인 및 크기계산 • 각층의 구조를 일일이 확인 • 평면도를 그리기 위한 각 부분의 크기 결정 • 연구실과 교수실의 넓이를 각각 워드프로세서 표 2칸과 1칸으로 결정 • 복도의 넓이는 표 1칸으로 결정 • 강의실과 계단등의 크기는 연구실과 강의실에 비례하여 결정 • 워드프로세서를 이용 간단한 평면도 완성 • 평면도 완성후 VRML에 적용할 크기 계산 • 워드프로세서 표 1칸을 VRML에서는 5로 계산 • 건물 한층의 높이는 10으로 계산
Box를 이용하여 복도 제작 • Box의 높이를 최소화하여 건물 복도 제작 • 복도 모양 확인 후 몇 개의 Box가 필요한지 확인 • Box가 들어갈 위치에 맞게 크기 계산 • 각 Box들의 위치를 조정하여 복도 완성
Clone기능을 이용한 Box복제 • Box와 Clone을 이용하여 연구실 등 제작 • 평면도에서 계산했던 수치를 적용 Box를 이용하여 강의실, 연구실, 교수실 제작 • 연구실과 교수실은 Clone을 이용 제작 • Clone의 특징 • Clone기능은 Copy와 같이 객체를 복제할 수 있다. • Clone은 Copy와는 달리 원본과 복제된 객체의 크기, 색깔등이 같이 변경되는것이 특징이다. • 복제된 각 Box의 위치를 이동하여 각 연구실, 교수실, 강의실의 위치에 맞게 배치
Clone기능을 이용한 Box복제 Box를 만든후 복제후 이동시키는 장면 Clone으로 복제된 객체를 선택한 장면
Group으로 손잡이 만들기 • 구와 실린더를 이용 문 손잡이 제작 • 구와 실린더를 만든 후 실린더위에 구를 올려 손잡이의 모양을 만든다. • Ctrl키를 이용 두 객체를 지정한 후 그룹으로 묶어준다. • 두개의 객체를 따로 움직일 필요없이 한번에 위치를 이동시킬 수 있다.
Group으로 손잡이 만들기 Ctrl키를 이용하여 두객체 지정하기 그룹화
문 만들기 • 손잡이를 만들고 그 뒤에 Box를 만들어 크기를 조정한 후 그 Box에 손잡이와 창문을 붙여서 문을 만든다. • 건물 구조에 맞게 문은 오른쪽으로 열리는 문과 왼쪽으로 열리는 문 두가지를 만든다. • 창문은 나타내는 Box는 문과 완전히 겹치면 보이지 않으므로 약간 튀어나오게 한다.
계단, 난간 만들기 • 계단은 Box를 Clone로 복제한 후 위치를 바꾸어 제작 • 중앙 계단은 복도의 난간과 같이 제작해야하기때문에 제작하지 않음 • 만들어진 계단은 Import기능으로 불러들임 • 불러온 계단을 원하는 위치에 가져다 놓는다. • 난간은 Box를 크기에 맞게 바꾸어서 Clone으로 복제하여 제작
계단, 난간 만들기 건물 측면계단 건물 중앙계단
문과 창문 붙여넣기 • 문 불러들여 붙이기 • 만들어진 문을 방향을 확인후 Import기능으로 불러들여 각 방에 위치에 맞게 회전시키고 이동하여 붙여준다. • 창문은 Box의 두께를 얇게하여 바깥쪽에 붙여준다. • 하나의 창문을 만든 후 Clone으로 복제하여 위치만 바꿔서 각 방의 창문을 만든다.
문과 창문 붙여넣기 Import하여 불러온 문 이동하는 장면 Box, Clone을 이용하여 창문 붙여넣기
각 층에 맞게 수정하기 • 완성된 한층을 복사하여 수정한다. • 기준을 삼았던 5층을 복사하여 각 층의 구조에 맞게 수정 • 1층 : 바닥채우기, 정문부분 열어놓기 • 2층 : 현관부분 열어놓기, 강의실 위치조정 • 3층, 4층 : 강의실 위치조정 • 6층 : 강의실을 삭제하고 벽으로 막기, 지붕올리기, 지붕에 있는 유리창은 따로 제작하여 Import시킴
각 층에 맞게 수정하기 1층 6층
지붕 유리창 만들기 • Box와 Cone을 이용하여 제작 • Box를 대각선으로 세운후 Clone으로 복제하여 회전시켜 제작 • Cone을 이용 삼각형 옆부분을 채움 • Cone의 두께가 거의 느껴지지 않도록 얇게하여 삼각형인 것처럼 보이게 만듦 • Clone을 이용하여 복제한 후 위치를 이동하여 유리창의 모양을 만든다. • Matarial Palette에서 Glass로 바꾼후 색을 지정한다.
지붕 유리창 만들기 비스듬하게 세운 Box를 회전시켜 삼각형모양 제작 Cone을 이용 앞부분을 막을 삼각형 모양 제작
지붕 유리창 만들기 객체를 선택한 후 Material Palette Tab에서 Glass를 선택하여 투명한 효과를 준다.
전체 건물 만들기 • 제작되어있는 각 층들을 차례로 쌓아올려 건물의 전체 모습을 만들어 준다. • 새로운 창을 열고 1층부터 차례대로 Import로 불러들여 건물을 만든다. • 전체적인 건물의 모습이 완성되면 건물 외형을 마무리하여 건물을 완성한다.
전체 건물 만들기 1층 위에 2층을 올리는 장면
전체 건물 만들기 건물 외형 마무리 장면
Viewpoint 지정하기 • Viewpoint • 제작자가 지정할 수 있는 시점 • 여러곳의 시점을 지정할 수 있다. • 사용자는 VRML Viewer에서 제작자가 지정해 놓은 시점을 선택할 수 있다. • 멀티미디어관의 Viewpoint • 건물을 한눈에 볼 수 있는 point • 1층 현관과 2층 현관을 볼 수 있는 point
Viewpoint 지정하기 main 1F 2F Viewpoint의 지정한 장면
Light 효과 주기 • Directional Light(직사광) • 너무멀어서 광선이 서로 수평으로 나타나는 광원에 의해 방출 되는 것처럼 보이는 것 • Point Light(점조명) • 단일한 수학적 점으로부터 모든 방향으로 균일하게 빛을 방출한다. • Spot Light • 위치와 방향을 모두 갖는다. • 빛이 특정한 점에서 나오지만 모든 방향으로 방사하지는 않는다.
제작시 어려웠던점 • 자료수집의 어려움 • 건물의 구조를 정확히 파악하기 어려움 • 한글 매뉴얼을 구하지 못해 툴 사용법을 익히는데 시간이 오래걸림 • 컴퓨터의 처리속도가 느려서 작업 중 대기시간이 길어짐
참고 문헌 • 서 적 • VRML 2.0 (혜지원) • 인터넷 사이트 • 이선호 – VRMLnote http://www.leesunho.pe.kr