文章目錄
- 15.1 下雪啦下雪啦
- 15.2 粒子系統ParticleSystem
- 15.3 準備雪花貼圖
- 15.4 制作雪花材質球
- 15.5 設定粒子的材質球Material
- 15.6 設定粒子的噴射形狀Shape
- 15.7 設定粒子的初始速度Start Speed
- 15.8 設定粒子的速度Velocity over Lifetime
- 15.9 設定粒子的初始大小Start Size
- 15.10 設定粒子的大小Start over Lifetime
- 15.11 設定粒子的力Force over Lifetime
- 15.12 設定粒子的旋轉Rotate over Lifetime
- 15.13 設定粒子的初始顏色Start Color
- 15.14 設定粒子的透明效果Color over Lifetime
- 15.15 其他引數
簡介:我是一名Unity游戲開發工程師,皮皮是我養的貓,會講人話,它接到了喵星的特殊任務:學習編程,學習Unity游戲開發,
于是,發生了一系列有趣的故事,

15.1 下雪啦下雪啦
最近廣州降溫了,別的地方都開始下雪了,作為一個土生土長的廣東人,長這么大,沒見過雪,
皮皮:“我三歲了,也沒見過雪,”
我:“那我們今天就自己做一場雪吧,”

皮皮:“哇,好漂亮,這個是怎么做的?”
我:“上面這個飄雪效果是我用粒子系統制作的,下面就來教你吧,”
本工程已上傳到GitHub,感興趣的同學可以下載下來學習:
GitHub地址:https://github.com/linxinfa/UnityParticleSystemSnowDemo

15.2 粒子系統ParticleSystem
通過Unity的粒子系統ParticleSystem,我們可以制作非常豐富的特效效果,比如沙塵、火焰、水、煙霧、閃光等等,
只需給物體添加ParticleSystem組件,

然后根據需要設定各種引數即可,具體引數的設定在下文中通過案例進行講解,

15.3 準備雪花貼圖
準備雪花圖片,

另外,我還準備了一張光點效果的圖片,這樣可以豐富一下雪花的效果,

將圖片匯入Unity工程中,

注意,要顯示透明通道的話,圖片格式的Alpha Is Transparency需要勾選上,

15.4 制作雪花材質球
在Project視窗空白處右鍵點擊選單Create -> Material,創建材質球,

設定材質球的Shader為Mobile/Particles/Additive,然后設定對應的貼圖,

這樣制作兩個材質球,

15.5 設定粒子的材質球Material
創建一個空物體,命名為snow1,添加ParticleSystem組件,此時看到的效果如下:

這是因為還沒有賦值材質球,點擊snow1節點,展開Renderer標簽頁,

將我們制作好的材質球賦值給Renderer的Material屬性,

此時紫色塊就變成雪花塊了,

15.6 設定粒子的噴射形狀Shape
我們想讓雪花從頂部飄落下來,可以想象一下,頂部有一個長方體區域,從這個區域中飄落雪花下來,
所以,我們要設定粒子的Shape為一個長方形,
展開粒子的Shape標簽頁,將Shape選為Box,然后編輯Scale使其為一個扁平的長方體,

此時效果如下

15.7 設定粒子的初始速度Start Speed
上面看到粒子是往螢屏里面噴射,這是因為粒子有一個初始速度Start Speed,我們將其設定為0,

此時粒子就不會往里飛了,

15.8 設定粒子的速度Velocity over Lifetime
我們想要讓粒子往下落,可以給粒子設定一個速度,展開Velocity over Lifetime標簽頁,
為了更加自然,我們設定成從兩個速度之間隨機一個速度,點擊右側的小三角,點擊Random Between Two Constants,

速度向下,所以設定y軸為負數,

此時粒子便向下落了,

15.9 設定粒子的初始大小Start Size
我們看到上面的粒子都是一樣大,我們想給粒子一個隨機的初始大小,
設定Start Size為Random Between Two Constants,從兩個值之間隨機,

設定隨機的范圍,

此時已經有一個初步的效果了

15.10 設定粒子的大小Start over Lifetime
我們想要雪花飄落到后期的時候變小消失,展開Size over Lifetime,可以設定粒子的大小隨時間變化,為了有一個隨機效果,我們設定兩條變化曲線從中隨機,點擊Random Between Two Curves,

編輯曲線如下,

效果如下,雪花飄落后期有一個隨機變小的效果了,

15.11 設定粒子的力Force over Lifetime
上面的雪花都是豎直下落的,我們想給雪花一個水平方向一個隨機的力,讓雪花有的偏左飄落,有的偏右飄落,
展開Force over Lifetime標簽頁,設定隨機力如下,

效果如下,雪花有的偏左飄落,有的偏右飄落,

15.12 設定粒子的旋轉Rotate over Lifetime
上面的雪花飄落程序中不會旋轉,我們想要雪花有個隨機旋轉的效果,
展開Rotate over Lifetime標簽頁,設定隨機角度如下,

效果如下,雪花有隨機旋轉的效果了,

15.13 設定粒子的初始顏色Start Color
上面的雪花都是白色的,我們想要讓雪花有個隨機的顏色,從白色和淺藍色中隨機,
將Start Color設定為Random Between Two Colors,設定兩個顏色,

15.14 設定粒子的透明效果Color over Lifetime
我們想讓粒子后期有個變透明的效果,
展開Color over Lifetime標簽頁,設定Color為Random Between Two Gradients,點擊顏色框打開Gradient Editor,
顏色視窗上邊的滑塊是控制透明度的,下邊的滑塊是控制顏色的,我們編輯上邊的滑塊,設定后期為透明,如下,

15.15 其他引數
再根據需要調整一下其他引數,
Duration:粒子持續時間
prewarm:預熱粒子發射在Looping打鉤的情況下才能使用
start lifetime:開始粒子的生命周期
Simulation Space :發射坐標
Max Particles : 最多粒子數:rate bursts(粒子集) 在不同時刻發射多少粒子

最后,復制snow1節點,改名為snow2,將材質球snow2賦值給snow2節點的Material,

效果如下

加個背景圖,完成

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/236672.html
標籤:其他
上一篇:飛機大戰
