張 婧 林 暢 李娟莉
(1.太原理工大學(xué) 工程訓(xùn)練中心,太原 030024;2.太原理工大學(xué) 機(jī)械與運(yùn)載工程學(xué)院,太原 030024)
由于設(shè)備、場地及物理等現(xiàn)實因素的限制,用戶很難接觸和參與食品生產(chǎn)過程[1]。虛擬現(xiàn)實技術(shù)利用計算機(jī)創(chuàng)造沉浸式虛擬場景,結(jié)合物理樣機(jī)的高真實性特點,使用戶在模擬環(huán)境中參與食品生產(chǎn)。眾多學(xué)者開始將虛擬現(xiàn)實技術(shù)應(yīng)用于數(shù)字化工廠。鐘玲等人以Unity3D軟件為基礎(chǔ)[2],在面粉生產(chǎn)仿真中應(yīng)用虛擬現(xiàn)實技術(shù),配合關(guān)鍵設(shè)備詳解和工藝流程仿真,實現(xiàn)了面粉生產(chǎn)工藝流程及其生產(chǎn)設(shè)備的仿真和展示。姚亮等人利用Unity3D開發(fā)的烹飪專業(yè)仿真系統(tǒng)[3],解決了烹飪專業(yè)實訓(xùn)難、教學(xué)成本高等問題。易俊潔等人利用Unity3D仿真和多媒體技術(shù)再現(xiàn)果蔬汁生產(chǎn)工藝全過程[4],解決食品生產(chǎn)實踐難以開展的問題。盧亞萍的團(tuán)隊利用Unity3D軟件等構(gòu)建了食用菌工廠化生產(chǎn)虛擬仿真系統(tǒng)[5],彌補(bǔ)了食用菌在生產(chǎn)實踐中的局限??梢?,虛擬仿真技術(shù)在食品行業(yè)應(yīng)用廣泛。
月餅作為我國的中秋傳統(tǒng)美食,生產(chǎn)流程復(fù)雜,涉及的設(shè)備體積大、數(shù)量多。目前,研究人員多在配方研制和生產(chǎn)工藝改良方面進(jìn)行研究,在虛擬仿真方面研究較少,導(dǎo)致大眾難有途徑了解月餅的生產(chǎn)流程。將現(xiàn)代工業(yè)化流水線生產(chǎn)與月餅制作工藝相結(jié)合,基于Unity3D引擎開發(fā)月餅生產(chǎn)的數(shù)字化仿真系統(tǒng),并通過模塊化設(shè)計和交互設(shè)計,為用戶提供多樣化游戲體驗。設(shè)計的系統(tǒng)以通俗親切的方式進(jìn)行相關(guān)展示,使得用戶可以通過系統(tǒng)高效、輕松地了解月餅的生產(chǎn)流程。
系統(tǒng)的整體框架如圖1所示,分為資源層、模型層、功能層及應(yīng)用層4個主要部分。
圖1 系統(tǒng)整體框架
資源層構(gòu)建資源庫,存儲相關(guān)開發(fā)信息。資源層包含設(shè)備庫和數(shù)據(jù)庫2部分。設(shè)備庫存儲月餅生產(chǎn)流程中相關(guān)機(jī)械設(shè)備及物品等的外觀、尺寸等信息。數(shù)據(jù)庫存儲用戶信息和系統(tǒng)運(yùn)行的相關(guān)數(shù)據(jù)。
模型層根據(jù)資源層的設(shè)備庫,按1∶1的比例,完成設(shè)備、人物與場景模型的構(gòu)建。
功能層在模型層的基礎(chǔ)上,將系統(tǒng)模塊化,還原模型的物理狀態(tài)與相應(yīng)功能,并結(jié)合資源層數(shù)據(jù)庫,進(jìn)一步實現(xiàn)認(rèn)知模塊、生產(chǎn)模塊、評分模塊和模擬增強(qiáng)現(xiàn)實(Augmented Reality,AR)模塊。
應(yīng)用層通過用戶界面(User Interface,UI)和腳本加入系統(tǒng)界面,實現(xiàn)人物交互和信息反饋,使各個層集成為一個完整的系統(tǒng)。
Unity3D引擎在開發(fā)仿真系統(tǒng)上具有搭建簡便、場景還原等優(yōu)點。許多采用Unity3D作為開發(fā)平臺的仿真系統(tǒng),均取得了良好效果。因此,本系統(tǒng)選用Unity3D作為開發(fā)引擎。
系統(tǒng)機(jī)器設(shè)備的建模需要專業(yè)的機(jī)械設(shè)計軟件。人物及場景的建模在參數(shù)設(shè)計和裝配關(guān)系上沒有嚴(yán)格要求,選用設(shè)計和編輯模型便捷的建模軟件。經(jīng)過對比,系統(tǒng)采用SolidWorks軟件和3ds Max軟件進(jìn)行場景建模。
為了更好地組織和管理系統(tǒng),對系統(tǒng)進(jìn)行模塊化處理,將系統(tǒng)分離成各個獨(dú)立功能部分,有利于后續(xù)對系統(tǒng)進(jìn)行功能維護(hù)與完善。
2.2.1 認(rèn)知模塊
系統(tǒng)建立了以非玩家角色(Non-Player Character,NPC)、對話面板和指引箭頭為主要要素的認(rèn)知模塊。該模塊以一種連續(xù)性、完整性和情感性的方式與用戶進(jìn)行交互[6-7],引導(dǎo)用戶理解感受,增強(qiáng)用戶參與感,如圖2所示。
圖2 認(rèn)知模塊
NPC行走、等待以及交談等動作,在3ds Max中完成。將各個動作單獨(dú)導(dǎo)出為bip文件,在Motion→Mixer Mode的Mixer中將所有動畫bip文件串接成一個動畫。將NPC模型導(dǎo)出成帶有動畫的fbx文件,并導(dǎo)入Unity3D中進(jìn)行動畫切片和動畫狀態(tài)機(jī)設(shè)置。
NPC設(shè)置了交互動畫與語音。用戶操作系統(tǒng)時,NPC的交互能夠為用戶營造人文氛圍。語音能減少用戶閱讀負(fù)擔(dān),優(yōu)化操作體驗。對話面板通過建立角色形象與角色背景,為用戶創(chuàng)造一種敘事介入交互體驗,并以第一人稱進(jìn)行敘述,增強(qiáng)用戶代入感。指引箭頭根據(jù)對話面板為用戶指示需要進(jìn)行操作的物體,使用戶更快理解操作。
2.2.2 生產(chǎn)模塊
生產(chǎn)模塊將模型層各個獨(dú)立模型組合成完整的流水線,再現(xiàn)其完整的生產(chǎn)流程。該模塊破除了現(xiàn)實因素的阻礙,使用戶在各個場景全方面地了解和操作各個設(shè)備物品。
生產(chǎn)模塊中實現(xiàn)機(jī)械運(yùn)動的關(guān)鍵技術(shù)主要涉及4個方面。
第一,和面機(jī)、烘焙機(jī)等設(shè)備的運(yùn)動沒有嚴(yán)格配合運(yùn)動要求,也不受用戶操作的影響,在3ds Max中制作運(yùn)動動畫,動畫隨fbx文件一起導(dǎo)入Unity3D,通過Unity的Animation和腳本控制模型運(yùn)動。
第二,用戶啟動包餡機(jī)時,包餡機(jī)、成型機(jī)和排盤機(jī)3機(jī)聯(lián)合運(yùn)動。包餡機(jī)、成型機(jī)和排盤機(jī)需要嚴(yán)格的流水線配合運(yùn)動,且用戶操作會對其運(yùn)動造成影響,故其動畫由Unity3D的腳本實現(xiàn)。包餡機(jī)部分較為簡單,在腳本中設(shè)置機(jī)器開關(guān)與生產(chǎn)數(shù),當(dāng)包餡機(jī)開機(jī)且生產(chǎn)數(shù)大于0時,包餡機(jī)刀具每隔1 s運(yùn)動一次,并產(chǎn)生一個帶有餡團(tuán)類腳本的空物體,同時為腳本編號??瘴矬w下帶有餡團(tuán)模型子物體。餡團(tuán)類腳本控制餡團(tuán)每秒移動一定距離,到達(dá)成型機(jī)模具下方時,將餡團(tuán)模型子物體替換為月餅?zāi)P汀T嘛瀬淼脚疟P機(jī)后,按照腳本編號移動到相應(yīng)位置下落到烤盤中,設(shè)置其父物體為烤盤,至此完成餡團(tuán)的移動。
第三,成型機(jī)部分設(shè)置碰撞體模擬紅外感應(yīng)。帶有餡團(tuán)子物體的空物體觸發(fā)成型機(jī)的OnTriggerStay時,成型機(jī)的模具進(jìn)行壓模運(yùn)動,將餡團(tuán)模型替換成相應(yīng)形狀的月餅。為豐富用戶體驗,系統(tǒng)提供不同的月餅?zāi)>摺S脩艨梢愿鼡Q成型機(jī)的模具,壓制不同形狀的月餅。
第四,排盤機(jī)部分由于烤盤運(yùn)動與排盤板運(yùn)動相關(guān),動畫腳本復(fù)雜。排盤板每秒在列方向上移動一個月餅的間距后下放月餅。排盤機(jī)中的烤盤需要在排盤板每完成一行月餅的排列后向行進(jìn)方向推進(jìn)一個行距。
2.2.3 評分模塊
評分對于引導(dǎo)用戶深入了解整個系統(tǒng)有著重要作用。評分會激發(fā)用戶的積極性,鼓勵用戶深入發(fā)掘系統(tǒng),得到更多甚至超出預(yù)期的體驗。
評分模塊通過C#、碰撞體等判斷用戶是否完成相應(yīng)操作,給出相應(yīng)的分?jǐn)?shù),流程如圖3所示。當(dāng)前得分會通過UGUI顯示給用戶,最終得分和評分細(xì)則在用戶退出操作后才顯示。系統(tǒng)會將用戶信息和得分保存在數(shù)據(jù)庫,根據(jù)用戶分?jǐn)?shù)更新并顯示其排名。
圖3 評分模塊流程
游戲中的用戶交互界面給玩家提供了良好的用戶體驗。本系統(tǒng)交互設(shè)計主要體現(xiàn)在以下3個方面。第一,精致的開始和結(jié)束界面。兩者相互呼應(yīng)、簡潔明了,配色與游戲主配色相匹配,帶有月餅圖片以及“月餅工廠”4個大字,讓玩家清晰明了游戲目的。游戲設(shè)置了2種游戲模式,玩家可任意選擇。認(rèn)知模式一步步指引玩家按照步驟進(jìn)行游戲。自由模式玩家更加獨(dú)立自主,不需要參照游戲提示,如圖4所示。第二,清晰的流程指示。在認(rèn)知模式中,玩家通過NPC和箭頭的指引,可順利完成月餅的制作。第三,詳細(xì)的評分系統(tǒng)。游戲的評分界面簡單明了,玩家既可以看到游戲得分,也可以看到評分細(xì)則,如圖5所示。
圖4 開始界面
圖5 評分系統(tǒng)
系統(tǒng)開發(fā)的目的是普及月餅工業(yè)生產(chǎn)全流程。在系統(tǒng)開發(fā)過程中,設(shè)計界面時整體采用精美且休閑的風(fēng)格,加上清晰的指示流程和舒緩的背景樂,使用戶從觸覺、視覺和聽覺上得到放松,產(chǎn)生良好的感官體驗。系統(tǒng)用戶界面向用戶清晰展示各項功能,輔助用戶操作,并潛在地影響用戶的操作感受。對開發(fā)的系統(tǒng)功能進(jìn)行集成,即可完成系統(tǒng)開發(fā)。
為測試系統(tǒng)的性能優(yōu)劣,隨機(jī)抽取山西某食品公司的50名員工進(jìn)行操作體驗,并以問卷方式對體驗結(jié)果進(jìn)行記錄,測試的體驗結(jié)果如表1所示。
表1 系統(tǒng)測試結(jié)果
測試結(jié)果表明,系統(tǒng)在場景還原度和操作舒適度上表現(xiàn)良好,功能模塊使得系統(tǒng)流暢度、體驗豐富度的評分很高。
基于Unity3D引擎開發(fā)的月餅生產(chǎn)數(shù)字化仿真系統(tǒng),還原了月餅工業(yè)生產(chǎn)流水線運(yùn)作。系統(tǒng)的功能模塊化使得用戶擁有高自由度的操作和多樣化體驗,既可跟隨系統(tǒng)配備的認(rèn)知模塊進(jìn)行操作,也可自行探索。邀請若干用戶操作體驗系統(tǒng),均反映對月餅工業(yè)化生產(chǎn)有了深刻印象,體驗效果良好,在為大眾普及月餅生產(chǎn)和開發(fā)同類型仿真系統(tǒng)上具有一定的推廣和借鑒意義。