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

淤地壩水資源調(diào)控三維仿真系統(tǒng)

2021-03-22 02:56:46汪子涵董維華
電腦知識與技術(shù) 2021年6期

汪子涵 董維華

摘要:淤地壩對水資源調(diào)控過程是一種動態(tài)變化的過程,只用文字描述,無法給研究人員形象直觀的展示,本文提出一種基于Unity3D的降雨過程與淤地壩調(diào)控水資源過程的模擬方法。采用3DsMax對淤地壩系主要模型進行三維建模,使用Unity3D引擎進行場景交互設(shè)計,采用粒子系統(tǒng)進行降雨的模擬,設(shè)計并實現(xiàn)了水資源收集仿真算法,利用多層次細節(jié)技術(shù)和剔除遮擋技術(shù)等進行渲染優(yōu)化。借助這一方法,開發(fā)了淤地壩水資源調(diào)控虛擬再現(xiàn)仿真系統(tǒng)。實例表明,該方法可以形象逼真的再現(xiàn)降雨徑流過程,還能表現(xiàn)淤地壩等組件對于水資源的調(diào)控過程,使展示的效果更加逼真。

關(guān)鍵詞:淤地壩;水資源;Unity3D;三維仿真

中圖分類號:TP391.9? ?文獻標識碼: A

文章編號:1009-3044(2021)06-0205-04

Abstract: The regulation and control process of water resources by warping dams is a dynamic process, which can not be displayed visually and intuitively by researchers. This paper proposes a simulation method of rainfall process and warping dam regulating water resources process based on unity3d. 3DsMax is used to model the main model of Warping Dam System in the scene, unity3d is used for scene interaction design, particle system is used for rainfall simulation, and simulation algorithm for water resource collection is designed and implemented, and multi-level detail technology and occlusion removal technology are used for rendering optimization. With the help of this method, a virtual reappearance simulation system for water resources regulation of warping dams is developed. The example shows that the method can reproduce the rainfall runoff process vividly, and can also show the regulation process of warping dam and other components on water resources, which makes the display effect more realistic.

Key words: rainfall runoff; water resources; unity3d; 3D simulation

我國干旱半干旱地區(qū)進行生態(tài)環(huán)境建設(shè)所面臨的主要問題就是嚴重的水資源短缺與水土流失。黃土高原是我國水土流失極其嚴重的地區(qū)之一,同時也是黃河淤積泥沙的主要來源。黃土高原地區(qū)有效防治水土流失的措施之一就是建設(shè)淤地壩,不僅可以減少水土流失、攔泥淤地,還能夠高效存蓄并利用水資源。因此研究黃土高原區(qū)的降雨徑流過程以及水資源的高效利用是至關(guān)重要的。王麗云等[1]分析了十大孔兌現(xiàn)狀淤地壩數(shù)量與時空分布, 并計算了近10年淤地壩攔沙量, 估算了未來攔沙潛力和剩余攔沙壽命。高雅玉等[2]通過對司家溝流域淤地壩建設(shè)情況分析,認為充分高效利用淤地壩攔蓄利用雨洪水資源的潛力,對緩解半干旱地區(qū)水資源危機有至關(guān)重要的作用。黨維勤等[3]對淤地壩及其壩系的試驗研究進行了系統(tǒng)梳理,可以為今后淤地壩的進一步研究提供參考。

三維可視化技術(shù)是虛擬仿真領(lǐng)域的重要應(yīng)用之一,構(gòu)建了現(xiàn)實世界與虛擬世界的橋梁,通過渲染管線對現(xiàn)實數(shù)據(jù)處理,再通過三維引擎開發(fā)模擬,不僅給用戶提供逼真的視覺效果,還能夠為用戶的決策提供幫助[4]。何雋等[5]針對船舶火災(zāi)成因的特殊性、消防訓練的局限性和危險性, 構(gòu)建了船舶虛擬消防訓練系統(tǒng), 供船員進行安全有效的人機交互船舶滅火訓練。劉標等[6]針對現(xiàn)有電力系統(tǒng)仿真教學系統(tǒng)存在的事故仿真不足、缺乏真實感以及開發(fā)難度大的問題,以220KV變電站為仿真對象,利用Unity3D 提供的豐富的功能,搭建了一個完整的電力仿真教學系統(tǒng)。嚴雨靈等[7]通過研究虛擬現(xiàn)實的應(yīng)用和開發(fā),以飛機起落架為例設(shè)計了一套基于Unity3D虛擬現(xiàn)實引擎的虛擬維修教學系統(tǒng),該系統(tǒng)實現(xiàn)了飛機零部件的展示、拆裝等功能。通過對西柳溝流域重點示范區(qū)刀勞慶的調(diào)研,設(shè)計了基于Unity3D的三維可視化系統(tǒng),形象逼真地再現(xiàn)了降雨徑流水文過程,表現(xiàn)了淤地壩等組件對于水資源的調(diào)控過程,實現(xiàn)了淤地壩水資源調(diào)控過程的三維模擬。

1 示范區(qū)實景仿真方法

西柳溝位于內(nèi)蒙古河套平原的中部,發(fā)源于鄂爾多斯市東勝區(qū),是黃河的一級支流[8],刀勞慶示范區(qū)是西柳溝流域綜合治理的重點建設(shè)示范區(qū)。示范區(qū)實景仿真方法首先利用無人機航拍地形數(shù)據(jù),經(jīng)GlobalMapper處理后得到可以導入Unity3D的三維地形文件,然后使用建模軟件3DsMax為示范區(qū)內(nèi)淤地壩及其組件建立三維模型,利用Unity3D引擎設(shè)計三維仿真場景,通過C#編程語言實現(xiàn)了水資源收集仿真算法,還有基于粒子系統(tǒng)的降雨特效技術(shù)[9]、碰撞檢測技術(shù)[10]等共同實現(xiàn)示范區(qū)特殊功能仿真。

1.1開發(fā)流程

2019年5月15日于刀勞慶示范區(qū)現(xiàn)場采集當?shù)氐匦蔚孛舱鎸崝?shù)據(jù)、淤地壩及其相關(guān)組件的位置信息和各類需要建模的物體實體尺寸信息等,對現(xiàn)場采集到的真實數(shù)據(jù)進一步處理,建立基本信息庫和實景圖像庫,用于3DsMax建模貼圖,將已經(jīng)建立好的三維模型導入到Unity3D引擎中,使用C#語言編寫應(yīng)用程序,設(shè)計相應(yīng)仿真算法,導入建立的三維模型,開發(fā)降雨和水資源收集利用仿真場景,生成降雨過程和淤地壩水資源調(diào)控過程再現(xiàn)應(yīng)用案例。經(jīng)過反復(fù)對應(yīng)用案例的仿真體驗、測試、改進,最終完成了淤地壩水資源調(diào)控三維仿真系統(tǒng)。

1.2 3DsMax技術(shù)

Autodesk公司所開發(fā)的3DsMax是一個專業(yè)的三維建模軟件,也是目前最受歡迎的三維建模工具之一,不僅可以創(chuàng)建各式各樣的三維模型,還能制作出形象逼真的三維動畫,并且能對模型進行渲染,輸出各種格式的三維模型,其中包括Unity3D中常用的FBX格式。

3DsMax對于使用者來說非常方便,采用多邊形對象建模方法,可以單獨對點和邊進行編輯。對于場景以及物體材質(zhì)的設(shè)置,我們則可以通過編輯材質(zhì)顏色紋理、設(shè)計貼圖和調(diào)整參數(shù)等操作來實現(xiàn)物體特質(zhì)效果。所以對淤地壩水資源調(diào)控場景及場景中模型的制作,選用3DsMax是非常合適的。

1.3 Unity3D技術(shù)

淤地壩水資源調(diào)控過程虛擬再現(xiàn)系統(tǒng)中需要對3D虛擬場景進行渲染、設(shè)計交互仿真功能,將創(chuàng)建好的模型添加到三維場景中,采用Unity3D 渲染技術(shù)來實現(xiàn)這部分功能。

Unity是由Unity Technologies開發(fā)的一個多平臺綜合性工具,用戶可以利用Unity開發(fā)游戲、創(chuàng)建三維動畫、進行可視化仿真等。Unity開發(fā)采用C#和JavaScript編程語言,腳本編寫較為簡便,并且還給用戶提供了大量的第三方插件。Unity是一個層級式的3D應(yīng)用綜合開發(fā)環(huán)境,主要提供了場景面板、游戲面板、層次面板、項目面板、檢測面板。在Unity3D中,由寫好的腳本程序操控實體對象,各種不同的實體對象組成一個場景,每個場景展示的內(nèi)容都不相同,這些不同的場景共同構(gòu)成了Unity3D應(yīng)用程序,場景中的攝像機實現(xiàn)了場景的實時渲染功能。

Unity 采用C#編程語言來編寫腳本程序,在實現(xiàn)具體功能時,只需在物體上添加一個腳本程序,當程序運行時。物體會發(fā)生相應(yīng)的變化。常用函數(shù)有: Awake()、Start()、Update()、FixedUpdate()、OnEnable()、OnDisable()、OnDestroy()。Unity 常用的API接口是Transform 類,用于描述和控制物體的三維或二維位置、旋轉(zhuǎn)、縮放屬性[11]。

2 三維場景的建立

2.1三維地形的建立

采用無人機傾斜攝影三維建模技術(shù)來建立刀勞慶示范區(qū)的三維地形,利用無人機對刀勞慶示范區(qū)進行多角度拍攝采集影像數(shù)據(jù),再使用GlobalMapper進行影像數(shù)據(jù)處理,輸出格式為RAW的三維地形文件。在Unity3D中新建一個三維地形Terrain,導入處理好的RAW文件,設(shè)置地形的尺寸大小,無須其他復(fù)雜設(shè)置即完成了三維地形的創(chuàng)建。Terrain 地形工具主要有: 地面高度的提升與降低,地形的平滑、給地形添加紋理,在地面上種樹、種草等。利用Terrain工具對創(chuàng)建的地形進一步修改美化,給地形加上預(yù)先處理好的貼圖,完成虛擬三維場景中三維地形的建立。使用該方法能夠在短期內(nèi)生成大范圍、高精度的三維地形,與傳統(tǒng)手動建立三維地形相比,不僅大大提高了效率,而且模擬的效果更加真實。

2.2 三維地物的建模

創(chuàng)建臥管、排水管、蓄水池、截流渠等淤地壩系建筑物,需要采集相關(guān)的建筑信息。首先對需要三維建模的建筑物尺寸進行測量,記錄相應(yīng)組件的測量數(shù)據(jù),然后利用相機等設(shè)備拍攝淤地壩的照片,利用圖像編輯軟件Photoshop對拍攝的照片進一步處理,經(jīng)修改后得到相關(guān)模型的材質(zhì)貼圖,最后利用三維建模軟件3DsMax根據(jù)場景中物體的大小按比例創(chuàng)建對應(yīng)的三維模型,并為模型添加材質(zhì)貼圖。將建立好的三維模型導入在Unity3D已經(jīng)建立的Terrain中,通過旋轉(zhuǎn)、移動、縮放等將各建筑物模型擺放到合適的位置。

樹木、玉米、野草等三維植物采用3DsMax 建立三維模型,表現(xiàn)出各種植被的形態(tài),并利用處理好的圖片進行紋理貼圖,建立的植物模型越精細,數(shù)據(jù)量就會越大,當場景中同時存在大量植物時,可能會造成系統(tǒng)的卡頓。在Unity中利用預(yù)制體,每一種植物只保留一個,防止數(shù)據(jù)量太大引起卡頓,以便實現(xiàn)實時動態(tài)仿真。

2.3 降雨效果模擬

為了能逼真地模擬出示范區(qū)的降雨過程,使用了粒子系統(tǒng)來進行仿真,大部分三維仿真軟件為了實現(xiàn)復(fù)雜的動態(tài)特效都會使用粒子系統(tǒng),常見的特效包括雨、云、霧、爆炸、雪花等。粒子系統(tǒng)的仿真步驟一般如下:

(1)粒子的生成。粒子生成的位置,時間以及數(shù)量都需要根據(jù)仿真對象的不同來具體設(shè)置。

(2)粒子的屬性。粒子的屬性一般包括:形狀,大小,顏色,生命周期等等,通過設(shè)置粒子的屬性,可以模擬不同的仿真對象。

(3)粒子的運動。新的粒子產(chǎn)生后,粒子會根據(jù)初始化時的速度和方向運動,粒子的相關(guān)屬性也會處于動態(tài)的變化中,粒子的空間位置主要由粒子的前一位置、速度和加速度來決定。

(4)粒子的消亡。生命周期結(jié)束的粒子會被系統(tǒng)除去。

(5)粒子的渲染。當某一幀的粒子狀態(tài)全部確定后,繪制并顯示由有生命的粒子組成的圖形。

Unity3D中的粒子系統(tǒng)檢視器用來控制粒子系統(tǒng),其中的一些參數(shù)如圖3所示,用于控制粒子系統(tǒng)的參數(shù)眾多,通過對各個參數(shù)進行調(diào)整可以得到各種不同的效果。

首先新建一個材質(zhì)球New Material 賦給粒子系統(tǒng)Render下面的Material ,修改粒子系統(tǒng)的Shape,使其變?yōu)閳A柱形,調(diào)節(jié)參數(shù)Emission下的Rate,調(diào)整雨滴密度,Rotate by Speed下的Angular Velocity可改變雨滴的下落方向。Prewarm表示預(yù)熱系統(tǒng),先讓粒子充滿相應(yīng)的場景中,然后繼續(xù)發(fā)射粒子,這樣做的好處是更加真實,不會因為粒子發(fā)射太慢而顯得呆板。Start Speed設(shè)置粒子發(fā)射時的初始速度,Start Size設(shè)置粒子的初始大小。Start Lifetime表示粒子的生命周期,當粒子的生命周期結(jié)束時,粒子會自動消失。如圖4所示為粒子系統(tǒng)模擬的降雨效果。

3 水資源收集與利用過程仿真

3.1 水資源的收集仿真算法

在發(fā)生大規(guī)模降雨時,淤地壩壩前的雨水會通過坡面漫流和地表匯流的形式匯集。在降雨結(jié)束后,壩前收集的雨水中的泥沙會慢慢沉淀,水逐漸變清,沉淀后的清水通過臥管自上而下逐級排放到壩后的蓄水池中被收集起來備用。為了重現(xiàn)雨水資源的收集過程,研究了水資源收集仿真算法,實現(xiàn)了雨水資源收集的動畫效果。水資源收集仿真算法如圖5所示。

3.2水資源收集仿真算法的代碼實現(xiàn)

根據(jù)水資源收集仿真算法,三個主要函數(shù)的代碼實現(xiàn)及解釋如下:

(1)水面上漲函數(shù)WaterRise( )

public class WaterRise : MonoBehaviour

{public Transform transformWater;

public float addHeight = 5;

IEnumerator Start()

{? ?yield return new WaitForSeconds(1);

float waterY = transformWater.position.y;

transformWater.DOMoveY(waterY + addHeight, 5);}

void Update()

{}}

該函數(shù)通過調(diào)整水面的高度以及水面上漲的時間來實現(xiàn)水面的上漲效果,模擬出在經(jīng)過降雨后水面不斷上漲的一個過程。

(2)水變色函數(shù)ColorChange( )

public class ColorChange : MonoBehaviour

{ public Material material;

public Color waterColor;

IEnumerator Start()

{? ?yield return new WaitForSeconds(1);

material.DOColor(waterColor, "_BaseColor", 6); }

void Update()

{? }}

該函數(shù)通過改變水面的材質(zhì)來改變水面的顏色,模擬出收集到渾濁的雨水經(jīng)過沉淀后慢慢變清澈的過程。

(3)排水函數(shù)PourWater( )

public class PourWater : MonoBehaviour

{? ? public Transform[] transformGaizi;

public Transform transformWater;

IEnumerator Start()

{ yield return new WaitForSeconds(1);

float waterY = transformWater.position.y;

for (int i = 0; i < transformGaizi.Length; i++)

{? Transform _transform = transformGaizi[i];

float y = _transform.position.y;

_transform.DOMoveY(y + 1, 1);

yield return new WaitForSeconds(1);

waterY -= 0.44f;

transformWater.DOMoveY(waterY, 3);

yield return new WaitForSeconds(3);

_transform.DOMoveY(y, 1);

yield return new WaitForSeconds(1);? }? }

void Update()

{? }}

該函數(shù)通過獲取蓋子的位置和水面的高度,計算每打開一個蓋子水面下降的高度,不斷更新水面的位置,模擬出了打開臥管蓋子排放淤地壩壩前所收集清水的過程。模擬的排水效果如圖6所示。

4 系統(tǒng)總體設(shè)計

在綜合考慮目前虛擬現(xiàn)實仿真系統(tǒng)各種功能及優(yōu)缺點的前提下,具體到淤地壩水資源調(diào)控虛擬仿真的特點和要求,設(shè)計出了淤地壩水資源調(diào)控虛擬仿真系統(tǒng),如圖7所示。

各模塊功能簡介如下:

(1)UI界面:在展示淤地壩水資源調(diào)控仿真場景時,通過人機交互,可以查看目標信息,具有"點擊、縮放、旋轉(zhuǎn)、移動"等功能。

(2)現(xiàn)場采集圖庫:無人機拍攝示范區(qū)地形圖片、相機拍攝淤地壩系組件照片、處理采集的圖片信息、生成資源庫。

(3)水資源收集利用場景再現(xiàn):刀勞慶示范區(qū)三維地形重建、創(chuàng)建淤地壩系組件三維模型、創(chuàng)建樹木、玉米等植被LOD模型。

(4)VR核心模塊:刀勞慶示范區(qū)數(shù)據(jù)庫管理、植被LOD算法、視角移動旋轉(zhuǎn)算法、降雨粒子特效算法、水面上漲變色仿真特效算法。

(5)實時仿真:淤地壩水資源調(diào)控三維場景實時展示,水資源收集利用模式效果展示。

5 結(jié)語

降雨過程和淤地壩對水資源調(diào)控過程周期較長且具有不確定性,對于研究人員來說,不便現(xiàn)場觀測,而且通過文字描述無法給研究人員形象直觀的展示。因此本文研究了一種基于Unity3D的降雨過程與淤地壩系調(diào)控水資源過程的模擬方法,設(shè)計了淤地壩水資源調(diào)控虛擬再現(xiàn)系統(tǒng)、描述了開發(fā)流程及相關(guān)技術(shù)解決方案,探討了三維場景重建技術(shù)、三維地物重建技術(shù)等關(guān)鍵技術(shù),完成了淤地壩水資源調(diào)控虛擬再現(xiàn)相關(guān)功能的設(shè)計,最終實現(xiàn)了淤地壩水資源調(diào)控虛擬仿真系統(tǒng)的開發(fā)。實例表明,該方法可以形象、逼真的再現(xiàn)淤地壩水資源調(diào)控仿真情境,解決降雨過程和淤地壩對水資源調(diào)控過程不便觀測等問題,為研究人員提供了一種形象逼真的虛擬再現(xiàn)方法,也可以用于水文水資源的教學案例中。

參考文獻:

[1] 王麗云,馬振剛,高云飛,等.近10年來十大孔兌現(xiàn)狀淤地壩攔沙作用分析[J].人民黃河,2018,40(9):89-92.

[2] 高雅玉,田晉華,李嘉楠.基于水土資源高效利用的淤地壩建設(shè)潛力分析[J].人民黃河,2019,41(9):102-105,109.

[3] 黨維勤,黨恬敏,高璐媛,等.黃土高原淤地壩及其壩系試驗研究進展[J].人民黃河,2020,42(9):141-145,160.

[4] 劉宇.基于三維可視化平臺的場景管理的設(shè)計與實現(xiàn)[D].北京:中國科學院大學(中國科學院沈陽計算技術(shù)研究所),2020.

[5] 何雋,金志泉.Unity 3D船舶虛擬消防訓練系統(tǒng)滅火功能設(shè)計與實現(xiàn)[J].軟件,2019,40(5):47-52.

[6] 劉標,王大虎,徐炎軍.基于Unity3D的電力仿真教學系統(tǒng)[J].軟件,2019,40(6):164-168.

[7] 嚴雨靈,陳閔葉,劉同強.基于Unity3D的虛擬維修教學系統(tǒng)設(shè)計與實現(xiàn)[J].軟件,2019,40(11):128-130.

[8] 劉劍超,林亞軍,王述運,等.基于粒子系統(tǒng)的雨天實時仿真方法[J].指揮控制與仿真,2020,42(5):70-75.

[9] 王普慶,侯素珍.西柳溝丘陵區(qū)土壤組成及對流域產(chǎn)沙的影響[J].人民黃河,2020,42(2):1-4,17.

[10] 李星,傅妍芳,王亮,等.基于射線檢測的動態(tài)碰撞優(yōu)化算法[J].系統(tǒng)仿真學報,2019,31(11):2393-2401.

[11] 苗藝楠,申閆春.基于Unity3D的交通事故虛擬再現(xiàn)系統(tǒng)研究[J].計算機仿真,2018,35(12):122-126.

【通聯(lián)編輯:梁書】

主站蜘蛛池模板: 国产在线第二页| 日韩123欧美字幕| 狠狠做深爱婷婷久久一区| 亚洲国产第一区二区香蕉| 六月婷婷激情综合| 婷婷亚洲视频| 中文成人无码国产亚洲| 中文国产成人久久精品小说| 一级毛片不卡片免费观看| 香蕉在线视频网站| 538国产视频| 在线色综合| 欧美成人综合视频| 日韩久草视频| 2021无码专区人妻系列日韩| 久久精品这里只有精99品| 好紧好深好大乳无码中文字幕| 26uuu国产精品视频| 国产嫖妓91东北老熟女久久一| 国产av一码二码三码无码| 高清码无在线看| 日本高清免费不卡视频| 国产亚洲精品97AA片在线播放| 欧美视频在线播放观看免费福利资源| 中文字幕中文字字幕码一二区| 国产精品久久久久鬼色| 五月激情婷婷综合| 国产成人综合网| 日本不卡在线播放| 精品久久久无码专区中文字幕| 无码丝袜人妻| 国内精品免费| 成人福利在线观看| 国产免费福利网站| 久草视频福利在线观看| 亚洲最大在线观看| 国产精品片在线观看手机版| 99免费视频观看| 国产成人无码久久久久毛片| 国产理论一区| 熟女日韩精品2区| 国产久草视频| 亚洲最大福利网站| 91激情视频| 日韩麻豆小视频| 亚洲精品天堂在线观看| 欧美第二区| 91久久偷偷做嫩草影院| 波多野结衣中文字幕久久| 看你懂的巨臀中文字幕一区二区| 精品伊人久久久久7777人| 午夜爽爽视频| 老司机精品99在线播放| 亚洲VA中文字幕| 国产特级毛片aaaaaa| 国产精品视屏| 色婷婷视频在线| 丁香六月激情综合| 国产jizz| 亚洲国产成人自拍| 亚洲国产精品VA在线看黑人| 毛片在线看网站| 久久久久久高潮白浆| 国产特级毛片aaaaaaa高清| 色悠久久综合| 亚洲色图欧美激情| 欧美日韩精品在线播放| 五月激情婷婷综合| 视频二区国产精品职场同事| 最新加勒比隔壁人妻| 丁香婷婷激情网| 爆乳熟妇一区二区三区| 人妻精品久久无码区| 国产一区二区三区精品久久呦| 在线观看欧美国产| 亚洲欧美日韩成人高清在线一区| 欧美日韩中文国产| 最新国语自产精品视频在| 亚洲欧美国产高清va在线播放| 亚洲日韩欧美在线观看| 欧美精品伊人久久| 麻豆国产精品一二三在线观看|