黎泉 胡璋



摘? 要: 針對傳統家居展示方式單一、設計效率低下的問題,文中提出一種基于虛擬現實技術的家居仿真展示系統。該系統實現了毛坯房與自助設計的漫游展示、UI交互及場景切換,用戶可以自定義家居設計,包括家居物體交互、手柄提示、家居擺放和地板材質切換等功能。設計實現了系統資源采集與制作、環境部署、應用開發和發布測試4個階段。基于HTC Vive設備的實現與測試結果表明,所提出的家居仿真展示系統不僅能夠給用戶提供沉浸式的家居體驗,且具有出圖效率高與運營成本低的特點。
關鍵詞: 家居仿真展示系統; 系統設計; 虛擬現實; 自定義設計; 系統實現; 系統測試
中圖分類號: TN911?34; TM76? ? ? ? ? ? ? ? ? ?文獻標識碼: A? ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)18?0139?04
Abstract: In allusion to the single display methods and low design efficiency in the traditional home display system, a home simulation display system based on virtual reality technology is proposed. In this system, the roaming display, UI interaction and scene switching of roughcast room and DIY design can be realized. Users can customize the home design, including home object interaction, handle prompts, home placement and floor material switching. The design of the system can implement four phases of system resource collection and production, environment deployment, application development and publishing testing. The implementation and testing results based on HTC Vive equipment show that the proposed home simulation display system can not only provide immersive home experience for users, but also has the characteristics of high mapping efficiency and low operating costs.
Keywords: home simulation display system; system design; virtual reality; custom design; system implementation; system testing
0? 引? 言
隨著計算機技術的快速進步與硬件成本的不斷降低,虛擬現實(Virtual Reality,VR)技術迎來了新的發展浪潮[1],眾多企業開始參與到了VR技術的研發中。美國谷歌公司開發了Google Cardboard 產品,韓國三星公司開發了Gear VR頭戴設備,日本索尼公司開發了PlayStation頭戴設備[2?4]。然而在硬件設備蓬勃發展的同時,內容的匱乏嚴重制約了VR技術的發展與普及。目前,大多數企業通過結合現有的經驗與新的技術理論,來不斷嘗試拓展VR技術的研究方向與發展前途,尤其是VR技術在家裝領域的應用[5?8]。
傳統的家居展示方式通常采用三維效果圖進行可視化仿真展示[9],但該展示方式無法實現全場景的預覽,容易導致建造成品不及客戶的心理預期[10]。因此,越來越多的人開始將VR技術應用到家居仿真展示系統中。該展示方式不僅可以為用戶提供沉浸式的家居體驗,且可以實現地板、地磚與墻紙花紋等家居細節的自助設計[11]。此外,傳統的家居展示方式設計復雜、出圖效率低;而基于VR技術的家居展示方式可以進行批量化操作,進而提升工作效率[12?13]。
為了提升家居仿真展示的效果,實現沉浸式的家居展示,本文提出了基于虛擬現實的家居仿真展示系統。該系統基于HTC Vive VR設備進行開發設計,充分考慮了家居展示與用戶之間的交互,實現了個性化的家裝設計。仿真設計與實現結果表明,所提出的家居展示系統不僅能夠給用戶提供沉浸式的家居體驗,且可以進行模塊化設計,提升開發的效率。
1? 系統整體功能設計
本文為了實現個性化的家居設計、多樣化的戶型與精裝房的選擇,提出了基于虛擬現實的家居仿真展示系統。該系統實現了毛坯房與DIY設計的漫游展示、UI交互及場景切換,如圖1所示。對于DIY設計,通過實現家居物體交互、手柄提示、家具擺放和地板材質切換等功能來實現個性化的家居設計。
各模塊的具體功能設計如下:
1) 基礎戶型模塊實現了家居的漫游展示、UI交互和多場景切換,用戶可以通過操作手柄實現漫游。該功能的目的是實現全局觀看戶型布局,并使用UI菜單實現用戶與家居細節的交互。
2) 自助設計模塊實現了個性化的家居設計與用戶自主的家具和地板材質切換、物體高亮展示與瞬移等功能。
2? 自定義家居展示功能實現
為了實現沉浸式的用戶體驗效果,本文使用HTC Vive設備搭建工作站,并結合VR技術實現基礎戶型模塊與DIY設計模塊。其具體實現過程包括資源采集與制作、環境部署、應用開發和發布測試4個階段。各階段具體操作細節如圖2所示。
2.1? 資源采集與制作
基于虛擬現實的家居仿真展示系統,主要使用圖片、音頻和視頻3種素材。本文將系統所需的素材進行加工,使其符合Unity支持的格式。
音頻數據主要為系統所需的背景音樂,文中首先對挑選出的音頻素材進行裁剪,然后保存為Unity支持的.AIFF,.WAV,.MP3,.OGG格式,以便后續調用。
圖片數據主要為:系統背景圖片、家具材質和UI圖標。本文預先采集各種家具的材質貼圖,然后將其保存為.PNG格式數據,以便系統讀取。
視頻數據為VR所需的高清視頻,包括VR模式、畫中畫模式和普通模式3種攝制模式下拍攝的視頻。
2.2? 應用開發
基于VR的應用開發,主要包括模型制作、模型優化、渲染貼圖和材質優化共4個步驟。
模型制作:使用3ds MAX軟件對室內房屋進行建模,采用靜態立體圖像生成動畫,從而實現由建筑設計平面效果圖到立體沉浸式漫游效果的轉化。為了獲得更加逼真的效果,本文使用三維建模的方式構建虛擬房間模型。
三維模型可以根據其幾何特點分為:線框模型、實體模型和表面模型。本文采用多邊形網格建模方法來模擬曲面,從而構建出不同的三維物體。
多邊形網格建模方法定義了面?頂點、頂點?頂點、翼邊、半邊、地板網格和輻射邊等數據結構,并采用頂點、邊與平面來表示多面體。文中使用半邊數據結構來建模家居模型。該數據結構的每個頂點存儲一個半邊,并指向其相鄰上半邊與下半邊。同時為了便于對曲面進行建模,本文使用高斯曲率來計算曲面的平滑度,如下:
式中,K表示高斯曲率即曲面平滑度。第i個小平面的面積為A,且有:
式中,[v1,v2,v3]為三角形小平面的頂點,如圖3所示。
將獲取到三維物體的曲率與小平面組合完成后,即可對HTC Vive設備采集的點云數據進行三維建模。首先將點云數據表示為三角形數據,然后對這些三角形數據進行相關處理,從而將房間建模為若干個小平面組成的虛擬環境。具體建模過程如下所述:
1) 查找小平面。首先計算三角形數據的每個頂點曲率,并將相鄰頂點的曲率值取平均后作為當前頂點的曲率,然后填充得到每個頂點最合適的小平面。
2) 合成平面。首先遍歷所有查找到的小平面,并將距離足夠大且曲率較低的平面合并成為一個大平面,然后使用廣度優先算法進行頂點填充,得到生成的大平面。
3) 設置平面類型。首先確定水平面、垂直面與地板面,然后根據地板面篩選出家具實體與墻體的結構,最終融合各場景目標實現家居模型的構建。
模型優化:為了減少模型運行時所占用的內存,本文通過刪除冗余以及不可視的場景面、頂點來節省模型占用的空間。
渲染貼圖:為了獲取更加逼真的材質效果,本文使用3ds MAX渲染器來處理家居的材質信息,并使用材質貼圖軟件設計與渲染材質。
材質優化:為了進一步縮減材質貼圖軟件在處理材質大小時所耗費的計算時間,本文根據材質設計的特點進行了如下優化計算。靈活使用相對值和定值,使用灰度圖代替沒有顏色信息的節點,使用大于16×16的位圖節點,以及禁用Alpha Blending等。
同時,為了實現用戶自主漫游與個性化家具設計和擺放,本文實現了瞬移功能、手柄功能及地板材質切換功能。各功能的具體實現方法如下所述:
1) 瞬移功能:VR的內容是由虛擬場景投射而來的,其本質不包含景深的2D平面。因此,本文利用瞬移功能來實現人在場景中的漫游。該功能主要通過SteamVR與VRTK集成實現,首先使用Unity3D載入SteamVR Unity Toolkit插件與Virtual Reality Toolkit插件,然后進行場景朝向與位置的設置。
2) 手柄功能:用于添加用戶使用提示,本文使用VRTK中的ControllerTooltip工具包進行組件屬性的添加。
3) 地板材質切換功能:用戶可以使用手柄來點擊虛擬按鈕,從而切換地板材質。本文通過創建畫布(Canvas)并重命名為Floors作為材質類型列表,同時設置ShowMatButton按鈕展示材質、MatUIContainer容器來包含各種按鈕。
2.3? 環境部署
本文使用HTC Vive頭顯設備進行VR系統的開發,首先需要搭建HTC Vive基站,然后搭建Unity3D的工作環境。HTC Vive基站的搭建包括:硬件的連接、Steam平臺的下載、安裝與注冊登錄、設備基站位置、地面位置和頭顯中心的校準。Unity3D工作環境是VR開發的基礎,使用里面的SteamVR組件,即可實現VR攝像機的部署與組件的添加。
3? 系統實現與測試
由于基于VR的虛擬現實家居仿真系統對軟硬件具有一定的要求,文章使用HTC Vive設備搭建工作站,并使用下述開發環境與工具,實現系統各模塊功能。系統環境為:Windows 10,64位系統,Nvidia GeForce GTX1080 GPU, Intel[?] Core(TM) i7?7700 CPU,VR開發包為DOTween(HOTween V2)1.1.640,Virtual Reality Toolkit 3.2.1, Steam VR Plugin 1.2.3。
圖4為本文設備采集到的點云數據的可視化顯示。圖5為對該組點云數據進行建模后得到的結果。
本文也實現了用戶自定義的交互操作與實現效果,如圖6所示。用戶可以實現與建模結果的移動、縮放和全息投影的交互。
為了驗證本文進行模型優化的有效性,表1給出了模型優化前后算法所需的計算時間與占用的內存量。從表中可以看出,優化后可以明顯節省內存并減少計算時間。
4? 結? 語
本文提出基于虛擬現實的家居仿真展示系統,以實現個性化的家居設計、多樣性的戶型與裝修選擇。該系統使用界面功能模塊實現系統與用戶的交互、采用基礎戶型漫游模塊實現戶型漫游功能,精裝樣板間展示模塊提供了用戶自助設計功能。基于HTC Vive實現的場景渲染功能、手柄提示、家居擺放和地板材質切換等功能表明,本文設計的家居展示方式不僅能為用戶提供沉浸式的虛擬家居效果體驗,而且具有出圖效率高、運營成本低的優勢。
參考文獻
[1] TACHI S. From 3D to VR and further to telexistence [C]// 2013 23rd International Conference on Artificial Reality and Telexistence. Tokyo: IEEE, 2018: 947?952.
[2] MENIN A, TORCHELSEN R, NEDEL L. An analysis of VR technology used in immersive simulations with a serious game perspective [J]. IEEE computer graphics and applications, 2018, 38(2): 57?73.
[3] KON Y, NAKAMURA T, SAKURAQI R, et al. HangerOVER: development of HMO?embedded haptic display using the hanger reflex and VR application [C]// 2018 IEEE Conference on Virtual Reality and 3D User Interfaces. Atlanta: IEEE, 2018: 326?333.
[4] 朱曉強,潘虹藝,徐浩,等.頭戴設備VR環境下光滑加權等距面交互建模[J].系統仿真學報,2018,30(7):2459?2464.
[5] 邱暢.基于PBR理論的虛擬現實室內家居展示的研究與應用[D].北京:北京工業大學,2018.
[6] LIM H T, KIM H G, RO Y M. VR IQA net: deep virtual reality image quality assessment using adversarial learning [C]// IEEE International Conference on Acoustics, Speech and Signal Processing. Morristown: IEEE, 2018: 202?211.
[7] KANTH A S V R, GARG N. Computational simulations for solving a class of fractional models via Caputo?Fabrizio fractional derivative [J]. Procedia computer science, 2018, 45(3): 476?482.
[8] 柯健,王敏,周德富,等.虛擬現實技術在室內家居設計中的應用[J].軟件導刊,2019,18(10):144?146.
[9] JERALD J. Human?centered VR design: five essentials every engineer needs to know [J]. IEEE transactions on computer graphics and applications, 2018, 38(2): 15?21.
[10] 黃東晉,唐鵬斌,王音,等.基于交互歷史的三維家居個性化推薦與虛擬展示[J].應用科學學報,2015,33(4):407?418.
[11] MOSSER M, PIERESSA F, REUTTER J, et al. Querying APIs with SPARQL: language and worst?case optimal algorithms [C]// European Semantic Web Conference. Berlin: Springer, 2018: 17?30.
[12] SPORTILLO D, PALJIC A, OJEDA L, et al. Light virtual reality systems for the training of conditionally automated vehicle drivers [C]// IEEE Conference on Virtual Reality and 3D User Interfaces. Oklahoma City: IEEE, 2018: 37?44.
[13] 崔淮.家居展示設計中虛擬仿真及交互設計的研究與應用[D].長沙:湖南師范大學,2016.