首先,我們需要先來建立粒子,我們新增粒子系統,設定粒子的各引數如下:
public particlesystem particlesystem; //粒子系統物件
public int particlenumber = 5000; //最大粒子數
public float pingpong = 0.05f;
public float size = 0.05f; //大小
public float maxradius = 10f; //旋轉半徑
public float minradius = 4.0f;
public float speed = 0.05f; //運動速度
private float particleangle;
private float particleradius;
private float time = 0;
private particlesystem.particle particlesarray;
private color changecolor = ;
private float colortimeout = 0;
然後,調整攝像機背景,設定攝像機背景顏色為黑色:
然後是對粒子進行相應的初始化,將我們之前設定好的各引數賦值給粒子的每乙個變數,我們首先對粒子總數進行設定,然後建立乙個陣列,表示在該空間內的所有粒子。然後,我們發射粒子,並講這些粒子存入陣列。最後,我們初始化粒子的位置,並設定粒子運動的半徑、角度以及旋轉速率,如下:
void start()
void init()
}
接下來是對粒子進行相應的資料更新,使其座標會時刻變化。粒子的運動由多個不同級別的速度實現,從而使得光環可以展現出不同大小的小光環。在每一次update的 colortimeout中都定義了乙個迴圈。首先粒子會不斷擴大,當粒子擴大到設定的相應的閾值後就會縮小,並且縮小的速度會大於放大的速度。通過這一迴圈機制,我們就實現了粒子系統的縮放效果,具體如下:
void update()
else//縮小
particleangle[i] = (particleangle[i] + 360) % 360;
float rad = particleangle[i] / 180 * mathf.pi;
particlesarray[i].position = new vector3(particleradius[i] * mathf.cos(rad), particleradius[i] * mathf.sin(rad), 0f);
}particlesystem.setparticles(particlesarray, particlenumber);
}
最終效果如下:
粒子系統 作業與練習
在本次作業中,我使用粒子系統製作了乙個彩虹效果的烟花。基本步驟 首先,新建乙個空物件halo,並新增子物件,然後加入粒子系統 然後新建指令碼halo,在指令碼中完成具體粒子效果的實現。private particlesystem particlesys 粒子系統 private particlesy...
CCParticleSystem粒子系統
第一次接觸粒子系統,以前遊戲裡面的一些小特效,像製作動畫一樣,是採用一幀一幀的切出來的,由於這種特效,變化無常,切出來的幀,都非常的大,也很耗記憶體,一下就記憶體溢位了.呵呵 主要是以前都沒有接觸過.現在接觸了,以後遊戲就可以用到了.開心 建立乙個ccparticlesystem粒子系統 ccpar...
Unity粒子系統
首次接觸unity的粒子系統,內容太多,搞得都不好寫筆記,所以就記錄下unity的粒子系統做出來的東西以及經常用的一些引數。火焰效果製作 這個相對簡單 建立粒子系統物件 1 調duration 1 開啟loop start size 1 start lifetime 1 start speed 1 ...