肖 聰,唐毓?jié)?/p>
(西南交通大學(xué) 電氣工程學(xué)院,四川 成都 611756)
虛擬交通仿真系統(tǒng)可用于系統(tǒng)設(shè)計(jì)、人員培訓(xùn)、預(yù)案演練等領(lǐng)域,促進(jìn)了交通系統(tǒng)的快速發(fā)展[1]。在虛擬交通環(huán)境仿真系統(tǒng)中,視景仿真是構(gòu)建其場(chǎng)景模型以及動(dòng)畫(huà)效果的關(guān)鍵技術(shù)[2-4]。而虛擬環(huán)境仿真系統(tǒng)中的樹(shù)木植被是視景仿真場(chǎng)景中的重要組成部分,渲染出具有高真實(shí)感的樹(shù)木植被決定著整個(gè)場(chǎng)景的沉浸感[5]。目前,針對(duì)城市軌道交通的虛擬仿真系統(tǒng)通常采用開(kāi)放場(chǎng)景圖(Open Scene Graph,OSG)對(duì)其真實(shí)環(huán)境進(jìn)行視景仿真,OSG作為三維圖形庫(kù)在道路、建筑物等方面都有較高程度的還原效果。但在植被建模方面,由于其采用十字交叉面法,使得仿真模型僅在遠(yuǎn)處的效果較好,而近處的植被模型會(huì)有一定程度上的失真[6]。SpeedTree,Xfrog等植物建模方面專(zhuān)業(yè)的仿真軟件可以設(shè)計(jì)出真實(shí)感較強(qiáng)的植被模型。但是,單獨(dú)軟件設(shè)計(jì)出的還原度較高的植被模型在導(dǎo)入到虛擬交通環(huán)境仿真系統(tǒng)之后,其風(fēng)動(dòng)效果因兼容性等問(wèn)題而無(wú)法加載,致使植被的沉浸感較差。
本研究選用植物模型專(zhuān)業(yè)仿真軟件SpeedTree對(duì)虛擬交通環(huán)境仿真系統(tǒng)中的樹(shù)木植被進(jìn)行仿真建模,高度還原軌道交通環(huán)境中真實(shí)存在的樹(shù)木植被。同時(shí),將所生成的高還原度的植物模型導(dǎo)入到基于OSG平臺(tái)的虛擬交通仿真系統(tǒng)中后,通過(guò)加載相關(guān)風(fēng)場(chǎng)模型以及樹(shù)木枝條的形變計(jì)算和樹(shù)葉的旋轉(zhuǎn)計(jì)算,模擬出風(fēng)場(chǎng)中樹(shù)木隨風(fēng)飄搖的效果。從而達(dá)到真實(shí)體現(xiàn)樹(shù)木的風(fēng)動(dòng)效果并進(jìn)一步加強(qiáng)整個(gè)仿真系統(tǒng)沉浸感的目的。
高真實(shí)樹(shù)木模型建立可通過(guò)多種專(zhuān)業(yè)軟件實(shí)現(xiàn),包括定性可視化軟件和定量可視化軟件。其中,SpeedTree,Xfrog等定性可視化軟件側(cè)重于植物建模的美觀(guān)程度。而L-studio/Vlab,Virtual Plants等定量可視化軟件的特點(diǎn)是結(jié)合植物復(fù)雜的幾何結(jié)構(gòu),根據(jù)植物生長(zhǎng)變化規(guī)律,定量地模擬植物的生長(zhǎng)過(guò)程。針對(duì)虛擬交通環(huán)境系統(tǒng)中的樹(shù)木仿真要求以及本實(shí)驗(yàn)室的實(shí)際情況,通過(guò)對(duì)比研究,論文選用能夠較好地滿(mǎn)足實(shí)驗(yàn)需求的植物建模專(zhuān)用軟件SpeedTree來(lái)完成高逼真樹(shù)木模型的建立。
目前被廣泛應(yīng)用于游戲開(kāi)發(fā)以及影視制作等虛擬場(chǎng)景中的植物模型有相當(dāng)一部分是利用SpeedTree軟件構(gòu)建[7-8]。相比于其他專(zhuān)業(yè)植物建模軟件,SpeedTree能夠在極大地還原真實(shí)場(chǎng)景中樹(shù)木植被的同時(shí)減少多邊形的使用量,這樣可以大幅度減少內(nèi)存,進(jìn)而提高實(shí)時(shí)渲染的速率。該軟件之所以會(huì)有這樣的優(yōu)勢(shì),是因?yàn)槠洳粌H使用基于多邊形的繪制技術(shù),而是將基于圖像的技術(shù)與之結(jié)合形成混合繪制技術(shù)。同時(shí),分為以下3個(gè)部分對(duì)樹(shù)木植被進(jìn)行仿真建模:樹(shù)干和大樹(shù)枝的繪制,小樹(shù)枝模型建立以及樹(shù)葉的生成。采用貝塞爾曲線(xiàn)來(lái)繪制樹(shù)干和大樹(shù)枝。貝塞爾曲線(xiàn)是用來(lái)繪制曲線(xiàn)的一種常用方法,通過(guò)貝塞爾曲線(xiàn)可以較好地模擬樹(shù)木枝條無(wú)規(guī)律生長(zhǎng)的特點(diǎn),同時(shí)可以快速地獲得枝條上頂點(diǎn)的坐標(biāo),為之后的渲染提供了便利[9];采用兩個(gè)互相垂直的面貼上樹(shù)枝紋理來(lái)完成對(duì)小樹(shù)枝的模擬繪制;樹(shù)葉則通過(guò)布告板技術(shù)來(lái)實(shí)現(xiàn)繪制,布告板技術(shù)的主要原理是利用一個(gè)面貼上樹(shù)葉模型紋理來(lái)實(shí)現(xiàn)繪制。在紋理細(xì)節(jié)方面,Speed Tree在建模過(guò)程中將其紋理分為基本貼圖、光照貼圖和法線(xiàn)貼圖3級(jí),從而達(dá)到加強(qiáng)植物模型紋理細(xì)節(jié)的呈現(xiàn),使得植物模型更加真實(shí)。Speed Tree通過(guò)使用以上混合繪制技術(shù)構(gòu)建的模型既可以保證樹(shù)木的高逼真度,又能達(dá)到減少三角形面的目的。圖1是通過(guò)SpeedTree生成的植物模型。
本實(shí)驗(yàn)室建立的虛擬交通仿真系統(tǒng)是利用OSG開(kāi)發(fā)的開(kāi)放式可視化框架。使用OSG可以提高場(chǎng)景的渲染效率,進(jìn)而提升整個(gè)仿真系統(tǒng)的性能[10]。OSG支持.ive,.3ds,.obj,.fbx等多種格式,但使用SpeedTree生成的植物模型為.spm格式,該格式與OSG三維引擎不兼容。因此,需要將SpeedTree生成的樹(shù)木模型轉(zhuǎn)換到能夠滿(mǎn)足OSG兼容性要求的格式,同時(shí),能較好地保存植物模型中原有的復(fù)雜幾何模型、紋理貼圖、光照等特性。針對(duì)上述要求,選擇將.spm格式轉(zhuǎn)換成.fbx格式并將格式轉(zhuǎn)換后的樹(shù)木模型導(dǎo)入到虛擬交通仿真系統(tǒng)中,通過(guò)相關(guān)裁剪優(yōu)化技術(shù)對(duì)植物模型進(jìn)行進(jìn)一步優(yōu)化,并通過(guò)實(shí)例化渲染以及多細(xì)節(jié)層次(Levels of Detail,LOD)等技術(shù)對(duì)其進(jìn)行大面積渲染,最終生成的效果如圖2所示。

圖1 SpeedTree植物模型

圖2 虛擬交通環(huán)境中樹(shù)木模型效果
在真實(shí)自然環(huán)境中,樹(shù)木植被并不能始終保持靜止不動(dòng),而是會(huì)由于風(fēng)力、阻力等外力對(duì)其的影響和作用產(chǎn)生無(wú)規(guī)律的動(dòng)態(tài)搖擺。為虛擬交通環(huán)境中的樹(shù)木模型添加風(fēng)動(dòng)效果能夠進(jìn)一步增強(qiáng)整個(gè)場(chǎng)景的真實(shí)感。因此,要在仿真系統(tǒng)中進(jìn)行風(fēng)場(chǎng)的構(gòu)建。目前,國(guó)內(nèi)外針對(duì)風(fēng)所具有的易變性和不可控性的特征已經(jīng)建立了諸如基于噪聲函數(shù)、高斯隨機(jī)過(guò)程、組合風(fēng)速模型、指數(shù)分布、偏正態(tài)分布等多種風(fēng)力模型[11]。其中,基于噪聲函數(shù)和正態(tài)分布概率密度函數(shù)模型以及組合風(fēng)速模型常被用于構(gòu)建樹(shù)木植被仿真中的風(fēng)力模型[12-13]。
噪聲函數(shù)是通過(guò)一系列正余弦波的疊加而形成的種子隨機(jī)發(fā)生器。利用噪聲函數(shù)公式(1)來(lái)表示風(fēng)力Fw的變化。

其中a,b,c,d表示波形的變化,F(xiàn)w表示風(fēng)力。波形額變化意味著風(fēng)速模型的變化,風(fēng)的強(qiáng)弱由通過(guò)a,b,c,d參數(shù)的值來(lái)決定。
自然界的風(fēng)是從零開(kāi)始慢慢增大,最終又慢慢減小到零的過(guò)程,為了模擬出更接近于自然環(huán)境中真實(shí)的風(fēng)力效果。將高斯隨機(jī)過(guò)程公式引入到公式(1)中,對(duì)其做進(jìn)一步修正。

其中F表示加入高斯隨機(jī)過(guò)程后的風(fēng)力,f(t)表示正態(tài)分布的概率密度函數(shù),u值是風(fēng)力變化的半個(gè)周期。σ的值決定風(fēng)力變化的波形,σ值增大表示曲線(xiàn)的峰值降低,反之則升高。
由基本風(fēng)Va、陣風(fēng)Vb、漸變風(fēng)Vc和噪聲風(fēng)Vd4個(gè)部分所構(gòu)成的組合風(fēng)速模型能夠把風(fēng)速的隨機(jī)性、間歇性進(jìn)行精確描述。同時(shí),將自然風(fēng)分為4個(gè)部分分別計(jì)算也降低了仿真計(jì)算的難度。
4.2.1 基本風(fēng)Va
基本風(fēng)可以看作是風(fēng)場(chǎng)形成中一直存在的并且一般不隨時(shí)間變化而改變的風(fēng),因而可以取常數(shù)Kb表示。

4.2.2 陣風(fēng)Vb
自然風(fēng)的風(fēng)速有時(shí)會(huì)突然產(chǎn)生變化,利用具有余弦特性的陣風(fēng)可以描述該特點(diǎn)。

其中,Gmax表示陣風(fēng)形成中的最大值,Tg,T1和t分別表示陣風(fēng)的周期、起始時(shí)間和持續(xù)時(shí)間。
4.2.3 漸變風(fēng)Vc
自然風(fēng)中風(fēng)速有時(shí)是逐漸增大或減小的,通過(guò)漸變風(fēng)可以模擬自然風(fēng)中風(fēng)速逐漸變化的特點(diǎn)。

其中,Rmax為漸變風(fēng)周期的峰值,T3,T4和Tr分別為風(fēng)場(chǎng)中漸變風(fēng)開(kāi)始的時(shí)間、結(jié)束漸變的時(shí)間,以及漸變風(fēng)的持續(xù)時(shí)間。
4.2.4 隨機(jī)風(fēng)Vd
風(fēng)速的變化在指定相對(duì)高度上具有不確定性,該特點(diǎn)可以用隨機(jī)風(fēng)來(lái)描述

其中,Vdmax為隨機(jī)風(fēng)的最大值;Ra(-1,1)為-1和1之間均勻分布的隨機(jī)數(shù);ωv取值一般在0.5π~2π之間用來(lái)表示風(fēng)速波動(dòng)的平均距離;θ為0~2π間均勻分布的隨機(jī)量。
綜合上述對(duì)四種風(fēng)速的描述,可得到組合風(fēng)速Vs的數(shù)學(xué)模型為

本文結(jié)合實(shí)驗(yàn)室實(shí)際情況選用組合風(fēng)速模型對(duì)風(fēng)速進(jìn)行模擬,通過(guò)分別對(duì)4部分進(jìn)行計(jì)算來(lái)求得風(fēng)速。
仿真環(huán)境中的樹(shù)木要達(dá)到隨風(fēng)飄搖的效果,除了需要對(duì)風(fēng)場(chǎng)進(jìn)行上述模擬,還需對(duì)樹(shù)木形變進(jìn)行物理計(jì)算[14]。場(chǎng)景中搖曳、飄蕩的樹(shù)枝、樹(shù)干和樹(shù)葉是單棵樹(shù)木受到風(fēng)影響下的具體表現(xiàn)。因此,可以對(duì)這3大部分進(jìn)行相應(yīng)的動(dòng)態(tài)變化來(lái)體現(xiàn)整顆樹(shù)木的風(fēng)效。
樹(shù)枝的彎曲形變可以通過(guò)改變由經(jīng)驗(yàn)公式直接生成的枝條隨時(shí)間變化的夾角來(lái)模擬。樹(shù)枝在風(fēng)場(chǎng)作用下具有不規(guī)律的特點(diǎn),因此,引入慣性因子對(duì)其幅度和擺動(dòng)角度進(jìn)行插值,使各枝條的運(yùn)動(dòng)更符合自然規(guī)律。
樹(shù)干的運(yùn)動(dòng)主要是由連接在其上的各分枝的曳力引起的。為了計(jì)算樹(shù)干的形變,對(duì)每根枝條先分別進(jìn)行變形計(jì)算再將它們組合以獲得樹(shù)干以及樹(shù)木的整體形變[15]。同時(shí)根據(jù)各分支的索引列表,確定分枝之間的邏輯連接關(guān)系,基于此連接關(guān)系從根開(kāi)始逐步傳遞地進(jìn)行頂點(diǎn)的變換來(lái)得到樹(shù)干的振蕩效果。其樹(shù)木分枝信息 Branch Info 和頂點(diǎn)信息Branch Vertex 的數(shù)據(jù)結(jié)構(gòu)如下所示:


為了使樹(shù)木在受到場(chǎng)景中的風(fēng)場(chǎng)的作用時(shí)達(dá)到近似真實(shí)的彎曲效果,可以根據(jù)風(fēng)速的大小以及方向?qū)?shù)枝進(jìn)行形變計(jì)算并通過(guò)旋轉(zhuǎn)矩陣計(jì)算得到偏移位置。
植物模型中的樹(shù)葉是通過(guò)布告板技術(shù)繪制的,因此可以通過(guò)平移帶紋理的布告板來(lái)模擬其位置的改變,通過(guò)其本身繞坐標(biāo)軸的旋轉(zhuǎn)來(lái)模擬樹(shù)葉角度的變化[16]。通過(guò)上述兩種方法來(lái)近似模擬樹(shù)葉在風(fēng)中的動(dòng)態(tài)效果。
虛擬交通環(huán)境仿真場(chǎng)景中的樹(shù)木由于分布位置不同,導(dǎo)致其在受到風(fēng)的影響時(shí)振動(dòng)步調(diào)不一致。因此,引入物理量相位來(lái)反應(yīng)樹(shù)木的振動(dòng)狀態(tài)。不同位置的樹(shù)初相位不同,初始時(shí)樹(shù)的傾斜狀態(tài)就不一樣,因此樹(shù)木在風(fēng)的影響下擺動(dòng)步調(diào)不一致。
樹(shù)木在加載風(fēng)場(chǎng)下的模擬流程如圖3所示。

圖3 樹(shù)木的動(dòng)態(tài)模擬流程
將組合風(fēng)速模型加載到虛擬交通環(huán)境仿真場(chǎng)景中,設(shè)定20 s 為一個(gè)周期;Va=6 m/s,Gmax=3 m/s,T1=0,Tg=20 s,Rmax=1 m/s,T3=0,T4=10 s,Tr=10 s,Vdmax=2 m/s,ωv=2π,其組合風(fēng)速波形如圖4所示,在加載風(fēng)效模型后,取兩個(gè)不同時(shí)間點(diǎn)進(jìn)行觀(guān)察,效果如圖5所示。

圖4 組合風(fēng)速仿真波形
通過(guò)仿真波形可以看出,該組合風(fēng)速模型通過(guò)4部分的計(jì)算可以較好地模擬自然風(fēng)突變、漸變、隨機(jī)等特性。在將風(fēng)場(chǎng)模型加入到仿真系統(tǒng)中,并通過(guò)后期一系列的測(cè)試優(yōu)化調(diào)整后,系統(tǒng)運(yùn)行流暢,同時(shí)整個(gè)仿真系統(tǒng)幀速率基本維持在30~55之間,基本符合系統(tǒng)正常運(yùn)行的要求。
本文使用SpeedTree三維建模軟件構(gòu)建高真實(shí)感的植物模型,研究了樹(shù)木仿真過(guò)程中常見(jiàn)的風(fēng)場(chǎng)模型。同時(shí),通過(guò)樹(shù)木枝條的形變計(jì)算以及樹(shù)葉的旋轉(zhuǎn)計(jì)算模擬了樹(shù)木在組合風(fēng)速模型下的動(dòng)態(tài)變化。最后將其順利的導(dǎo)入在基于OSG平臺(tái)的虛擬交通環(huán)境仿真系統(tǒng)中。較好地體現(xiàn)了仿真場(chǎng)景中樹(shù)木再風(fēng)場(chǎng)中的動(dòng)態(tài)效果,增強(qiáng)了虛擬交通環(huán)境場(chǎng)景沉浸感。

圖5 風(fēng)力作用下樹(shù)木的動(dòng)態(tài)效果
[參考文獻(xiàn)]
[1]葉華平,姚軍,錢(qián)雪軍.城市軌道交通列車(chē)虛擬駕駛仿真系統(tǒng)[J].城市軌道交通研究,2015(11):124-126.
[2]ZHU L,YU F R,NING B,et al.Design and performance enhancements in communication-based train control systems with coordinated multipoint transmission and reception[J].IEEE Transactions on Intelligent Transportation Systems,2014(3):1258-1272.
[3]曾林森.基于Unity3D的跨平臺(tái)虛擬駕駛視景仿真研究[D].長(zhǎng)沙:中南大學(xué),2013.
[4]王懷松,陳榮武.基于三維視景的列車(chē)運(yùn)行仿真平臺(tái)的研究與實(shí)現(xiàn)[J].系統(tǒng)仿真技術(shù),2016(4):275-279.
[5]湯穎,嵇海鋒,盛風(fēng)帆,等.大規(guī)模森林多精度生長(zhǎng)仿真模型及其計(jì)算加速算法[J].小型微型計(jì)算機(jī)系統(tǒng),2016(5):1033-1038.
[6]張海建,李紅,孫丹.基于OSG的漫游仿真系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化應(yīng)用,2017(8):6-8.
[7]張婷.基于SPEEDTREE軟件虛擬園林植物的建造研究[J].安徽農(nóng)學(xué)通報(bào),2016(16):123-127.
[8]夏紅梅,張欣景,胡訓(xùn)強(qiáng).基于SpeedTree工具的三維真實(shí)感樹(shù)木建模研究[J].艦船電子工程,2015(1):99-101.
[9]楊薇,李怡宏.基于VC實(shí)現(xiàn)的貝塞爾曲線(xiàn)初探[J].科技經(jīng)濟(jì)導(dǎo)刊,2015(8):26,210.
[10]孫倩,劉晶晶.OSG視景仿真技術(shù)應(yīng)用[J].中國(guó)科技信息,2017(Z1):18-20.
[11]劉文洋,張文福.三維空間相關(guān)風(fēng)場(chǎng)的計(jì)算機(jī)模擬及Matlab程序?qū)崿F(xiàn)[J].空間結(jié)構(gòu),2008(2):17-20.
[12]吳曉暉,黃心淵.基于Virtools平臺(tái)的森林仿真風(fēng)效技術(shù)研究[J].計(jì)算機(jī)應(yīng)用與軟件,2013(5):108-111.
[13]張興,司媛媛,張強(qiáng),等.基于Labview的虛擬風(fēng)場(chǎng)算法的研究[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2005(9):1062-1064.
[14]淮永建,王梅峰,左正興,等.虛擬環(huán)境中森林植被的實(shí)時(shí)可視化技術(shù)研究[J].計(jì)算機(jī)工程與應(yīng)用,2004(35):33-36.
[15]于亞莉.大規(guī)模場(chǎng)景中真實(shí)感風(fēng)場(chǎng)作用的實(shí)時(shí)模擬研究[D].成都:電子科技大學(xué),2011.
[16]熊壯,王潤(rùn)杰,陳蕾,等.動(dòng)態(tài)三維樹(shù)實(shí)時(shí)仿真設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2009(8):2004-2007.