范國華,焦俊,張友華,樂毅
(安徽農(nóng)業(yè)大學(xué)信息與計算機學(xué)院,合肥230036)
Virtools在虛擬植物生長過程可視化方面的應(yīng)用
范國華,焦俊,張友華,樂毅
(安徽農(nóng)業(yè)大學(xué)信息與計算機學(xué)院,合肥230036)
文章在敘述Virtools虛擬現(xiàn)實技術(shù)的基礎(chǔ)上,介紹并分析了Virtools在虛擬植物建模及可視化方面的應(yīng)用,并以西紅柿的生長過程為例,完成了一個西紅柿三維生長演示系統(tǒng),利用3ds Max構(gòu)建西紅柿生長的各階段模型,使用Virtools來完成各階段間的銜接控制,并以文字方式提示各階段的影響.
Virtools;虛擬植物生長過程;三維動畫模擬
植物的生長周期一般長達數(shù)月甚至數(shù)年,如果能運用計算機仿真技術(shù)對農(nóng)林植物的生長過程和結(jié)構(gòu)進行三維模擬,使整個生長周期被濃縮在幾分鐘甚至幾秒的時間里,并按照人們的意愿“隨心所欲”地生長,這將極大地推進農(nóng)業(yè)的科研和教學(xué).
本文設(shè)計了一個西紅柿三維生長演示系統(tǒng),利用3ds Max構(gòu)建西紅柿生長的各階段模型,使用Virtools來完成各階段間的銜接控制,并以文字方式提示各階段的影響.
Virtools引擎是一套整合軟件,可以將現(xiàn)有常用的檔案格式整合在一起,如3D模型、2D圖形或是音效等,其具備豐富的互動行為模塊,可以讓設(shè)計人員利用內(nèi)置的行為模塊(BB)快速制作出許多不同用途的3D互動產(chǎn)品.Virtools與中視典的VRP是國內(nèi)最知名的兩大虛擬現(xiàn)實平臺軟件.
Virtools主要經(jīng)由一個設(shè)計完善的圖形使用界面,使用模塊化的行為模塊(BB)以流程圖的形式賦予對象強大的交互功能.通過流程圖中行為模塊的運用及其先后邏輯順序的連接編輯,從而實現(xiàn)可視化交互腳本的設(shè)計,通過組合完成一個完整的虛擬現(xiàn)實系統(tǒng).其中Virtools包含的對象如圖1所示.
圖1 Virtools行為對象
近年來,圍繞著植物生長過程的可視化,國內(nèi)外學(xué)者開展了大量卓有成效的研究工作.由于植物的生長周期較長,影響其生長的因素也很多.自然環(huán)境、氣候、蟲害,甚至植物自身的形狀及器官都會影響植物的果實。因此,要真實的模擬植物的生長,就需要建立包括所有影響植物生長因素在內(nèi)的植物生長模型,這在目前的條件下尚難以實現(xiàn),所以,現(xiàn)有的植物生長過程可視化仿真方法都對植物的生長機理進行了簡化,如只考慮水、陽光等主要環(huán)境因素,或者不考慮根系的生長和對地上部的影響.現(xiàn)有的目前比較常用的方法和模型有以下幾種:L系統(tǒng)、參考軸技術(shù)、雙尺度自動機模型、植物三維重建法、迭代系統(tǒng)函數(shù)、GreenLab模型、基于生長模型的生長可視化仿真、基于關(guān)鍵幀的生長動畫模擬、粒子系統(tǒng)等.
本文所設(shè)計的西紅柿三維生長演示系統(tǒng)屬于基于關(guān)鍵幀的作物生長三維動畫模擬,利用3ds Max
構(gòu)建西紅柿樹6個生長階段的外形模型,利用Virtools來完成各階段間的銜接控制,并對各階段西紅柿受微量元素的影響效果有專門的文字說明.演示系統(tǒng)的實現(xiàn)流程如圖2所示.
圖2 西紅柿三維生長演示系統(tǒng)的實現(xiàn)流程
本文所設(shè)計的西紅柿三維生長演示系統(tǒng)三維模型部分使用三維動畫渲染和制作軟件3ds Max2010來構(gòu)建西紅柿樹的相關(guān)模型,演示系統(tǒng)控制平臺部分使用游戲引擎Virtools4.0來完成控制.
3.1 系統(tǒng)總體設(shè)計目標
安徽農(nóng)業(yè)大學(xué)與銅陵市普濟農(nóng)業(yè)科技有限公司合作研究氮磷鉀等微量元素對西紅柿生長各階段的影響,研究完成后需要向各方演示西紅柿在各生長階段受微量元素影響的效果,之前的演示主要是使用ppt+人員說明,但效果并不直觀.為了更好的提供演示效果,兩方合作開發(fā)西紅柿三維生長演示系統(tǒng).西紅柿三維生長演示系統(tǒng)是一個基于游戲引擎virtools的單機版軟件,提供對西紅柿6個生長階段:種子發(fā)芽、幼苗期、苗期、開花期、坐果期、盛果期的西紅柿樹的不同形態(tài)的模擬,并對各階段西紅柿受微量元素的影響效果有專門的文字說明.本文著重論述西紅柿三維生長演示系統(tǒng)的三維模型設(shè)計以及邏輯控制的具體實現(xiàn)過程.
3.2 系統(tǒng)三維模型設(shè)計
三維建模技術(shù)是西紅柿三維生長演示系統(tǒng)重要的組成部分之一.系統(tǒng)看起來是否真實可信取決的就是三維建模的結(jié)果是否真實生動.西紅柿三維生長演示系統(tǒng)的三維建模使用3ds Max2010來完成,利用工具測量出西紅柿樹外形的相關(guān)參數(shù),然后根據(jù)參數(shù)構(gòu)建三維模型及優(yōu)化.
3.2.1 植物模型構(gòu)建
西紅柿樹是演示系統(tǒng)的最重要組成部分,3ds Max中制作植物有遠景、中景、近景、平面拼插貼圖法等方法.考慮到場景的需求,決定制作西紅柿樹各個階段的近景效果,即利用多邊形建模制作西紅柿樹的軀干和成果,葉子部分用貼圖來實現(xiàn)。這樣既可以保證西紅柿樹的三維效果又能適當減少面數(shù).
3.2.2 土壤模型構(gòu)建
土壤是演示系統(tǒng)的另一重要組成部分,沒有土壤,西紅柿樹就無法存活.3ds Max中制作土壤的方法也有幾種,考慮到實時漫游的需求,制作土壤的簡模,利用貼圖來實現(xiàn)效果。在3ds Max中建立一個長方體,然后修改其邊界制造圓滑效果,對長方體中部進行適當升降,制作出土地高低不平的效果,最后利用噪波貼圖來實現(xiàn)土壤效果.
3.2.3 整體模型優(yōu)化
實時場景對電腦的CPU和GPU要求較高,因此3d模型在導(dǎo)入Virtools前要進行優(yōu)化,盡量減少模型面數(shù),將多個次要對象通過布爾運算合并成一個對象,減少virtools的渲染負擔,將場景進行適當切割,利用Portal組件,使場景中只有攝像機看得見的部分資料載入內(nèi)存中,檢查場景中有無孤立的點和面,予以刪除,調(diào)整貼圖模式、減少燈光的使用等,通過這些措施對模型進行優(yōu)化,以提高系統(tǒng)運行時的幀數(shù).
目前進行虛擬演示系統(tǒng)的開發(fā),在平臺的選擇上大致有二種選擇,一種是直接利用面向硬件底層API的調(diào)用,從而達到自主開發(fā)引擎的目的,這種方式運行效率較高、設(shè)計靈活、有自主產(chǎn)權(quán)但花費的代價比較大;第二種是用第三方軟件商開發(fā)提供的帶有商業(yè)意義的虛擬現(xiàn)實引擎,使用者不需要對具體的技術(shù)細節(jié)進行研究即可以通過該引擎制作出比較實用的虛擬演示系統(tǒng)產(chǎn)品.西紅柿三維生長演示系統(tǒng)采用第二種方法,使用法國達索公司開發(fā)的游戲引擎Virtools來完成演示效果.
4.1 西紅柿三維生長演示系統(tǒng)演示系統(tǒng)的邏輯結(jié)構(gòu)
本文所設(shè)計的西紅柿三維生長演示系統(tǒng)屬于基于關(guān)鍵幀的作物生長三維動畫模擬,利用3ds Max構(gòu)建西紅柿樹6個生長階段的外形模型,使用Virtools來完成各階段間的銜接控制,并對各階段西紅柿受微量元素的影響效果有專門的文字說明.演示系統(tǒng)的邏輯結(jié)構(gòu)如圖3所示.
圖3 西紅柿三維生長演示系統(tǒng)的邏輯結(jié)構(gòu)
4.2 關(guān)鍵技術(shù)
4.2.1 界面視角
根據(jù)演示系統(tǒng)本身的特點,系統(tǒng)采用的是自由漫游。首先設(shè)定一臺攝像機,攝像機的鏡頭就相當于用戶的眼睛,用戶可以操作鍵盤控制攝像機在場景內(nèi)隨意前進、后退、左右旋轉(zhuǎn),也可以通過鍵盤或
者鼠標,改變攝像機角度來模擬人仰視、俯視的狀態(tài).系統(tǒng)使用的第三人稱攝像機,效果為角色眼睛平視看到的場景.第三人稱攝像機使用“Switch On Key”行為模塊配合“Translate”、“Rotate”行為模塊來實現(xiàn)鏡頭的轉(zhuǎn)動效果.第三人稱攝像機設(shè)置的腳本如圖4所示:
圖4 第三人稱攝像機
4.2.2 初始化界面
西紅柿三維生長演示系統(tǒng)的主界面如圖5所示,整個界面分為4塊,中間為三維模型顯示區(qū)域,左邊為生長階段選擇區(qū)域,上部為微量元素選擇區(qū)域,中部偏左上的小塊是文字說明區(qū)域.
圖5 西紅柿三維生長演示系統(tǒng)主界面
在演示系統(tǒng)剛打開時,土壤模型、生長階段選擇、微量元素選擇這3塊是初始顯示的,西紅柿樹模型和文字說明則要通過鼠標選擇相應(yīng)按鈕才會出現(xiàn),所有的西紅柿樹模型和文字說明在初始階段都由“Hide”行為模塊隱藏,相應(yīng)腳本如圖6.
圖6 系統(tǒng)初始化
4.2.3 生長階段選擇
西紅柿的生長可以分為6個階段:種子發(fā)芽期、幼苗期、苗期、開花期、坐果期、盛果期.主界面的左邊6個按鈕分別代表這6個階段,點擊任意一個時期的按鈕,系統(tǒng)會利用“PushButton”行為模塊來判斷點擊的是哪一個按鈕,接下來利用“Activate Script”行為模塊來激活zhiwu腳本,隱藏當前屏幕上所有的西紅柿三維模型,接著利用“Show”行為模塊在屏幕上顯示相應(yīng)的西紅柿當前形態(tài)的模型。同時,利用“Send Message To Group”行為模塊來保存當前選擇的成長階段.圖7顯示的是選擇“種子發(fā)芽”階段的相應(yīng)腳本.
圖7 種子發(fā)芽階段腳本
4.2.4 影響元素選擇
在西紅柿生長過程中,能對其產(chǎn)生影響的微量元素主要有氫、氮、鉀、鈣鎂硫、PH和EC6個因素,在西紅柿的各個生長時期,各微量元素起的作用各不相同.要觀看各微量元素對西紅柿各階段的影響,在各階段點擊界面上部的選項即可,影響效果用文字形式顯示在系統(tǒng)界面中部偏左上.當系統(tǒng)在西紅柿生長某個階段,點擊界面上部的6個按鈕,系統(tǒng)會利用“Wait Message”行為模塊來接受來自“Send Message To Group”行為模塊發(fā)送的信息來判斷當前西紅柿樹處于生長的哪個階段,接下來系統(tǒng)利用“PushButton”行為模塊來判斷點擊的是哪一個微量元素按鈕,判斷完后利用接下來利用“Activate Script”行為模塊來激活shuoming腳本,隱藏當前屏幕上所有的說明圖片,接著利用“Show”行為模塊在屏幕上顯示相應(yīng)的說明圖片.圖8顯示的是選擇“鉀”元素按鈕的相應(yīng)腳本.
圖8 鉀元素腳本
4.3 演示系統(tǒng)效果展示
西紅柿三維生長演示系統(tǒng)采用Virtools4.0開發(fā),設(shè)計并實現(xiàn)了西紅柿樹從發(fā)芽到長出果實的6個階段的完整三維模擬,效果如圖9所示。該系統(tǒng)設(shè)計效果良好且場景逼真,并且可以網(wǎng)頁形式發(fā)布,支持幾乎所有的瀏覽器,演示效果極佳.
本文設(shè)計了一種基于Virtools的西紅柿生長過程可視化模擬.該系統(tǒng)通過三維建模技術(shù)來展示西紅柿樹的各個生長階段模型,利用Virtools來完成各階段間的銜接控制,并對各階段西紅柿受微量元素的影響效果有專門的文字說明.系統(tǒng)設(shè)計效果良好且場景逼真,演示效果極佳.但仍有不足之處,如西紅柿樹造型精確性不高、系統(tǒng)功能簡單等,如何更細致的
量化西紅柿樹造型、如何更豐富的表示微量元素對西紅柿樹的影響將是筆者下一步研究的重點.
圖9 演示系統(tǒng)效果
[1]盧章平,張楠,等.虛擬植物整體生長研究現(xiàn)狀與展望[J].計算機仿真,2011,28(8).
[2]王雪,郭新宇,等.基于骨架模型的玉米生長生長運動仿真與動畫生成技術(shù)[J].農(nóng)業(yè)機械學(xué)報,2009,40(增刊).
[3]王啟榮.3D VR互動設(shè)計[M].臺北:文魁資訊,2010.
[4]范國華,杜哲明,等.基于Virtools的虛擬火車站漫游系統(tǒng)的設(shè)計與實現(xiàn)[J].紅河學(xué)院學(xué)報,2014(05).
[5]趙春江,郭新宇,等.農(nóng)林植物生長系統(tǒng)虛擬設(shè)計與仿真[M].北京:科學(xué)出版社,2010.
[6]吳曉暉,黃心淵.基于Virtools平臺的森林仿真風效技術(shù)研究[J].計算機應(yīng)用與軟件,2013,30(5).
[責任編輯張燦邦]
Application of Virtools in Visualization of Virtual Plant Growth
FAN Guo-hua,JIAO Jun,ZHANG You-hua,YUE Yi
(School of Information and Computer science,Anhui Agriculture university,Hefei 230036,China)
Based on the Virtools virtual reality technology,This thesis introduces and analyzes the application of Virtools in visualization of virtual plant growth.The growth process of tomatoes as an example,i completed a three-dimensional growth of tomato demonstration system,construct the model of tomato by 3ds Max,use Virtools to connect control stages,and display the impact of each stage of the text.
Virtools;virtual?plant growth;3D animation simulation
TP335+.3
A
1008-9128(2015)05-0043-04
2014-08-13
安徽省科技攻關(guān)項目(12010302079)
范國華(1982-),男,安徽合肥人,講師,碩士,研究方向:計算機圖形可視化,虛擬現(xiàn)實。