본문 바로가기
멀티미디어

[멀티미디어] 부록 웹 가상현실 : 웹 가상현실 기술과 X3D

by 의문의 효몽 2023. 11. 24.

 

 

웹에서의 가상현실 기술의 활용

 

웹에서 활용되는 VR기술 :

VRML 기반, QuickTime VR 기반, 기타 3차원 모델 플러그인 등

 

VRML과 VRT :

사용자 입력에 의한 네비게이션, 애니메이션, 사운드, 스크립팅 기능 지원

 

QuickTime VR :

연속적인 사진을 파노라마 형식으로 배열하여 네비게이션 효과 연출
- 이미지 기반 가상현실 분야에서 업계의 표준으로 사용되며 다양한 활용분야가 존재
- 특징
    ▪ 3차원 모델링 데이타를 사용하지 않고 연속적인 이미지로 구성

    ▪ 방안 내부를 사진으로 연속적으로 찍어 이미지들을 파노라마(Panorama) 형식으로 연결시켜 놓고 확대(Zoom-in), 축소(Zoom-out), 회전(Rotation) 기능을 통하여 방안을 둘러 보는 효과를 연출
    ▪ 사용자의 입력에 따라 장면 또는 특정 객체를 360도 회전하면서 둘러볼 수 있음

  QuickTime VR 동영상
상호작용성 가능 불가능
3차원 효과 가능 불가능
전개 방식 사용자가 임의로 선택 스토리에 따른 전개

▲ QuickTime VR과 동영상의 비교

 

1) 파노라마(Panorama) QuickTime VR 

- 한 장소에 서서 주위의 모습을 둘러볼 수 있는 방식
- 파노라마 QuickTime VR 제작시 주의점
- 카메라 렌즈가 회전을 할 때 반드시 배경과 수직이 되어야 함
- 가능하면 장면을 작게 나누어 왜곡을 최소화시켜야 함

 

2) 오브젝트(Object) QuickTime VR 

- 하나의 사물을 여러 각도에서 볼 수 있게 하는 방식으로 특수장비 필요
- 파노라마 방식은 관찰자가 좌우로만 배경을 움직일 수 있는 반면, 오브젝트 방식에서는 상하좌우로 물체를 움직여 볼 수 있음

오브젝트 QuickTime VR을 만드는데 쓰이는 장비

 

 

VRML

VRML 란?

웹환경에서 동적인 3차원 환경 개발을 위해 표준으로 제안된 스크립트 형식의 언어

- Virtual Reality Modeling Language 의 약어

- VRML을 이용하여 웹 문서 안에 3차원 공간을 구축

- 현재 VRML 2.0은 54개의 노드(Node)들을 제공

- 애니메이션 및 사용자와의 상호작용 기능을 이용하여 가상세계를 구축

- 사이버 쇼핑몰, 사이버 오피스, 3차원 채팅 사이트, 가상학교, 그밖에 다양한 시뮬레이션 등 많은 분야에 활용 가능
- 현재 VRML 2.0 까지 발표되어 있으며, X3D로 확장

VRML로 구현한 놀이동산

 

VRML 의 역사

- 1994년 5월
    ▪ 제 1차 WWW Conference에서 VRML 명세 작업 시작
    ▪ Open Inventor를 기반으로 VRML 1.0 규약 만듬

- 1994년 11월
    ▪ 제 2차 WWW Conference에서 VRML 1.0 규약 초안 발표
    ▪ 제3차 WWW회의에서 VRML 시연

- 1996년 8월
    ▪ VRML 2.0 규약 발표
    ▪ VRML 1.0에 비해 구조적으로 발전했으며 동적인 면이 많이 추가

- 1997년 6월
    ▪ VRML 97 발표
    ▪ VRML 97이 국제표준(ISO-IEC DIS 14772-1)로 승인   

- 1999년

    ▪ X3D가 Web3D 컨소시엄에 의해 처음 발표

- 2002년 7월

    ▪ X3D 최종 드래프트 발표

 

VRML 의 특징

- 사용자 입력에 의한 상호작용과 네비게이션이 가능
- 웹을 기반으로 함
    ➢ 인터넷을 통한 다중 참여자를 지원하는 가상환경 시스템 구축 가능
- 웹의 사용을 전제로 설계됨
    ➢ VRML 플러그인만 설치하게 되면 웹 사용이 가능한 어떤 시스템에서도 볼 수 있음
    ➢ 빠른 전송을 위해서 아스키 파일 형태로 되어 있음
- 다른 VRML 문서, HTML 문서와 연결되어 사용

VRML 문서에서 다른 문서로의 연결
HTML 문서에서 VRML 문서 부르기

  VRML Animation Video Graphic QuickTime VR
상호작용성 O X X X X
탐색항해 가능 불가능 불가능 불가능 제한적 가능
장면의 구성 실시간에 만들어냄 미리 녹화된 장면 미리 녹화된 장면 그려진 그림 녹화 or 실시간
가상성 사물을 모델링 인공적으로 그림 실제 장면의 녹화 그림 or 사진 사진
파일의 형식 Text Binary Binary Binary Binary
파일의 크기 작다 크다 크다 작다 크다

▲VRML과 다른 멀티미디어 매체의 비교

 


X3D

X3D 란?

- VRML 정보는 단순히 3D 그래픽 데이터일 뿐, 재사용, 재활용되지 못하는 한계성이 있음
- X3D는 웹상에서 3D 그래픽스 구현을 위한 차세대 개방형 표준안
- 3D 그래픽스 컨텐츠 저작도구, 브라우저, 다른 3D 그래픽스 응용과 상호 그래픽 데이터의 임포트, 엑스포트를 지원하기 위한 확장된 구조 제공
- 스트리밍 또는 렌더링 확장기능
- XML을 통한 다른 응용과의 통합이 쉽게 이뤄질 수 있는 컴포넌트 구조


X3D 의 특징

- VRML과 호환성 유지
    ➢ X3D는 기존의 VRML 컨텐츠 및 브라우저와의 호환성을 제공
- XML 과의 통합
    ➢ XML의 표현 방식을 통하여 X3D의 호환성 및 확장성 보장
- 구성요소화 (Componentization) 
    ➢ 기본적인 기능을 코어(core)로 제공
    ➢ 사용자가 필요할 때마다 코어에 새로운 노드와 그에 상응하는 실행 코드를 추가하여 확장이 가능

 

 

VRML/X3D 월드의 탐험

  • VRML 브라우저는 플러그인 형태로 제공
  • Silicon Graphics(SGI)사의 Cosmo Player, ParallelGraphics의 Cortona VRML Client, Blaxxun Contact등이 있음
    ➢ Cosmo Player의 Help 버튼을 누르면 VRML World에서의 Navigation 연습이 가능한 간단한 Game을 해 볼 수 있음
  • VRML을 렌더링 하는 기술은 각 회사마다 조금씩 틀려, 원하는 출력을 해주는 뷰어의 선택이 중요
  • X3D 역시 VRML과 마찬가지로 이를 지원하는 브라우저가필요
  • X3D 브라우저는 Web3D 컨소시엄의 브라우저 워킹그룹이 주축이 되어 개발 중

 

VRML/X3D 저작도구

 

VRML 저작도구

- 텍스터 에디터
- 저작도구
    ➢ 노드에 대한 복잡한 지식 없이도 쉽게 VRML 월드를 구현할 수 있음
    ➢ WYSIWYG(What You See Is What You Get)기능 제공
- 저작도구의 종류
    ➢ 기존의 그래픽툴
        ▪ 모델링한 데이터를 VRML로 저장
        ▪ VRML의 모든 기능을 사용할 수 없음
    ➢ 네이티브(Native) 저작도구
        ▪ 처음부터 VRML 저작을 목표로 만들어짐
        ▪ V-Realm Builder, Cosmo Worlds 등이 있음
        ▪ 아이콘과 노드를 통한 노드의 삽입과 편집
        ▪ 오브젝트 라이브러리의 제공
        ▪ 애니메이션을 위한 키프레임 기능
        ▪ 스크립트 에디팅
- 장점 : 저작도구를 이용하면 쉽게 사이버 월드를 구현
- 단점 : 자칫 너무 세밀하게 나타내기 때문에 용량이 커짐
- 에디터와 저작도구를 적절히 활용하는 것이 필요

 

X3D 저작도구

- 현재 Web3D 컨소시엄에서 X3D 편집을 위한 X3D Edit라는 소프트웨어를 소스코드와 함께 배포
- 기존 VRML 파일을 불러들여 X3D 형식으로 변환이 가능하며 X3D의 씬그래프(Scene Graph)의 직접 수정이 가능

 

 

 

 

VRML의 노드

 

장면의 구성

- 사물
- 빛
- 시점
- 이벤트

=> 노드를 통해서 이러한 요소를 표현

VRML에는 총 54개의 노드가 8가지 분류로 나뉨

- 3차원 물체 생성
- 물체의 매질 지정
- 센서 노드
- 광원 효과 지정
- 3차원 사운드
- 텍스쳐 매핑
- 인터폴레이션 애니메이션

 

노드의 종류

VRML의 중요한 노드들

1) Shape 노드

- VRML에서 물체를 표현하는데 쓰이는 대표적인 노드
- 직육면체(Box), 원기둥(Cylinder), 구(Sphere) 및 원뿔(Cone)이나, 점과 선의 집합인 IndexedFaceSet 노드로 물체 표현
- 물체에 색을 입히거나 질감을 주는 효과

Shape 노드를 이용하여 만든 의자, 분수대 및 기둥의 모습

 

2) Texture 노드

- 텍스쳐 매핑(Textue Mapping): 물체의 표면에 2차원 이미지를 감싸서 붙이는 작업을 의미
- 가구 위에 나무 무늬를 입히거나 벽에 벽지를 바르는 작업과 유사

 

3) Light 노드

- VRML에서 쓰이는 빛은 크게 Directional Light, Point Light, Spot Light로 나뉨


4) Sensor 노드와 애니메이션 노드

- VRML World를 좀더 현실감 있고 활동적이게 하기 위해 애니메이션 효과 첨가
- 인터폴레이션 노드와 센서 노드가 사용

 


VRML의 활용 예

Sports Stadium Marketing Platform (Case Studies) 
: Soccer Clubs discovers own stadium as marketing platform - Virtual Veltins Arena in X3D


3D Weather Globe
: X3D: Real-time, interactive, and interoperable
This example shows how X3D and respond to interact with user manipulation and interoperate with external sites for additional information. The user rotates the globe to the desired center point. X3D then ineracts with the external site openWeatherMap.org to get the current weather conditions. The information is displayed in a single HTML page.


Large Streaming Oil Rig Model