【Unity 3D】学习笔记四十二:粒子特效
粒子特效
粒子特效的原理是將若干粒子無(wú)規(guī)則的組合在一起。來(lái)模擬火焰,爆炸。水滴,霧氣等效果。
要使用粒子特效首先要?jiǎng)?chuàng)建,在hierarchy視圖中點(diǎn)擊create——particle system就可以
粒子發(fā)射器
粒子發(fā)射器是用于設(shè)定粒子的發(fā)射屬性,比方說(shuō)粒子的大小,數(shù)量和速度等。在創(chuàng)建完粒子對(duì)象后。在右側(cè)inspector視圖中便能夠看到全部的粒子屬性:
emit:是否是使用粒子發(fā)射器。
min size:粒子最小尺寸。
max size:粒子最大尺寸。
min energy:粒子的最小生命周期,單位秒,表示N秒后粒子消失。
max energy:粒子的最大生命周期,單位秒。表示N秒后粒子消失。
min emission:粒子每秒生成的最小數(shù)量。
max emission:粒子每秒生成的最大數(shù)量。
world velocity:粒子在3D世界中各軸的速度。
localvelocity:粒子自身坐標(biāo)系中各個(gè)軸的移動(dòng)速度。
rndvelocity:各個(gè)軸粒子的隨機(jī)速度。
emittervelocity scale:粒子繼承發(fā)射的速度。
tangentvelocity:粒子發(fā)射切線的速度。
angularvelocity:粒子發(fā)射的角速度。
rnd angularvelocity:粒子的隨機(jī)角速度。
rnd rotation:粒子是否隨機(jī)旋轉(zhuǎn)。
simulate in worldspace:是否在世界坐標(biāo)中模擬粒子。
one shot:選擇后,粒子僅僅發(fā)送一次,否則粒子將連續(xù)發(fā)送。
ellipsoid:粒子產(chǎn)生的全部軸的位置。
min emitter range:設(shè)定粒子之間的間隙。
粒子動(dòng)畫(huà)
粒子動(dòng)畫(huà)用于設(shè)定粒子渲染中的動(dòng)畫(huà)效果,首先簡(jiǎn)單的介紹粒子動(dòng)畫(huà)中各個(gè)屬性:
does animate color:是否開(kāi)啟粒子動(dòng)畫(huà)的顏色。顏色將依據(jù)自身的生命周期改變。
color animation[ n ]:設(shè)置動(dòng)畫(huà)漸變數(shù)組中的顏色。這個(gè)數(shù)組長(zhǎng)5。也就是說(shuō)粒子的顏色發(fā)生改變時(shí),循環(huán)這5個(gè)顏色。
world rotation axis:粒子環(huán)繞世界坐標(biāo)軸旋轉(zhuǎn)。
local rotation axis:粒子環(huán)繞著本地空間軸旋轉(zhuǎn)。
size grow:粒子成長(zhǎng)的生命周期。
rnd force:粒子執(zhí)行時(shí)。每經(jīng)過(guò)一幀就在粒子上加一個(gè)隨機(jī)的力。
force:粒子執(zhí)行是,每經(jīng)過(guò)一幀就在粒子上加一個(gè)固定的力。
damping:阻力,用于減慢粒子。
autodestruct:自己主動(dòng)銷毀粒子動(dòng)畫(huà)對(duì)象。
粒子渲染器
粒子渲染器主要用于粒子的渲染,如:渲染模式。粒子的縮放,粒子的尺寸等
cast shadows:是否投射粒子的陰影。
receive shadows:是否接受粒子的陰影。
materials:粒子顯示的材質(zhì)。
camera velocity scale:相機(jī)縮放的速度。
stretch particles:粒子的顯示狀態(tài),如橫向或縱向。
length scale:粒子縮放的長(zhǎng)度。
velocity scale:粒子縮放的速度。
max particle size:粒子最大的尺寸。
uv animation:設(shè)置粒子動(dòng)畫(huà)水平方向上的數(shù)量與垂直方向上的數(shù)量以及播放貼圖動(dòng)畫(huà)。
粒子效果實(shí)例
unity為粒子提供了非常不錯(cuò)的標(biāo)準(zhǔn)包。在project視圖右鍵彈出import package——particles。導(dǎo)入粒子標(biāo)準(zhǔn)包,里面有非常多現(xiàn)成的粒子材質(zhì)。
using UnityEngine;
using System.Collections;
public class Script_06_11 : MonoBehaviour
{
//粒子對(duì)象
GameObject particle = null;
//粒子X(jué)軸方向速度
float velocity_x = 0.0f;
//粒子Y軸方向速度
float velocity_y = 0.0f;
//粒子Z軸方向速度
float velocity_z = 0.0f;
void Start ()
{
//獲得粒子對(duì)象
particle = GameObject.Find("ParticleSystem");
}
void OnGUI()
{
//拖動(dòng)設(shè)置粒子的最大尺寸
GUILayout.Label("粒子最大尺寸");
particle.particleEmitter.maxSize = GUILayout.HorizontalSlider (particle.particleEmitter.maxSize, 0.0f, 10.0f,GUILayout.Width(150));
//拖動(dòng)設(shè)置粒子的最大消失時(shí)間
GUILayout.Label("粒子消失時(shí)間");
particle.particleEmitter.maxEnergy = GUILayout.HorizontalSlider (particle.particleEmitter.maxEnergy, 0.0f, 10.0f,GUILayout.Width(150));
//拖動(dòng)設(shè)置粒子的最大生成數(shù)量
GUILayout.Label("粒子的最大生成數(shù)量");
particle.particleEmitter.maxEmission = GUILayout.HorizontalSlider (particle.particleEmitter.maxEmission, 0.0f, 100.0f,GUILayout.Width(150));
//拖動(dòng)設(shè)置粒子X(jué)軸的移動(dòng)速度
GUILayout.Label("粒子x軸的移動(dòng)速度");
velocity_x= GUILayout.HorizontalSlider (velocity_x, 0.0f, 10.0f,GUILayout.Width(150));
particle.particleEmitter.worldVelocity = new Vector3(velocity_x, particle.particleEmitter.worldVelocity.y, particle.particleEmitter.worldVelocity.z);
//拖動(dòng)設(shè)置粒子Y軸的移動(dòng)速度
GUILayout.Label("粒子y軸的移動(dòng)速度");
velocity_y= GUILayout.HorizontalSlider (velocity_y, 0.0f, 10.0f,GUILayout.Width(150));
particle.particleEmitter.worldVelocity = new Vector3( particle.particleEmitter.worldVelocity.x,velocity_y, particle.particleEmitter.worldVelocity.z);
//拖動(dòng)設(shè)置粒子Z軸的移動(dòng)速度
GUILayout.Label("粒子z軸的移動(dòng)速度");
velocity_z= GUILayout.HorizontalSlider (velocity_z, 0.0f, 10.0f,GUILayout.Width(150));
particle.particleEmitter.worldVelocity = new Vector3( particle.particleEmitter.worldVelocity.x, particle.particleEmitter.worldVelocity.y,velocity_z);
}
}
執(zhí)行:
總結(jié)
以上是生活随笔為你收集整理的【Unity 3D】学习笔记四十二:粒子特效的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《忍者时刻》高阶妖灵攻略
- 下一篇: 鸣潮射击派对怎么过 鸣潮射击派对任务完成