270 likes | 737 Views
가상현실과 VRML. 1.1 가상현실 이란 ? 1.2 VRML (Virtual Reality Modeling Language) 1.3 VRML 의 특징. 1.1 가상현실 이란 ?. 인간의 오감이 바탕이 되어 상상 속에서 현실감을 느끼는 가상공간으로 3D 이 기본 가상공간의 구현 – 컴퓨터를 비롯한 H/W 와 3 차원 물체를 생성 , 편집 , 제어 , 관리하는 다양한 S/W H/W – HMD ,Data Glove ,Space Ball etc, S/W
E N D
가상현실과 VRML 1.1 가상현실 이란? 1.2 VRML (Virtual Reality Modeling Language) 1.3 VRML의 특징
1.1 가상현실 이란? • 인간의 오감이 바탕이 되어 상상 속에서 현실감을 느끼는 가상공간으로 3D이 기본 • 가상공간의 구현 – 컴퓨터를 비롯한 H/W와 3차원 물체를 생성, 편집, 제어, 관리하는 다양한 S/W • H/W –HMD ,Data Glove ,Space Ball etc, • S/W 1.입출력장치, 데이터베이스를 통합, 제어하는 가상현실 개발 소프트웨어 <- 고가의 S/W 2. 3차원 물체를 생성, 편집하는 3차원 모델링 소프트웨어 <- 비교적 저가의 S/W
1.2 VRML(Virtual Reality Modeling Language) • VRML은 Virtual Reality Modeling Language의 약자로 인터넷 환경에서 상호 작용하는 3차원 환경을 개발하기 위해 제안된 스크립트 언어 • VRML 시초 -1994년 5월 스위스 제네바에서 열린 WWW conference에서 Tim Berners-Lee와 Dave Raggett가 제안 - Silicon Graphics 사의 Open Inventor 파일 형식을 기반으로 VRML V1.0 규약제정 - V1.0의 기능에 다양한 기능을 추가하여 1996년 VRML V2.0 제정 - 1997년에 VRML 2.0은 VRML97로 수정하면서 국제 표준으로 인정받았다. - 현재 web3d 표준안으로 X3d(eXtensible 3 Dimension)란 명칭으로 가상현실을 모델링
VRML 1.0 - 실리콘 그래픽스(SGI)의 오픈 인벤터(Open Inventor)의 파일 포맷을 기초로 하여 VRML 1.0 규약이 제정 하였지만 사운드, 애니메이션 등이 결여되었고 가장 중요한 요소인 상호작용이 지원되지 않음 • VRML 2.0 - VRML 2.0에 대표적으로 추가된 기능은 상호작용(interactive), 키프레임 애니메이션, 3차원 사운드, 다양한 배경, 3차원 물체를 제어할 수 있는 여러 스크립트가 제공 • VRML 97 - VRML 2.0을 국제 그래픽 표준으로 인정받기 위하여 V2.0의 스펙(Specification)과 관련한 문서와 기능의 수정을 통해 그래픽 언어의 표준으로 VRML97이 제안 • X3D -X3D는 “Extensible 3D"의 약자로 인터넷 가상현실 구현 표준 언어인 VRML97을 대체할 차세대 표준안의 명칭
1.3 VRML의 특징 • 상호작용과 탐색 기능(Interaction and Navigation) - 3D 객체에 사용자의 이벤트를 발생 시킴 으로서 더욱 현실감 있는 가상공간 체험 • 인터넷상의 3D 그래픽 국제 표준 - 표준 스펙 공개 - ASCII 형태의 파일로 메모장에서 쉽게 구현 • 다양한 스크립트 지원 -HTML 문서와 연결 가능할 뿐만 아니라, JAVA나 JavaScript와 결합 가능하여 다양한 기술을 효과적으로 표현 • 다른 응용프로그램과 호환성
X3D와VRML 2.1 X3D(extensible 3 Dimension) 란? 2.2 X3D의 특징
2.1 X3D(extensible 3 Dimension) 란? • X3D란 Extensible 3D(확장 가능한 3D)를 의미하며 VRML2.0의 기능을 상속, 확장, 보완한 차세대 web3D 표준 규약 • VRML은 HTML을 기본으로 하지만 X3D는 XML상에서 구현되는 W3D • X3D 등장 배경 - 실리콘 그래픽스의 Cosmo Player 개발 포기 - VRML의 명세서가 최초의 Web3D 이지만 포괄적인 명세서로 인한 Viewer의 용량이 커짐 - Web3D 컨소시엄은 기존의 VRML의 장점을 유지하고 단점을 보완한 새로운 표준안으로서 X3D를 공개
X3D 장점 1. X3D는 VRML이 갖는 기술적 요소를 모두 포함한다. 2. XML로서 가상공간을 쉽게 구현 가능하다. XML은 가상공간의 데이터베이스를 효율적으로 관리하므로 정보를 관리하고 제어가 용이하다. 3. X3D는 명세서를 시장성에 맞게 프로파일(profile)로서 분해(component) 가능하다. 4. SAI(Scene Authoring Interface)를 통하여 programming과 scripting 언어를 쉽고 간결하게 사용할 수 있다. 5. X3D의 오픈 소스(open source)는 개발 자원으로 매우 유용하다. 6. 이진 형태의 파일은 보안과 압축이 가능하다.
X3D 특징 1. XML - XML은 웹 서비스를 기본으로 하고 있으며 분산 네트워크로서 내부 응용 프로그램과 전송이 가능하다. 2. Componentize - VRML의 각 명세서를 기능별로 분해하여 실시간 3D 엔진을 사용할 수 있다. 3. 확장성(extensible) - Component를 통하여 응용 서비스에 대한 기능들을 추가로 확장할 수 있는 유연성을 갖고 있다. 4. 프로파일(profile) - 명세서가 갖는 여러 응용의 필요성에 대해 적합한 표준 확장성을 갖는다. 5. 쉬운 Update(evolutionary) - X3D로서 VRML을 포함하여 쉽게 업데이트가 가능하다. 6. 실시간 처리(realtime) - 고화질의 그래픽으로서 상호대화 형식의 3D 오디오, 비디오를 실시간으로 처리할 수 있다.
X3D 의 지원가능 분야 1. 2,3차원의 그래픽 - 2 차원 벡터의 그래픽과 텍스트 문자를 처리가능하며, 3차원의 다각형, 텍스쳐 맵핑 등을 처리할 수 있다. 2. CAD 데이터 - CAD 데이터를 개방된 형태의 파일 형태로 변환하여 제작할 수 잇다. 3. 애니메이션 - 각 종 센서를 통하여 인간 모형이나 모핑(morphing) 등 객체의 애니메이션을 구현할 수 있다. 4. 오디오와 비디오 - MPEG 형태의 오디오와 비디오를 링크하여 표현할 수 있다. 5. 사용자와 상호작용 - 마우스 뿐만 아니라 키보드를 통하여 입력이 가능하다. 6. 물리적 시뮬레이션 - 분산 상호 시뮬레이션(DIS : Distributed Interaction Simulation) 프로토콜로서 휴먼노이드(Humanoid)나 지형의 시뮬레이션이 가능하다.
VRML사용법 3.1 전용 뷰어(Viewer) 설치 3.2 Cortona Player 사용법 3.3 노드와 필드
3.1 전용 뷰어(Viewer) 설치 • VRML 3D –플러그 인 형태의 전용 뷰어 필요 - 실리콘 그래픽스사의 Cosmo Player - 패러렐 그래픽스사의 Cortona Player - Sony 사의 Community Place - 블락선사의 Contact - ㈜ 사이맥스의 깨비 뷰어 • 가장 널리 사용된 Cosmo Player는 실리콘 그래픽사의 개발 포기로 사용 불가능해졌으므로 현재 Cortona Player가 일반적으로 사용됨
Parallel Graphics사의 Cortona Player 설치방법 1. http://www.parallelgraphics.com/products/cortona/download/iexplore/ 접속 후 cortvrml.exe를 다운로드 혹은 CD의 cortvrml.exe 를 참조 2. cortvrml.exe 를 실행 후 다음 화면에서 next 선택 후 라이센스 동의에 Yes 클릭
3. Setup 상태 창 - 소프트웨어가 자동으로 적절히 나타냄. 브라우져는 Explorer를 선택하고 인스톨 형태는 Typical를 선택한 후 다음 화면으로 이동한다.
4. Setup 옵션 창 – Cortona Player에서 사용할 랜더링 툴 선택 일반적으로 DirectX renderer 선택
5. 설치 완료 화면 설치가 완료되면 다음 그림이 실행된다.
3.2 Cortona Player 사용법 • VRML 파일을 생성하기 위해선 메모장이나 VRMLPad를 사용한다. • VRML 편집기를 사용해서 파일 확장자 .wrl로 저장한다. 아이콘 형태 • 예제 3-1을 메모장에서 작성한 후 실행 프로그램은 인터넷 익스플로러 선택
Cortona Player 뷰어 - 3D 물체를 표시하기 위한 작업 표시과 물체를 조종하기 위한 콘트롤 바(Control Bar)로 분류 - 콘트롤 바는 수평과 수직 툴 바로 분류 - 수직 툴 바는 가상공간속에서 사용자의 탐색 형태를 나타내는 버튼 - 수평 툴바는 사용자가 미리 정의해둔 위치로 이동할 수 있는 버튼들을 포함하고 있다.
수직 툴바 - 중력 모드 : 가상공간의 탐험 - 중력해제 모드 : 비행모드로 탐험 - 관찰 모드 : 가상공간내의 물체를 관찰하기 위한 모드 • 수평 툴바 - : 가상세계의 물체에 바로 접근 - : 초기상태로 되돌리기 - : 윈도우 창의 크기에 맞게 표현 - :객체의 수직과 수평축을 직각으로 맞춤
3.3 노드와 필드 • VRML 구조 - #VRML V2.0 utf8 - #은 VRML의 헤더로서 반드시 첫 줄 첫 칸에서 시작 - V2,0 VRML의 버전 - utf8 VRML 문서의 인코딩(Encoding) 방식 - 두 번째 줄 이상의 #은 주석문으로 해석 • 대문자, 소문자로 구성 - 대문자는 노드 - 소문자는 필드
노드 - 반드시 대문자로 시작하며 가상공간내의 객체를 나타냄 - 54개의 노드로 구성 - 기하노드 Box Cone Cylinder Sphere ElevationGrid Extrusion PointSet IndexedLinneSet IndexedFaceSet Text
- 기하속성 노드 Color Coordinate Normal TextureCoordinate - 외형 노드 Appearance FontStyle ImageTexture Material MovieTexture PixelTexture TextureTransform - 그룹 노드 Anchor Billboard Collision Group Transform Inline LOD Switch - 센서 노드 TouchSensor PlaneSensor CylinderSensor SphereSensor ProximitySensor TimeSensor VisibilitySensor
- 인터폴레이터 노드 ColorInterpolator CoordinateInterpolator NormalInterpolator PositionInterpolator ScalarInterpolator - 바인딩 노드 Background Fog NavigationInfo Viewpoint - 라이트 노드 DirectionalLight PointLight SpotLight - 사운드와 일반 노드 AudioClip Script Shape Sound WorldInfo
필드 - 반드시 소문자로 시작하며 가상공간내의 객체의 속성을 나타냄 - 속성 자료형 이름 변수 값 Field SFvec3f size 2 2 2 • 속성의 종류와 의미 Field : 상수와 같은 의미 exposedField : 변수와 같은 의미로 프로그램의 실행 중 항시 값의 변경이 가능하며 이벤트에서 값을 받을 수도 있고 다른 노드에게 이벤트 값을 전송할 수도 있다 EventIn : 이벤트를 발생하기만 하는 속성이다.EventOut : 이벤트를 받기만 하는 속성이다.
자료형 - 필드가 가질 수 있는 변수의 데이터 형태 • 이름 - 노드의 속성을 나타내는 필드 이름 • 변수 값 - 노드의 필드가 실질적으로 갖는 값 4장 이후의 내용은 CD 실습 참조