虛擬實境設計 A Short Introduction by K.-P. Beier Terminology The term 'Virtual Reality' (VR) was initially coined by Jaron Lanier, founder of VPL Research ("Visual Programming Language") (1989). Other related terms include 'Artificial Reality' (Myron Krueger, 1970s), 'Cyberspace' (William Gibson, 1984), and, more recently, 'Virtual Worlds' and 'Virtual Environments' (1990s). Today, 'Virtual Reality' is used in a variety of ways and often in a confusing and misleading manner. Originally, the term referred to 'Immersive Virtual Reality.' In immersive VR, the user becomes fully immersed in an artificial, three-dimensional world that is completely generated by a computer. Head-Mounted Display (HMD) The head-mounted display (HMD) was the first device providing its wearer with an immersive experience. Evans and Sutherland demonstrated a head-mounted stereo display already in 1965. It took more then 20 years before VPL Research introduced a commercially available HMD, the famous "EyePhone" system (1989). A typical HMD houses two miniature display screens and an optical system that channels the images from the screens to the eyes, thereby, presenting a stereo view of a virtual world. A motion tracker continuously measures the position and orientation of the user's head and allows the image generating computer to adjust the scene representation to the current view. As a result, the viewer can look around and walk through the surrounding virtual environment. To overcome the often uncomfortable intrusiveness of a headmounted display, alternative concepts (e.g., BOOM and CAVE) for immersive viewing of virtual environments were developed. BOOM The BOOM (Binocular Omni-Orientation Monitor) from Fakespace is a head-coupled stereoscopic display device. Screens and optical system are housed in a box that is attached to a multi-link arm. The user looks into the box through two holes, sees the virtual world, and can guide the box to any position within the operational volume of the device. Head tracking is accomplished via sensors in the links of the arm that holds the box. CAVE The CAVE (Cave Automatic Virtual Environment) was developed at the University of Illinois at Chicago and provides the illusion of immersion by projecting stereo images on the walls and floor of a room-sized cube. Several persons wearing lightweight stereo glasses can enter and walk freely inside the CAVE. A head tracking system continuously adjust the stereo projection to the current position of the leading viewer. Input Devices and other Sensual Technologies A variety of input devices like data gloves, joysticks, and 3D Mouse allow the user to navigate through a virtual environment and to interact with virtual objects. 3D sound, tactile and force feedback devices, voice recognition and other technologies are being employed to enrich the immersive experience and to create more "sensualized" interfaces. Characteristics of Immersive VR The unique characteristics of immersive virtual reality can be summarized as follows: • Head-referenced viewing provides a natural interface for the navigation in three-dimensional space and allows for lookaround, walk-around, and fly-through capabilities in virtual environments. • Stereoscopic viewing enhances the perception of depth and the sense of space. • The virtual world is presented in full scale and relates properly to the human size. Characteristics of Immersive VR continue • Realistic interactions with virtual objects via data glove and similar devices allow for manipulation, operation, and control of virtual worlds. • The convincing illusion of being fully immersed in an artificial world can be enhanced by auditory, haptic, and other non-visual technologies. Networked applications allow for shared virtual environments Shared Virtual Environments In the example illustrated, three networked users at different locations (anywhere in the world) meet in the same virtual world by using a BOOM device, a CAVE system, and a Head-Mounted Display, respectively. All users see the same virtual environment from their respective points of view. Each user is presented as a virtual human (avatar) to the other participants. The users can see each other, communicated with each other, and interact with the virtual world as a team. Non-immersive VR Today, the term 'Virtual Reality' is also used for applications that are not fully immersive. The boundaries are becoming blurred, but all variations of VR will be important in the future. This includes mouse-controlled navigation through a three-dimensional environment on a graphics monitor, stereo viewing from the monitor via stereo glasses, stereo projection systems, and others. Apple's QuickTime VR, for example, uses photographs for the modeling of three-dimensional worlds and provides pseudo look-around and walk-trough capabilities on a graphics monitor. VRML Most exciting is the ongoing development of VRML (Virtual Reality Modeling Language) on the World Wide Web. In addition to HTML (HyperText Markup Language), that has become a standard authoring tool for the creation of home pages, VRML provides threedimensional worlds with integrated hyperlinks on the Web. Home pages become home spaces. The viewing of VRML models via a VRML plug-in for Web browsers is usually done on a graphics monitor under mouse-control and, therefore, not fully immersive. However, the syntax and data structure of VRML provide an excellent tool for the modeling of three-dimensional worlds that are functional and interactive and that can, ultimately, be transferred into fully immersive viewing systems. The current version VRML 2.0 has become an international ISO/IEC standard under the name VRML97. VRML continue Rendering of Escher's Penrose Staircase (modeled by Diganta Saha): VR-related Technologies Other VR-related technologies combine virtual and real environments. Motion trackers are employed to monitor the movements of dancers or athletes for subsequent studies in immersive VR. The technologies of 'Augmented Reality' allow for the viewing of real environments with superimposed virtual objects. Telepresence systems (e.g., telemedicine, telerobotics) immerse a viewer in a real world that is captured by video cameras at a distant location and allow for the remote manipulation of real objects via robot arms and manipulators. Applications As the technologies of virtual reality evolve, the applications of VR become literally unlimited. It is assumed that VR will reshape the interface between people and information technology by offering new ways for the communication of information, the visualization of processes, and the creative expression of ideas. Note that a virtual environment can represent any three-dimensional world that is either real or abstract. This includes real systems like buildings, landscapes, underwater shipwrecks, spacecrafts, archaeological excavation sites, human anatomy, sculptures, crime scene reconstructions, solar systems, and so on. Of special interest is the visual and sensual representation of abstract systems like magnetic fields, turbulent flow structures, molecular models, mathematical systems, auditorium acoustics, stock market behavior, population densities, information flows, and any other conceivable system including artistic and creative work of abstract nature. These virtual worlds can be animated, interactive, shared, and can expose behavior and functionality. Applications continue Useful applications of VR include training in a variety of areas (military, medical, equipment operation, etc.), education, design evaluation (virtual prototyping), architectural walk-through, human factors and ergonomic studies, simulation of assembly sequences and maintenance tasks, assistance for the handicapped, study and treatment of phobias (e.g., fear of height), entertainment, and • • • 3D Webmaster簡介 (一) 產品特色: 3D Webmaster是Superscape公司經過十年設計虛擬實境產品 的經驗知識而產生的一個用來設計互動3D網站的軟體工具。 無論是商業應用方面、娛樂。這軟體能夠讓你能夠創造一個 富有互動、快速而有效率的即時3D世界。 • • • • 快速、方便的製作 多量的3D物件 快速的下載速度(World容量大都在50─100KB) 快速的瀏覽速度(使用Viscape) (二) 標準: 3D Webmaster順從許多的工業標準,所以它能夠在你的其它軟 體工作順暢。 • 友善的使用者視窗介面。 • 使用SVR或WRML97 儲存3D WORLD。 • 使用最共用的檔案格式─SRV、VCA、SRL、BMP、PCX 、GIF、JPEG、TIFF、Targa、WAV。 • 強大的Java介面完全整合在HTML。發展兩種格式的3D網 頁和Java Applet 或者是Java Script。 (三) 容易編輯: 整合編輯環境讓你完全控制你的3D網頁。 • 模板-3D Webmaster已經準傋好一些樣品讓你的World更容易的 開始製作。 • 物件庫-從物件庫裡選擇物件,聲音或架構,並且將它拖曳到你 的World內。你所製作的物件可以加入物件庫以便可以重覆使用 。 • 加入連結─藉由簡單的對話框就能讓你在物件加上超連結的功 能,讓參觀者能容易瀏覽你的網站。 • 物件-800個虛擬圖片、500個即可使用的架構、600個行為指令 。 • 可以多次的還原物件動作。 • 插入碰撞-讓World的物件放在適當的位置。 • 即時操作物件-使用滑鼠即時移動、提高及旋轉物件。 (四) 更吸引人的: • 進階的即時宣告 • 利用透明、霧及陰影就可以立刻製作出 漂亮的3D環境。 • 平面、圓柱體、球體及即時操作。 • 使用滑鼠就可以立刻將架構加入到你的 物件,然後再做旋轉、移動等動作。 (五) 更多的彩色光源 • 使用即時光源計算和更多更多的彩色光源讓你的 3D網站更融入生活。 • 選擇z-buffering • 即時物件光源計算 (六) 更快而且更有效率 • 在Viscape平台上,3D Webmaster的程式執行非常 的快速,檔案被編繹成二進位檔變得更小而且包 含在World中使用的全部聲音、物件。 • 使用更快的3D網頁瀏覽器瀏覽。 • 檔案變小-大部份的3D網頁都少於200kb包含聲 音及物件。 • 技術轉變- 可使用更高階3D加速卡、處理器。 (七) 更有力的 3D webmaster不只是更容易使用,快速而且有效率,它使用 其他功能而變得更有力。拖曳聲音到物件的聲音設定上,並 指定聲音大小,而且指定在發生何種事件時開始播放聲音, 之後按下ok就完成了。 • 完全的偵測物件是否跟觀點碰撞。 • 透過對話框控制動態物件。 • 詳細的合成物件可使用簡單功能找替自動物件,並且速度 更快。 • 可以定義及編輯道具-讓使用者能夠方便的重覆使用虛擬 圖片。 • Superscape Control Language或稱SCL,是一種像 C的程式語言控制你的WORLD。假如你會一點C 語言,就可以很輕鬆的對SCL上手。SCL可以加 任何物件在 WORLD 而且控制每樣東西的位置, 加上霧在WORLD中,你可以有重覆的東西在飛 行,超連結到HTM文件。當你使用你需要的函數 創造一個物件時,你可以儲存起來重覆的使用這 個物件。 • 這個產品是專門為一些需要將虛擬實境放在網頁 上的開發工具,不管是專業的應用或是個人,都 可以輕鬆的利用其強大的功能開發。價格方面, 也比Superscape VRT 便宜一半,功能上,幾乎所 有 Web 所需的都有了。虛擬世界可鎖碼並壓縮以 .svr的格式儲存,可偶保護智慧財產權並大幅增加 網路Download速度,平均來說,大部分的作器大 小為 50-200 KB之間,還可以輸出成 VRML2.0 的 檔案。簡單來說,這是個操作簡單、功能強大、 而且有效開發工具。可在Windows95、16MB RAM 、無3D繪圖卡環境下使用、並自動測3D繪圖模式( Direct 3D HAL、MMX、RGB、WinG、 DirectDraw ),配合軟硬體組態調整最佳繪圖模式 與執行效率,同時非必要不使用Z-buffer繪圖;也 可再搭配 Direct 3D 加速卡。達到最佳視覺使效果 。 3D Webmaster 包括了三個主要的部分: • 是建構世界的極佳建構環境, • 是瀏覽工具,可以在建構時即時測試以及使用 Viscape plug-in 配合Netscape Navigator 或 Internet Explorer 的 ActiveX控制,當然也可輸出成VRML2.0 的標準。 • 物件庫(Warehouse),包括了各式的物件、材、模型 、及環境,可以拖、拉、放到世界中,物體可以輕 鬆移位、縮放、旋轉與修改屬性、並有多重復原 (Undo)的功能。這些物件包含了300個3D模型、500 種材、200種音效、以及600種行為指令。 3D Webmaster 構成的虛擬實境: 1. 相對點與幾何點 • 點是虛擬世界中最基本的元素,在 Superscape的虛擬實 境中,點可以透過兩種數學方式描述,換言之,我們可 以在 Superscape的環境中建立兩種『不同的』點。 • 其中之一是藉由直接定義三度空間的座標位置而來,例 如 : ( 4 , 5 , 6 ) , 這 樣 的 點 在 Superscape 被 稱 為 相 對 點 (Relative Point)。 • 另外一種點是藉由此比例關係(或分數關係),取得兩個 相對點構成數線之特定位置而來,這種點的定義為:描 述兩個相對點的分數關係,在Superscape 被稱為幾何點 (Geometric Point)。 • 除了相對與幾何的分別外,點還可以分為動態點與靜態 點兩種,一般在未特別設定之前,所有的點皆預設為靜 態的;而動態的點是用來讓虛擬世界的物件具備運動的 能力。 3D Webmaster 的軟體特別之處 continue 2.面─Facets (小平面) 在具備一些點集合後,我們可以利用它們作為平面多邊形 的頂點,描述二維空間中的各種形狀,進而利用這些多邊 形面建立虛擬物件的形體。 3D Webmaster 的軟體特別之處 continue 3. 形體─Shapes Superscape 的設計環境利用二維空間面,描繪立體 物件的外貌,並將這些資料視為形體型別的定義,儲存在 個別的形體檔案之中。 在形體的建立過程中,Superscape提供強而有力的 圖形界面編輯工具,可供使者視覺化地快速建立虛擬物件 的名稱,形體編器利用關連區塊(Bounding Box) 提供三維 的虛擬空間,你可以在其中透過設立點和編面等步驟建立 形體,當初步完成外觀的設計之後,還可以進一步藉由設 立動態點來製作動態的形體。 3D Webmaster 的軟體特別之處 continue 4. 物件─Object 虛擬世界中的虛擬物件不僅需要以立體的方式呈現出 原本的形態外,更重要的是每一個物件都必須具有原本世界 中的特質─這是說它必須根據真實世界中的『本份』,與使 用者達成互動式的溝通:如同虛擬世界中的電腦,當使者按 下電源後就必須有出現螢幕,更進一步時,當使者者在鍵盤 上打字時螢幕也應該出現使用者所打的字。因此虛擬物件比 一般的物件多了一種與使用者達成互動的行為責任。 3D Webmaster 的軟體特別之處 continue 5. 屬性─Attribute 在Superscape的發展環境中,虛擬物件的構成除了形 體之外,單就視覺呈現部份而言,至少還需包含一些特定的 『標準屬性』,這些標準屬性是正確呈現物件形體不可或缺 的必備要素,例如:形體的名稱、大小、位置和比例。 3D Webmaster 的軟體特別之處 continue 6. 動態─Dynamics 其次,若我們要建立動態的物件時,還必須仔細設定 動作的特性,像是:自發性的運動與物件的交互運動,或是 與使用者交互的作用等事件驅動與回應的流程,都必須提供 相關的資料,作為虛擬物件的部份描述。 因此,當我們運用Superscape時,必須清楚地瞭解虛擬 物件完整的描述,並不存在於單純的形體定義之中,或是其 他獨立的檔案;而是在世界描述檔中虛擬物件才具備了的完 整資料。 3D Webmaster 的軟體特別之處 continue 7. 世界─ World 虛擬世界是一個互動式的模擬環境,由一個個的虛擬 物件所組成,而物件除了形體之外的行為,卻依附於特定的 虛擬世界,將個別形體逐一安排佈置於虛擬環境之後,還需 詳加描述物件行為的能力,例如:物件動作和聲音的控制等 ,再加上一些客觀的要素,諸加:光源、背景和控制台等的 調和襯托,栩栩如生的電腦幻境才能真正讓使用者『身歷其 境』。 同時虛擬世界亦包含一個大型的資料庫,資料庫中存 有每一個虛擬物件的基本屬性、動作、聲音、行為等等的資 料,以及虛擬世界的原始設定:如背景、控制台、視窗等等 。 3D電腦繪圖-- 虛擬世界 3D電腦繪圖--虛擬世界 一、前言 相信多數人都看過“朱儸紀公園”中張牙舞爪的恐龍或者是 “玩具總動員”中會說話的玩具和“蟲蟲危機”中可愛的昆 蟲等等,這些栩栩如生,讓人分不出真假的東西就是由三度 空間電腦繪圖(3D Computer Graphics)所創造出來的,而隨著 半導體技術的精進,原本只能在昂貴的高階電腦工作站才能 執行的3D電腦繪圖,已經普及到一般的個人電腦上,現在 幾乎九成以上的電腦都配備有基本的3D繪圖功能,電視遊 樂器更配備有超強的3D繪圖晶片,3D電腦繪圖已是十分普 及。 現在3D電腦繪圖已深入到各個層面,尤其在影音娛樂多 媒體方面,甚至應用在醫學上的斷層掃瞄及科學研究上,虛 擬實境更是未來的夢想,以下為3D電腦繪圖基本概念的簡 3D電腦繪圖--虛擬世界 continue 二、3D電腦繪圖簡介 3D電腦繪圖的宗旨就是為了模擬出真實世界的物體, 如何讓產生出來的圖片更逼真更快速是努力的重點,那為什麼 三度空間的物體可以顯現在二度空間平面的螢幕上呢?這就是 利用許多複雜的演算法或模型來模擬真實物體在三度空間中的 狀況,最後投射在二維平面的螢幕上。 如下圖所示,物體位於黃色區域中的三度空間內,人眼 透過螢幕Screen所看到的就是此三度空間透射到二維平面上的 狀態,而許多因素會影響到最後此影像的真實度,包含投射的 技巧、物體模型的細緻程度、光源模型的精確度等等,底下就 開始為大家簡介簡單的3D繪圖流程(此一流程是最基本的概 念,事實上在3D電腦繪圖的領域中有許許多多不同的方式來 產生最後的圖形)。 3D電腦繪圖--虛擬世界 continue 1. 建立物體模型(Modeling) 如何描述一個三度空間中的物體其外觀形狀,此一動作 就是建模,通常我們會用點、線、面去近似一個物體的外觀 ( 如右圖) 3D電腦繪圖--虛擬世界 continue 建立此物體的模型資料,通常用(X,Y,Z)三度空間的座標 來表示,這些資料就是供後面繪圖運算用的,有了物體外觀 (X,Y,Z)的資料,可以利用很簡單的線性代數運算,就可以將這 個物體放大縮小、移動和變形等等。 目前建立模型的方式大多靠軟體輔助設計如3DS Max、 SoftImage、Maya等來完成,此一方法需手工且耗時,因此也 有雷射掃瞄的儀器直接掃瞄真實物體的外觀。物體模型的精細 度對最後產生出來的圖形的真實度有很大的影響,也牽涉到資 料處理的運算量。 3D電腦繪圖--虛擬世界 continue 2. 座標轉換 (Transform) 前面提到有了物體的三度空間模型資料,就可以用線性 代數的方法將此物體移動、縮放、變形等等,這些動作其實都 是座標轉換,藉由控制物體上每個點的座標變動,可以讓物體 移動、旋轉、產生動畫,如下圖,在一空間中擺進了三個物體 ,並調整它們的位置和角度。 3D電腦繪圖--虛擬世界 continue 3. 光亮度計算 (Lighting) - 1 當一個三度空間中所有物體的座標資訊都處理好後,接 下來的就是要計算每個物體的顏色了,如何計算物體的顏色呢 ?首先必須將此三度空間中的光源做一適當的model,就像光 源可以分成很多種,如太陽光、電燈泡、探照燈等等,model 好光源後,皆下來要做的就是計算此光源如何和這些物體作用 ,而最後反射到眼睛的光就是我們所看到此物體的顏色了,此 部分就是利用光學反射、散射、透射等的原理來模擬 。 3D電腦繪圖--虛擬世界 continue 3. 光亮度計算 (Lighting) - 2 物體的顏色若要逼真就必須使用較複雜的運算,目前的 方法大致可分成幾種:Local illumination、Ray Tracing(光跡追 蹤)和Radiosity(熱幅射法), Local illumination是較適合於硬體 設計,但其品質是此三種中最差的但運算量也是最低的,光跡 追蹤對於金屬物質的效果最逼真,熱幅射對於室內光源的效果 較好,但光跡追蹤和熱幅射都需要耗費很久的時間且不適合做 硬體加速,一般我們看到電影中逼真的動畫都是結合了光跡追 蹤和熱幅射後所得到的最好效果,通常一張畫面都需要一台工 作站運算幾小時,並不適合即時的3D應用。 。 3D電腦繪圖--虛擬世界 continue 3. 光亮度計算 (Lighting) - 3 Local illumination:此方法只針對每個光源對此點的影響納入計算, 不考慮到其他物體的影響,此方法還可分成兩種Gouraud Shading和Phong Shading。Gouraud Shading是首先對每個物體模型的頂點做光亮度的計算, 得到每個頂點(通常為三角形的頂點)的顏色值(如圖左),然後接著在用內插 的方式將每個面內部(通常是三角形)的點的顏色給內插出來,其結果就如 圖右,此方法的缺點是因為用內插的關係,所以無法模擬出金屬物體高亮 度、高反光的地方,但好處是硬體運算量較少。 3D電腦繪圖--虛擬世界 continue 3. 光亮度計算 (Lighting) - 4 Phong Shading是對物體上的每個點都去計算它的光亮度 值,所以可以模擬出高反光的部分,但由於光亮度需要大量的 浮點運算,所以目前的硬體架構幾乎都是採用Gouraud Shading 。 3D電腦繪圖--虛擬世界 continue 4. 貼圖 (Texture Mapping) 在計算完物體的顏色後整個影像已呈現出3D的立體效 果,但這只有純色的結果,在真實世界中物體表面都會有紋路 ,甚至細小高低不平的紋路材質(如樹木、皮革等),我們利用 簡單的貼圖就可以模擬出物體表面的這些效果(下圖),此動作 牽涉到貼圖的精細度和材質使用的多寡,目前此單元是硬體中 最耗費記憶體大小和頻寬的單元,所以才會有貼圖壓縮 (Texture Compression) 的出現。 3D電腦繪圖--虛擬世界 continue 5. 隱藏面消除(Hidden Surface Removal) - 1 當我們眼睛往三度空間中的某個位置、角度看過去時, 有些物體因為在後面會被遮住,所以在最後整張影像成像的時 候必須將這些東西消除,最常用的方法是Z-Buffer,由於這些 看不見的點都會耗費不必要的運算(如座標轉換、光亮度、 貼圖等) ,造成整體效能的降 低,因此有許多方法被開發用 來儘早在前級時消除這些看不 到的物體 。 3D電腦繪圖--虛擬世界 continue 5. 隱藏面消除(Hidden Surface Removal) - 2 也許有人會問說,為什麼一開始要把這些看不到的 東西送入硬體加速呢?那是因為通常我們是無法經由簡單 的計算就可以得知物體的哪些部分是看不到的,況且3D 電腦繪圖的精神就是你可以從任何角度觀看此空間,而產 生出來的圖形的解析度也可以任意,所以當遇到互動式的 3D應用時,就很難預先知道使用者眼睛的位置而將那些 看不見的物體消除的 。 3D電腦繪圖--虛擬世界 continue 5. 隱藏面消除(Hidden Surface Removal) - 3 Z-Buffer是最簡單有效也是最笨的方法,Z-Buffer 就是一塊儲存螢幕上每一點深度(Z)值的記憶體,當有新 的點進來時就去比對此點的深度值是否比之前在Z-Buffer 中的靠近眼睛,如果是的話就表示此點會遮蓋住後面的 點,更新Z-Buffer成此一新的值,若不是的話,就表示新 的點比目前的點還遠,所以看不到,就將它捨去掉。目 前ATI在Radeon中所發表的Hierarchical Z Buffer也是為了 加速消除隱藏面的方法。 3D電腦繪圖--虛擬世界 continue 概念總結: 到此我們簡單的呈現3D電腦繪圖的概念,事實上整個 3D電腦繪圖的過程非常繁雜,還有許許多多為了模擬真實世 界所發展出來的演算法,歸納起來整個3D繪圖系統可分成幾 個部分:應用程式(API)、幾何處理(Geometry Processing)、繪 圖處理(Rasterization Processing) 。上層API的部分,包含 Library(如Direct3D、OpenGL),軟體開發者依循標準Library程 式庫開發出3D的應用軟體出來,透過支援標準程式庫的3D晶 片送到硬體加速,硬體加速目前包含幾何處理和繪圖處理,幾 何處理包含前級座標轉換Transform和光亮度計算Lighting等等 ,統稱T&L,著重大量的浮點運算,後級繪圖處理包含顏色內 插、著色、貼圖、消除隱藏面、透明度、霧狀、陰影模擬等等 ,均依賴像素的運算和記憶體存取等。 3D電腦繪圖--虛擬世界 finish 進階閱讀書目: 1. Alan Watt, “The Computer Image”, Addison Wesley => 2D、3D入門及深入 2. Alan Watt, “3D Computer Graphics”, Addison Wesley => 完整3D理論 3. Tomas Moller and Eric Haines, “ Real-Time Rendering ”, AK Peters (http://www.realtimerendering.com/)。 =>3D軟硬體加速技巧 相關網站: 1. www.nvidia.com/developer.nsf 2. http://www.opengl.org/ 3. www.microsoft.com/directx/ 4. Computer Graphics on the NET: http://ls7-www.cs.uni-dortmund.de/cgotn/