UE5 Niagara | 官方小案例練習(xí)1.5 動(dòng)態(tài)控制粒子顏色
目標(biāo):瞬間變量的學(xué)習(xí)認(rèn)識(shí)
變量類型 (因?yàn)榱W邮歉鶕?jù)生命值運(yùn)動(dòng)的,比如顏色在不同時(shí)間顯示不一樣的顏色,所以是變量)
一種是全局變量
整個(gè)粒子系統(tǒng)都可以使用的變量,稱之為全局變量, 比如 系統(tǒng)屬性的變量就屬于全局變量

一種是瞬間變量
是指在當(dāng)前發(fā)射器下的變量,這個(gè)變量只能在這個(gè)發(fā)射器使用,
問題:這倆種變量有什么區(qū)別嗎?
全局變量會(huì)比瞬間變量更費(fèi),
制作粒子根據(jù)距離改變顏色
創(chuàng)建瞬間變量(Transient variables)
默認(rèn)創(chuàng)建變量 ——變更命名空間—-設(shè)置臨時(shí)

在臨時(shí)階段就有這個(gè)變量了,

注意
全局變量和臨時(shí)變量的區(qū)別,臨時(shí)變量前面會(huì)變成紫色
簡(jiǎn)單理解:這倆個(gè)區(qū)別 就類似? ?,一個(gè)是全局變量,一個(gè)是局部變量,

制作思路
創(chuàng)建一個(gè)臨時(shí)變量,代表當(dāng)前和發(fā)射器原點(diǎn)的距離。 用這個(gè)變量改變顏色大小曲線。
簡(jiǎn)單說就是使用這個(gè)變量,控制粒子在(0的時(shí)候是一種顏色。1的時(shí)候另一種顏色)如果這個(gè)變量在0到1變化,顏色也會(huì)改變
創(chuàng)建粒子的發(fā)射
創(chuàng)建粒子系統(tǒng)——-命名eif_1_5
增加粒子生成模塊 SpawnRate 每秒生成30

粒子生成模塊 增加一個(gè)球體發(fā)射器(sphere Location)

設(shè)置 球體范圍300
修改一些粒子的基礎(chǔ)設(shè)置

設(shè)置默認(rèn)大小隨機(jī)值 給一個(gè)顏色,生命周改成一個(gè)范圍值(0-1)
粒子生成模塊——-點(diǎn)添加速度(Add Velocity from Point)模塊。

粒子會(huì)向外擴(kuò)散,這個(gè)力的作用就是實(shí)現(xiàn)粒子向外發(fā)射。

設(shè)置點(diǎn)速度范圍值RandomRange Float( 10 , 100),這樣就可以實(shí)現(xiàn)快慢的效果。
選擇粒子更新階段 ?——-增加點(diǎn)吸引力(Point Attraction Force) 模塊

設(shè)置點(diǎn)吸引力模塊數(shù)值
吸引力強(qiáng)度(Attraction Strength)????
吸引力半徑(Attraction Radius)????

????????這里設(shè)置范圍大一點(diǎn),強(qiáng)度也大一點(diǎn)。????

效果

現(xiàn)在的粒子會(huì)前擴(kuò)散,在到一定位置向內(nèi)移動(dòng)。
創(chuàng)建關(guān)聯(lián)瞬間變量
創(chuàng)建一個(gè)瞬間變量 這一步前面介紹到了。
命名NormalizedDistanceFromCenter 縮減 (NOFC)
把這個(gè)變量拖到粒子更新階段

設(shè)置NOFC的類型為 標(biāo)準(zhǔn)化距離范圍(Normalize Distance Range)


設(shè)置開始位置(Start Position) ?粒子的位置

注意: 這里使用的是下面動(dòng)態(tài)的位置,不是初始位置?
結(jié)束位置(EndPosition)設(shè)置 粒子模擬的位置

設(shè)置變化距離(Distance) 為300

變化狀態(tài)已經(jīng)關(guān)聯(lián)完,

應(yīng)用使用瞬間變量
粒子更新階段 —-創(chuàng)建顏色(Color)模塊 ?—-設(shè)置顏色 線性插值顏色(Lerp Linear Color)


設(shè)置顏色線性插值,表示倆個(gè)顏色的變化。
擴(kuò)展 :線性插值(Lerp)
在材質(zhì)里經(jīng)常使用到插值(Lerp)

表示A的輸入一個(gè)數(shù)值 ? ?B在輸入一個(gè)數(shù)值,根據(jù)Alpha的權(quán)重輸出結(jié)果。
示例
Alpha ?= 0 ?就輸出 ? 紅色 ? ? ? ? Alpha ?= 1 輸出藍(lán)色

本課核心
這里線性插值顏色(Lerp Linear Color) 就是倆個(gè)顏色 根據(jù)LerpFactor ? 權(quán)重改變。
設(shè)置 顏色,插值LerpFactor ?設(shè)置成我們創(chuàng)建的NOFC變量

效果

這一步是根據(jù)我們創(chuàng)建的變量,進(jìn)行顏色插值變化,
在設(shè)置粒子的大小變化,
選擇 粒子更新階段 ——-縮放精靈大小(Scale Sprite Size)模塊。

設(shè)置變化的類型 Vector 2DFrom Flout ?

這里為什么是Vector 2DFrom Float類型
是因?yàn)槲覀兡J(rèn)的大小,粒子是有X 和 Y倆個(gè)方向,設(shè)置這個(gè)變量的意思是,把XY合并成一個(gè),
簡(jiǎn)單理解是等比縮放。
注意:原來我們都是設(shè)置曲線類型,這次是設(shè)置向量浮點(diǎn)類型
設(shè)置這個(gè)變量為 浮點(diǎn)數(shù)插值(Lerp Float)

這一步和上面類型 ?設(shè)置一個(gè)最小值,一個(gè)最大值,根據(jù)我們的NOFC插值變化

效果

完成
實(shí)現(xiàn)官方效果。
總結(jié)
對(duì)全局變量和瞬間變量認(rèn)識(shí),就相當(dāng)于是一個(gè)局部變量一個(gè)全局變量
瞬間變量 的綁定數(shù)值邏輯更深的認(rèn)知,他們關(guān)聯(lián)性,使用粒子的位置和動(dòng)態(tài)位置生成變量。
lerp的使用,這次使用了,倆個(gè)線插值,一個(gè)是顏色線性插值(Lerp Linear Color)一個(gè)是浮點(diǎn)數(shù)插值(Lerp Float)
參考
https://www.cyanhall.com/cn/tutorial/5.blend-attributes-by-value/