999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OSG粒子系統的飛行器發射特效的技術實現*

2015-12-17 03:59:12楊永國
艦船電子工程 2015年3期
關鍵詞:設置效果

楊永國

(91550部隊指控中心 大連 116023)

?

基于OSG粒子系統的飛行器發射特效的技術實現*

楊永國

(91550部隊指控中心 大連 116023)

實時三維虛擬場景中,較好的特效如火焰、煙霧等能夠增加場景的真實感和沉浸感。論文首先簡要介紹了粒子系統的基本原理,分析了飛行器的發射環境及煙霧的形態特征,通過設置三個不同的粒子系統實例實現了基于OSG的飛行器發射過程特效的模擬,達到了較好的視覺效果。

OSG; 粒子系統; 飛行器; 特效; 煙霧; 粒子操作器

Class Number V27

1 引言

飛行器發射時,發動機尾噴口會出現尾焰,同時產生大量的煙霧,隨著飛行器的運動,這些煙霧在空氣中擴散形成明顯的飛行器航跡。在模擬飛行器的發射過程時,進行航跡再現使指揮員對飛行器的運動過程有直觀的認識,也有助于提高仿真軟件的真實感和沉浸感[1]。因為飛行器發射環境的不同,使用粒子系統生成的火焰、煙霧等特效的形態、顏色、所受作用力等因素會有很大的差別。文獻[2]將火箭發射煙霧形體簡化為兩部分,一是火箭噴出的尾焰部分,二是氣流沖擊地面形成的煙塵部分,簡化了模擬過程,提高效率,對本文有很大的借鑒作用。

OpenSceneGraph(OSG)使用OpenGL技術開發,是一套基于C++平臺的應用程序接口,它讓程序員能夠更加快速、便捷地創建高性能、跨平臺的交互式圖形程序。它所具有的強大功能使其在虛擬現實、軍事仿真、三維動畫等方面得到了越來越廣泛的應用[3]。本文利用OSG的強大渲染功能和粒子系統方法,實現了對飛行器發射特效的實時渲染。

2 粒子系統原理

隨著計算機技術的發展,研究人員發現多邊形建模方法在模擬自然景觀時存在很大的局限性。因此1983年Reevs W.T.提出了使用粒子系統的方法用于模糊景物的模擬,如煙、云、火光等自然景物[4~5]。粒子系統是一種基于物理的建模方法,這是一種讓圖形對象遵守物理規律的建模方法。有兩種相關的方法建立這種模型。一種方法是模擬底層處理過程的物理規律,并利用這種物理規律來控制圖形對象的行為[6]。雖然這種方法可以使用物理學、熱力學等方面的專業知識進行精確求解,但復雜度太高不能應用到實時渲染中。另一種方法是把基本的物理原理和數學約束條件結合起來控制對象的行為。OSG的粒子系統就是采用的后一種方法來對粒子進行建模。

粒子系統不同于其他的靜態模型,它由很多的粒子組成,每個粒子都有一個由出生到滅亡的過程,因此才能夠模擬煙霧、水流等具有不規則形態和變化的圖形對象。粒子的屬性主要包括位置、速度、加速度、衰減、質量、顏色、紋理、大小和生命周期等[7~8]。尾跡和煙霧特效的每個粒子由發射器產生時,都會有一個初始位置即發射器的位置,隨著時間的變化,粒子的位置可以通過加速度求得。每個粒子可以隨機產生初始速度,由于受空氣阻力或重力等的影響粒子速度不斷變化。在自然環境仿真系統中,粒子離開發射器后它的加速度為重力加速度。粒子的質量大小需要根據空氣的物理特性進行設置。粒子的顏色、大小和紋理屬于粒子的外觀,通過設置紋理可以增強尾跡和煙霧的真實感。

3 飛行器發射特效的形態分析

飛行器發射后形成的航跡和煙霧具有不規則的幾何外形和內在的不確定性,因此應根據飛行器發射環境的實際情況對煙霧的形態和受力情況進行具體分析,從中找到尾跡和煙霧的運動規律,建立煙霧的粒子模型,為粒子系統建模提供數據支持。

3.1 發射平臺影響

飛行器的發射方式決定了仿真系統中飛行器尾跡特別是煙霧特效的表現形式。目前飛行器發射形式主要包括以下幾種: 1) 利用地下井進行發射的地下發射; 2) 利用各種艦載發射系統實施發射的水面發射; 3) 利用潛艇發射系統實施飛行器發射的水下發射; 4) 各種機載發射系統在空中實施飛行器發射。飛行器發射姿態包括水平發射、傾斜發射和垂直發射。不同的發射平臺和發射姿態產生的煙霧千差萬別,我們取其共性發現煙霧的形態主要有三種: 1) 地面、地下或海面垂直發射; 2) 車載、發射架或水下的傾斜發射; 3) 空中機載發射。本文主要實現第一種狀態水下發射條件下產生的煙霧特效,其他兩種效果可在第一種的前提下進行實現,這里不再詳細介紹。

3.2 煙霧的特性分析

模擬煙霧的行為,其基礎是研究與煙霧行為相關的因素[2]。煙霧有三種基本屬性:煙霧的運動速度、溫度和風的作用[5]。煙霧的運動速度由粒子發射器設置,為了模擬煙霧的湍流效果,將粒子的發射速度限制在一定的范圍內。為了體現溫度對煙霧的影響,可以設置粒子系統的阻尼系數,阻尼是指阻礙物體的相對運動、并把運動能量轉化為熱能或其他可以耗散能量的一種作用。影響煙霧的第三個因素是風的作用,OSG粒子系統中對風設置比較簡單,但需要考慮風力的大小和方向,想要實現較好的效果就需要通過不斷實踐獲得。

通過以上分析本文將飛行器發射過程需要模擬的特效分解為三個部分: 1) 飛行器發動機噴射的火焰,由于產生火焰的動力較高,環境對它的影響可以忽略不計。 2) 尾焰與空氣摩擦形成的飛行器航跡,形成尾跡的煙霧有其自身的特點,隨著飛行器的位置不斷變化,主要受空氣浮力、重力和風力風向的作用不斷向外擴散。 3) 垂直或傾斜發射初始時火焰噴向地面或水面,使大量的煙霧及粉塵反卷上揚形成一圈不規則形態的煙團,主要受重力、浮力和風力的影響。

4 用OSG粒子系統實現特效

OSG中關于粒子系統的操作都在osgParticale命名空間中,其中大部分的粒子系統模擬都采用的是Billboard技術與色彩融合技術生成粒子。OSG的粒子系統強大易用,有兩種使用方式,一種是OSG預定義的特效類,如火焰、煙霧、雨雪等。另外一種就是自定義特效類,只要清楚OSG粒子系統的基本原理和創建步驟,可以很輕易地創建符合特定要求的粒子系統[9]。在構建比較復雜的粒子特效時通常采用第二種方式,自定義粒子系統通過定義osgParticle::Program類實現對粒子的操作,即對粒子的運動進行控制,能夠高效地模擬空氣、水流等自然現象,生成非常真實的效果[10]。圖1為OSG粒子系統協同工作流程圖。

圖1 OSG粒子系統協同工作流程圖

4.1 通過自定義粒子系統模擬飛行器尾焰特效

1) 使用osg::Particle命名空間中的Particle類建立粒子模板,模板的作用是在粒子系統產生新粒子時為其設置基本屬性,包括粒子的生命周期、尺寸,透明度、顏色、粒子半徑和質量等屬性,其中粒子生命周期的大小決定了粒子從產生后到消亡的時間,從尾焰特效上顯現出來的效果是火焰變長或變短。尺寸、Alpha和顏色屬性設置了粒子的圖形形態。粒子半徑和質量設置了粒子的物理屬性,以此來計算粒子的速度等物理量。

表1 粒子模板參數設置

2) 使用osgParticle::ParticleSystem粒子系統類生成粒子系統的實例,通過ParticleSystem成員函數setDefaultAttributes設置粒子的紋理smoke.rgb、不使用放射性粒子、不使用燈光和紋理單元參數使用默認。將1)中設置好的粒子模板作為參數添加到粒子系統中,以初始化粒子參數。

3) 使用osgParticle::ModularEmitter定義一個模塊發射器,用于控制粒子的創建。模塊發射器的屬性由發射的隨機數目范圍、發射形狀與發射時的速度取向三個要素組成,即使不設置這三個要素的值,OSG會創建一個缺省的發射器[5]。為了保證飛行器尾焰效果采用恒定速率的方式發射粒子數目。Placer類控制發射器的發射形狀,如點形、圓形、環形等。本例中Placer使用圓形,粒子將在圓形的范圍內以一定的角度產生。發射時的速度取向通過類osgParticle::RadialShooter進行設置,在只需要重力環境的情況下可將發射速度設置為零,不設置發射角度。

表2 模塊發射器參數設置

4) 使用osgParticle::ModularProgram建立模塊化程序實例,用于為粒子系統添加自定義操作。建立AccelOperator操作器模擬重力加速度,根據實際效果設置尾焰受兩倍重力的作用。

設置好粒子系統的各項參數后,將粒子系統添加到粒子更新器中,將之綁定到飛行器模型后加入到場景根節點進行渲染。

圖2 自定義粒子系統生成的尾焰效果

4.2 使用osgParticle預定義smoke類生成航跡特效

OSG粒子系統針對現實中經常用到的粒子效果,如火光(FireEffect)、煙霧(SmokeEffect)、爆炸(ExplosionEffect)及爆炸碎片(ExplosionDebrisEffect)等進行了封裝,直接將這些類創建實例加入到場景中就有不錯的效果。本例中使用的飛行器尾跡特效就是在類SmokeEffect的基礎上,根據上述煙霧模型的特性對其進行參數設置,達到了較好的模擬效果。

圖3 SmokeEffect類生成尾跡效果

4.3 自定義UserSmoke類生成煙霧特效

定義繼承自SmokeEffect類的UserSmoke類,它能夠繼承煙霧模型相關的參數,可以提高程序的研制效率,根據之前對煙霧的分析設置參數,調整煙霧的基本屬性以達到滿意的效果。自定義繼承自osg::Operator類的粒子操作器smokeOperator用于實現對粒子的操作,控制粒子系統的每一粒子實時繪制,模擬煙霧上下翻騰的效果。實現粒子操作是通過重寫operate函數實現的,Operate函數包含particle對象實例p參數,p表示任一粒子,通過對p進行操作,可以控制場景中的每一個粒子[10]。這里主要是對粒子的方向、產生速度進行控制。首先在合適的位置建立UserSmoke類實例userSomke,通過getParticleSystem獲得粒子系統,使用osgParticle::ModularProgram類建立空氣動力程序類指針program,生成的自定義操作器smokeOperator類實例通過addOperator函數將其加入到program實例中,這樣UserSmoke類產生的每一個粒子都要經過smokeOperator類的處理。生成煙霧效果如圖4所示。

圖4 自定義UserSmoke類生成煙霧效果

5 結語

本文所述系統環境的硬件平臺為Intel Core i7-2600 CPU 3.40 GHZ,GT Force430 GPU,內存3G,所使用操作系統win7旗艦版,開發環境為VS2010,OSG版本為3.01,此環境下的實時渲染幀率可以達到57~59幀/秒,可以滿足大多數仿真軟件的要求。本文通過OSG粒子系統的預定義特效和自定義特效兩種方法相結合的方式實現了飛行器發射過程的特效模擬,達到了很好的預期效果,具有一定的參考價值和實際運用意義。

[1] 劉耀周,張錫恩.基于粒子系統的飛行器飛行航跡及煙霧的特效生成[J].計算機工程,2004,(1):174-176.

[2] 張海山,吳家鑄.基于粒子系統的火箭發射煙霧特效實現[J].微計算機信息,2008,12-3:248-249.

[3] Paul Martz.王銳,錢學雷譯.OpenSceneGraph快速入門指導[M].1-10.

[4] Reeves W T. Particle System- A technique for modeling a class of fuzzy objects[J]. Computer Graphics,1983,17(30):359-371.

[5] 范乃梅,馬軍霞.基于粒子系統的煙霧和爆炸模擬[J].鄭州輕工業學院學報,2009,24(5):77-80.

[6] Edward Angel, Dave Shreiner.張榮華,宋雨,劉書剛譯.交互式計算機圖形學—基于OpenGL著色器的自頂向下方法[M].北京:電子工業出版社,2012:328-329.

[7] 徐利明,姜昱明.基于粒子系統與OpenGL的實時雨雪模擬[J].計算機仿真,2005,22(7):242-245.

[8] 尹勇,金一丞,任鴻翔,等.自然現象的實時仿真[J].系統仿真學報,2002,14(9):1217-1219.

[9] 楊化斌,于振華,林中.OpenSceneGraph3.0三維視景仿真技術開發詳解[M].北京:國防工業出版社,2012:244-253.

[10] 李露,陳定方.基于OSG的粒子系統特效控制的研究[J].湖北工業大學學報,2009,24(4):51-53.

Realization of Special Effect Technology of Aircraft Launching Based on OSG

YANG Yongguo

(Control Center, No. 91550 Troops of PLA, Dalian 116023)

The sense of reality and immersion is increased by better special effects, including fire, smoke, etc in real-time simulant scenes. This article gives a brief on principle of particle system, analyzes characteristics of surroundings of aircraft launching and the smoke, realizes some special effects by building three different osgParticle instances based on OSG in order to reach preferable visual effects.

OSG, particle system, aircraft, special effects, smoke, particle operator

2014年9月15日,

2014年11月10日

楊永國,男,高級工程師,研究方向:地理信息系統,虛擬現實。

V27

10.3969/j.issn1672-9730.2015.03.014

猜你喜歡
設置效果
按摩效果確有理論依據
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
7招教你手動設置參數
迅速制造慢門虛化效果
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
3D—DSA與3D—CTA成像在顱內動脈瘤早期診斷中的應用效果比較
艦船人員編制的設置與控制
主站蜘蛛池模板: 美女视频黄又黄又免费高清| 精品视频一区在线观看| 久久精品aⅴ无码中文字幕 | 亚洲中久无码永久在线观看软件| 亚洲男人的天堂网| 一级做a爰片久久毛片毛片| 亚洲精品男人天堂| 国产在线精彩视频二区| 欧美性猛交一区二区三区| 久久久久久久97| 精品日韩亚洲欧美高清a| 男人天堂伊人网| 色综合久久久久8天国| 天天干伊人| 视频一本大道香蕉久在线播放| 麻豆国产在线观看一区二区| 无码专区国产精品第一页| 欧美日本一区二区三区免费| 久久精品视频亚洲| 欧美色图第一页| 在线观看免费国产| 日韩午夜福利在线观看| 久久综合九色综合97网| 久久综合伊人 六十路| 欧美性久久久久| 97狠狠操| 国产香蕉在线视频| 91精品情国产情侣高潮对白蜜| 国产美女无遮挡免费视频网站| 国产情侣一区二区三区| 亚洲人成色在线观看| 亚洲天堂久久久| 国产幂在线无码精品| 四虎免费视频网站| 99精品国产自在现线观看| 亚洲最大在线观看| 在线视频亚洲欧美| 免费一看一级毛片| 精品久久久久久久久久久| 人妻丝袜无码视频| 国产夜色视频| 亚洲人成人无码www| 99在线视频网站| 无码中文AⅤ在线观看| 久久亚洲中文字幕精品一区| 日韩不卡免费视频| 欧美区一区| 亚洲国产成人久久77| 久草中文网| 国产va在线观看| 国产成人一区在线播放| 欧美亚洲国产一区| 婷婷六月激情综合一区| 国产精品妖精视频| 免费在线国产一区二区三区精品| 88av在线播放| 毛片视频网址| 99re在线免费视频| 精品欧美日韩国产日漫一区不卡| 91口爆吞精国产对白第三集| 青青草91视频| 国产凹凸视频在线观看| 精品国产女同疯狂摩擦2| 丁香婷婷激情网| 国产成人无码播放| 亚洲欧美自拍一区| 一区二区日韩国产精久久| 久久女人网| 国产激情无码一区二区免费| 在线国产毛片| 国产粉嫩粉嫩的18在线播放91| 色爽网免费视频| 丰满的熟女一区二区三区l| AⅤ色综合久久天堂AV色综合| 亚洲欧洲自拍拍偷午夜色| 国产欧美视频综合二区| 狠狠五月天中文字幕| 日韩美女福利视频| 看国产一级毛片| 白丝美女办公室高潮喷水视频| 久久香蕉国产线看观看式| 午夜在线不卡|