有夥伴問曉衡:Cocos Store 上除了成品小遊戲,還有那些機會?
我回答道:Creator 3D 特效美術,絕對有機會,最爲簡單的就是模仿『王者榮耀』中的技能來一打!
今天給大家推薦一篇 Cocos Creator 3D 的粒子編輯器教程,製作一個魔法陣特效,先來看一下最終的效果!
正文
看了效果,那麼到底是怎麼實現的呢?
「答案是:粒子系統」
接下來菜鳥就帶大家簡單的瞭解一下 Creator 的粒子系統,「"以下言論僅爲個人理解,錯誤莫噴,希望大家幫菜鳥糾正"」
1.主模塊介紹
首先菜鳥帶大家瞭解一下主模塊,以及主模塊中比較重要的幾個屬性:
文檔中對於以上屬性的描述:
-
1.dration 粒子系統運行總時間 -
2.capacity 粒子系統能生成的最大粒子數量 -
3.loop 粒子系統是否循環播放 -
4.startLifetime 粒子生命週期 -
5.rateOverTime 每秒發射的粒子數
屬性描述補充
-
dration:粒子系統運行總時間,他表示的是粒子系統單次運行時間值,在具體點就是 「產生第一個粒子到產生最後一個粒子之間的時間,並非第一個粒子顯示到最後一個粒子消失的時間」 -
capacity:粒子系統能生成的最大粒子數量,表示粒子系統 「單次運行」最多可以產生的粒子數, -
startLifetime: 粒子生命週期, 「單個粒子產生到消失的時間」 -
rateOverTime:粒子系統每秒發射的粒子數
注意
-
當rateOverTime=10,dration=1時,每秒鐘產生的粒子實際數量爲rateOverTime-1,也就是說在總數足夠的情況下,運行實際產生的粒子數量爲9。 「再換一種說話,在總數足夠的情況下,假設粒子數爲n,要想知道n爲多少需要兩步操作,1. n<rateOverTime*dration,2.對第一步得到的n向下取整」 -
第一個粒子產生到最後一個粒子消失的時間t爲:
capacity < t < capacity+startLifetime -
當實際產生的粒子數大於capacity,粒子將停止產生,直到有粒子生命週期結束再開始產生
2.魔法陣實現
魔法陣的實現主要分爲兩部分,底盤和光束
底盤
底盤的效果顯示爲原點旋轉,具體設置:
-
1.dration=5,capacity=1,startLifetime=5,這三個參數的設置確保了粒子運行時間屏幕上只有一個粒子, -
rateOverTime=200 也就是每秒產生200個粒子,那麼第一個粒子的產生時間大概爲1/200s=0.005s,相當於粒子系統運行後馬上產生, -
dration=5,capacity=1,startLifetime=5,rateOverTime=200這四個參數結合,可以實現粒子視覺顯示的時間和粒子系統運行時近似相等的情況,在loop狀態下可以實現完美的銜接效果 -
粒子的旋轉是通過設置 「旋轉模塊」(RotationOvertimeModule) z軸的旋轉, -
在startLifetime生命週期內 粒子從初始角度勻速旋轉到180度 -
設置材質,effect要選擇 「粒子渲染的材質 builtin-particle」
光束
-
光束從底部上升,所以需要設置速度 StartSpeed -
光束的圖片是白色的,所以需要設置初始顏色, -
光束的產生不需要太多,所以將rateOverTime調小一點,設置爲2,每秒生成2個
爲了粒子產生位置比較隨機,使用了發射器模塊(ShapeModule)同時形狀在上升的過程中拉長,使用大小模塊(SizeOvertimeModule)透明度逐漸降低 使用顏色模塊(ColorOvertimeModule)設置光束所需的粒子材質
「到此爲止,光束的實現簡單描述完畢,文采有限,大家多多包涵,感覺寫的還行可以六個足跡奧!如有疑問可以私聊菜鳥奧,隨時爲大家服務」
本文分享自微信公衆號 - Creator星球遊戲開發社區(creator-star)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。