<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          少了五毛錢不賣的酷炫火焰特效!3D粒子哦!

          共 4323字,需瀏覽 9分鐘

           ·

          2020-11-16 19:16

          先展示一下最終效果,然后再逼逼

          最終效果

          后邊圖片挺多的,使用流量看文章的,祝好運(yùn)。

          你聽說過5毛錢特效嗎?

          我是個(gè)電視迷,在讀大學(xué)的時(shí)候,經(jīng)常通宵刷劇。

          往往有很多引人入勝的情節(jié),搭配著粗制濫造的特效。

          所以我就經(jīng)常會(huì)吐槽,"我靠,這也太假了吧!"。

          我就想啊,肯定是做后期的人水平不夠嘛,要是讓我來,肯定能做的吊炸天!

          不能光是想啊,我還真的付出了實(shí)際行動(dòng),

          我買了一本,打算啃下來,然后去教育教育他們。

          然而,半個(gè)月過去了,我還在望著書發(fā)呆,

          這個(gè)時(shí)候,我再刷劇的時(shí)候,就覺得,"嗯,這個(gè)特效也還挺好的..."。

          我成功的做到了"21天,從入門到放棄"。

          最新一直在學(xué)習(xí)Cocos Creator 3D,發(fā)現(xiàn)了引擎自帶的粒子系統(tǒng),

          我心中的小火苗又燃燒起來了,哥們當(dāng)年只是暫時(shí)隱忍而已,終于到了我反擊的時(shí)候了!

          5毛錢-火焰特效-方法1

          1. 新建一個(gè)粒子系統(tǒng),取名Fire1。
          創(chuàng)建粒子系統(tǒng)
          默認(rèn)的粒子系統(tǒng)效果
          1. 通過觀察現(xiàn)實(shí)中的火焰,我們其實(shí)可以認(rèn)為,火焰的運(yùn)動(dòng)軌跡是從一個(gè)點(diǎn)生成,然后不斷向上運(yùn)動(dòng)的,根據(jù)這個(gè)規(guī)律,我們先對(duì)發(fā)射器模塊的參數(shù)進(jìn)行調(diào)整。

            • 展開 發(fā)射器模塊(ShapeModule)

            • 粒子發(fā)射器半徑(Radius) 設(shè)置為0.2,默認(rèn)值是1,我們不需要那么粗的發(fā)射器。

            • 將 ?開合角度(Angle) 設(shè)置為0,默認(rèn)值是25,讓圓錐形的發(fā)射器變成圓柱形的發(fā)射器。

          發(fā)射器模塊(ShapeModule)設(shè)置

          此時(shí)粒子發(fā)射器變成了半徑為0.2的圓柱,粒子在圓柱下方隨機(jī)產(chǎn)生。

          有小伙伴說了,這哪里是火焰?。?/p>

          別急,這才剛開始呢!

          1. 現(xiàn)在可以看到粒子是不斷向上飛的,仿佛沒有盡頭一樣,我們來調(diào)整一下主模塊的參數(shù)。

            • 粒子初始速度(StartSpeed) 設(shè)置為3,默認(rèn)值為5,這樣可以降低粒子的速度,也可以間接控制火焰的高度。

            • 粒子生命周期(StartLifetime) 設(shè)置為0.8,默認(rèn)值為5,這是粒子從生成到消失的時(shí)間,可以通過其控制火焰的高度。注意不要和 粒子系統(tǒng)運(yùn)行時(shí)間(Duration)

            • 粒子系統(tǒng)運(yùn)行時(shí)間(Duration) 設(shè)置為1,默認(rèn)值是5。火焰是不斷循環(huán)的,不需要那么久的運(yùn)行時(shí)間。

            • 每秒發(fā)射的粒子數(shù)(RateOverTime) 設(shè)置為40,默認(rèn)值是10.粒子太少了的話,達(dá)不到燃燒的效果。

            • 粒子初始大小(StartSize) 選擇兩個(gè)常數(shù)的方式,設(shè)置為0.5~0.8,這樣粒子的大小就會(huì)在0.5~0.8這個(gè)范圍內(nèi)隨機(jī)。

          粒子主模塊設(shè)置

          注意:整個(gè)粒子系統(tǒng)運(yùn)行的時(shí)間是由 粒子系統(tǒng)運(yùn)行時(shí)間(Duration) ?和 粒子生命周期(StartLifetime) 加在一起的。

          有興趣的小伙伴可以看一下,如果把 loop 選項(xiàng)去掉,總體的運(yùn)行時(shí)間是接近1。8秒的。

          1. 勾選 大小模塊(SizeOvertimeModule),我們來設(shè)置一下火焰粒子的大小變化。讓粒子從生成到消失慢慢變小。

          怎么樣?現(xiàn)在有點(diǎn)感覺了吧!不過我們還要設(shè)置一下顏色。

          1. 勾選 顏色模塊(ColorOverLifetimeModule),我們來設(shè)置一下火焰色顏色。

            選擇 漸變模式(gradient),設(shè)置為由黃到紅的透明的漸變色。

          1. 讓我們來看一下最終效果

          接下來然我介紹一下另外一種火焰的制作方法。

          5毛錢-火焰特效-方法2

          1. 首先,我請(qǐng)UI小姐姐做了一張火焰的圖片,是這樣的。
          1. 新建材質(zhì),取名叫FireMaterial。

          可以看到,可供粒子系統(tǒng)使用的 Effect 有紅框中的三種,這里我們要使用的就是builtin-particle

          • builtin-particle:提供給粒子系統(tǒng)的 渲染模塊(Renderer) 中的 ?ParticleMaterial 使用,當(dāng)使用cpu渲染時(shí),必須使用此Effect,這個(gè)也是默認(rèn)選項(xiàng)。

          • builtin-particle-gpu:提供給粒子系統(tǒng)的 渲染模塊(Renderer) 中的 ?ParticleMaterial 使用,當(dāng)使用gpu渲染時(shí),必須使用此Effect。

          • builtin-particle-trail:提供給粒子系統(tǒng)的 渲染模塊(Renderer) 中的 ?TrailMaterial 使用。

          1. 然后,我們把美術(shù)小姐姐準(zhǔn)備好的圖片拖到 MainTexture 上,別忘記保存哦。
          1. 新建一個(gè)粒子系統(tǒng),取名Fire2,展開 渲染模塊(Renderer) ,將材質(zhì) FireMaterial 拖入到 ParticleMaterial 中。

          。

          1. 我們想要的效果是,固定顯示四個(gè)序列圖中的隨機(jī)一張,
          • 勾選 貼圖動(dòng)畫模塊(TextureAnimationModule),通過對(duì)材質(zhì)的觀察,我們可以看到圖片是2*2的序列圖。
          • 橫向貼圖幀數(shù)(NumTilesX) 設(shè)置為2。
          • 縱向貼圖幀數(shù)(NumTilesY) 設(shè)置為2。
          • 將 **一個(gè)生命周期內(nèi)播放幾次循環(huán)(CycleCount)**設(shè)置為1,默認(rèn)值0.
          • 一個(gè)周期內(nèi)動(dòng)畫播放的幀與時(shí)間變化曲線(FrameOverTime) 選擇兩個(gè)常數(shù)的方式,設(shè)置為0~3,這樣初始幀就會(huì)在4個(gè)序列中隨機(jī)。
          貼圖動(dòng)畫模塊(TextureAnimationModule)設(shè)置
          1. 展開 發(fā)射器模塊(ShapeModule) ,將 粒子發(fā)射器半徑(Radius) 設(shè)置為0,因?yàn)槲覀兿M鹧鎻囊粋€(gè)點(diǎn)內(nèi)產(chǎn)生,而不是一個(gè)大的范圍。

          2. 接下來對(duì) 主模塊 進(jìn)行設(shè)置。

            • 粒子系統(tǒng)運(yùn)行時(shí)間(Duration) 設(shè)置為1,默認(rèn)值是5?;鹧媸遣粩嘌h(huán)的,不需要那么久的運(yùn)行時(shí)間。
            • 粒子系統(tǒng)所能生成的最大粒子數(shù)量(Capacity) 設(shè)置為30,默認(rèn)值是100。
            • 每秒發(fā)射的粒子數(shù)(RateOverTime) 設(shè)置為30,默認(rèn)值是10.粒子數(shù)量太多太少了都達(dá)不到預(yù)期的效果。
            • 粒子生命周期(StartLifetime) 選擇兩個(gè)常數(shù)的方式,設(shè)置為0.3~0.4,火焰的粒子不需要運(yùn)行太久。
            • 粒子初始速度(StartSpeed) 設(shè)置為0.1,默認(rèn)值為5,讓火焰有微微跳動(dòng)的感覺。
            • 粒子初始大小(StartSize) 選擇兩個(gè)常數(shù)的方式,設(shè)置為0.5~0.8,這樣粒子的大小就會(huì)在0.5~0.8這個(gè)范圍內(nèi)隨機(jī)。
            • StartRotation(StartRotation) 選擇兩個(gè)常數(shù)的方式,設(shè)置為-30~308,給粒子添加隨機(jī)不同的旋轉(zhuǎn)角度。
            • 粒子受重力影響的系數(shù)(GravityModifier) 設(shè)置為-1,火焰應(yīng)該是向上漂浮的,所以我們給他一個(gè)向上的重力系數(shù)。

          此時(shí)可以看到,現(xiàn)在有點(diǎn)像火焰的感覺了,不過火焰并不是向上運(yùn)動(dòng)的,而是在自己的坐標(biāo)系內(nèi)向著Y軸正方向運(yùn)動(dòng)的,這顯然不是我們想要的效果。

          • 控制粒子坐標(biāo)計(jì)算所在的坐標(biāo)系(SimulationSpace) 設(shè)置為World,默認(rèn)是Local,這樣火焰的運(yùn)動(dòng)就就在使用世界坐標(biāo)系了。
          來,看看療效
          主模塊參數(shù)設(shè)置


          1. 最后一步,給火焰上上色,勾選 顏色模塊(ColorOverLifetimeModule),調(diào)節(jié)一個(gè)你需要的顏色。
          1. 通過,調(diào)節(jié)不同的顏色參數(shù),可以達(dá)到很多不同的火焰特效。
          熱情洋溢
          來自冥界的紫焰
          冷冽冰焰

          要想把火焰效果做的完美,我們還需要,做一些錦上添花的優(yōu)化,比如不斷升起的火星,忽明忽暗的火光,這樣才會(huì)更逼真。

          不斷升起的火星

          1. 新建粒子系統(tǒng),命名為Spark。

          2. 展開 發(fā)射器模塊(ShapeModule) 。

            • 粒子發(fā)射器半徑(Radius) 設(shè)置為0.2,讓發(fā)射器的半徑和火焰的半徑差不多就可以了。

            • 將 ?開合角度(Angle) 設(shè)置為0,讓圓錐形的發(fā)射器變成圓柱形的發(fā)射器。

          1. 主模塊設(shè)置

            • 粒子系統(tǒng)運(yùn)行時(shí)間(Duration) 設(shè)置為1,保持和火焰一致就好。

            • 粒子系統(tǒng)所能生成的最大粒子數(shù)量(Capacity) 設(shè)置為20,火星的數(shù)量不宜過多。

            • 每秒發(fā)射的粒子數(shù)(RateOverTime) 設(shè)置為20。

            • 粒子生命周期(StartLifetime) 選擇兩個(gè)常數(shù)的方式,設(shè)置為0.3~0.5,火星生成之后大概0.3~0.5秒就會(huì)消失。

            • 粒子初始大小(StartSize) 選擇兩個(gè)常數(shù)的方式,設(shè)置為0.08~0.12,火星的尺寸可以設(shè)置的小一點(diǎn)。

            • 粒子初始速度(StartSpeed) 設(shè)置為8,默認(rèn)值為7,讓火星能達(dá)到的最大高度稍微高過火焰就好。


          1. 最后一步,調(diào)節(jié)一下火星的顏色,勾選 顏色模塊(ColorOverLifetimeModule),具體顏色可根據(jù)實(shí)際情況隨意調(diào)節(jié)。
          由黃變紅的漸變色
          1. 看一下火星的效果
          火星效果
          1. 結(jié)合火焰一起的效果。
          配合上火星的火焰效果
          配合上火星的火焰效果

          忽明忽暗的火光

          1. 新建粒子系統(tǒng),命名為Light。

          2. 展開 發(fā)射器模塊(ShapeModule) 。

          粒子發(fā)射器半徑(Radius) 設(shè)置為0.01,火光和火星不同,只需要讓它在很小的方位內(nèi)生成就行了。

          1. 主模塊 設(shè)置。
          • 粒子系統(tǒng)運(yùn)行時(shí)間(Duration) 設(shè)置為1。

          • 粒子系統(tǒng)所能生成的最大粒子數(shù)量(Capacity) 設(shè)置為5,火光只需要很少的數(shù)量不斷生成就可以了。

          • 每秒發(fā)射的粒子數(shù)(RateOverTime) 設(shè)置為5。

          • 粒子初始速度(StartSpeed) 設(shè)置為0,火光不需要運(yùn)動(dòng),只需要在原地就好。

          • 粒子生命周期(StartLifetime) 選擇兩個(gè)常數(shù)的方式,設(shè)置為0.2~0.5,讓粒子最長的生命周期比最短的還要大一倍,能最大程度感覺到閃動(dòng)的效果。

          • 粒子初始大小(StartSize) 選擇兩個(gè)常數(shù)的方式,設(shè)置為1~2,以生成不同大小的火光。

          • 粒子初始顏色(StartColor) 設(shè)置為接近火焰的顏色。

          1. 火光成品效果
          閃動(dòng)的火光效果

          Show Time

          最終效果

          最后的話

          一頓操作猛如虎,這樣,只值5毛錢的火焰特效就完成啦!

          Cocos Creator 3D的粒子系統(tǒng)真心非常強(qiáng)大,理論上可以實(shí)現(xiàn)各式各樣的牛逼效果,

          作為拋磚引玉的5毛錢特效,希望能引來更多小伙伴的作品出來!

          等你來炫技!

          奧利給!

          工程使用Cocos Creator 3D 1。2制作,需要的朋友可以在公眾號(hào)后臺(tái)回復(fù) 5毛錢 獲取工程。

          我要拉票了

          五維剛開始寫文章不久,文筆還很生澀,我會(huì)努力寫的更好,把更有用的知識(shí)分享給大家。

          如果你覺得這篇文章對(duì)你有用,受到一點(diǎn)點(diǎn)啟發(fā),請(qǐng)三連擊,在看,點(diǎn)贊轉(zhuǎn)發(fā),支持一下五維!

          我是五維,一個(gè)進(jìn)擊財(cái)富自由的程序猿


          瀏覽 46
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本黄色一区二区 | 天天摸人人 | 久久大| 久久国产视觉盛宴 | 亚洲性爱手机在线 |