国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Unity3D的虛擬水流墻系統(tǒng)的設計研究

2014-04-29 20:21:53張錫英韓吉燁
安徽農業(yè)科學 2014年13期
關鍵詞:粒子系統(tǒng)

張錫英 韓吉燁

摘要 針對現(xiàn)有水流墻系統(tǒng)中水流真實性不高、可移植性不好等問題,開發(fā)一套新的基于Unity3D虛擬水流墻系統(tǒng)。該系統(tǒng)采用SPH算法對水流墻系統(tǒng)中的水流加以優(yōu)化,使其能夠達到模擬真實水流的效果,真實地模擬了水流的視覺效果和物理特性。利用C#語言編寫的畫線代碼可以完美地在屏幕上畫線改變水流的路線。同時采用了以線段代替點的全新存儲結構,減小存儲壓力,從而提高性能。該項目成果可大量發(fā)布于Windows、Android、IOS、Linux等多系統(tǒng)中供用戶進行體驗,并且對硬件需求不高,無需綁定硬件,一般配置都可以完美運行,支持發(fā)布到多種操作平臺,以便滿足多平臺的需求,使用戶可以得到更真實、更全面、更方便的體驗效果。

關鍵詞 Unity3D;虛擬水流墻;粒子系統(tǒng);SPH算法;存儲結構

中圖分類號 S126;TP317.4 文獻標識碼 A 文章編號 0517-6611(2014)13-04111-03

Abstract A new virtual water wall system based on Unity3D was developed according to the problems of existing water wall system that the virtual water flow was not real enough and the portability was not ideal. This system optimized the water flow with SPH algorithm, which made it reach the effect of simulating the real water wall, really simulated the visual and physical properties of wall flow. The draw line code wrote by C# language could drew lines in screen perfectly to change the water flow ways. And the system adopted a new storage structure of replacing the points with the line segments, which reduced the pressure of the storage as well as improved the system performance. The project results posted on many systems such as Windows, Android, IOS and Linux largely to provide experience for user, and the general configuration operated perfectly because it had not high requirements to hardware without binding any hardware, it supported to post on a variety of operating platforms to met the needs of multiple platforms and then made users obtain more real, more overall, and more convenient experience effects.

Key words Unity3D; Virtual water wall system; Particle system; SPH algorithm; Memory system

虛擬水流墻系統(tǒng)是一款對現(xiàn)實中水流的各種物理特性進行模擬的虛擬現(xiàn)實系統(tǒng)[1]。隨著虛擬現(xiàn)實技術在各領域的廣泛應用,基于Unity3D的虛擬現(xiàn)實研究已經(jīng)成為當前研究的熱點[2]。初級版本的虛擬水流墻系統(tǒng)現(xiàn)在已存在于許多城市科技館、科技主題公園等公眾場所用于展示與用戶體驗,但這些初級版本的虛擬水流墻系統(tǒng)中存在著許多缺點和不足。針對這些問題,筆者開發(fā)了一款全新的虛擬水流墻系統(tǒng)。

1 水流墻的設計與實現(xiàn)

在水流墻項目系統(tǒng)中,水流是項目的主體。在程序啟動時,會有虛擬的水流從屏幕頂端流出。

1.1 Unity3D

Unity3D是一款基于.NET的游戲開發(fā)引擎。作為一款成熟的3D游戲引擎,Unity3D為游戲設計者提供了許多游戲開發(fā)所必要的功能。這些強大的功能為開發(fā)該水流墻項目提供了可行性保障。同時大大降低了開發(fā)成本,縮短了開發(fā)周期并降低了風險[3]。

由于Unity3D可以充分、實時地處理大量的三維模型和數(shù)據(jù),并能夠提供高效的性能和高質量的保證等特點,長期被用于三維顯示、實時交互的項目開發(fā)設計項目中。Unity3D還有一個很重要的特點是跨平臺開發(fā),它實現(xiàn)了一次開發(fā)、一鍵式發(fā)布的方式發(fā)布到多種平臺的功能,目前支持發(fā)布到Android、Windows、Linux、Mac、IOS、Web和Flash等平臺[4]。這個特點為在多平臺發(fā)布和項目實現(xiàn)可移植性提供保障。

1.2 粒子系統(tǒng)

粒子系統(tǒng)是一種用于模擬不規(guī)則物體或自然場景的方法,這些不規(guī)則物體的特點是動態(tài)性和隨機性[5]。粒子系統(tǒng)中的每個粒子都具有形狀、大小、顏色、透明度、運動速度、運動方向、生命周期等多種屬性,而且這些粒子隨時間的推移不斷變化,在時間和空間上具有動態(tài)分布特性,從而盡可能真實地模擬出具有復雜運動規(guī)律的動態(tài)特效[6]。

粒子系統(tǒng)的基本開發(fā)流程包括以下幾個步驟[7]。

1.2.1 確定模擬對象的粒子模型。在利用粒子系統(tǒng)進行模擬之前,首先要對待模擬對象的運動規(guī)律進行分析,從而選擇合適的粒子模型進行模擬。

1.2.2 初始化粒子系統(tǒng)。根據(jù)上一步驟確定的粒子模型對粒子系統(tǒng)進行初始化,包括設置粒子數(shù)量、大小、形狀、顏色、初始位置等屬性。

1.2.3 設置粒子運動規(guī)律?;谝M的對象設置粒子的運動規(guī)律及相關公式。通過粒子的協(xié)同運動模擬對象的運動。

1.2.4 粒子狀態(tài)更新。粒子系統(tǒng)開始運行之后,需要根據(jù)粒子的運動規(guī)律按一定頻率更新粒子狀態(tài)。

1.2.5 粒子的消亡。每個粒子完成一個生命周期的所有活動之后便會進入消亡階段,此時需要將消亡的粒子及時刪除,以免耗費過多的系統(tǒng)資源。

1.3 SPH算法

SPH算法是典型的拉格朗日視角,基本原理是通過粒子模擬流體的運動規(guī)律,然后轉化成網(wǎng)格進行流體渲染[8]。SPH算法的基本思想是將連續(xù)的流體分解為無數(shù)個細小的顆粒,這些顆粒相互影響,共同形成復雜的流體運動,其中每個單獨的流體粒子都遵循牛頓第二定律[9]。SPH算法的基本運算流程包括以下幾個步驟[10]。

2 畫線的設計與實現(xiàn)

該項目的基本目的是用戶可以在一個虛擬的有水流的環(huán)境下進行畫線、刪除等操作,所畫的線會與虛擬水流中的水滴發(fā)生碰撞,改變水流的流動路徑?;舅枷胧腔贑#語言進行編碼實現(xiàn)畫線部分,使得畫出的線具有碰撞盒,可以實現(xiàn)剛體碰撞。

2.1 畫線操作的設計

開發(fā)過程中發(fā)現(xiàn),實際操作中并非需要對每個點都進行存儲,因為項目實際運行時應該是在觸摸屏幕上運行的,而此時所需要的最小的長度單位應該是手指的寬度,而非屏幕像素中的每個點。所以在畫線過程中并沒有存儲鼠標動作的每一個點,而是采用線段代替點作為畫線過程中的最小長度單位,不需要將鼠標遍歷過的所有的點都進行存儲,而是僅僅存儲滿足條件的線段的起點和終點,并存儲在結構體內,建立與之相對應的對象并將結構體存儲在鏈表中。這樣做有幾個好處。

(1)由存儲點變?yōu)榇鎯€段,顯然是減小了存儲的壓力,提升了程序性能。

(2)方便管理。并非將每個點都存進鏈表,而是利用有限的線段代替,每個線段對應一個對象,根據(jù)對象添加碰撞盒,減小了添加碰撞盒的難度。

(3)方便刪除。在刪除操作時,并不需要考慮每次刪除的點在鏈表中的什么位置,而是僅僅知道刪除的點在哪條線段上,直接將該線段刪除,并刪除對象即可。

(4) 設計的常量可以隨時變更,更加靈活,以便適應更多的環(huán)境要求。這種用線段代替點的算法是項目相對于已有的系統(tǒng)的創(chuàng)新點之一。

畫線算法基本流程如圖1所示。

3 結語

基于Unity3D的水流墻系統(tǒng)的設計,采用SPH算法對粒子系統(tǒng)加以控制,使其能夠達到模擬真實水流的效果。真實地模擬了水流的視覺效果和物理特性。利用C#語言編寫的畫線代碼可以完美地在屏幕上畫線改變水流的路線。該項目成果可大量發(fā)布于Windows、Android、IOS、Linux等多系統(tǒng)中供用戶進行體驗,并且對硬件需求不高,一般配置都可以完美運行,無需綁定硬件,使用戶可以得到更真實、更全面、更方便的體驗效果。

參考文獻

[1] 趙沁平.虛擬現(xiàn)實綜述[J].中國科學 F 輯:信息科學,2009,39(1):2,46.

[2] 邱建松.基于 Unity3D的實時虛擬仿真系統(tǒng)的研究與實現(xiàn)[J].電子制作,2012(12):15.

[3] 倪樂波,戚鵬,遇麗娜,等.Unity3d產品虛擬展示技術的研究與應用[J].數(shù)字技術與應用,2010(9):54-55.

[4] 陳曉青,王少偉.基于 Unity 的虛擬現(xiàn)實技術在教育中的應用[J].軟件導刊(教育技術),2012(12):76-78.

[5] 吳繼承,江南.虛擬現(xiàn)實中粒子系統(tǒng)的設計與應用[J].計算機仿真,2005,21(11):137-140.

[6] 王功明,郭新宇,趙春江.粒子系統(tǒng)的優(yōu)化技術研究[J].計算機應用研究,2008,25(2):495-497,500.

[7] 熊耀.基于 Unity3D 粒子系統(tǒng)的三維影視特效開發(fā)研究[J].軟件導刊,2012,11(11):134-136.

[8] 金阿芳,買買提明·艾尼.論光滑粒子流體動力學 (SPH) 方法[J].新疆大學學報:自然科學版,2006,23(2):188-193.

[9] 李會珍.采用 SPH 方法的拉格朗日方式流體運動模擬[D].合肥:安徽大學,2013.

[10] 鄭興.光滑質點流體動力學 (SPH) 算法研究[D].哈爾濱:哈爾濱工程大學,2005.

[11] 何水艷,丁沂.粒子系統(tǒng)與碰撞檢測的研究[J].輕工科技,2012(6):71-72.

猜你喜歡
粒子系統(tǒng)
利用GPU加速的粒子系統(tǒng)全球流場可視化系統(tǒng)設計與實現(xiàn)
基于OpenGL 的視頻特效粒子系統(tǒng)在MAYA 中的實現(xiàn)
UE 4粒子系統(tǒng)與外部數(shù)據(jù)通信研究
基于Unity3D的水波漣漪仿真模擬
基于Unity3D粒子系統(tǒng)的消防水槍流體噴射仿真研究
基于OpenGL噴泉粒子系統(tǒng)設計與實現(xiàn)
科技視界(2016年11期)2016-05-23 10:00:55
基于粒子系統(tǒng)的交互式葉脈生成
軟件工程(2014年4期)2014-09-24 20:03:13
粒子系統(tǒng)在航海應用上的展望*
基于Unity3D和粒子系統(tǒng)的冶金仿真特效模擬
基于粒子系統(tǒng)的建模與仿真綜述
庆城县| 舞钢市| 赤水市| 香河县| 满城县| 施甸县| 上虞市| 曲水县| 巴彦淖尔市| 孝义市| 罗江县| 鄱阳县| 精河县| 易门县| 色达县| 犍为县| 渑池县| 黑山县| 江川县| 江阴市| 武功县| 洛宁县| 海原县| 南汇区| 衡阳县| 屏东县| 荆州市| 平定县| 宜州市| 唐海县| 泰顺县| 宣恩县| 永胜县| 金沙县| 泸西县| 西充县| 贵定县| 屏南县| 油尖旺区| 林周县| 阿拉善右旗|