張 婧 林 暢 李娟莉
(1.太原理工大學 工程訓練中心,太原 030024;2.太原理工大學 機械與運載工程學院,太原 030024)
由于設備、場地及物理等現實因素的限制,用戶很難接觸和參與食品生產過程[1]。虛擬現實技術利用計算機創造沉浸式虛擬場景,結合物理樣機的高真實性特點,使用戶在模擬環境中參與食品生產。眾多學者開始將虛擬現實技術應用于數字化工廠。鐘玲等人以Unity3D軟件為基礎[2],在面粉生產仿真中應用虛擬現實技術,配合關鍵設備詳解和工藝流程仿真,實現了面粉生產工藝流程及其生產設備的仿真和展示。姚亮等人利用Unity3D開發的烹飪專業仿真系統[3],解決了烹飪專業實訓難、教學成本高等問題。易俊潔等人利用Unity3D仿真和多媒體技術再現果蔬汁生產工藝全過程[4],解決食品生產實踐難以開展的問題。盧亞萍的團隊利用Unity3D軟件等構建了食用菌工廠化生產虛擬仿真系統[5],彌補了食用菌在生產實踐中的局限??梢?,虛擬仿真技術在食品行業應用廣泛。
月餅作為我國的中秋傳統美食,生產流程復雜,涉及的設備體積大、數量多。目前,研究人員多在配方研制和生產工藝改良方面進行研究,在虛擬仿真方面研究較少,導致大眾難有途徑了解月餅的生產流程。將現代工業化流水線生產與月餅制作工藝相結合,基于Unity3D引擎開發月餅生產的數字化仿真系統,并通過模塊化設計和交互設計,為用戶提供多樣化游戲體驗。設計的系統以通俗親切的方式進行相關展示,使得用戶可以通過系統高效、輕松地了解月餅的生產流程。
系統的整體框架如圖1所示,分為資源層、模型層、功能層及應用層4個主要部分。

圖1 系統整體框架
資源層構建資源庫,存儲相關開發信息。資源層包含設備庫和數據庫2部分。設備庫存儲月餅生產流程中相關機械設備及物品等的外觀、尺寸等信息。數據庫存儲用戶信息和系統運行的相關數據。
模型層根據資源層的設備庫,按1∶1的比例,完成設備、人物與場景模型的構建。
功能層在模型層的基礎上,將系統模塊化,還原模型的物理狀態與相應功能,并結合資源層數據庫,進一步實現認知模塊、生產模塊、評分模塊和模擬增強現實(Augmented Reality,AR)模塊。
應用層通過用戶界面(User Interface,UI)和腳本加入系統界面,實現人物交互和信息反饋,使各個層集成為一個完整的系統。
Unity3D引擎在開發仿真系統上具有搭建簡便、場景還原等優點。許多采用Unity3D作為開發平臺的仿真系統,均取得了良好效果。因此,本系統選用Unity3D作為開發引擎。
系統機器設備的建模需要專業的機械設計軟件。人物及場景的建模在參數設計和裝配關系上沒有嚴格要求,選用設計和編輯模型便捷的建模軟件。經過對比,系統采用SolidWorks軟件和3ds Max軟件進行場景建模。
為了更好地組織和管理系統,對系統進行模塊化處理,將系統分離成各個獨立功能部分,有利于后續對系統進行功能維護與完善。
2.2.1 認知模塊
系統建立了以非玩家角色(Non-Player Character,NPC)、對話面板和指引箭頭為主要要素的認知模塊。該模塊以一種連續性、完整性和情感性的方式與用戶進行交互[6-7],引導用戶理解感受,增強用戶參與感,如圖2所示。

圖2 認知模塊
NPC行走、等待以及交談等動作,在3ds Max中完成。將各個動作單獨導出為bip文件,在Motion→Mixer Mode的Mixer中將所有動畫bip文件串接成一個動畫。將NPC模型導出成帶有動畫的fbx文件,并導入Unity3D中進行動畫切片和動畫狀態機設置。
NPC設置了交互動畫與語音。用戶操作系統時,NPC的交互能夠為用戶營造人文氛圍。語音能減少用戶閱讀負擔,優化操作體驗。對話面板通過建立角色形象與角色背景,為用戶創造一種敘事介入交互體驗,并以第一人稱進行敘述,增強用戶代入感。指引箭頭根據對話面板為用戶指示需要進行操作的物體,使用戶更快理解操作。
2.2.2 生產模塊
生產模塊將模型層各個獨立模型組合成完整的流水線,再現其完整的生產流程。該模塊破除了現實因素的阻礙,使用戶在各個場景全方面地了解和操作各個設備物品。
生產模塊中實現機械運動的關鍵技術主要涉及4個方面。
第一,和面機、烘焙機等設備的運動沒有嚴格配合運動要求,也不受用戶操作的影響,在3ds Max中制作運動動畫,動畫隨fbx文件一起導入Unity3D,通過Unity的Animation和腳本控制模型運動。
第二,用戶啟動包餡機時,包餡機、成型機和排盤機3機聯合運動。包餡機、成型機和排盤機需要嚴格的流水線配合運動,且用戶操作會對其運動造成影響,故其動畫由Unity3D的腳本實現。包餡機部分較為簡單,在腳本中設置機器開關與生產數,當包餡機開機且生產數大于0時,包餡機刀具每隔1 s運動一次,并產生一個帶有餡團類腳本的空物體,同時為腳本編號??瘴矬w下帶有餡團模型子物體。餡團類腳本控制餡團每秒移動一定距離,到達成型機模具下方時,將餡團模型子物體替換為月餅模型。月餅來到排盤機后,按照腳本編號移動到相應位置下落到烤盤中,設置其父物體為烤盤,至此完成餡團的移動。
第三,成型機部分設置碰撞體模擬紅外感應。帶有餡團子物體的空物體觸發成型機的OnTriggerStay時,成型機的模具進行壓模運動,將餡團模型替換成相應形狀的月餅。為豐富用戶體驗,系統提供不同的月餅模具。用戶可以更換成型機的模具,壓制不同形狀的月餅。
第四,排盤機部分由于烤盤運動與排盤板運動相關,動畫腳本復雜。排盤板每秒在列方向上移動一個月餅的間距后下放月餅。排盤機中的烤盤需要在排盤板每完成一行月餅的排列后向行進方向推進一個行距。
2.2.3 評分模塊
評分對于引導用戶深入了解整個系統有著重要作用。評分會激發用戶的積極性,鼓勵用戶深入發掘系統,得到更多甚至超出預期的體驗。
評分模塊通過C#、碰撞體等判斷用戶是否完成相應操作,給出相應的分數,流程如圖3所示。當前得分會通過UGUI顯示給用戶,最終得分和評分細則在用戶退出操作后才顯示。系統會將用戶信息和得分保存在數據庫,根據用戶分數更新并顯示其排名。

圖3 評分模塊流程
游戲中的用戶交互界面給玩家提供了良好的用戶體驗。本系統交互設計主要體現在以下3個方面。第一,精致的開始和結束界面。兩者相互呼應、簡潔明了,配色與游戲主配色相匹配,帶有月餅圖片以及“月餅工廠”4個大字,讓玩家清晰明了游戲目的。游戲設置了2種游戲模式,玩家可任意選擇。認知模式一步步指引玩家按照步驟進行游戲。自由模式玩家更加獨立自主,不需要參照游戲提示,如圖4所示。第二,清晰的流程指示。在認知模式中,玩家通過NPC和箭頭的指引,可順利完成月餅的制作。第三,詳細的評分系統。游戲的評分界面簡單明了,玩家既可以看到游戲得分,也可以看到評分細則,如圖5所示。

圖4 開始界面

圖5 評分系統
系統開發的目的是普及月餅工業生產全流程。在系統開發過程中,設計界面時整體采用精美且休閑的風格,加上清晰的指示流程和舒緩的背景樂,使用戶從觸覺、視覺和聽覺上得到放松,產生良好的感官體驗。系統用戶界面向用戶清晰展示各項功能,輔助用戶操作,并潛在地影響用戶的操作感受。對開發的系統功能進行集成,即可完成系統開發。
為測試系統的性能優劣,隨機抽取山西某食品公司的50名員工進行操作體驗,并以問卷方式對體驗結果進行記錄,測試的體驗結果如表1所示。

表1 系統測試結果
測試結果表明,系統在場景還原度和操作舒適度上表現良好,功能模塊使得系統流暢度、體驗豐富度的評分很高。
基于Unity3D引擎開發的月餅生產數字化仿真系統,還原了月餅工業生產流水線運作。系統的功能模塊化使得用戶擁有高自由度的操作和多樣化體驗,既可跟隨系統配備的認知模塊進行操作,也可自行探索。邀請若干用戶操作體驗系統,均反映對月餅工業化生產有了深刻印象,體驗效果良好,在為大眾普及月餅生產和開發同類型仿真系統上具有一定的推廣和借鑒意義。