粒子系統作業

2021-09-29 11:40:09 字數 1591 閱讀 6026

首先,我們需要先來建立粒子,我們新增粒子系統,設定粒子的各引數如下:

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 ...