• 
    

    
    

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

      ?

      Unity平臺(tái)中虛擬仿真魚群復(fù)雜行為的算法研究與優(yōu)化

      2019-12-27 07:03:06相景麗
      山西電子技術(shù) 2019年6期
      關(guān)鍵詞:碰撞檢測(cè)魚群群組

      相景麗

      (山西職業(yè)技術(shù)學(xué)院,山西 太原 030006)

      1 虛擬仿真環(huán)境下魚群算法復(fù)雜行為分析

      在虛擬仿真領(lǐng)域,經(jīng)常會(huì)涉及到對(duì)一些生物群組行為的虛擬仿真控制,例如在水中游動(dòng)的魚群、在天空盤旋的鳥群,以及在特定場(chǎng)景中移動(dòng)的動(dòng)物群、人群等。生物群組行為的虛擬仿真控制能夠使3D模擬技術(shù)在更多行業(yè)領(lǐng)域得到實(shí)際應(yīng)用,例如在人群疏散模擬、無(wú)人機(jī)群的飛行模擬等[1]。

      群組行為的虛擬仿真主要涉及兩個(gè)方面:一是個(gè)體行為的特征模擬,二是群組行為的特征模擬。個(gè)體與個(gè)體之間通常會(huì)存在隨機(jī)性的差異化行為,實(shí)現(xiàn)個(gè)體差異性行為的智能模擬較為容易,但在群組層面,個(gè)體的差異性行為則需要得到統(tǒng)一的控制,以避免群組行為的失控。特別是針對(duì)一些特殊行為的控制實(shí)現(xiàn),例如群組的隨機(jī)行為控制和障礙物的避讓路徑規(guī)劃,具體分析如下:

      1) 群組中的隨機(jī)行為

      一般的魚群算法所實(shí)現(xiàn)的群組移動(dòng)軌跡都是固定的,群組中節(jié)點(diǎn)的行為更新的頻率也是固定的,魚群會(huì)在相同的軌跡上一直飛,所有的魚都會(huì)在同一時(shí)間變快或者變慢。但在真實(shí)環(huán)境中群組移動(dòng)的軌跡不會(huì)一成不變,每個(gè)群組成員的行為改變也不可能同時(shí)發(fā)生,因此模擬群組行為時(shí),增加一些隨機(jī)行為效果是非常必要的。

      2) 障礙物的避讓行為

      在真實(shí)場(chǎng)景中群組移動(dòng)經(jīng)常會(huì)遇到各類障礙物,群組就會(huì)依據(jù)實(shí)際情況及時(shí)做出避讓反應(yīng),例如魚群在水中游動(dòng)時(shí)遇到的礁石,或者其他游動(dòng)的生物等。障礙物在場(chǎng)景中的存在形式也各有不同,有些障礙物是靜態(tài)存在的,這類障礙物在虛擬場(chǎng)景中可以預(yù)判到它的存在,那么最簡(jiǎn)單的方式就是通過(guò)預(yù)先的路徑設(shè)定,使群組直接繞開障礙物。但是還有些障礙物是動(dòng)態(tài)隨機(jī)出現(xiàn)的,這就需要群組具備實(shí)時(shí)的碰撞檢測(cè)功能,并依據(jù)檢測(cè)結(jié)果產(chǎn)生相應(yīng)的避讓行為,這也是本研究中魚群算法改進(jìn)策略中重點(diǎn)研究的內(nèi)容之一[2]。

      2 Unity3D中的魚群算法的研究與優(yōu)化

      2.1 魚群隨機(jī)行為的更新策略研究

      群組成員行為更新頻率的隨機(jī)性,這是針對(duì)所有的群組成員實(shí)現(xiàn)的隨機(jī)策略,每執(zhí)行一次,就會(huì)產(chǎn)生一個(gè)隨機(jī)的更新頻率。同時(shí)Unity提供有協(xié)程調(diào)用功能,可以利用該功能實(shí)現(xiàn)在群組成員對(duì)隨機(jī)策略的多次調(diào)用。如圖1所示。

      圖1 群組成員行為隨機(jī)更新中隨機(jī)策略的應(yīng)用思路

      RandomPush()函數(shù)的功能,是在整個(gè)群組移動(dòng)過(guò)程中,以基于FreqRandom的頻率對(duì)PushVel的值進(jìn)行更新。代碼示例:

      // radius為自定義的半徑值,time為協(xié)程調(diào)用的間隔時(shí)間

      PushVel=Random.insideUnitSphere*radius;time= Random.Range(-FreqRandom,F(xiàn)reqRandom);

      其中PushVel是魚群速度更新的影響因子之一,會(huì)以線性疊加的方式對(duì)魚群的最終速度產(chǎn)生影響。Random.insideUnitSphere()函數(shù)用于返回一個(gè)隨機(jī)速度向量,其取值范圍是以當(dāng)前boid的位置為中心,以radius為半徑的一個(gè)球體區(qū)間內(nèi)。

      FreqRandom用于隨機(jī)生成一個(gè)協(xié)程調(diào)用的間隔時(shí)間time,協(xié)同調(diào)用函數(shù)StartCoroutine()會(huì)依據(jù)time實(shí)現(xiàn)對(duì)RandomPush()的隨機(jī)調(diào)用。通過(guò)對(duì)RandomPush()的隨機(jī)調(diào)用,以實(shí)現(xiàn)對(duì)群組移動(dòng)速度的隨機(jī)調(diào)整,群組在移動(dòng)時(shí)就會(huì)具有一個(gè)隨機(jī)的速度增長(zhǎng)或降低的效果,這使得群組行為模擬更加的逼真、自然。

      2.2 魚群碰撞檢測(cè)策略優(yōu)化

      碰撞檢測(cè)功能用于檢測(cè)虛擬場(chǎng)景中所存在的物體有無(wú)發(fā)生碰撞[3],當(dāng)發(fā)生碰撞后就會(huì)觸發(fā)一些特定的事件。在群組移動(dòng)過(guò)程中利用碰撞檢測(cè)功能能夠幫助群組節(jié)點(diǎn)檢測(cè)到障礙物的存在,從而產(chǎn)生避讓行為。

      Unity3內(nèi)置有碰撞器組件和三個(gè)特定事件:OnCollisionEnter(進(jìn)入碰撞器)、OnCollisionStay(停留碰撞器)、OnCollisionExit(退出碰撞器)[4]。當(dāng)群組遇到障礙物后,碰撞組件會(huì)觸發(fā)特定事件,其實(shí)現(xiàn)過(guò)程如下:

      1) 為障礙物綁定碰撞器組件,并設(shè)定一個(gè)阻力值,為魚群中的所有節(jié)點(diǎn)添加剛體屬性。障礙物通過(guò)碰撞組件對(duì)節(jié)點(diǎn)進(jìn)行實(shí)時(shí)檢測(cè),當(dāng)發(fā)生節(jié)點(diǎn)進(jìn)入到碰撞器檢測(cè)范圍之后,會(huì)觸發(fā)三類事件:CollisionEnter事件、OnCollisionExit事件、OnCollisionStay事件。CollisionEnter事件會(huì)在碰撞發(fā)生時(shí)響應(yīng),OnCollisionExit事件會(huì)在碰撞結(jié)束時(shí)響應(yīng),OnCollisionStay事件在碰撞過(guò)程中可被多次響應(yīng)。將碰撞后所要實(shí)現(xiàn)的群組避讓行為寫入到響應(yīng)事件當(dāng)中,一旦碰撞發(fā)生,即可被即時(shí)調(diào)用處理。

      2) 利用剛體屬性中的加速度參數(shù)控制魚群的避讓行為,當(dāng)觸發(fā)碰撞事件之后,獲取節(jié)點(diǎn)A當(dāng)前速度視作進(jìn)入碰撞檢測(cè)范圍的初始速度v0,在碰撞器中設(shè)定一個(gè)最小速度值為A的末速度vt,且vt

      (1)

      G表示A的加速度值,在OnCollisionEnter事件中對(duì)A的加速度進(jìn)行動(dòng)態(tài)刷新,并將其視作A最終速度的影響因子之一,以線性疊加的方式計(jì)入到A的最終速度當(dāng)中。由于vt

      3 研究總結(jié)

      本研究圍繞Unity3D虛擬仿真項(xiàng)目開發(fā)中,生物群組的復(fù)雜行為展開了深入的研究。以魚群為例,對(duì)生物群組中移動(dòng)軌跡隨機(jī)更新與障礙物避讓的復(fù)雜行為進(jìn)行了分析,并提出了魚群算法的優(yōu)化改進(jìn)策略:碰撞檢測(cè)策略。碰撞檢測(cè)策略通過(guò)Unity內(nèi)置的剛體組件對(duì)魚群對(duì)象添加了可用于檢測(cè)的碰撞屬性,通過(guò)內(nèi)置的三種檢測(cè)函數(shù)實(shí)現(xiàn)對(duì)場(chǎng)景中障礙物的實(shí)時(shí)檢測(cè),最后通過(guò)加速度計(jì)算規(guī)劃出新的魚群路徑,從而有效改善了虛擬魚群行為的模擬效果。

      除此之外,群組行為的模擬控制需考慮的影響因素還有很多,例如群組中生物質(zhì)量與重力關(guān)系的影響,雨、雪、風(fēng)等自然環(huán)境因素對(duì)群組行為的影響,不同視野范圍對(duì)群組行為的影響等,在后續(xù)研究中,將針對(duì)上述問(wèn)題繼續(xù)展開深入研究,并提出針對(duì)性的優(yōu)化改進(jìn)策略。

      猜你喜歡
      碰撞檢測(cè)魚群群組
      全新預(yù)測(cè)碰撞檢測(cè)系統(tǒng)
      基于BIM的鐵路信號(hào)室外設(shè)備布置與碰撞檢測(cè)方法
      關(guān)系圖特征在敏感群組挖掘中的應(yīng)用研究
      Unity3D中碰撞檢測(cè)問(wèn)題的研究
      魚群漩渦
      中外文摘(2017年19期)2017-10-10 08:28:41
      基于改進(jìn)魚群優(yōu)化支持向量機(jī)的短期風(fēng)電功率預(yù)測(cè)
      基于人工魚群算法的光伏陣列多峰MPPT控制策略
      基于統(tǒng)計(jì)模型的空間群組目標(biāo)空間位置計(jì)算研究
      BIM技術(shù)下的某辦公樓項(xiàng)目管線碰撞檢測(cè)
      多子群并行人工魚群算法的改進(jìn)研究
      交城县| 乌拉特后旗| 仁化县| 页游| 通江县| 高平市| 随州市| 华阴市| 达拉特旗| 兴城市| 屏东县| 浪卡子县| 楚雄市| 林口县| 咸丰县| 奉节县| 镇坪县| 龙岩市| 曲水县| 万州区| 泸水县| 白玉县| 柞水县| 东阳市| 贵溪市| 驻马店市| 综艺| 武安市| 鄂尔多斯市| 体育| 古田县| 广元市| 海林市| 哈密市| 金山区| 江陵县| 武隆县| 巩留县| 嵩明县| 庆云县| 和硕县|