Unity開啟篇(十一) —— Unity粒子系統(tǒng)簡介(二)

版本記錄

版本號 時間
V1.0 2019.01.17 星期四

前言

Unity是由Unity Technologies開發(fā)的一個讓玩家輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內(nèi)容的多平臺的綜合型游戲開發(fā)工具,是一個全面整合的專業(yè)游戲引擎。Unity類似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的圖型化開發(fā)環(huán)境為首要方式的軟件。其編輯器運行在Windows 和Mac OS X下,可發(fā)布游戲至WindowsMacWiiiPhoneWebGL(需要HTML5)、Windows phone 8和Android平臺。也可以利用Unity web player插件發(fā)布網(wǎng)頁游戲,支持Mac和Windows的網(wǎng)頁瀏覽。它的網(wǎng)頁播放器也被Mac 所支持。網(wǎng)頁游戲 坦克英雄和手機游戲王者榮耀都是基于它的開發(fā)。
下面我們就一起開啟Unity之旅。感興趣的看下面幾篇文章。
1. Unity開啟篇(一) —— Unity界面及創(chuàng)建第一個簡單的游戲 (一)
2. Unity開啟篇(二) —— Unity界面及創(chuàng)建第一個簡單的游戲 (二)
3. Unity開啟篇(三) —— 一款簡單射擊游戲示例 (一)
4. Unity開啟篇(四) —— 一款簡單射擊游戲示例 (二)
5. Unity開啟篇(五) —— 一款簡單射擊游戲示例 (三)
6. Unity開啟篇(六) —— Unity動畫簡介 (一)
7. Unity開啟篇(七) —— Unity動畫簡介 (二)
8. Unity開啟篇(八) —— Unity聲音簡介(一)
9. Unity開啟篇(九) —— Unity聲音簡介(二)
10. Unity開啟篇(十) —— Unity粒子系統(tǒng)簡介(一)

Changing the Particle System’s Shape

顧名思義,Shape模塊控制該形狀中粒子的形狀和行為。 您可以選擇幾種不同的形狀;每個都有自己特定的設(shè)置。 這使您可以在box,球體甚至自己的自定義網(wǎng)格中創(chuàng)建粒子!

展開Inspector中的Shape模塊:

粒子系統(tǒng)的shape設(shè)置為cone,這意味著粒子從基座發(fā)射并以一定角度向外移動:

在上面的示例中,基部為藍色,角度為綠色,顆粒為紅色。 另請注意,在擴展了Shape Module的同時,您還可以在Scene視圖中看到錐形的方便預(yù)覽:

更改角度會更改錐體的大小,使其更寬或更窄。 設(shè)為7;你會得到一個很好的緊密火焰,隨著顆粒的上升而略微擴大。

更改半徑會更改基座的大小。 該值越大,粒子在發(fā)射時散射的越多。 將此值設(shè)置為0.2;這可以確保火焰從火炬的燃料支架內(nèi)部開始。

運行場景,看看火焰的形狀是如何變化的:

這開始看起來像一個真正的火焰! 最后的潤色是在整個生命周期中改變顆粒的大小。


Changing Size Over Lifetime

使用Size over Lifetime模塊,您可以創(chuàng)建在其生命周期中生長或收縮的粒子,甚至可以像森林中的螢火蟲一樣產(chǎn)生脈動。

在粒子系統(tǒng)的模塊列表中,查找Size over Lifetime。 它默認情況下未啟用,因此請勾選模塊名稱旁邊的復(fù)選框以啟用它:

通過單擊其名稱來展開Size over Lifetime模塊。 這將顯示深灰色背景,頂部有一條平曲線:

單擊dark gray background以打開Inspector底部的曲線編輯器。 橫軸表示粒子的壽命,而縱軸表示其大小:

您可以移動紅線兩端的鍵來編輯曲線;您還可以通過雙擊曲線上的任意位置來添加其他鍵。 要刪除key,請右鍵單擊要刪除的密鑰,然后選擇Delete Key。 您也可以在底部選擇一個預(yù)設(shè)曲線:

如果你想到現(xiàn)實世界中的火焰,它們會隨著粒子的增加而縮小。 要模仿此項,請從右側(cè)選擇第三個預(yù)設(shè)以創(chuàng)建向下的斜率:

運行你的場景,看看你的所有火熱的榮耀效果!

恭喜! 您已經(jīng)學(xué)會了如何設(shè)置一個新的粒子系統(tǒng)并按照你的設(shè)計產(chǎn)生美麗的火焰效果。

在下一節(jié)中,當(dāng)您學(xué)習(xí)創(chuàng)建爆炸效果時,您將創(chuàng)建更好的效果!


Building a Bomb (Effect)

在Unity中制作爆炸效果非常簡單。 一旦你知道如何隨意實例化粒子,就可以將這種效果用于諸如汽車輪子在刮地面時產(chǎn)生火花的東西,或者彈出和淋浴五彩紙屑的氣球。

從項目窗口打開Bomb scene并播放場景:

場景底部有一層,但除此之外,沒有多少事情發(fā)生。

要生成炸彈,將炸彈Bomb預(yù)制件拖到炸彈發(fā)射器預(yù)制槽(Bomb Emitter prefab slot)中:

再次播放場景以查看您的炸彈出現(xiàn):

發(fā)射器每兩秒鐘發(fā)射一次新炸彈。 為了對物體進行整齊的旋轉(zhuǎn),你會在它產(chǎn)生時給炸彈增加一些旋轉(zhuǎn)力。

在項目窗口的Scripts文件夾中打開Bomb腳本。

將以下代碼添加到Start()

void Start()
{
    float randomX = UnityEngine.Random.Range (10f, 100f);
    float randomY = UnityEngine.Random.Range (10f, 100f);
    float randomZ = UnityEngine.Random.Range (10f, 100f);

    Rigidbody bomb = GetComponent<Rigidbody> ();
    bomb.AddTorque (randomX, randomY, randomZ);
}

前三行為x,y和z軸生成10到100之間的隨機浮點值。 接下來,您將獲得炸彈的Rigidbody組件的參考并向其施加扭矩。 這導(dǎo)致炸彈以隨機方向旋轉(zhuǎn)。 保存腳本更改,返回Unity并運行場景。

這些炸彈現(xiàn)在在它們墜落時旋轉(zhuǎn)得很好 - 但你承諾爆炸!

在Hierarchy中,按Create按鈕并選擇Create Empty。 單擊新創(chuàng)建的GameObject并將其命名為ExplosionParticles。 接下來,向GameObject添加一個新的粒子系統(tǒng)。 如果您忘記了如何創(chuàng)建粒子系統(tǒng),請向上滾動以進行復(fù)習(xí)。

在粒子系統(tǒng)就位后,將ExplosionParticles GameObject從層次結(jié)構(gòu)拖動到項目瀏覽器中的Prefabs文件夾。 完成后,從Project Hierchy中刪除ExplosionParticles GameObject

接下來,在Prefabs文件夾中選擇Bomb Prefab并將ExplosionParticles Prefab拖到BombExplosion Particles Prefab插槽中,如下所示:

現(xiàn)在,當(dāng)炸彈接觸地面時,會產(chǎn)生一個新的爆炸粒子GameObject

播放你的場景,看看爆炸的樣子。 如果您遇到粉紅色紋理錯誤,請不要擔(dān)心,您將要更改紋理。

非常......呃......太神奇了,但爆炸還沒有發(fā)生!

與火炬一樣,您將使用Fire材料制作粒子系統(tǒng)。

在“項目”窗口中選擇“ExplosionParticles Prefab”,然后在“檢查器”中展開Renderer Module。 將FireMaterial從項目窗口中的Materials文件夾拖到Material插槽,如下所示:

要完成此效果,您必須在主模塊Main module中修改以下設(shè)置:

  • 1) 將Duration設(shè)置為0.70。
  • 2) 循環(huán)應(yīng)該被禁用。 粒子應(yīng)該只發(fā)射一次。
  • 3) 將Start Lifetime設(shè)置為0.7。
  • 4) 將Start Speed設(shè)置為10。
  • 5) 將Start Size設(shè)置為2。
  • 6) 將Gravity Modifier設(shè)置為1。這將使粒子在末尾略微下降。

運行炸彈場景以查看您構(gòu)建的內(nèi)容:

嗯,這是一種爆炸性的,但你絕對可以做得更好!


Building the Explosion

為了改善爆炸,您將改變其中一個粒子系統(tǒng)模塊的屬性。 你能猜出要改變哪個模塊嗎? 這是一個提示 - 你已經(jīng)使用過了。

如果您猜到了Emission模塊,那就給自己一個贊美吧!

展開Emission Module。 速率是每秒產(chǎn)生的粒子數(shù)。 對于這次爆炸,你不會想要一個穩(wěn)定的粒子流,而是一個突然的爆發(fā)。

Rate over Time設(shè)置為0,現(xiàn)在查看Rate over Distance,您將看到默認情況下為空的Bursts列表:

Burst是在特定時間點一次發(fā)射的粒子的集合。

單擊右下角的+ button添加新的Burst。 您將看到兩個字段:Time and Count

Time保留為0,并將Count設(shè)置為150。這些設(shè)置將使粒子系統(tǒng)在系統(tǒng)啟動時一次性發(fā)出150個粒子。

播放你的場景;現(xiàn)在看起來怎么樣?

現(xiàn)在看起來更像是爆炸! 雖然這種爆炸看起來更好,但形狀仍然是一個笨拙的錐形,顆粒不會消失 - 它們會消失。 你需要塑造你的爆炸才能給它最后的觸感。

首先,展開Shape Module

你已經(jīng)將這個模塊用于火炬的火焰形狀,但還有幾種形狀可供選擇。 單擊顯示Cone的下拉框以查看可用的所有選項:

每個形狀以不同的方式影響發(fā)射器。 下面的每個動畫都顯示相同的發(fā)射器,只改變了形狀:

Sphere

HemiSphere

Cone

Box

Mesh (Cube)

Circle

Edge

您可以從同一系統(tǒng)獲得許多不同的效果 - 只需更改形狀即可! 要創(chuàng)建逼真的爆炸,請將形狀設(shè)置為Sphere

運行場景,準(zhǔn)備被吹走:

現(xiàn)在看起來很棒!

爆炸看起來很好,但有一個小問題。 顆粒消失了。 這是一種不是很理想的效果,看起來并不自然。 粒子應(yīng)該隨著時間的推移而逐漸消失,而不是僅僅消失。


Changing Color

Inspector中打開粒子系統(tǒng)后,單擊Color over Lifetime模塊旁邊的復(fù)選框以啟用它并展開它。 你會受到Color這個詞的歡迎,旁邊看起來像是一個白色的塊。 點擊white block

這將打開漸變編輯器:

顆粒壽命期間的顏色變化表示為漸變條。 起始顏色位于最左側(cè),粒子將轉(zhuǎn)換為右側(cè)的顏色:

邊緣處的四個白色箭頭稱為markers,在兩個現(xiàn)有標(biāo)記之間單擊以添加新標(biāo)記。 要刪除標(biāo)記,請將其拖離條形:

頂部標(biāo)記處理顏色的Alpha或不透明度,而底部標(biāo)記處理RGB(紅色,綠色,藍色)顏色值。

單擊最右邊的alpha標(biāo)記。Gradient編輯器的底部現(xiàn)在顯示當(dāng)前的alpha值:

將滑塊一直拖到0,現(xiàn)在,粒子將在其生命周期中逐漸消失。

再次運行場景以查看更改的效果:

到這里就完成了。

在本教程中,您已經(jīng)了解了粒子系統(tǒng)及其各種模塊如何在Unity中工作,以及如何調(diào)整它們以獲得您想要的效果。 您可以隨意嘗試不同的設(shè)置,看看您可以實現(xiàn)的其他炫酷效果。

有關(guān)Shuriken粒子系統(tǒng)及其模塊的更多信息,請查看Unity’s official documentation及其 Particle System video。 您還可以在此處了解有關(guān)scripting particle systems here的更多信息。

后記

本篇主要講述了Unity粒子系統(tǒng),感興趣的給個贊或者關(guān)注~~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,791評論 6 545
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,795評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,943評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,057評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,773評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,106評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,082評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,282評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,793評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,507評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,741評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,220評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,929評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,325評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,661評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,482評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,702評論 2 380

推薦閱讀更多精彩內(nèi)容