粒子效果
粒子效果
1. 簡單粒子製作
- 按參考資源要求,製作一個粒子系統,參考資源
- 使用 3.3 節介紹,用程式碼控制使之在不同場景下效果不一樣
2. 實現過程
-
本次作業要求較為簡單,還有相關的參考教程,需要實現一個帶有光暈的魔法球。整個粒子可以分為兩部分,即光暈(多個)和星光。
-
首先製作例子主體部分–光暈,光暈的中間部分的粒子不會移動,所以設定其speed為0,shape設定為Box或Sphere,讓光暈填充整個粒子,顯得飽滿。
-
設定光暈粒子(Light)的Color over Lifetime元件,光暈由於受四周的光照影響,在實際中,在光暈從出生到消失的時候,肯定是無中生有,那麼一切光從黑暗中來最後消失與黑暗,所以最外部的顏色肯定是黑色。
-
設定光暈粒子(Light)的其它引數。
-
設定星光粒子(Particle)的 Color over Lifetime元件引數,星光的特徵,也是無中生有,還有就是出生的時候顏色應該和閃光球的顏色一致,然後越來越淡(白色),最後消失於黑暗中(黑色)。
-
設定星光粒子的其他引數。
-
最後將這兩種粒子組合到一個空的物件上。
-
星光粒子和光暈粒子的Renderer元件設定相同
-
將成品進行預製,最後通過一個程式碼載入到場景中:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ClickHandle : MonoBehaviour
{
public GameObject paricle;
private int speed = 0;
// Start is called before the first frame update
void Start()
{
speed = 0;
//載入預製資源
paricle = ParticleSystem.Instantiate<GameObject>(Resources.Load<GameObject>("Prefabs/simple"));
}
// Update is called once per frame
void Update()
{
if (paricle != null && paricle.transform.position.y > -3)
{
paricle.transform.Translate(new Vector3(0, -2, 0) * speed * Time.deltaTime);
}
else if (paricle != null && paricle.GetComponent<ParticleSea>() == null)
{
Destroy(paricle);
this.gameObject.AddComponent<ParticleSea>();
}
if (Input.GetButtonDown("Fire1"))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit[] hits;
hits = Physics.RaycastAll(ray);
for (int i = 0; i < hits.Length; i++)
{
RaycastHit hit = hits[i];
if (hit.collider.gameObject != null)
{
speed = 2;
}
}
}
}
}
3. 效果展示
相關文章
- 學習 PixiJS — 粒子效果JS
- iOS 粒子發射效果iOS
- Flutter Flame教程10 -- Particles粒子效果Flutter
- Flutter動畫實現粒子漂浮效果Flutter動畫
- Puremagnetik Vanisher Mac粒子頻譜效果處理器REMMac
- Particles.js:為Web專案增添動態粒子效果JSWeb
- 教你如何用WPF實現文字粒子閃爍動畫效果動畫
- CSS3實現王者匹配時的粒子動畫效果CSSS3動畫
- CSS3中用background-image實現粒子動畫效果CSSS3動畫
- Cocos Creator實戰-使用粒子資源實現螢幕點選效果
- 震驚,canvas文字粒子效果,只需要100行程式碼,簡單易懂。Canvas行程
- Android粒子篇之文字的粒子化運動Android
- Three.js開發指南(7):粒子和粒子系統JS
- Unity 2018.2之粒子Unity
- CAEmitterLayer粒子發射器MIT
- 【實戰】這個炫酷的播放粒子效果,你也可以學會!使用Web動畫API製作Web動畫API
- Trapcode Particular for Mac(AE三維粒子)Mac
- Flutter動畫之粒子精講Flutter動畫
- 炒雞簡單的canvas粒子Canvas
- 【題解】「ZJOI2007」粒子運動
- Trapcode Suite Mac(紅巨星粒子外掛)UIMac
- 風場視覺化:繪製粒子視覺化
- 可以隨心所欲的canvas粒子特效Canvas特效
- OpenGL Shader例項,OpenGL 粒子系統
- AE 3D粒子系統外掛3D
- Android OpenGL ES 系列連載:(14)粒子(Particles)Android
- 【帶著canvas去流浪(9)】粒子動畫Canvas動畫
- Android粒子篇之Bitmap畫素級操作Android
- 172個機構合作,發現奇異粒子,機器學習分析約1.6億次粒子碰撞資料機器學習
- CSS:遮罩效果、陰影效果、毛玻璃效果CSS遮罩
- 粒子類特效SDK,電影級的逼真特效特效
- Red Giant Trapcode Suite for Mac(紅巨星粒子外掛)UIMac
- Aescripts Rowbyte Plexus for Mac(AE三維粒子外掛)Mac
- DirectX11 With Windows SDK--35 粒子系統Windows
- Flutter第2天--Animation動畫+粒子運動Flutter動畫
- 紅巨星粒子特效合集外掛:Trapcode Suite 18 for Mac特效UIMac
- Unity音量視覺化——粒子隨聲浪跳動Unity視覺化
- Three.js進階篇之5 - 粒子系統JS