版本記錄
版本號(hào) | 時(shí)間 |
---|---|
V1.0 | 2019.01.14 星期一 |
前言
Unity是由Unity Technologies開發(fā)的一個(gè)讓玩家輕松創(chuàng)建諸如三維視頻游戲瓜喇、建筑可視化嫁乘、實(shí)時(shí)三維動(dòng)畫等類型互動(dòng)內(nèi)容的多平臺(tái)的綜合型游戲開發(fā)工具徐伐,是一個(gè)全面整合的專業(yè)游戲引擎双抽。Unity類似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的圖型化開發(fā)環(huán)境為首要方式的軟件厌小。其編輯器運(yùn)行在Windows 和Mac OS X下简肴,可發(fā)布游戲至Windows、Mac榨咐、Wii介却、iPhone、WebGL(需要HTML5)块茁、Windows phone 8和Android平臺(tái)齿坷。也可以利用Unity web player插件發(fā)布網(wǎng)頁(yè)游戲桂肌,支持Mac和Windows的網(wǎng)頁(yè)瀏覽。它的網(wǎng)頁(yè)播放器也被Mac 所支持永淌。網(wǎng)頁(yè)游戲 坦克英雄和手機(jī)游戲王者榮耀都是基于它的開發(fā)崎场。
下面我們就一起開啟Unity之旅。感興趣的看下面幾篇文章遂蛀。
1. Unity開啟篇(一) —— Unity界面及創(chuàng)建第一個(gè)簡(jiǎn)單的游戲 (一)
2. Unity開啟篇(二) —— Unity界面及創(chuàng)建第一個(gè)簡(jiǎn)單的游戲 (二)
3. Unity開啟篇(三) —— 一款簡(jiǎn)單射擊游戲示例 (一)
4. Unity開啟篇(四) —— 一款簡(jiǎn)單射擊游戲示例 (二)
5. Unity開啟篇(五) —— 一款簡(jiǎn)單射擊游戲示例 (三)
6. Unity開啟篇(六) —— Unity動(dòng)畫簡(jiǎn)介 (一)
7. Unity開啟篇(七) —— Unity動(dòng)畫簡(jiǎn)介 (二)
8. Unity開啟篇(八) —— Unity聲音簡(jiǎn)介(一)
9. Unity開啟篇(九) —— Unity聲音簡(jiǎn)介(二)
開始
首先看下寫作環(huán)境
C# 6, Unity 2017.x, Unity
Unity的粒子系統(tǒng)既健壯又功能豐富照雁。 在本教程中,您將學(xué)習(xí)它答恶,以創(chuàng)建火災(zāi)和爆炸。
粒子系統(tǒng)就像鹽萍诱;只需少量就可以為你正在烹飪的任何東西添加額外的“味道”悬嗓。 不以某種方式使用粒子系統(tǒng)的現(xiàn)代游戲可能會(huì)感到非常乏味。
回到過(guò)去裕坊,你需要黑色的圖形編程技術(shù)才能創(chuàng)造出一縷煙霧包竹。 值得慶幸的是,Unity使用名為Shuriken
的模塊化內(nèi)置粒子系統(tǒng)創(chuàng)建粒子系統(tǒng)非常簡(jiǎn)單籍凝,該系統(tǒng)易于學(xué)習(xí)周瞎,但可以讓您創(chuàng)建復(fù)雜的效果。
在本教程中饵蒂,您將學(xué)習(xí)以下內(nèi)容:
- 如何在Unity中添加新的粒子系統(tǒng)声诸。
- 最常用的粒子系統(tǒng)模塊的作用以及如何使用它們。
本教程有兩個(gè)主要部分退盯;在第一部分中彼乌,你將構(gòu)建火炬的火焰。 在第二部分中渊迁,您將創(chuàng)建炸彈爆炸效果慰照。
Getting Started with Particle Systems
在Unity中打開已經(jīng)建立好的Starter Project
。 里面的資源分為幾個(gè)文件夾:
- Materials:保存火材料琉朽。
- Models:包含火炬和炸彈模型及其材料毒租。
- Prefabs:保存炸彈預(yù)制件。
- Scenes:包含火炬和炸彈場(chǎng)景箱叁。
- Scripts:保存初始腳本墅垮。
- Textures:包含火材料的紋理。
現(xiàn)在您已經(jīng)看到了所有內(nèi)容的存儲(chǔ)位置蝌蹂,您可以開始了解粒子系統(tǒng)在Unity中的工作原理噩斟。
Adding a Particle System
粒子系統(tǒng)通常在預(yù)定義空間內(nèi)的隨機(jī)位置發(fā)射粒子,其可具有類似球形或錐形的形狀孤个。 系統(tǒng)確定粒子本身的壽命剃允,當(dāng)壽命到期時(shí),系統(tǒng)會(huì)破壞粒子。
粒子系統(tǒng)的一個(gè)好處是它們是可以添加到場(chǎng)景中任何GameObject
的組件斥废。 想讓你的鯊魚從他們的眼睛里發(fā)出激光嗎椒楣? 只需在鯊魚眼GameObject
中添加一個(gè)粒子系統(tǒng),你的鯊魚就會(huì)不可阻擋牡肉!
從項(xiàng)目窗口打開Torch
場(chǎng)景并運(yùn)行場(chǎng)景:
目前沒(méi)有多少事情發(fā)生捧灰。 火炬掛在墻上,但沒(méi)有火可見(jiàn)统锤。 您需要先添加粒子系統(tǒng)毛俏。
停止運(yùn)行場(chǎng)景并在層次結(jié)構(gòu)中選擇TorchFireParticles
。 在Inspector
中饲窿,單擊Add Component
按鈕煌寇。 搜索Particle System
并單擊以添加它:
注意:您可能已經(jīng)注意到?jīng)]有將粒子系統(tǒng)直接添加到
MedievalTorch GameObject
。 這是因?yàn)榱W訉幕鹁娴闹虚g發(fā)出逾雄,而不是從頂部的燃料容器中發(fā)出阀溶。
播放你的場(chǎng)景;你會(huì)看到你已經(jīng)發(fā)射了粒子:
注意:您可能會(huì)看到粉紅色顆粒而不是白色鸦泳,這似乎是設(shè)置默認(rèn)紋理的Unity bug银锻。 如果是這種情況,請(qǐng)不要擔(dān)心:您將很快設(shè)置適當(dāng)?shù)幕鹧婕y理做鹰。 如果您想立即修復(fù)它击纬,請(qǐng)單擊粒子系統(tǒng)的
Renderer
部分,單擊Material
字段旁邊的Dot
钾麸,然后在彈出的窗口中雙擊Default-Particle
掉弛。
當(dāng)您選擇帶有附加粒子系統(tǒng)的GameObject
時(shí),您會(huì)注意到場(chǎng)景視圖右下角有一個(gè)黑色對(duì)話框喂走。 此對(duì)話框允許您模擬或停止粒子系統(tǒng)殃饿。 單擊Simulate
可激活粒子系統(tǒng)并將按鈕更改為Pause
按鈕。 要停止模擬器芋肠,請(qǐng)單擊Stop
按鈕乎芳。
此對(duì)話框?qū)τ谠O(shè)計(jì)在固定時(shí)間軸上運(yùn)行的粒子系統(tǒng)非常有用,例如爆炸帖池。
A Closer Look at a Particle System
看看Inspector
奈惑,你會(huì)注意到你添加的粒子系統(tǒng)組件有幾個(gè)subsections
:
這些subsections
中的每一個(gè)都稱為Module
。 這些模塊包含粒子系統(tǒng)的設(shè)置睡汹。 默認(rèn)情況下擴(kuò)展的模塊稱為Main
模塊:
Main
模塊是Unity
中任何粒子系統(tǒng)的肉和骨骼肴甸。 最常見(jiàn)的粒子設(shè)置在這里:
-
Duration:粒子系統(tǒng)運(yùn)行的時(shí)間長(zhǎng)度(以秒為單位)。 將其保留為默認(rèn)值
5.00
囚巴。 -
Looping:反復(fù)發(fā)射粒子原在,直到粒子系統(tǒng)停止友扰。 達(dá)到
Duration
時(shí)間后,循環(huán)重新開始庶柿。 火需要持續(xù)燃燒村怪,因此請(qǐng)啟用此功能。
-
Prewarm:僅在啟用
Looping
時(shí)使用浮庐。 粒子系統(tǒng)就好像它已經(jīng)在啟動(dòng)時(shí)完成了一個(gè)完整的循環(huán)甚负。
為了您的火力效果,請(qǐng)將此禁用狀態(tài)設(shè)置為使其看起來(lái)像火炬一樣被點(diǎn)燃审残。
- Start Delay:粒子系統(tǒng)開始發(fā)射之前的延遲(以秒為單位)梭域。 將其保留為默認(rèn)值0。
- Start Lifetime:粒子的初始生命周期(秒)搅轿。 經(jīng)過(guò)這段時(shí)間后碰辅,粒子被破壞。
將生命周期設(shè)置為4秒介时;這確保了火焰不會(huì)太高。
- Start Speed:粒子的初始速度凌彬。 顆粒的速度越大沸柔,它們就越分散。
將速度設(shè)置為0.75铲敛;這將使火焰效果更慢褐澎,更密集。
注意:在修改粒子系統(tǒng)的設(shè)置時(shí)伐蒋,您將在
Game Window
中看到它的預(yù)覽工三。 在閱讀本教程的同時(shí),請(qǐng)密切關(guān)注此預(yù)覽先鱼。
在繼續(xù)之前俭正,請(qǐng)運(yùn)行場(chǎng)景以查看更改的效果:
你已經(jīng)設(shè)置了火炬,但火焰效果仍然有很多不足之處焙畔。 值得慶幸的是掸读,主模塊(Main module)
還有其他選項(xiàng)可以進(jìn)一步改善割炬的形狀和行為。
More Main Module Properties
在層次結(jié)構(gòu)中選擇TorchFireParticles GameObject
宏多,然后向下滾動(dòng)到粒子系統(tǒng)儿惫。 在主模塊下,查看以下屬性:
起始大猩斓:粒子的初始大小肾请。
- Start Size:粒子的初始大小。
將大小設(shè)置為3更胖;這是一個(gè)易于管理的尺寸铛铁,可讓您更清晰地看到各個(gè)粒子隔显。
- Start Rotation:粒子的初始旋轉(zhuǎn)角度。
保持旋轉(zhuǎn)0°避归;粒子是圓的荣月,所以你幾乎不會(huì)注意到差異。
-
Start Color:顆粒的初始顏色梳毙。 將顏色保持為純白色的默認(rèn)值
(255,255,255)
敏释;你會(huì)通過(guò)紋理為火焰著色。 -
Gravity Modifier:縮放在
Unity
的Physics Manager
窗口中設(shè)置的重力值梧田。 如果設(shè)置為0蔚袍,則重力將關(guān)閉。
上圖是來(lái)自重力修正( gravity modifier )
設(shè)置為1的系統(tǒng)奸柬,這使得粒子像瀑布一樣向下流動(dòng)生年。 將系統(tǒng)中的重力保持為0;粒子將以您在Start Speed
中設(shè)置的速度向上移動(dòng)廓奕。
-
Simulation Space:在粒子系統(tǒng)中移動(dòng)
Local Space
中的粒子抱婉。 在World Space
中,粒子一旦發(fā)射就會(huì)自由移動(dòng)桌粉。
將模擬集保留為Local Space
蒸绩。 只有移動(dòng)粒子系統(tǒng)后才能看到效果。
Play On Awake:?jiǎn)⒂煤罅⒓撮_始發(fā)光铃肯。 如果關(guān)閉此選項(xiàng)患亿,則必須通過(guò)腳本或動(dòng)畫系統(tǒng)手動(dòng)啟動(dòng)粒子系統(tǒng)。 保持此設(shè)置押逼,因?yàn)槟M趫?chǎng)景開始播放時(shí)啟動(dòng)火步藕。
Max Particles:系統(tǒng)可能同時(shí)存活的最大粒子數(shù)。 如果您嘗試發(fā)射的粒子多于此粒子挑格,則根本不會(huì)發(fā)射粒子咙冗。 此設(shè)置主要是出于性能原因,在這種情況下漂彤,
1000
個(gè)粒子的默認(rèn)值綽綽有余乞娄。
哇,這是一個(gè)清單显歧! 但結(jié)果仪或,您已經(jīng)學(xué)會(huì)了如何將粒子系統(tǒng)添加到場(chǎng)景中以及如何根據(jù)自己的喜好自定義它。
再次運(yùn)行場(chǎng)景以查看更改的效果:
它每次看起來(lái)更有點(diǎn)像火士骤,不是嗎范删?
但它需要更多的粒子。 為此拷肌,您需要更改系統(tǒng)的emission
到旦。
Introducing the Emission Module
發(fā)射(Emission)
模塊根據(jù)您的需要處理系統(tǒng)中發(fā)射粒子的數(shù)量和時(shí)間旨巷,以創(chuàng)建從連續(xù)流動(dòng)到突然爆發(fā)的粒子的任何事物。
在仍在粒子系統(tǒng)的Inspector
中時(shí)添忘,單擊Emission
模塊標(biāo)題:
這打開了Emission
模塊:
Time over Time
表示每秒發(fā)出的粒子數(shù)采呐。 將時(shí)間比率設(shè)置為15
。
再次運(yùn)行你的場(chǎng)景搁骑;你的粒子系統(tǒng)現(xiàn)在看起來(lái)更像是燃燒的火焰斧吐。
不可否認(rèn),它仍然看起來(lái)像煙霧仲器。 但到目前為止煤率,這是本教程中最大的變化:自定義紋理!
Adding a Custom Texture
所有粒子都有一個(gè)粒子材料和一個(gè)定義它們外觀的紋理乏冀。 你可以用默認(rèn)紋理做很多事情蝶糯。 通過(guò)改變紋理,您可以創(chuàng)建魔法星辆沦,煙霧昼捍,當(dāng)然還有火焰等效果。
改變粒子紋理非常容易肢扯。 到目前為止妒茬,粒子已經(jīng)使用Default-Particle
材質(zhì)在屏幕上繪制,該材質(zhì)是具有圓形漸變紋理的粒子材質(zhì):
要更改材質(zhì)鹃彻,請(qǐng)?jiān)趯哟谓Y(jié)構(gòu)中選擇TorchFireParticles GameObject
。 然后在Inspector
中找到粒子系統(tǒng)組件并打開粒子系統(tǒng)的Renderer
模塊妻献。
在Project View
中打開Materials
文件夾蛛株,然后將FireMaterial Material
拖動(dòng)到Material
屬性:
最后,運(yùn)行場(chǎng)景以查看正在使用的自定義紋理:
你能感受到熱量嗎育拨? 雖然火焰有點(diǎn)太寬谨履;要解決這個(gè)問(wèn)題,你必須改變粒子系統(tǒng)的形狀熬丧。
后記
本篇主要講述了Unity粒子系統(tǒng)笋粟,感興趣的給個(gè)贊或者關(guān)注~~~