版本記錄
版本號 | 時間 |
---|---|
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ā)布游戲至Windows、Mac、Wii、iPhone、WebGL(需要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
拖到Bomb
的Explosion 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)注~~~