陸 瑤
(北京中電慧視科技有限公司,北京 100015)
如今,信息化技術飛速發展,網絡三維可視化技術也日漸成熟,且已經在電子商務、遠程教育、網絡游戲及網絡展覽等多個領域發揮了重要的作用。例如在電子商務領域,網絡三維可視化交互式的展現方式,不僅能夠全方位、多角度地展示產品細節,而且能夠在網頁上嵌入文字說明、音頻解說等多種元素,使用戶可以更為自由、直觀地瀏覽產品信息,給人以個性化的消費體驗[1];在網絡展覽領域,以該技術為基礎搭建的高度互動的3D虛擬展覽環境,將展品整體“搬”到網絡上,使瀏覽者只要點擊和拖動鼠標,就可以通過不同視角瀏覽展品;在教育領域,網絡三維可視化教學課件成本低、效果好、交互性強、可進行動態的演示,便于學生學習更為復雜的流程、結構、關系等,能夠極大加深學生的理解能力,有效地增強教學效果[2]。在疫情還未平息的當今社會,網絡三維可視化逐漸成為主流的展覽方式之一[3]。
網絡三維可視化基于瀏覽器/服務器(Browser/Server,B/S)架構的模式構建,以此實現模型的共享和訪問。模型構建完成后,上傳并存儲于服務器。用戶通過瀏覽器訪問服務器,服務器提供模型數據,通過調用本機硬件資源渲染模型,并將結果呈現在瀏覽器上。隨著計算機技術和網絡技術的發展,硬件設備的處理速度和網絡傳輸速度得到了極大的提升,這就為網絡三維可視化技術的應用和普及奠定了堅實的基礎。
網絡三維可視化是將三維模型呈現在瀏覽器上,而用戶使用任何手段進行網頁瀏覽時看到的內容都是HTML格式。HTML是通用的網頁標記語言,也是萬維網的核心語言。2014年10月29日,萬維網聯盟宣布HTML5的規范制定完成。日常人們所說的HTML5實際上包括了HTML標記、CSS及JavaScript在內的一系列技術[4]。WebGL(Web Graphics Library)是一種3D繪圖協議,是多平臺通用的標準,被多數瀏覽器所支持。這種繪圖技術標準可以把JavaScript和開放式圖形庫(Open Graphics Library,OpenGL)結合在一起。OpenGL是一個用于渲染2D、3D矢量圖形的應用程序編程接口,是處理2D/3D圖形的最為廣泛的應用程序編程接口(Application Programming Interface,API)。它獨立于視窗操作系統以及操作系統平臺,存在于Windows、部分Unix和Mac OS平臺,可繪制模型、賦予材質、映射紋理、加載光照環境,還可以平移、旋轉、鏡像模型及陰影等[5]。
WebGL通過調用OpenGL圖形庫,可以為所有支持的瀏覽器,包括Firefox 4+,Google Chrome 9+,Opera 12+,Safari 5.1+,Internet Explorer 11+ 和Microsoft Edge build 10240+等提供硬件3D加速渲染[6],完美地解決了現有三維可視化的兩個問題:第一,它通過HTML腳本本身實現Web交互式三維動畫的制作,無需任何瀏覽器插件支持;第二,它利用底層的圖形硬件加速功能進行的圖形渲染,是通過統一的、標準的、跨平臺的OpenGL接口實現的。用戶可以在多種硬件設備如桌面電腦、筆記本、智能手機上,流暢地瀏覽3D場景和模型,隨意縮放、拖拽模型細節。這就意味著,這項技術在使用上沒有設備類型的限制,使用場景更加多樣,適用領域更加廣泛。
起初,各種硬件及網絡技術協議還不成體系,程序員們通過編寫代碼來描述模型,實現三維模型的可視化。經過近些年的迭代開發,逐漸形成了多款成熟的三維呈現插件、平臺或工具包。而現有的模型軟件也多數兼容了用于網絡三維可視化的模型格式,并提供了相應插件,不僅可以上傳模型,還具有渲染模型、配置場景操作、嵌入文字音頻等功能。下面簡單介紹幾種常用插件或平臺的使用方法。
Rhinoceros是一款強大的三維建模軟件,可以快速簡捷地構建復雜的NURBS模型,也支持多邊形網格模型,且具備基礎渲染功能,支持obj、DXF、IGES、STL、3dm等多種模型格式,幾乎兼容所有3D軟件。
使用Rhinoceros軟件實現模型可視化分享的具體方法是:完成模型創建后,將模型導出為Iris html Archive(.html)格式,如圖1所示;修改導出選項UI=Yes,這樣可以保留控制功能版面,此控制功能可用于模型交互、改變模型渲染模式等;此時導出的文件包可在本地用瀏覽器打開,當項目有保密需求時,可使用物理傳輸方式,在可信賴的設備上打開觀看,如無保密需求,將此文件包上傳至可信賴的服務器,即可以通過瀏覽器訪問、觀看該模型文件。

圖1 Rhino模型導出格式
Sketchfab是一家3D分享平臺,專注于網絡三維可視化。平臺支持大部分模型格式,與多種設備兼容,適用于所有瀏覽器。瀏覽時無需安裝插件,可隨時隨地展示交互式3D模型。平臺自帶的3D編輯器還可以編輯材質燈光,注釋功能可以添加音頻,用于描述產品功能或提供額外的產品信息,如圖2所示。

圖2 Sketchfab 3D編輯器添加視角和產品信息
該平臺為很多模型軟件如Unity,Lightwave,ZBrush,3ds Max等都提供了上傳插件。當然,也可以不通過插件,直接將平臺支持的模型上傳至平臺進行編輯。以Rhinoceros軟件為例,需要先將NURBS模型轉化為網格,如需使用平臺材質編輯功能,導出前要將網格分層賦予不同材質,根據材質的平滑程度,編輯不同材質的頂點法線;導出時選擇OBJ格式,得到OBJ文件和MTL文件;然后將導出的文件一起上傳Sketchfab平臺,使用編輯器操作材質、為對象添加動畫效果等,最后保存視圖和設置,即可通過URL訪問瀏覽該模型文件,還可以生成代碼嵌入到其他網頁中。
Verge3D是一款專用于網絡三維可視化的工具包,主要支持Blender,Maya,3ds Max三款模型軟件,可以直接創建出基于網頁的三維互動體驗。用戶可以在建模軟件中展開設計,然后導出到網頁實時查看效果。Verge3D工具包還提供了交互編輯器,可以為模型創建行為場景,使其響應用戶的交互操作,如圖3所示。

圖3 Verge3D創建的交互式三維可視化場景
以3ds Max軟件為例,使用Verge3D工具轉化Max模型為交互式三維模型。首先安裝Verge3D插件并打開“App Manager”,創建新的WebGL項目,此瀏覽器管理頁面可以實時檢查工作進程,然后通過編輯器添加交互操作,完成配置后,使用發布功能發布到可信賴的服務器,通過鏈接或代碼分享模型,如圖4所示。

圖4 分享鏈接和代碼
現代技術發展日新月異,電子產品的軟硬件性能得到快速提升,網絡三維可視化技術在各領域發揮著愈發重要的作用。這就要求相關人員及時接納、使用新技術,不局限于傳統的三維呈現方式。本文簡單介紹了網絡三維可視化技術在各領域的應用情況,分析了該技術的實現原理,提供了幾種常用的實現工具,表明該技術適用于多行業領域,有著廣泛的應用前景。