查雁南
摘? 要: 在物聯(lián)網(wǎng)智能家居設(shè)備裝配過程中容易因誤操作而造成設(shè)備損壞,甚至引起電網(wǎng)事故、人身傷亡事故、財產(chǎn)損失慘重等問題。為了解決這個問題,設(shè)計了物聯(lián)網(wǎng)智能家居虛擬裝配交互系統(tǒng)。該系統(tǒng)使用Unity3D實時渲染引擎進行三維場景展示,交互端則使用Unity3D的物理引擎模擬事件觸發(fā),選用具有行業(yè)標(biāo)準的物聯(lián)網(wǎng)數(shù)據(jù)庫來控制智能家居的實時場景交互。通過多角度鏡頭和實時參數(shù)調(diào)節(jié),用戶在三維引擎操作端可實時查看智能家居安裝的進度和交互效果。
關(guān)鍵詞: Unity3D; 物聯(lián)網(wǎng); 智能家居; 虛擬現(xiàn)實
中圖分類號:TP31? ? ? ? ? 文獻標(biāo)識碼:A? ? 文章編號:1006-8228(2021)12-45-03
Abstract: In the assembly process of IoT smart home equipment, it is easy to cause damage to the equipment due to misoperation, causing grid accidents, personal injuries and deaths, and heavy property losses. In order to solve this problem, this paper designs a virtual assembly interactive system for IoT smart home. The system uses Unity3D's real-time rendering engine to display three-dimensional scenes, and the interactive end uses Unity3D's physics engine to simulate event triggers, and selects industry-standard Internet of Things database to control the real-time scene interaction of smart homes. Through multi-angle lens and real-time parameter adjustment, users can view the progress and interactive effects of smart home installation in real time on the 3D engine operating terminal.
Key words: Unity3D; IoT; smart home; VR
0 引言
2005年在世界峰會上正式提出的“物聯(lián)網(wǎng)”(IoT,The Internet of Things)[1]這一概念宣告著“物聯(lián)網(wǎng)”時代的正式來臨。然而當(dāng)前的物聯(lián)網(wǎng)行業(yè)諸侯割據(jù)并沒有形成統(tǒng)一的標(biāo)準,物聯(lián)網(wǎng)環(huán)境的極度不穩(wěn)定,導(dǎo)致了上層應(yīng)用服務(wù)和硬件系統(tǒng)的設(shè)計分割,物聯(lián)網(wǎng)應(yīng)用方案不能在硬件系統(tǒng)上進行驗證,從而使現(xiàn)有的物聯(lián)網(wǎng)解決方案在設(shè)計后很少落地實施。隨著以Unity3D為代表的三維游戲引擎日漸成熟,使得以游戲引擎來構(gòu)建可視化仿真提供了可能[2],利用游戲引擎構(gòu)建虛擬現(xiàn)實場景來對物聯(lián)網(wǎng)解決方案進行測試,一方面對物聯(lián)網(wǎng)解決方案進行了全方面的展示,另一方面舍棄了物理環(huán)境的需求,解決了物聯(lián)網(wǎng)中硬件部署與軟件應(yīng)用的斷層問題。
Unity3D是一款支持建筑可視化、三維動畫、視頻游戲等多平臺綜合游戲開發(fā)的軟件,廣泛的應(yīng)用于教育、游戲、機械、旅游、軍事上。主要應(yīng)用模式是與虛擬現(xiàn)實技術(shù)相結(jié)合。由于人類對家居智能化、個性化、舒適化等的要求日益增多,二維設(shè)計作品已遠遠無法滿足。針對上述問題,本文將智能家居與虛擬現(xiàn)實技術(shù)相結(jié)合,設(shè)計了物聯(lián)網(wǎng)智能家居虛擬裝配交互系統(tǒng),該系統(tǒng)不僅可以滿足客戶的個性化要求,同時也縮短了智能家居的開發(fā)周期、降低了建造成本,還可以減少智能家居產(chǎn)品在安裝調(diào)試過程中產(chǎn)生的損耗,為用戶的家居個性化安裝提供便利。
1 設(shè)計思路
系統(tǒng)采用了Unity3D中的實時渲染、實時交互等關(guān)鍵技術(shù),結(jié)合C#語言程序的編寫實現(xiàn)了智能家居多個模塊的物聯(lián)網(wǎng)設(shè)備安裝虛擬仿真。為了提升整個場景的視覺交互效果,運用了智能接線、無極參數(shù)調(diào)節(jié)、多層次細節(jié)技術(shù)、基于物理的渲染技術(shù)(PBR)等。在開發(fā)過程一共分為四個過程:場景設(shè)計、素材采集、模型創(chuàng)建、仿真程序交互[3]。
2 場景設(shè)計
信息工程學(xué)院與海爾集團是長期的校企合作伙伴,學(xué)院物聯(lián)網(wǎng)教師和海爾物聯(lián)網(wǎng)工程師以及仿真開發(fā)人員多次交流探討制定了最初的場景設(shè)計方案,即將最常用的智能家居系統(tǒng)的安裝虛擬化。該場景包括:智能家居系統(tǒng)網(wǎng)關(guān)安裝設(shè)置、智能門鎖的基本安裝、智能窗簾的基本安裝、智能家居智能控制面板的基本安裝、智能家居的安裝和配置實訓(xùn)模塊。
其中,智能家居系統(tǒng)網(wǎng)關(guān)安裝設(shè)置包括:認識智能家居系統(tǒng)網(wǎng)關(guān);智能家居網(wǎng)關(guān)安裝配置;智能家居網(wǎng)關(guān)測試。智能門鎖的基本安裝包括:智能門鎖的相關(guān)基礎(chǔ)知識;完成智能門鎖的安裝;對安裝好的智能門鎖進行測試。智能窗簾的基本安裝包括:智能窗簾的相關(guān)基礎(chǔ)知識;完成智能窗簾的安裝;對安裝好的智能窗簾進行測試。智能家居智能控制面板的基本安裝包括:智能家居智能控制面板的相關(guān)基礎(chǔ)知識;完成智能家居智能控制面板的安裝;對安裝好的智能家居智能控制面板進行測試。智能家居的安裝和配置實訓(xùn)模塊包含:能進行多種智能家居環(huán)境的安裝,包括智能門鎖、智能窗簾、智能燈光等等的安裝;安裝完成各個模塊的線路連接;根據(jù)智能家居環(huán)境的要求進行智能面板的配置;對智能家居系統(tǒng)的測試和調(diào)制。
3 素材采集
根據(jù)以上的場景設(shè)計,建模人員去到海爾集團的物理網(wǎng)生產(chǎn)基地,對需要模擬的智能家居進行素材的采集,其中,我們使用攝像設(shè)備拍攝了所有設(shè)備的標(biāo)準安裝流程。使用單反拍攝了所有智能家居實物的外觀,并通過卡尺、卷尺等測量工具測得被拍攝物體的具體尺寸,誤差精確到1mm,力求在虛擬化過程中,保證安裝尺寸和流程的準確性。
4 模型的創(chuàng)建
物聯(lián)網(wǎng)智能家居安裝項目包括:客廳、臥室、廚房、洗手間等。物聯(lián)網(wǎng)配置流程包括:亮度可調(diào)節(jié)燈具、不可調(diào)節(jié)燈具、網(wǎng)關(guān)、插板、三口插頭、作業(yè)臺、Q6智能面板、P4智能面板、窗簾滑動裝置、窗簾信號接收與控制設(shè)備、電腦顯示器、路由器(包含電源)、剝線鉗、螺絲刀、網(wǎng)線以及水晶頭、正常的紅藍線路、膠布等。因為包含模型較多,所以前期工作以客廳為主,家居體驗應(yīng)該包含一整套完整家具,并與物聯(lián)網(wǎng)緊密融合。其中,客廳的模型包括:燈具大屏電視(包含遙控器)、沙發(fā)、桌子、窗簾、Q6與P4面板、智能手機(移動終端)、墻壁裝飾(時鐘、畫框等)、空調(diào)、垃圾桶、煙灰缸、茶具或者飲水道具、掃地機器人、冰箱、電話、音響等。
在獲得原始的采集素材之后,就需要建模人員根據(jù)這些素材進行模型的創(chuàng)建。依照采集素材的尺寸和外觀,使用多邊形建模技術(shù)制作出初始的模型即低模[4],然后使用硬表面建模技術(shù)制作出初始模型的加線模型即高模,將制作好的低模和高模導(dǎo)入到PBR材質(zhì)貼圖制作工具中生成相應(yīng)的凹凸、ao、曲率、位置、厚度等貼圖,然后根據(jù)素材的外觀制作出高仿真度的智能家居模型(圖1),在制作的過程中需要仔細辨別模型的材質(zhì)類型,添加相應(yīng)的基礎(chǔ)PBR材質(zhì)。在三維場景中相近的視覺效果的材質(zhì),比如某些金屬和塑料材質(zhì)在特定的角度有著不同的反射和折射效果,如果混淆使用就會大大降低最終制作出來的效果。由于安裝的設(shè)備都是比較新的,不需要特別的進行做舊處理。材質(zhì)制作完成后導(dǎo)出Albedo、Metallic、Normal這三張適用于Unity3D的PBR材質(zhì)系統(tǒng)的貼圖。
5 仿真程序交互
將創(chuàng)建好的模型場景和貼圖導(dǎo)入到Unity3D引擎之后,就可以開始仿真程序的交互設(shè)計。為了更加高效的完成交互,在引擎的編寫代碼過程中,使用了Itween、ShaderGraph、Obi、TextMesh Pro、New UI Widgets等功能插件[5]。
5.1 Itween功能插件的使用
Itween能高效管理各種動畫,大大加快一些常用的位移和旋轉(zhuǎn)動畫的制作效率。比如A物體要從B位置移動到C位置,常用的方法是手動制作關(guān)鍵幀,在B位置刻一個關(guān)鍵幀,然后將物體移動到C位置再刻一個關(guān)鍵幀,并在動畫窗口調(diào)節(jié)該動畫的持續(xù)時間。而使用Itween插件則省去了在動畫窗口手動刻幀的步驟,直接設(shè)置需要移動的Souce物體,再設(shè)置目標(biāo)的位置PreparePosition,最后設(shè)置動畫的時間2f秒就完成了一個位移動畫。這種直接設(shè)置參數(shù)的方法比在動畫窗口手動刻幀要方便快捷得多。實現(xiàn)代碼:
IEnumerator StartMove()
{? iTween.MoveTo(Souce, PreparePosition, 2f);
iTween.RotateTo(Souce, Target.eulerAngles, 2f);
yield return new WaitForSeconds(2f);
iTween.MoveTo(Souce, Target.position, 1f);
}
5.2 ShaderGraph功能插件的使用
制作交互的特殊效果上使用了用了官方推薦的圖形化Shader插件ShaderGraph,與傳統(tǒng)的材質(zhì)設(shè)計通過代碼編輯器編寫glsl/hlsl[6]相比有兩點優(yōu)勢:不需要學(xué)習(xí)特殊的材質(zhì)編寫語言;可實時查看材質(zhì)效果(圖2所示)。通過使用ShaderGraph特效材質(zhì)制作插件完成了設(shè)備部件連接和交互觸發(fā)等需要操作提示或效果提示的材質(zhì)效果,這也是使用基礎(chǔ)材質(zhì)球所無法完成的。
5.3 Obi功能插件的使用
在制作交互的過程中遇到的最大問題就是如何制作實時的線路連接模擬,傳統(tǒng)的線路連接模擬使用的是三維動畫點緩存來模擬。但其存在制作過程復(fù)雜、緩存文件大、無法自由切換等缺點[7],而使用Obi繩索線纜制作插件可以完美解決這些問題,不需要任何緩存,能實時模擬電線的各種連接變形動畫,直觀而且便捷(圖3所示)。缺點就是占用更多的CPU算力,而在本項目開發(fā)中,線路運算并不是特別復(fù)雜,最大負載時CPU占用率在30%左右,完全不影響正常使用。
有了以上這些功能插件的幫助,大大縮減了整個項目的制作周期,最后完成的效果也符合前期的設(shè)計要求,操作體驗流程流暢不卡頓,制作的特效材質(zhì)的提示效果也恰到好處,最終完成的操作界面如圖4所示。
6 結(jié)束語
采用unity3D引擎制作的該虛擬仿真系統(tǒng)具有“虛擬性”、“安全性”、“低成本”、“復(fù)用性”、“智能性”等優(yōu)點。而實時的電線連接反饋以及各種燈光和開關(guān)的特殊效果展現(xiàn),更能幫助技術(shù)人員隨時身臨其境體驗真實的物聯(lián)網(wǎng)設(shè)備的安裝。
參考文獻(References):
[1] 鐘書華.物聯(lián)網(wǎng)演義(二)——《ITU互聯(lián)網(wǎng)報告2005:物聯(lián)網(wǎng)》[J].物聯(lián)網(wǎng)技術(shù),2012.2(6):87-89
[2] 潘舒潔.基于Unity3D的虛擬現(xiàn)實交互系統(tǒng)的設(shè)計與實現(xiàn)[J].數(shù)碼世界,2020.12:250-251
[3] 王斌.物聯(lián)網(wǎng)專業(yè)數(shù)字電子技術(shù)虛擬仿真教學(xué)[J].福建電腦,2021.37(2):131-133
[4] 陳小飛,陳曉君.基于地鐵軌道交通環(huán)控系統(tǒng)的虛擬現(xiàn)實與仿真關(guān)鍵技術(shù)研究[J].數(shù)字技術(shù)與應(yīng)用,2020.38(3):170-172,174
[5] 張娟.基于虛擬現(xiàn)實和物聯(lián)網(wǎng)技術(shù)的實驗室漫游系統(tǒng)[J].數(shù)字技術(shù)與應(yīng)用,2018.36(12):45,47
[6] 張福峰,王敏,金會賞.基于Unity3DUGUI動態(tài)材質(zhì)修改的實現(xiàn)[J].電腦知識與技術(shù),2020.16(25):218-219
[7] 關(guān)媛元.基于緩存系統(tǒng)的影視級別群組動畫制作方法的研究及實現(xiàn)[D].東北師范大學(xué),2015.