林智奇 程功勛 劉麗蘭 熊 峰 周穎圓 俞 濤
(1.上海大學(xué)機(jī)電工程與自動(dòng)化學(xué)院上海市機(jī)械自動(dòng)化及機(jī)器人重點(diǎn)實(shí)驗(yàn)室,上海 200072;2.上海半導(dǎo)體照明工程技術(shù)研究中心,上海 201203)
作為一種全新的照明技術(shù),LED利用半導(dǎo)體芯片作為發(fā)光材料,直接將電能轉(zhuǎn)換為光能,以其發(fā)光效能高、耗電量少、使用壽命長(zhǎng)、安全可靠、環(huán)保衛(wèi)生等優(yōu)越性,被業(yè)界認(rèn)為是人類繼愛迪生發(fā)明白熾燈泡后最偉大的發(fā)明之一。LED室內(nèi)照明主要包括商場(chǎng)照明、酒店照明、寫字樓照明以及家居照明等。從市場(chǎng)規(guī)模上看,室內(nèi)照明市場(chǎng)由于應(yīng)用群體的廣泛將成長(zhǎng)為規(guī)模最大的市場(chǎng),預(yù)計(jì)在2013年,室內(nèi)照明將達(dá)到98.2億元左右的規(guī)模。
基于以上分析,LED產(chǎn)業(yè)正處于快速發(fā)展階段,然而目前網(wǎng)絡(luò)上大部分對(duì)LED燈具的描述僅局限在燈具的參數(shù)上,在效果的展示方面,也僅停留在使用靜態(tài)圖片展示上,缺乏一定的真實(shí)感和互動(dòng)性,無(wú)法讓普通用戶對(duì)LED的光效和普通白熾燈的照明效果有一個(gè)直觀的對(duì)比。因此,有必要引入虛擬現(xiàn)實(shí)技術(shù),利用虛擬現(xiàn)實(shí)生動(dòng)直觀、沉浸、交互的特點(diǎn),讓普通用戶更好的感受LED帶來(lái)的照明效果,讓商家更逼真的展示其產(chǎn)品,同時(shí)也為室內(nèi)燈光布置提供平臺(tái)支持。本文利用3DSMAX和VIRTOOLS構(gòu)建一個(gè)三維仿真系統(tǒng),在LED協(xié)同商務(wù)平臺(tái)網(wǎng)站上展現(xiàn)單體燈具的三維模型以及燈具在室內(nèi)實(shí)際環(huán)境中的照明效果。該平臺(tái)設(shè)計(jì)的目的不只是為了展示LED產(chǎn)品本身,更重要的是燈光控制等手段,展現(xiàn)LED燈具在室內(nèi)場(chǎng)景中的真實(shí)照明效果,通過(guò)這一環(huán)境,有計(jì)劃、有目的、合邏輯地將商品展現(xiàn)給消費(fèi)者,力求使消費(fèi)者愉快的產(chǎn)生購(gòu)買意愿。為了要獲得實(shí)用性和真實(shí)感,建立LED的光效仿真,讓用戶有一個(gè)良好的操作體驗(yàn),同時(shí)為用戶提供所需的信息是本平臺(tái)搭建的關(guān)鍵問(wèn)題。本文主要從平臺(tái)的總體結(jié)構(gòu)的搭建以及平臺(tái)交互功能上進(jìn)行介紹。
LED室內(nèi)照明三維虛擬展示平臺(tái)是一個(gè)基于單場(chǎng)景半導(dǎo)體照明產(chǎn)品場(chǎng)景效果協(xié)同仿真系統(tǒng),應(yīng)用三維場(chǎng)景建模技術(shù)構(gòu)建多個(gè)室內(nèi)協(xié)同應(yīng)用場(chǎng)景,包括會(huì)議室、辦公室、臥室、客廳、書房等常用的室內(nèi)場(chǎng)景,主要實(shí)現(xiàn)基于Web平臺(tái)的支持用戶參與、并且用戶可以根據(jù)自己的需求更換場(chǎng)景,隨需所現(xiàn)照明產(chǎn)品的實(shí)際效果。同時(shí)結(jié)合專業(yè)照度計(jì)算軟件Dialux,計(jì)算出單場(chǎng)景的照度值及其能耗功率,幫助普通用戶快速了解產(chǎn)品的實(shí)際效果。Web平臺(tái)使用J2EE架構(gòu)進(jìn)行搭建,而光效仿真平臺(tái)和三維燈具展示則使用3DSMAX和VIRTOOLS進(jìn)行開發(fā)。
用以搭建平臺(tái)的VIRTOOLS是一套集創(chuàng)作應(yīng)用程序、交互引擎和渲染引擎和發(fā)布模塊于一身的3D虛擬現(xiàn)實(shí)開發(fā)系統(tǒng),可以將仿真平臺(tái)和三維產(chǎn)品展示打包發(fā)布在網(wǎng)頁(yè)上,系統(tǒng)整體結(jié)構(gòu)如圖1所示。
圖1 仿真系統(tǒng)結(jié)構(gòu)
LED室內(nèi)照明三維仿真平臺(tái)一方面要較真實(shí)的表現(xiàn)出室內(nèi)環(huán)境的照明效果,另一方面要給訪問(wèn)平臺(tái)的用戶提供一個(gè)良好的操作體驗(yàn),因此系統(tǒng)的搭建主要有兩部分的工作,即虛擬仿真場(chǎng)景的搭建和交互模塊的構(gòu)建。構(gòu)建室內(nèi)照明仿真平臺(tái)需要完成以下幾個(gè)方面的工作:
(1)前期數(shù)據(jù)采集與處理:為了展現(xiàn)出真實(shí)的室內(nèi)場(chǎng)景并表現(xiàn)出燈光的實(shí)際照明效果,首先要獲取室內(nèi)場(chǎng)景的真實(shí)尺寸數(shù)據(jù)以及燈具的實(shí)際參數(shù)。
(2)三維模型建立:以真實(shí)數(shù)據(jù)為基礎(chǔ),對(duì)燈具和室內(nèi)場(chǎng)景進(jìn)行建模,并布置燈光和模型貼圖等處理。
(3)交互系統(tǒng)構(gòu)建:利用VIRTOOLS來(lái)實(shí)現(xiàn)三維場(chǎng)景的漫游和交互等功能。
系統(tǒng)開發(fā)工作流程如圖2所示。
圖2 系統(tǒng)開發(fā)流程圖
3.1.1 室內(nèi)模型建立
三維模型的建立是仿真平臺(tái)搭建的關(guān)鍵技術(shù)之一。我們所漫游的場(chǎng)景是否能看起來(lái)真實(shí),主要依靠的就是建模技術(shù),建模在整個(gè)系統(tǒng)的設(shè)計(jì)過(guò)程中占有很大的比重,關(guān)乎到一個(gè)作品的成敗[2]。建模前的準(zhǔn)備工作主要包括現(xiàn)真實(shí)場(chǎng)景的數(shù)據(jù)資料的采集 (即室內(nèi)場(chǎng)景的尺寸)、畫出CAD圖、三維模型構(gòu)建以及后期模型的美化。
本文以某大樓會(huì)議室作為研究對(duì)象,為了盡可能準(zhǔn)確、直觀地進(jìn)行室內(nèi)設(shè)計(jì),整個(gè)模型到現(xiàn)場(chǎng)進(jìn)行實(shí)地考察,使用米尺對(duì)會(huì)議室進(jìn)行實(shí)際尺寸的測(cè)量,模型采用1∶1進(jìn)行建模,同時(shí)對(duì)燈具的放置也完全按照實(shí)際尺寸。整個(gè)會(huì)議場(chǎng)所長(zhǎng)10.5M,寬6.4M,高3M。
按照實(shí)際尺寸搭建完室內(nèi)空間之后,向這些區(qū)域?qū)霑?huì)議桌椅等模型,這里采用合并的方式導(dǎo)入模型。建立模型之后的工作就是給模型賦予材質(zhì)和貼圖,盡可能真實(shí)的還原出模型的實(shí)際效果。在3DSMAX中材質(zhì)與貼圖的建立和編輯都是通過(guò)材質(zhì)編輯器Material Editor來(lái)完成的,并且通過(guò)最后的渲染把它們表現(xiàn)出來(lái),使物體表面顯示出不同的質(zhì)地、色彩和紋理。材質(zhì)貼圖在三維建模過(guò)程中是至關(guān)重要的一環(huán),主要通過(guò)它來(lái)增加模型的細(xì)節(jié),體現(xiàn)出模型的質(zhì)感,材質(zhì)對(duì)如何建立對(duì)象模型有著直接的影響。完成的場(chǎng)景建模如圖3所示。
圖3 室內(nèi)會(huì)議室模型
3.1.2 場(chǎng)景導(dǎo)出
當(dāng)場(chǎng)景建模完成以后,接下來(lái)就是把完場(chǎng)的場(chǎng)景導(dǎo)入到VIRTOOLS中了。3DSMAX模型的數(shù)據(jù)格式是.max格式,而 VIRTOOLS所支持的格式是.nmo,所以在這里就需要用到 3DSMAX導(dǎo)入VIRTOOLS的插件Max Exporter實(shí)現(xiàn)數(shù)據(jù)格式的轉(zhuǎn)化。接下來(lái)打開VIRTOOLS,進(jìn)行數(shù)據(jù)文件的導(dǎo)入。啟動(dòng)VIRTOOLS,在工作界面里選擇左上方菜單命令的Resources(資源)/Import File(導(dǎo)入文件),打開之前保存的.nmo文件,就可以看到在3DSMAX做的場(chǎng)景已經(jīng)成功導(dǎo)入到VIRTOOLS了。
從3DSMAX導(dǎo)入到VIRTOOLS過(guò)程中,可能會(huì)發(fā)生一定的材質(zhì)丟失,需要在VIRTOOLS中對(duì)模型的貼圖和材質(zhì)進(jìn)行一定的修改。
交互系統(tǒng)一直是虛擬現(xiàn)實(shí)研究中的重要內(nèi)容,也是讓用戶能融入到虛擬環(huán)境中的基本要求。仿真平臺(tái)中的實(shí)時(shí)交互性主要表現(xiàn)在用戶對(duì)場(chǎng)景中的實(shí)體對(duì)象能進(jìn)行某些操作,而實(shí)體對(duì)象能立即以某種形式反饋給用戶,響應(yīng)用戶的操作。整個(gè)交互系統(tǒng)主要有操作界面、漫游功能、燈具更換/推薦系統(tǒng)、場(chǎng)景能耗評(píng)估、室內(nèi)照度計(jì)算幾部分組成。整個(gè)交互仿真流程如圖4所示。
圖4 仿真系統(tǒng)結(jié)構(gòu)圖
3.2.1 漫游功能的設(shè)計(jì)
人的行走是日常生活中最普遍的行為,在交互系統(tǒng)中它也是最主要的行為之一??刂铺摂M環(huán)境中視點(diǎn)位置的改變就是漫游系統(tǒng)中的主要交互方式。通過(guò)對(duì)虛擬場(chǎng)景中虛擬角色的控制,可以對(duì)場(chǎng)景進(jìn)行自由的漫游。漫游系統(tǒng)的功能模塊主要有以下幾個(gè):
(1)基于角色的動(dòng)態(tài)攝像機(jī)控制:即將攝像機(jī)與角色的行動(dòng)相綁定,跟隨角色運(yùn)動(dòng),實(shí)現(xiàn)第三人稱的視角模擬。同時(shí),可以使用鍵盤控制攝像機(jī)視角的位置,通過(guò)旋轉(zhuǎn)來(lái)觀察整個(gè)室內(nèi)空間場(chǎng)景。
(2)基于燈具的靜態(tài)攝像機(jī)控制:在漫游過(guò)程中,用戶點(diǎn)選某一燈具后,系統(tǒng)自動(dòng)將動(dòng)態(tài)攝像機(jī)切換成靜態(tài)攝像機(jī),讓用戶近距離觀看燈具的外觀,同時(shí)顯示燈具的詳細(xì)信息。
(3)碰撞檢測(cè):指虛擬角色在場(chǎng)景中與場(chǎng)景中的實(shí)體對(duì)象之間的碰撞。碰撞檢測(cè)對(duì)增強(qiáng)虛擬場(chǎng)景漫游的真實(shí)感有著重要的作用。通過(guò)碰撞檢測(cè),可避免用戶沒(méi)入地下或?qū)ㄖ锎Χ^(guò)等不真實(shí)情況,也可避免移動(dòng)物體之間融合現(xiàn)象的發(fā)生,從而實(shí)現(xiàn)與現(xiàn)實(shí)世界中相似的真實(shí)感。本平臺(tái)使用VIRTOOLS自身提供的碰撞檢測(cè)模塊來(lái)保證系統(tǒng)漫游的真實(shí)感。當(dāng)角色在虛擬場(chǎng)景中漫游時(shí),涉及到兩類碰撞檢測(cè):一個(gè)是與地形的碰撞檢測(cè),另一個(gè)則是實(shí)體與實(shí)體之間的碰撞檢測(cè)。與地面的碰撞可以通過(guò)VIRTOOLS軟件中提供的行為交互模塊Enhanced Character Keep On Floor來(lái)實(shí)現(xiàn),需要將地面對(duì)象屬性設(shè)置為 Floor類型,然后添加行為模塊Enhanced Character Keep On Floor并設(shè)置相應(yīng)的參數(shù)即可。對(duì)于角色與建筑物之間的碰撞檢測(cè),VIRTOOLS軟件提供基于包圍盒技術(shù)的解決方法,將場(chǎng)景中除了虛擬角色之外的所有對(duì)象設(shè)置為3D Entity類型,然后為角色添加Object Slider交互模塊。這種方法是按照對(duì)象默認(rèn)的球體包圍盒來(lái)進(jìn)行檢測(cè)的。整個(gè)漫游功能的腳本如圖5所示。
圖5 漫游系統(tǒng)腳本
3.2.2 交互功能的設(shè)計(jì)
在LED室內(nèi)照明仿真平臺(tái)中,主要實(shí)現(xiàn)的是普通用戶與三維場(chǎng)景中燈具的交互,使用此三維仿真系統(tǒng),使用者能在網(wǎng)頁(yè)上看到LED室內(nèi)照明燈的效果以及燈具的具體參數(shù),并能方便的針對(duì)具體環(huán)境進(jìn)行燈具模型的隨意加減和位置的改變,得到理想的照明效果。交互設(shè)計(jì)框圖如圖6所示。
圖6 交互系統(tǒng)設(shè)計(jì)框圖
(1)界面交互:界面交互主要實(shí)現(xiàn)用戶對(duì)單一燈具的選擇、替換,燈具位置的移動(dòng)以及燈的開關(guān)等的操作。實(shí)現(xiàn)的腳本如圖7所示。
(2)信息查詢:包括查詢當(dāng)前使用燈具的參數(shù)、燈具庫(kù)中燈具的參數(shù),當(dāng)前場(chǎng)景中使用的燈具的總功率等,并且系統(tǒng)會(huì)給出滿足當(dāng)前場(chǎng)景的照度需求的燈具和燈具數(shù)量的最佳選擇建議。信息查詢的功能從實(shí)現(xiàn)角度可劃分為兩部分獨(dú)立的功能,即基于鼠標(biāo)位置的對(duì)象獲取以及燈具數(shù)據(jù)信息從數(shù)據(jù)庫(kù)中的讀取。
基于鼠標(biāo)位置的對(duì)象獲取主要通過(guò)VIRTOOLS中的BB模塊2D Picking來(lái)實(shí)現(xiàn)的。它的原理是將鼠標(biāo)在屏幕二維界面上的坐標(biāo)位置與場(chǎng)景中的三維實(shí)體在屏幕坐標(biāo)系中投影的位置做比較,如果重合則認(rèn)為鼠標(biāo)選擇了該對(duì)象。
圖7 燈具交互腳本
燈具信息的存儲(chǔ)是通過(guò)平臺(tái)與網(wǎng)站數(shù)據(jù)庫(kù)連接后將燈具數(shù)據(jù)輸入到陣列 Array來(lái)實(shí)現(xiàn)的。VIRTOOLS與數(shù)據(jù)庫(kù)的通訊主要是通過(guò)與數(shù)據(jù)庫(kù)連接的插件 VIRTOOLS server,并配置相應(yīng)的 ODBC(數(shù)據(jù)源)和設(shè)置服務(wù)器地址來(lái)實(shí)現(xiàn)的。從數(shù)據(jù)庫(kù)中讀取到對(duì)應(yīng)的數(shù)據(jù)后,VIRTOOLS將數(shù)據(jù)庫(kù)對(duì)應(yīng)表中內(nèi)容讀取到Array中對(duì)應(yīng)的數(shù)組中,陣列Array是VIRTOOLS自帶的用來(lái)進(jìn)行數(shù)據(jù)組織和存儲(chǔ)的結(jié)構(gòu),與數(shù)據(jù)庫(kù)類似由行和列組成,VIRTOOLS再對(duì)數(shù)組內(nèi)容進(jìn)行控制。數(shù)組Array中的名字必須對(duì)應(yīng)數(shù)據(jù)庫(kù)中的表名,數(shù)組中的列名對(duì)應(yīng)數(shù)據(jù)庫(kù)表中的列名,數(shù)據(jù)類型必須保持一致。VIRTOOLS提供了相關(guān)的行為模塊 (Get Cell,Get Key Row等)來(lái)實(shí)現(xiàn)對(duì)陣列Array中數(shù)據(jù)的調(diào)用與控制。本系統(tǒng)陣列表中的燈具的信息按照燈具名稱、使用環(huán)境、功率、顏色等來(lái)分列存儲(chǔ),數(shù)據(jù)庫(kù)的結(jié)構(gòu)如圖8所示。
圖8 燈具Array表結(jié)構(gòu)
3.2.3 平臺(tái)的應(yīng)用
本仿真平臺(tái)是基于LED協(xié)同商務(wù)網(wǎng)站的虛擬體驗(yàn)中心,為普通用戶創(chuàng)造了一個(gè)體驗(yàn)LED室內(nèi)燈具真實(shí)照明效果的平臺(tái)。
當(dāng)用戶對(duì)在LED協(xié)同商務(wù)網(wǎng)站上所選擇的LED燈具的具體參數(shù)不甚了解,或者需要了解LED燈具的實(shí)際環(huán)境中使用的效果,則用戶可以通過(guò)LED協(xié)同商務(wù)網(wǎng)站的虛擬體驗(yàn)中心登陸本仿真平臺(tái)。
首先用戶可以按其所需購(gòu)買的燈具的實(shí)際使用環(huán)境選擇相應(yīng)的室內(nèi)場(chǎng)景 (如會(huì)議室、辦公室、臥室、客廳、書房等),之后在其選擇場(chǎng)景中添加需要購(gòu)買的燈具的數(shù)量并選擇安放高度,最后對(duì)燈具位置進(jìn)行排列。當(dāng)用戶將場(chǎng)景和燈具配置完成以后,就可以在室內(nèi)仿真環(huán)境中進(jìn)行漫游操作,體驗(yàn)燈具在室內(nèi)環(huán)境中的真實(shí)照明效果,以此判斷該燈具是否符合自身的需求。
圖9 LED仿真平臺(tái)效果圖
本文以會(huì)議室為例,整個(gè)仿真平臺(tái)的應(yīng)用效果如圖9所示。
利用虛擬現(xiàn)實(shí)技術(shù)的沉浸感與現(xiàn)實(shí)感,可以針對(duì)用戶的自身需要為其提供所需的室內(nèi)環(huán)境,采用這種更具交互性的方式,使普通用戶產(chǎn)生身臨其境的感覺(jué)。同時(shí)基于用戶偏好的LED協(xié)同三維展示平臺(tái)擴(kuò)大了虛擬現(xiàn)實(shí)技術(shù)的應(yīng)用范圍,從使用效果來(lái)看大大改進(jìn)了普通用戶對(duì)LED真實(shí)照明的認(rèn)識(shí),有效支撐半導(dǎo)體照明產(chǎn)品市場(chǎng)的推廣,為普通使用者“網(wǎng)上體驗(yàn)”提供了一個(gè)良好的平臺(tái)。并且,單場(chǎng)景LED產(chǎn)品場(chǎng)景效果仿真能夠滿足設(shè)計(jì)用戶在設(shè)計(jì)完成后即時(shí)仿真產(chǎn)品的效果,使燈光結(jié)果不必借助實(shí)際的LED燈及控制部件就可以直接在計(jì)算機(jī)上顯示出來(lái),為產(chǎn)品的進(jìn)一步優(yōu)化提供依據(jù)。
[1]張淑猛,郭順生,楊明忠等.基于3dsmax的LED燈光仿真系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)仿真,2005(7):228~230.
[2]曲寶,趙婭,趙琦.基于Virtools的虛擬家居漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與科學(xué),2009,31(12):
[3]馮玉芬.基于Virtools的虛擬小區(qū)漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)仿真,2009,26(6):285~287,29.
[4]楊春,李昌國(guó),張曉林 等.基于3D和VIRTOOLS技術(shù)的虛擬實(shí)驗(yàn)的實(shí)驗(yàn)據(jù)分析研究 [J].計(jì)算機(jī)工程與設(shè)計(jì),2007,203(11):2589~2591.
[5]梁冠輝,朱元昌,邸彥強(qiáng).基于HLA/Virtools的高炮火控系統(tǒng)仿真平臺(tái)設(shè)計(jì) [J].系統(tǒng)仿真學(xué)報(bào),2009,21(21):6954~6958.
[6]孫豐鑫.基于虛擬現(xiàn)實(shí)的集裝箱岸吊仿真培訓(xùn)系統(tǒng)的集成與研究[D].清華大學(xué),2010.
[7]李昌國(guó),朱福全,譚良等.基于3D和Virtools技術(shù)的虛擬實(shí)驗(yàn)開發(fā)方法研究 [J].計(jì)算機(jī)工程與應(yīng)用,2006(31):84~86,96.
[8]谷景.基于LabVIEW的快速照明計(jì)算方法 [J].中國(guó)照明電器,2010,308(11):19~23,37.
[9]吳偉和,郝愛民,李智等.基于直接光照的全局光照模擬 [J].計(jì)算機(jī)工程,2009,35(10):257~258,26.
[10]耿曉燕.面向照明效果的 LED光源設(shè)計(jì)仿真研究[D].天津大學(xué),2007.