愛鋒貝
標(biāo)題:
UE4 2.5D Niagara Dash VFX
[打印本頁]
作者:
小強(qiáng)實驗室
時間:
2022-1-18 18:22
標(biāo)題:
UE4 2.5D Niagara Dash VFX
大家好,這里是Wild Wolf,距離上次更新快有半年時間了~~~
其實攢了很多內(nèi)容想寫,但是因為項目保密的關(guān)系不能寫~~不然就翻車了。。。
參與獨立游戲研發(fā)接近半年了,前期準(zhǔn)備階段就在嘗試去實現(xiàn)和解決各種腦海里想要實現(xiàn)的功能和效果,所以
本人作為一名TA幾乎參與了一款游戲開發(fā)所有模塊的工作,包括程序,動畫,材質(zhì),場景優(yōu)化,特效以及工具等等,小團(tuán)隊就這樣,身兼多職~~~
然后某一天主程序(連策劃都沒有,程序自己當(dāng)策劃 hhhhh -.-)說需要制作一個人物沖刺的特效,行,按照慣例先看看某tube或者B站有木有類似的效果,然后自己仿一個出來,這年頭沒有誰做特效從0開始的吧- - 都是東拼西湊完事~~~ 然后問題就來了,因為做的獨立游戲是橫板2.5D,網(wǎng)上的效果以3D居多,看了一圈下來居然能參考的所剩無幾,有一個看上去感覺還行的但是制作方式有很大限制~~~
(, 下載次數(shù): 18)
上傳
點擊文件名下載附件
通過材質(zhì)偏移實現(xiàn)類似拖尾的效果,受限于材質(zhì)太單一
回到我們自己的主角上十個不同的材質(zhì)沒辦法這么做,所以只能靠自己,大概琢磨了兩三天玩出來一個不是那么復(fù)雜的效果~~~
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
場景和人物資源東拼西湊的,后期全部要換掉,所以不礙事~~
Dash沖刺效果總共三個部分組成:
1,Niagara制作粒子拖尾和Sparks
2,Ghost Trails 幽靈拖尾
3,藍(lán)圖實現(xiàn)整體邏輯
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
首先對整體效果做一個拆分
1,Niagara制作粒子拖尾和Sparks:
進(jìn)入Niagara系統(tǒng),組成很簡單,兩個發(fā)射器
(, 下載次數(shù): 20)
上傳
點擊文件名下載附件
分別負(fù)責(zé)采樣人物骨骼位置信息和閃光粒子
NE_SampleSkeletalMesh
單獨啟用效果
(, 下載次數(shù): 21)
上傳
點擊文件名下載附件
可以看出,僅僅只是一個模擬速度感的一個抽象的效果,但其實是黏在主角人上的一堆模型~~~
關(guān)閉所有效果調(diào)節(jié)的Module的樣子~~
(, 下載次數(shù): 21)
上傳
點擊文件名下載附件
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
https://www.zhihu.com/video/1465016696888680448
就是在人物身上釋放一群模型同時跟隨人物移動~~如何實現(xiàn)的呢,其實官方在很早的直播就有講到~~包括印度阿三的教程也有涉及到~~~
傳送門:
兩個核心的Module->initialize Mesh Reproduction Sprite 和 Update Mesh Reproduction Sprite
為了細(xì)化每一個步驟,這里我們用小白人做演示:
新建一個NiagaraSystem,選擇Fountain,只保留基礎(chǔ)模塊,其它全刪
(, 下載次數(shù): 21)
上傳
點擊文件名下載附件
接著添加Initialize Mesh Reproduction Sprite模塊,預(yù)覽模型選擇小白人
(, 下載次數(shù): 21)
上傳
點擊文件名下載附件
加高粒子發(fā)射個數(shù)至20000,Emitter State修改粒子循環(huán)為只執(zhí)行一次,循環(huán)周期改為Infinite,粒子生命周期改為0.1秒,可以在預(yù)覽窗口看到效果
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
拖入場景看到粒子附著在小白人身上~~
(, 下載次數(shù): 18)
上傳
點擊文件名下載附件
但是這一步僅僅只是通過Niagara粒子系統(tǒng)采樣模型頂點的世界位置信息作為例子生成的位置,說簡單點,就是粒子剛剛出生,那么要讓粒子黏在小白人身上我們需要實時更新粒子的位置信息,這里就需要繼續(xù)添加
Module->Update Mesh Reproduction Sprite
修改粒子渲染為GPUSim,減少釋放個數(shù)到5000左右,修改粒子大小為4
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
到這一步感覺好像沒什么變化哈~~~ 稍安勿躁,進(jìn)入小白人的藍(lán)圖,在Mesh下面添加我們的粒子
(, 下載次數(shù): 18)
上傳
點擊文件名下載附件
然后臨時關(guān)閉Update Mesh Reproduction Sprite進(jìn)程,同時修改粒子生命周期為1.0秒,運行效果如下
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
這是因為粒子在Spawn的那一刻本身帶有速度屬性,所以會散開,官方是這么說,不細(xì)究~~
所以我們需要更新粒子在生成之后每一幀的位置,開啟Update .....
(, 下載次數(shù): 20)
上傳
點擊文件名下載附件
粒子就正常了~~
(, 下載次數(shù): 15)
上傳
點擊文件名下載附件
接著修改粒子發(fā)射模型,發(fā)射圓錐,修改模型朝向以及模型大小
(, 下載次數(shù): 20)
上傳
點擊文件名下載附件
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
就出現(xiàn)一群模型圍繞在人物身上的效果
(, 下載次數(shù): 20)
上傳
點擊文件名下載附件
接著我們進(jìn)入一個橫板游戲的視角,調(diào)整對應(yīng)的數(shù)值看看效果
(, 下載次數(shù): 21)
上傳
點擊文件名下載附件
(, 下載次數(shù): 20)
上傳
點擊文件名下載附件
使用Spawn Per Unit 檢測到當(dāng)前有速度增量時生成粒子,然后調(diào)整模型的長度即可
接著新建一個材質(zhì)如圖
(, 下載次數(shù): 21)
上傳
點擊文件名下載附件
邏輯很簡單,再稍加設(shè)置,效果如下
(, 下載次數(shù): 20)
上傳
點擊文件名下載附件
橫板游戲,我希望效果不要蓋住我們的人物,感官上就感覺是效果渲染在人物后面一樣,這里我用了一個最簡單粗暴的方法,直接限制粒子模型的位置信息
新建一個自定義Module ,強(qiáng)行把粒子的軸向?qū)懸粋€固定值,相當(dāng)于把粒子壓成一個平面
(, 下載次數(shù): 18)
上傳
點擊文件名下載附件
(, 下載次數(shù): 21)
上傳
點擊文件名下載附件
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
其實另一個角度看是這個樣子
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
嗯~~各位輕噴~~~ 2333
然后大家再調(diào)整下細(xì)節(jié)方面的東西就行了~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NE_Sparks 單獨啟用效果
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
制作方式也很簡單,采樣模型頂點位置信息,然后反向噴射粒子完事~~~
(, 下載次數(shù): 18)
上傳
點擊文件名下載附件
這里就不需要用Initialized了,直接采樣模型就行,然后添加了一個Inhert Velocity然后速度給一個負(fù)值就能讓粒子反向發(fā)射出去~~~
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
(, 下載次數(shù): 18)
上傳
點擊文件名下載附件
大致效果就出來了,然后再用藍(lán)圖傳遞一些細(xì)節(jié)的控制即可
兩者組合在一起即可
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
到這里,Niagara部分完成~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
進(jìn)入第二部分:
Ghost Trails 幽靈拖尾
其實是虛幻商城的一個資源,魔改了之后的效果
單獨看看效果就是~~~
(, 下載次數(shù): 20)
上傳
點擊文件名下載附件
其實就是在很短的時間內(nèi)連續(xù)釋放多個Pose然后消失掉~~~
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
具體實現(xiàn)過程就不啰嗦,有藍(lán)圖基礎(chǔ)的同學(xué)去某寶~~ 呸。。。 虛幻官方商城直接可以買到~~
幾個關(guān)鍵步驟說一下:
(, 下載次數(shù): 21)
上傳
點擊文件名下載附件
這里的開啟模型自定義深度渲染開關(guān)為后面材質(zhì)亂序做準(zhǔn)備
Copy Pose from Skeletal Component 這個節(jié)點就是拷貝當(dāng)前動畫的Pose然后復(fù)制
(, 下載次數(shù): 20)
上傳
點擊文件名下載附件
然后TrailsCore在生成的時候添加一個Poseable Mesh用來承載拷貝過來的Pose
(, 下載次數(shù): 18)
上傳
點擊文件名下載附件
接著替換給Mesh一鍵添加所有材質(zhì)
(, 下載次數(shù): 20)
上傳
點擊文件名下載附件
材質(zhì)也很簡單,只不過為了修復(fù)UE4本身渲染本透明時候的亂序,多加了一部分邏輯用來處理亂序問題,就是個像素深度和自定義深度的對比,網(wǎng)上一堆教程和文章告訴你怎么做~~~
記得開起材質(zhì)的Allow Custom Depth Writes 允許半透明材質(zhì)寫入自定義深度,不然就對比了個寂寞
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
同時開啟Used With Skeletal Mesh 和 Used With Clothing的開關(guān),不然材質(zhì)編不過去,無法給模型添加上材質(zhì)
(此處感謝騰訊天美大佬 @大畫渣 的幫助)
回到TrailCore
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
拷貝Pose 賦予材質(zhì) 然后給一個當(dāng)前人物運動反方向的偏移作為初始化操作
接著進(jìn)入核心部分
(, 下載次數(shù): 18)
上傳
點擊文件名下載附件
這一段就直接拷貝了代碼,然后去掉自己不需要的部分
其實邏輯很簡單,獲取當(dāng)前釋放瞬間游戲時間(這個時間一直在持續(xù)增加)然后跟定義好的Life Time做一個映射,然后把單位化的結(jié)果給材質(zhì)的Alpha,但是這個Alpha是0到1所以需要用一個Lerp反轉(zhuǎn)數(shù)據(jù)來實現(xiàn)模型消失的效果,當(dāng)Alpha無限接近于0的時候也代表這個模型即將被銷毀Destory。
(, 下載次數(shù): 20)
上傳
點擊文件名下載附件
接著在人物沖刺的時候?qū)憘€邏輯子啊短時間內(nèi)釋放多個當(dāng)前pose的Mesh 也就是一個Actor,這個Actor只負(fù)責(zé)呈現(xiàn)出當(dāng)前動畫的Pose然后消失
看看幾種不同數(shù)值的對比 :
釋放間隔0.2 模型消失1.0
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
釋放間隔 0.02 模型消失0.5
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
然后再調(diào)整下其它參數(shù)比如材質(zhì)BaseColor,F(xiàn)renel,這些東西就差不多了
接著為了讓效果能通用,給別的角色也能用,我們得讓引擎知道怎么去拿人物的Mesh,可以使用最通用的方法,加標(biāo)簽Tag,視線轉(zhuǎn)移到我們的角色
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
需要拿到的是Mesh,然后可以在初始化的時候自動給Mesh打上Tag,如圖
(, 下載次數(shù): 20)
上傳
點擊文件名下載附件
然后找到帶有特定標(biāo)簽的Component即可
(, 下載次數(shù): 20)
上傳
點擊文件名下載附件
到這里基本上快要完成了~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3,藍(lán)圖實現(xiàn)整體邏輯
創(chuàng)建一個Actor Component,然后通過添加Component的方式讓功能生效
(, 下載次數(shù): 19)
上傳
點擊文件名下載附件
其實也是常規(guī)做法,讓功能的移植更方便~~~
最后再把剩下的部分參數(shù)微調(diào)即可
(, 下載次數(shù): 20)
上傳
點擊文件名下載附件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
此文章僅作為個人思路的參考,其實可以添加細(xì)節(jié)的地方有很多
鑒于目前網(wǎng)絡(luò)上相關(guān)資料很少,所以就提供了自己的一個制作思路~~~
創(chuàng)作不易~~~ 走過路過點個贊吧客官~~~
-----------------------------
作者:
彤彤丶Safe
時間:
2022-1-18 19:24
很好 下一秒就是我的了[蹲]
作者:
北楓
時間:
2022-1-18 20:39
很棒,我已經(jīng)學(xué)會了[贊同]
作者:
想多了
時間:
2022-1-18 22:28
太屌了沃夫
作者:
海豚
時間:
2022-1-18 23:30
歡呼
作者:
晶晶
時間:
2022-1-19 00:53
可以可以
作者:
九月81
時間:
2022-1-19 02:08
大佬太強(qiáng)了
作者:
晚風(fēng)
時間:
2022-1-19 03:23
歡呼
歡迎光臨 愛鋒貝 (http://m.7gfy2te7.cn/)
Powered by Discuz! X3.4