◎ 朱亞輝
(鄭州中糧科研設計院有限公司電氣工程研究所,河南 鄭州 450053)
隨著智能AI技術的研究不斷推進,目前利用VR技術制作三維展示系統(tǒng)的應用日益廣泛,支持其相關的軟件工具與應用技術得到了充分發(fā)展。而在糧食行業(yè)中智能化糧庫信息管理平臺的開發(fā)與應用相對落后,采用物聯(lián)網技術與虛擬現(xiàn)實技術相結合開發(fā)成熟的智能三維展示系統(tǒng)迫在眉睫,三維系統(tǒng)中要體現(xiàn)更加精準的數(shù)據信息和設備模型的功能特效,其在糧食工程智能軟件建設與庫區(qū)數(shù)字化管理的交互體驗方面尤為突出,特別是采用虛擬現(xiàn)實技術開發(fā)的智能糧情三維虛擬展示系統(tǒng)的研究,Unity3D引擎技術開發(fā)與應用和WebGL渲染技術的應用受到了當前廣泛的關注與運用,逐漸成為了當今糧食食品行業(yè)信息化智能化平臺開發(fā)中的熱點。
近幾年來,隨著三維技術開放性發(fā)展逐漸引入糧食信息化展示平臺,開發(fā)智能糧情三維展示系統(tǒng)的技術不斷得到更新與開發(fā),給糧食行業(yè)智能化發(fā)展與應用帶來了遠大前景。Unity3D是由Unity Technologies開發(fā)的一個讓玩家輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容的多平臺的綜合型游戲開發(fā)工具,是一個全面整合的專業(yè)游戲引擎[1]。Unity3D主要特性具有層級式的綜合開發(fā)環(huán)境、可視化編輯,詳細的屬性編輯器和動態(tài)的游戲預覽[2]。Unity是被用來快速的制作游戲或者開發(fā)游戲原型的成功典范,同時具體自動資源導入功能和更新功 能, 支 持 3dsMax、Maya、Blender、Cinema4D、Cheetah3D等三維格式,圖形引擎使用Direct3D和OpenGL,并采用map技術支持Render-to-texture和全屏post processing效果[3]。Unity3D的部署簡單,自帶一個IDE: MonoDevelop,支持多平臺打包等操作均可以在編輯器里面直接完成[4]。另外,Unity的中間件均可打包成unitypackage進行發(fā)布,插件的部署也是最簡便的。Unity3D具有完整的技術路線,Unity最大的特點就是形成了一個成規(guī)模的插件市場,在此基礎上,Unity具有相當多的中間件,可以大大加快獨立開發(fā)者和公司的開發(fā)進度。Unity3D具有C#作為腳本支持,以至于在諸多應用領域得到了廣泛開發(fā)和運用[5]。
本研究的目的在于利用糧情信息化平臺進行虛擬現(xiàn)實技術的開發(fā),提高糧庫糧情管理虛擬的自然性和高效性。目前,糧情系統(tǒng)開發(fā)僅限于二維的數(shù)據展示,人與計算機交互沒有直觀的方式瀏覽到糧倉模型及糧情具體實物感,虛擬現(xiàn)實技術則是更進一步實現(xiàn)其系統(tǒng)開發(fā)局限的鑰匙,使糧情三維展示系統(tǒng)的數(shù)據交互效率更加直觀。隨著計算機科學技術的快速發(fā)展,更高層次的虛擬現(xiàn)實技術理念對虛擬實驗提出了巨大的要求,越來越多的科研人員開始對新的虛擬現(xiàn)實技術的多通道界面展開研究,目前的研究內容主要集中在虛擬現(xiàn)實技術、增強現(xiàn)實技術、體感交互技術相結合的AI技術研究。而虛擬現(xiàn)實技術的出現(xiàn)為促進糧情三維展示平臺的開發(fā)前景具有重要意義。
3DMax是基于PC系統(tǒng)的三維動畫渲染和制作軟件,具有強大的角色動畫制作能力,同時可堆疊建模步驟,使制作模型有非常大的彈性,“標準化”建模,針對建筑建模領域相較對突出的優(yōu)越性,是目前相對流行的三維建模工具[6]。則Autodesk Revit是提供支持建筑設計、MEP工程設計和結構工程的工具。是專為BIM構建的,可幫助建筑設計師設計、建造和維護質量更好、能效更高的建筑[7]。選擇Revit建模是它能更準確呈現(xiàn)BIM工程項目的詳細信息,可以通過精確實現(xiàn)建筑外觀的可視化,模擬真實性能以便讓項目各方了解成本、工期與環(huán)境影響。
Unity3D是游戲引擎、游戲開發(fā)工具,是實現(xiàn)三維平臺展示需要一個可以渲染3D模型、動畫,可以塑造空間感、光感的引擎[4]。由于Unity3D引擎能夠支持多種軟件導入的三維模型,多種輸入操作方式,包括友好的可視化界面以及基本編輯輸入模式,編程語言采用C#和JS進行開發(fā),同時支持2D和3D的維度開發(fā)流程,方便開發(fā)[4]。開發(fā)此系統(tǒng)我們選擇了Unity3D作為開發(fā)平臺,利用它的強大虛擬現(xiàn)實開發(fā)功能,將展示倉庫糧情的畫面質量得以優(yōu)質的呈現(xiàn)。
三維倉庫模型是整個虛擬系統(tǒng)展示的基礎,它的好壞直接影響了虛擬環(huán)境的色彩視角和真實度。在3D Max/Revit軟件中建立產品模型時在滿足視覺效果不失真的情況下,盡量采用最簡單的對象和模型,并且盡量用參數(shù)化方法構建對象,減少基本模型幾何體的節(jié)點層和分段數(shù)[4]。
根據建筑模型的特殊性和軟件的構造方法不同,總的建模和優(yōu)化過程:建立模型之后,再設置產品材質、紋理、動畫,調整燈光等參數(shù),把模型進行烘焙處理后轉換成fbx格式存檔輸出。在虛擬三維空間中,材質和紋理是用于模擬產品表面的反射特性,基本材質是用于模擬產品表面的反彈特性,包括紋理、光照、貼圖時的使用,它使用三種顏色構成對象表面:由環(huán)境光顏色、漫反射顏色、高光顏色組成。Revit作為BIM建模軟件使用三種顏色及對建筑物模型高光區(qū)的控制,可以創(chuàng)建出大部分基本反射建筑貼圖材質。這種材質相對簡單,但能生成有效的渲染效果。將處理好的fbx文件導入Unity 3D軟件中,置入攝像機、燈光,將材質、紋理、貼圖依次配置,調整好參數(shù)和動作使得視覺效果達到最佳[4]。
交互設計是整個虛擬展示系統(tǒng)的關鍵部分,在Unity3D中,這些交互動作是通過對虛擬模型的Script進行行為模塊的連接和各個參數(shù)的設置來實現(xiàn)的。這種方式使得設計過程更加清晰,更加容易調試。為模型對象創(chuàng)建腳本Script,這部分要充分考慮到各個Script執(zhí)行的順序和邏輯性。在每個Script中對交互動作進行編程,來實現(xiàn)各種倉庫對象的一系列展示動作,如平移、旋轉、放大、縮小、變換顏色、貼圖等。
①在單個倉體模型的倉頂添加Script實現(xiàn)點觸功能,使淺圓倉、立筒倉和星型倉設置滑動計算機鼠標放置上倉頂時,顯示倉號、倉容、谷型、倉溫和倉濕等信息。②在主場景攝像機上添加Script實現(xiàn)發(fā)射功能,使點擊功能進入淺圓倉、立筒倉和星型倉內部。如圖1所示。
圖1 庫區(qū)縱覽三維虛擬展示效果圖
在主場景中添加UI面板,設置倉庫信息、儲量、等級、溫度、監(jiān)控、蟲害、濕度、操作狀態(tài)等內容,依次添加單選按鈕功能,點擊時顯示相應的信息內容。如圖2所示。
淺圓倉Ⅰ期包含23根測溫電纜線,每根電纜線有18個標準測溫點對象,即分為18層測溫線圈。淺圓倉Ⅱ期包含28根電纜線,每根電纜線有15個標準測溫點對象,也即分為15層測溫線圈。立筒倉包含14根測溫電纜線,每根電纜線有23個標準測溫點對象,也即分為23層測溫線圈。星型倉包含1根測溫電纜線,每根電纜線有20個測溫點對象,也即分為20層測溫線圈。①根據每種倉型的實際布線結構設置電纜及測溫點模型大小和位置,為每個測溫點模型添加Script實現(xiàn)連接網絡服務器搭建,并實時顯示設備讀取的數(shù)據,添加UI面板依次按照電纜序號排列,選擇相應編號時顯示相應的電纜測溫點及實時溫度數(shù)值,由不同的顏色表示不同的溫度范圍。②為倉體內部添加倉容信息,由Script實現(xiàn)點觸功能,提示倉號、倉溫、倉濕、最高溫、最低溫、平均溫和糧谷高度等信息。再次,添加UI面板依次顯示倉號、大氣溫度、大氣濕度、倉內溫度、倉內濕度、最高糧溫、最低糧溫和平均糧溫等信息。如圖3所示。
圖3 倉內電纜測溫效果圖及控制展板顯示數(shù)據圖
通風設備分倉底風機和倉頂風機兩類,分別4個,對稱排列的形式擺放。首先,在每種倉的倉頂添加風扇模型,并對風扇壁添加Script實現(xiàn)點觸功能,點擊時顯示控制風扇屬性面板,根據服務器設備自然狀態(tài)傳感參數(shù)來設置面板上風扇實時狀態(tài),也可以手動操作,點擊單選按鈕時可打開倉底通風窗,然后開啟軸流風機設備,同時發(fā)送命令并接收后臺發(fā)送過來的狀態(tài)執(zhí)行相應的操作,比如通風、降溫、保濕、增溫等,每隔5 s刷新一下當前狀態(tài),可以手動操作通風口使倉內同樣達到降溫或增溫的效果。同時對風扇葉添加Script實現(xiàn)update時自然轉動。如圖4所示。
圖4 倉頂風機和通風窗,倉壁通風口設備的效果及智能控制面板圖
隨著互聯(lián)網智能化的發(fā)展,傳統(tǒng)建筑行業(yè)利用BIM建模技術及虛擬現(xiàn)實技術將會得到廣泛的應用,相關技術領域的軟件開發(fā)與研究將會進一步發(fā)展。本文提出的智能糧情三維虛擬展示系統(tǒng)的設計流程和交互式的動作設置,可讓用戶從直觀的角度去體驗、去觀察糧倉及糧情的詳細信息,實時了解通風的情況。本系統(tǒng)通過擴展編程,實現(xiàn)交互式操作,更有效地表達虛擬現(xiàn)實環(huán)境,給使用者更加真實的感受。