• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于OSG粒子系統(tǒng)的飛行器發(fā)射特效的技術(shù)實現(xiàn)*

      2015-12-17 03:59:12楊永國
      艦船電子工程 2015年3期
      關(guān)鍵詞:尾焰粒子系統(tǒng)尾跡

      楊永國

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

      ?

      基于OSG粒子系統(tǒng)的飛行器發(fā)射特效的技術(shù)實現(xiàn)*

      楊永國

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

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

      OSG; 粒子系統(tǒng); 飛行器; 特效; 煙霧; 粒子操作器

      Class Number V27

      1 引言

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

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

      2 粒子系統(tǒng)原理

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

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

      3 飛行器發(fā)射特效的形態(tài)分析

      飛行器發(fā)射后形成的航跡和煙霧具有不規(guī)則的幾何外形和內(nèi)在的不確定性,因此應(yīng)根據(jù)飛行器發(fā)射環(huán)境的實際情況對煙霧的形態(tài)和受力情況進行具體分析,從中找到尾跡和煙霧的運動規(guī)律,建立煙霧的粒子模型,為粒子系統(tǒng)建模提供數(shù)據(jù)支持。

      3.1 發(fā)射平臺影響

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

      3.2 煙霧的特性分析

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

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

      4 用OSG粒子系統(tǒng)實現(xiàn)特效

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

      圖1 OSG粒子系統(tǒng)協(xié)同工作流程圖

      4.1 通過自定義粒子系統(tǒng)模擬飛行器尾焰特效

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

      表1 粒子模板參數(shù)設(shè)置

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

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

      表2 模塊發(fā)射器參數(shù)設(shè)置

      4) 使用osgParticle::ModularProgram建立模塊化程序?qū)嵗?用于為粒子系統(tǒng)添加自定義操作。建立AccelOperator操作器模擬重力加速度,根據(jù)實際效果設(shè)置尾焰受兩倍重力的作用。

      設(shè)置好粒子系統(tǒng)的各項參數(shù)后,將粒子系統(tǒng)添加到粒子更新器中,將之綁定到飛行器模型后加入到場景根節(jié)點進行渲染。

      圖2 自定義粒子系統(tǒng)生成的尾焰效果

      4.2 使用osgParticle預(yù)定義smoke類生成航跡特效

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

      圖3 SmokeEffect類生成尾跡效果

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

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

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

      5 結(jié)語

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

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

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

      [3] Paul Martz.王銳,錢學(xué)雷譯.OpenSceneGraph快速入門指導(dǎo)[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] 范乃梅,馬軍霞.基于粒子系統(tǒng)的煙霧和爆炸模擬[J].鄭州輕工業(yè)學(xué)院學(xué)報,2009,24(5):77-80.

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

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

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

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

      [10] 李露,陳定方.基于OSG的粒子系統(tǒng)特效控制的研究[J].湖北工業(yè)大學(xué)學(xué)報,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日

      楊永國,男,高級工程師,研究方向:地理信息系統(tǒng),虛擬現(xiàn)實。

      V27

      10.3969/j.issn1672-9730.2015.03.014

      猜你喜歡
      尾焰粒子系統(tǒng)尾跡
      基于粒子系統(tǒng)的尾焰紅外圖像實時仿真技術(shù)
      一種基于Radon 變換和尾跡模型的尾跡檢測算法
      利用GPU加速的粒子系統(tǒng)全球流場可視化系統(tǒng)設(shè)計與實現(xiàn)
      固體火箭尾焰等離子體特性影響因素數(shù)值仿真
      基于EEMD-Hilbert譜的渦街流量計尾跡振蕩特性
      多噴管液體火箭動力系統(tǒng)尾焰輻射特性研究
      UE 4粒子系統(tǒng)與外部數(shù)據(jù)通信研究
      多噴管火箭動力系統(tǒng)尾焰輻射特性可視化研究
      火箭推進(2016年6期)2016-03-08 07:13:34
      基于FABEMD和Goldstein濾波器的SAR艦船尾跡圖像增強方法
      基于粒子系統(tǒng)的建模與仿真綜述
      府谷县| 大荔县| 景谷| 松阳县| 龙胜| 茂名市| 盱眙县| 新河县| 南康市| 唐海县| 阳江市| 卢氏县| 昌乐县| 黎川县| 台北市| 金华市| 双峰县| 若羌县| 浠水县| 通州区| 滕州市| 平塘县| 河西区| 贺兰县| 大宁县| 阿荣旗| 玉环县| 瑞安市| 万载县| 江陵县| 弥勒县| 遵义县| 县级市| 崇文区| 体育| 扎鲁特旗| 富阳市| 盐山县| 体育| 黄陵县| 讷河市|