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