林智奇 程功勛 劉麗蘭 熊 峰 周穎圓 俞 濤
(1.上海大學機電工程與自動化學院上海市機械自動化及機器人重點實驗室,上海 200072;2.上海半導體照明工程技術研究中心,上海 201203)
作為一種全新的照明技術,LED利用半導體芯片作為發光材料,直接將電能轉換為光能,以其發光效能高、耗電量少、使用壽命長、安全可靠、環保衛生等優越性,被業界認為是人類繼愛迪生發明白熾燈泡后最偉大的發明之一。LED室內照明主要包括商場照明、酒店照明、寫字樓照明以及家居照明等。從市場規模上看,室內照明市場由于應用群體的廣泛將成長為規模最大的市場,預計在2013年,室內照明將達到98.2億元左右的規模。
基于以上分析,LED產業正處于快速發展階段,然而目前網絡上大部分對LED燈具的描述僅局限在燈具的參數上,在效果的展示方面,也僅停留在使用靜態圖片展示上,缺乏一定的真實感和互動性,無法讓普通用戶對LED的光效和普通白熾燈的照明效果有一個直觀的對比。因此,有必要引入虛擬現實技術,利用虛擬現實生動直觀、沉浸、交互的特點,讓普通用戶更好的感受LED帶來的照明效果,讓商家更逼真的展示其產品,同時也為室內燈光布置提供平臺支持。本文利用3DSMAX和VIRTOOLS構建一個三維仿真系統,在LED協同商務平臺網站上展現單體燈具的三維模型以及燈具在室內實際環境中的照明效果。該平臺設計的目的不只是為了展示LED產品本身,更重要的是燈光控制等手段,展現LED燈具在室內場景中的真實照明效果,通過這一環境,有計劃、有目的、合邏輯地將商品展現給消費者,力求使消費者愉快的產生購買意愿。為了要獲得實用性和真實感,建立LED的光效仿真,讓用戶有一個良好的操作體驗,同時為用戶提供所需的信息是本平臺搭建的關鍵問題。本文主要從平臺的總體結構的搭建以及平臺交互功能上進行介紹。
LED室內照明三維虛擬展示平臺是一個基于單場景半導體照明產品場景效果協同仿真系統,應用三維場景建模技術構建多個室內協同應用場景,包括會議室、辦公室、臥室、客廳、書房等常用的室內場景,主要實現基于Web平臺的支持用戶參與、并且用戶可以根據自己的需求更換場景,隨需所現照明產品的實際效果。同時結合專業照度計算軟件Dialux,計算出單場景的照度值及其能耗功率,幫助普通用戶快速了解產品的實際效果。Web平臺使用J2EE架構進行搭建,而光效仿真平臺和三維燈具展示則使用3DSMAX和VIRTOOLS進行開發。
用以搭建平臺的VIRTOOLS是一套集創作應用程序、交互引擎和渲染引擎和發布模塊于一身的3D虛擬現實開發系統,可以將仿真平臺和三維產品展示打包發布在網頁上,系統整體結構如圖1所示。

圖1 仿真系統結構
LED室內照明三維仿真平臺一方面要較真實的表現出室內環境的照明效果,另一方面要給訪問平臺的用戶提供一個良好的操作體驗,因此系統的搭建主要有兩部分的工作,即虛擬仿真場景的搭建和交互模塊的構建。構建室內照明仿真平臺需要完成以下幾個方面的工作:
(1)前期數據采集與處理:為了展現出真實的室內場景并表現出燈光的實際照明效果,首先要獲取室內場景的真實尺寸數據以及燈具的實際參數。
(2)三維模型建立:以真實數據為基礎,對燈具和室內場景進行建模,并布置燈光和模型貼圖等處理。
(3)交互系統構建:利用VIRTOOLS來實現三維場景的漫游和交互等功能。
系統開發工作流程如圖2所示。

圖2 系統開發流程圖
3.1.1 室內模型建立
三維模型的建立是仿真平臺搭建的關鍵技術之一。我們所漫游的場景是否能看起來真實,主要依靠的就是建模技術,建模在整個系統的設計過程中占有很大的比重,關乎到一個作品的成?。?]。建模前的準備工作主要包括現真實場景的數據資料的采集 (即室內場景的尺寸)、畫出CAD圖、三維模型構建以及后期模型的美化。
本文以某大樓會議室作為研究對象,為了盡可能準確、直觀地進行室內設計,整個模型到現場進行實地考察,使用米尺對會議室進行實際尺寸的測量,模型采用1∶1進行建模,同時對燈具的放置也完全按照實際尺寸。整個會議場所長10.5M,寬6.4M,高3M。
按照實際尺寸搭建完室內空間之后,向這些區域導入會議桌椅等模型,這里采用合并的方式導入模型。建立模型之后的工作就是給模型賦予材質和貼圖,盡可能真實的還原出模型的實際效果。在3DSMAX中材質與貼圖的建立和編輯都是通過材質編輯器Material Editor來完成的,并且通過最后的渲染把它們表現出來,使物體表面顯示出不同的質地、色彩和紋理。材質貼圖在三維建模過程中是至關重要的一環,主要通過它來增加模型的細節,體現出模型的質感,材質對如何建立對象模型有著直接的影響。完成的場景建模如圖3所示。

圖3 室內會議室模型
3.1.2 場景導出
當場景建模完成以后,接下來就是把完場的場景導入到VIRTOOLS中了。3DSMAX模型的數據格式是.max格式,而 VIRTOOLS所支持的格式是.nmo,所以在這里就需要用到 3DSMAX導入VIRTOOLS的插件Max Exporter實現數據格式的轉化。接下來打開VIRTOOLS,進行數據文件的導入。啟動VIRTOOLS,在工作界面里選擇左上方菜單命令的Resources(資源)/Import File(導入文件),打開之前保存的.nmo文件,就可以看到在3DSMAX做的場景已經成功導入到VIRTOOLS了。
從3DSMAX導入到VIRTOOLS過程中,可能會發生一定的材質丟失,需要在VIRTOOLS中對模型的貼圖和材質進行一定的修改。
交互系統一直是虛擬現實研究中的重要內容,也是讓用戶能融入到虛擬環境中的基本要求。仿真平臺中的實時交互性主要表現在用戶對場景中的實體對象能進行某些操作,而實體對象能立即以某種形式反饋給用戶,響應用戶的操作。整個交互系統主要有操作界面、漫游功能、燈具更換/推薦系統、場景能耗評估、室內照度計算幾部分組成。整個交互仿真流程如圖4所示。

圖4 仿真系統結構圖
3.2.1 漫游功能的設計
人的行走是日常生活中最普遍的行為,在交互系統中它也是最主要的行為之一。控制虛擬環境中視點位置的改變就是漫游系統中的主要交互方式。通過對虛擬場景中虛擬角色的控制,可以對場景進行自由的漫游。漫游系統的功能模塊主要有以下幾個:
(1)基于角色的動態攝像機控制:即將攝像機與角色的行動相綁定,跟隨角色運動,實現第三人稱的視角模擬。同時,可以使用鍵盤控制攝像機視角的位置,通過旋轉來觀察整個室內空間場景。
(2)基于燈具的靜態攝像機控制:在漫游過程中,用戶點選某一燈具后,系統自動將動態攝像機切換成靜態攝像機,讓用戶近距離觀看燈具的外觀,同時顯示燈具的詳細信息。
(3)碰撞檢測:指虛擬角色在場景中與場景中的實體對象之間的碰撞。碰撞檢測對增強虛擬場景漫游的真實感有著重要的作用。通過碰撞檢測,可避免用戶沒入地下或對建筑物穿墻而過等不真實情況,也可避免移動物體之間融合現象的發生,從而實現與現實世界中相似的真實感。本平臺使用VIRTOOLS自身提供的碰撞檢測模塊來保證系統漫游的真實感。當角色在虛擬場景中漫游時,涉及到兩類碰撞檢測:一個是與地形的碰撞檢測,另一個則是實體與實體之間的碰撞檢測。與地面的碰撞可以通過VIRTOOLS軟件中提供的行為交互模塊Enhanced Character Keep On Floor來實現,需要將地面對象屬性設置為 Floor類型,然后添加行為模塊Enhanced Character Keep On Floor并設置相應的參數即可。對于角色與建筑物之間的碰撞檢測,VIRTOOLS軟件提供基于包圍盒技術的解決方法,將場景中除了虛擬角色之外的所有對象設置為3D Entity類型,然后為角色添加Object Slider交互模塊。這種方法是按照對象默認的球體包圍盒來進行檢測的。整個漫游功能的腳本如圖5所示。

圖5 漫游系統腳本
3.2.2 交互功能的設計
在LED室內照明仿真平臺中,主要實現的是普通用戶與三維場景中燈具的交互,使用此三維仿真系統,使用者能在網頁上看到LED室內照明燈的效果以及燈具的具體參數,并能方便的針對具體環境進行燈具模型的隨意加減和位置的改變,得到理想的照明效果。交互設計框圖如圖6所示。

圖6 交互系統設計框圖
(1)界面交互:界面交互主要實現用戶對單一燈具的選擇、替換,燈具位置的移動以及燈的開關等的操作。實現的腳本如圖7所示。
(2)信息查詢:包括查詢當前使用燈具的參數、燈具庫中燈具的參數,當前場景中使用的燈具的總功率等,并且系統會給出滿足當前場景的照度需求的燈具和燈具數量的最佳選擇建議。信息查詢的功能從實現角度可劃分為兩部分獨立的功能,即基于鼠標位置的對象獲取以及燈具數據信息從數據庫中的讀取。
基于鼠標位置的對象獲取主要通過VIRTOOLS中的BB模塊2D Picking來實現的。它的原理是將鼠標在屏幕二維界面上的坐標位置與場景中的三維實體在屏幕坐標系中投影的位置做比較,如果重合則認為鼠標選擇了該對象。

圖7 燈具交互腳本
燈具信息的存儲是通過平臺與網站數據庫連接后將燈具數據輸入到陣列 Array來實現的。VIRTOOLS與數據庫的通訊主要是通過與數據庫連接的插件 VIRTOOLS server,并配置相應的 ODBC(數據源)和設置服務器地址來實現的。從數據庫中讀取到對應的數據后,VIRTOOLS將數據庫對應表中內容讀取到Array中對應的數組中,陣列Array是VIRTOOLS自帶的用來進行數據組織和存儲的結構,與數據庫類似由行和列組成,VIRTOOLS再對數組內容進行控制。數組Array中的名字必須對應數據庫中的表名,數組中的列名對應數據庫表中的列名,數據類型必須保持一致。VIRTOOLS提供了相關的行為模塊 (Get Cell,Get Key Row等)來實現對陣列Array中數據的調用與控制。本系統陣列表中的燈具的信息按照燈具名稱、使用環境、功率、顏色等來分列存儲,數據庫的結構如圖8所示。

圖8 燈具Array表結構
3.2.3 平臺的應用
本仿真平臺是基于LED協同商務網站的虛擬體驗中心,為普通用戶創造了一個體驗LED室內燈具真實照明效果的平臺。
當用戶對在LED協同商務網站上所選擇的LED燈具的具體參數不甚了解,或者需要了解LED燈具的實際環境中使用的效果,則用戶可以通過LED協同商務網站的虛擬體驗中心登陸本仿真平臺。
首先用戶可以按其所需購買的燈具的實際使用環境選擇相應的室內場景 (如會議室、辦公室、臥室、客廳、書房等),之后在其選擇場景中添加需要購買的燈具的數量并選擇安放高度,最后對燈具位置進行排列。當用戶將場景和燈具配置完成以后,就可以在室內仿真環境中進行漫游操作,體驗燈具在室內環境中的真實照明效果,以此判斷該燈具是否符合自身的需求。

圖9 LED仿真平臺效果圖
本文以會議室為例,整個仿真平臺的應用效果如圖9所示。
利用虛擬現實技術的沉浸感與現實感,可以針對用戶的自身需要為其提供所需的室內環境,采用這種更具交互性的方式,使普通用戶產生身臨其境的感覺。同時基于用戶偏好的LED協同三維展示平臺擴大了虛擬現實技術的應用范圍,從使用效果來看大大改進了普通用戶對LED真實照明的認識,有效支撐半導體照明產品市場的推廣,為普通使用者“網上體驗”提供了一個良好的平臺。并且,單場景LED產品場景效果仿真能夠滿足設計用戶在設計完成后即時仿真產品的效果,使燈光結果不必借助實際的LED燈及控制部件就可以直接在計算機上顯示出來,為產品的進一步優化提供依據。
[1]張淑猛,郭順生,楊明忠等.基于3dsmax的LED燈光仿真系統設計[J].計算機仿真,2005(7):228~230.
[2]曲寶,趙婭,趙琦.基于Virtools的虛擬家居漫游系統的設計與實現 [J].計算機工程與科學,2009,31(12):
[3]馮玉芬.基于Virtools的虛擬小區漫游系統的設計與實現 [J].計算機仿真,2009,26(6):285~287,29.
[4]楊春,李昌國,張曉林 等.基于3D和VIRTOOLS技術的虛擬實驗的實驗據分析研究 [J].計算機工程與設計,2007,203(11):2589~2591.
[5]梁冠輝,朱元昌,邸彥強.基于HLA/Virtools的高炮火控系統仿真平臺設計 [J].系統仿真學報,2009,21(21):6954~6958.
[6]孫豐鑫.基于虛擬現實的集裝箱岸吊仿真培訓系統的集成與研究[D].清華大學,2010.
[7]李昌國,朱福全,譚良等.基于3D和Virtools技術的虛擬實驗開發方法研究 [J].計算機工程與應用,2006(31):84~86,96.
[8]谷景.基于LabVIEW的快速照明計算方法 [J].中國照明電器,2010,308(11):19~23,37.
[9]吳偉和,郝愛民,李智等.基于直接光照的全局光照模擬 [J].計算機工程,2009,35(10):257~258,26.
[10]耿曉燕.面向照明效果的 LED光源設計仿真研究[D].天津大學,2007.