VRML을 이용한 멀티미디어관 소개 DREAM FACTORY
순 서 VRML의 소개, 역사, 특징 VRML의 기본구조 Cosmo World 와 Cosmo Player의 소개 제작 과정 순 서 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의 기술은 Web3D CONSORTIUM을 통해서 통합되고 정리되고 있다 라이센스 요구가 없어 누구나 웹상에서 자유로이 표현할 수 있다.
VRML 파일의 구조 Header Scene graph Prototype(원형) Eventrouting(사건전달) 그 사물들의 특징을 설명하는 노드을 포함 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 좌표 시스템을 이용한다. 분 류 단 위 직선거리 미 터 각 도 라디안 시 간 초 색 RGB색상값
Cosmo World VRML 저작툴로서 가장 다양하고 강력한 기능제공 제 작 : 실리콘 그래픽스사 VRML 저작툴로서 가장 다양하고 강력한 기능제공 Cosmo Worlds의 인터페이스는 일반적인 컴퓨터 그래픽 툴의 인터페이스와 매우 유사. 장점 : VRML 월드를 구현함에 있어서 저작도구를 이용하면 쉽게 사이버 월드를 구현. 단점 : 자칫 너무 세밀하게 나타내기 때문에 용량이 커진다.
Cosmo World Menu bar Outline Editor Tool bar Property Inspector Status bar View port
Cosmo Player 제 작 : 실리콘 그래픽사 가장 많은 사람이 쓰는 Viewer 제 작 : 실리콘 그래픽사 가장 많은 사람이 쓰는 Viewer VRML 2.0 의 모든 노드를 완벽히 지원 독립적으로 작동하지 못하고 익스플로러나 넷스케이프에 플러그인되어 작동 인텔에서 개발된 3D RSX Sound 지원
Cosmo Player
Cosmo Player 공 통 1 Undo/Redo : 방금전에 한 실행을 취소시키거나 취소시킨 것을 다시 실행시킨다. 공 통 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를 이용하여 복도제작
Clone기능을 이용한 Box복제 Box와 Clone을 이용하여 연구실 등 제작 Clone기능은 Copy와 같이 객체를 복제할 수 있다. Clone은 Copy와는 달리 원본과 복제된 객체의 크기, 색깔등이 같이 변경되는것이 특징이다. 복제된 각 Box의 위치를 이동하여 각 연구실, 교수실, 강의실의 위치에 맞게 배치
Clone기능을 이용한 Box복제 Box를 만든후 복제후 이동시키는 장면 Clone으로 복제된 객체를 선택한 장면
Group으로 손잡이 만들기 구와 실린더를 이용 문 손잡이 제작 구와 실린더를 만든 후 실린더위에 구를 올려 손잡이의 모양을 만든다. Ctrl키를 이용 두 객체를 지정한 후 그룹으로 묶어준다. 두개의 객체를 따로 움직일 필요없이 한번에 위치를 이동시킬 수 있다.
Group으로 손잡이 만들기 Ctrl키를 이용하여 두객체 지정하기 그룹화
문 만들기 손잡이를 만들고 그 뒤에 Box를 만들어 크기를 조정한 후 그 Box에 손잡이와 창문을 붙여서 문을 만든다. 건물 구조에 맞게 문은 오른쪽으로 열리는 문과 왼쪽으로 열리는 문 두가지를 만든다. 창문은 나타내는 Box는 문과 완전히 겹치면 보이지 않으므로 약간 튀어나오게 한다.
문 만들기
계단, 난간 만들기 계단은 Box를 Clone로 복제한 후 위치를 바꾸어 제작 중앙 계단은 복도의 난간과 같이 제작해야하기때문에 제작하지 않음 만들어진 계단은 Import기능으로 불러들임 불러온 계단을 원하는 위치에 가져다 놓는다. 난간은 Box를 크기에 맞게 바꾸어서 Clone으로 복제하여 제작
계단, 난간 만들기 건물 측면계단 건물 중앙계단
계단, 난간 만들기
문과 창문 붙여넣기 문 불러들여 붙이기 창문은 Box의 두께를 얇게하여 바깥쪽에 붙여준다. 만들어진 문을 방향을 확인후 Import기능으로 불러들여 각 방에 위치에 맞게 회전시키고 이동하여 붙여준다. 창문은 Box의 두께를 얇게하여 바깥쪽에 붙여준다. 하나의 창문을 만든 후 Clone으로 복제하여 위치만 바꿔서 각 방의 창문을 만든다.
문과 창문 붙여넣기 Import하여 불러온 문 이동하는 장면 Box, Clone을 이용하여 창문 붙여넣기
각 층에 맞게 수정하기 완성된 한층을 복사하여 수정한다. 기준을 삼았던 5층을 복사하여 각 층의 구조에 맞게 수정 기준을 삼았던 5층을 복사하여 각 층의 구조에 맞게 수정 1층 : 바닥채우기, 정문부분 열어놓기 2층 : 현관부분 열어놓기, 강의실 위치조정 3층, 4층 : 강의실 위치조정 6층 : 강의실을 삭제하고 벽으로 막기, 지붕올리기, 지붕에 있는 유리창은 따로 제작하여 Import시킴
각 층에 맞게 수정하기 1층 6층
지붕 유리창 만들기 Box와 Cone을 이용하여 제작 Box를 대각선으로 세운후 Clone으로 복제하여 회전시켜 제작 Matarial Palette에서 Glass로 바꾼후 색을 지정한다.
지붕 유리창 만들기 비스듬하게 세운 Box를 회전시켜 삼각형모양 제작 Cone을 이용 앞부분을 막을 삼각형 모양 제작
지붕 유리창 만들기 객체를 선택한 후 Material Palette Tab에서 Glass를 선택하여 투명한 효과를 준다.
전체 건물 만들기 제작되어있는 각 층들을 차례로 쌓아올려 건물의 전체 모습을 만들어 준다. 새로운 창을 열고 1층부터 차례대로 Import로 불러들여 건물을 만든다. 전체적인 건물의 모습이 완성되면 건물 외형을 마무리하여 건물을 완성한다.
전체 건물 만들기 1층 위에 2층을 올리는 장면
전체 건물 만들기 건물 외형 마무리 장면
Viewpoint 지정하기 Viewpoint 멀티미디어관의 Viewpoint 제작자가 지정할 수 있는 시점 여러곳의 시점을 지정할 수 있다. 사용자는 VRML Viewer에서 제작자가 지정해 놓은 시점을 선택할 수 있다. 멀티미디어관의 Viewpoint 건물을 한눈에 볼 수 있는 point 1층 현관과 2층 현관을 볼 수 있는 point
Viewpoint 지정하기 main 1F 2F Viewpoint의 지정한 장면
Light 효과 주기 Directional Light(직사광) Point Light(점조명) Spot Light 너무멀어서 광선이 서로 수평으로 나타나는 광원에 의해 방출 되는 것처럼 보이는 것 Point Light(점조명) 단일한 수학적 점으로부터 모든 방향으로 균일하게 빛을 방출한다. Spot Light 위치와 방향을 모두 갖는다. 빛이 특정한 점에서 나오지만 모든 방향으로 방사하지는 않는다.
제작시 어려웠던점 자료수집의 어려움 건물의 구조를 정확히 파악하기 어려움 한글 매뉴얼을 구하지 못해 툴 사용법을 익히는데 시간이 오래걸림 컴퓨터의 처리속도가 느려서 작업 중 대기시간이 길어짐
참고 문헌 서 적 인터넷 사이트 VRML 2.0 (혜지원) 이선호 – VRMLnote 서 적 VRML 2.0 (혜지원) 인터넷 사이트 이선호 – VRMLnote http://www.leesunho.pe.kr