自制爆破視覺效,Blender着色器+粒子系統教學(二)_風聞
壹零社-最新鲜的互联网产业资讯2021-10-20 14:33
在上期文章中,我們已經完成了單個爆破紋理的着色器設計,得到了一個隨噪波紋理W值不斷變化的火焰紋理,而且還利用空物體作為補償,實現了複製多個爆破紋理也不會出現火焰紋理重複的目的,接下來我們就需要利用這些特性,結合粒子系統的參數設置來模擬完整的爆破視覺效果。
第一步:設置粒子系統
首先新建一個稜角球,這是發散類粒子系統最好的源體,因為它的所有點、線、面都有不同的法向,且相對經緯球而言不存在點在兩極擠壓的問題,頂點數量也不多,對硬件系統要求和年底,粒子發射效果也最好,所以有類似的粒子系統製作需求都可以選擇稜角球來作為源。
因為爆破的效果是從地面往上,所以我們只需要稜角球的上半部分就行,同時把稜角球沿Z軸向內縮放,並放在背景布上,最終獲得如圖1的效果。
圖1
然後我們為稜角球添加粒子效果,這一步需要對粒子系統的多項參數進行調整,才能達到滿意的效果,首先如圖2,我們要把發射數量從默認的1000個降低到50左右,注意,粒子系統的絕大多數參數,都可以在本教程設計的數值上進行自由浮動,大家可以自行尋找自己滿意的視覺效果。
圖2
然後我們要把起始幀和結束點都設置為1,因為的火焰都是第一時間同時噴發出來的,生命週期這需要完整覆蓋整個時間軸,比如本教程是100幀,那麼生命週期設置在100幀以上即可,當然你也可以給生命週期附加隨機性,但建議隨機性設置不要太高,否則效果可靠性會變差。
如果這時候播放視頻,你會發現粒子全都往下掉,不是往上噴發,這是因為力場權重裏的重力在起作用,我們需要將重力值調整為0,這時候就能看到粒子沿法向進行正確的噴發了。
但此時新的問題又接踵而至:粒子會一直向上跑,而現實中的爆破效果,火焰會在跑一小段後停下來,並最終化成濃煙。所以這時候我們要需要在粒子系統的物理選項卡中,調整力場的“阻尼”值,這個值就是為停止粒子運動而設計的,可以設置為0.1,這時候再播放視頻就能看到粒子在噴發一段後緩慢停了下來。但粒子噴發的距離似乎太近了,別慌,我們回到粒子系統最頂端的速度選項卡,把法向速度調整到2m/s,粒子噴發的距離就會相應增大,此時只需要把阻尼和法向速度聯動調整,就能獲得如圖3的效果了,具體的粒子系統參數設置可以參考圖4。
圖3
圖4
然後我們把渲染選項卡里的“渲染為”設置成我們上期製作的火焰紋理,這時候記得勾選物體旋轉選項,再播放視頻,你會發現火焰紋理被粒子系統噴發出來,我們的第一步設計也就完成了。
第二步:設置關鍵幀並添加火花粒子系統
目前我們的爆破視覺效果還存在幾個問題:粒子大小恆定;火焰紋理沒有變化;缺乏火花等細節,接下來我們就要逐步解決這些問題。
首先是粒子大小,爆破剛開始時,粒子尺寸應該很小,而完全爆炸後恢復到較大的尺寸,所以我們需要回到粒子系統,在第1幀給渲染縮放設置為0.01並打上關鍵幀,然後在第25幀改為1,再打上關鍵幀,此時播放視頻,火焰紋理的變化就明顯更合理了。
然後回到火焰紋理,我們要讓火焰紋理在剛開始爆破時呈現高亮,而在爆破中後段逐漸轉換為煙霧效果,這也正是我們上期為火焰紋理設置多個“映射範圍”的原因。找到如圖5所示的“映射範圍”模塊,在爆破剛開始時將“從最大值”設置為0.2,這時火焰紋理亮度很高,然後到第40幀左右設置為0.65,此時火焰紋理呈現正常的燃燒狀態,邊緣也開始浮現煙霧,再到最後一幀,設置為10,這時候就應該只剩下黑色的煙霧效果,設置完成後回放視頻,符合視覺邏輯的爆破效果就基本形成了。
圖5
圖6
這時候我們還需要添加爆破時產生的火花效果,基本邏輯還是和之前的粒子系統一樣,只是這次的渲染目標是一個低頂點數的稜角球,同時記得給這個稜角球設置類似火花的發光着色器。然後再給爆破源,也就是第一個稜角球再新建一個粒子系統,以火花為目標,參照火焰紋理的設置來調整各項參數,以實現如圖6的效果,這一步就留給大家自由發揮吧。
本章小結:利用着色器效果進行視覺欺騙是Blender的必學技能
Blender有很多真實物理模擬系統,比如流體系統可以模擬水流、火焰和煙霧,剛體系統可以模擬各類碰撞,織物系統則實現了衣物、紡織品、布料視覺效果,但這些效果最大的弊端就是對電腦硬件性能要求很高,而且是想要效果越真實,算力和消耗的時間就越長,有時候10秒的動畫就需要動輒兩三天才能渲染完成。因此,像本次教程這樣利用着色器來實現的效果,就成了Blender動畫設計的必備技能,不僅可以大幅減小系統開銷,增加工作效率,還能讓你對3D設計有更深層次的理解,可謂益處多多。