最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity VFX -- (5)VFX Graph基礎(chǔ)

2023-04-19 21:50 作者:vivo119  | 我要投稿

?? ? ? ? 在Unity中,還有一種完全不同的創(chuàng)建VFX的工作流,VFX Graph。VFX Graph能夠生成出和粒子系統(tǒng)相同或更好的效果。

? ? ? ? 相比于粒子系統(tǒng),VFX Graph的一個(gè)最大的好處是它能夠在保持應(yīng)用良好性能的情況下,模擬出多得多的粒子。對(duì)于VFX藝術(shù)家來(lái)說(shuō),他們的主要職責(zé)之一是確保他們制作的特效不會(huì)影響應(yīng)用整體的可用性和幀率,因此性能優(yōu)化是非常重要的。

VFX Graph和粒子系統(tǒng)不同之處

? ? ? ? VFX Graph是基于節(jié)點(diǎn)的(node-based)?編輯器。相比于基于組件的(component)粒子系統(tǒng)來(lái)說(shuō),它看起來(lái)更加復(fù)雜。

VFX Graph的優(yōu)點(diǎn)

? ? ? ? VFX Graph能夠同時(shí)處理百萬(wàn)級(jí)別的粒子,而粒子系統(tǒng)同時(shí)能處理的粒子數(shù)要小于VFX Graph。

? ? ? ? VFX Graph產(chǎn)生處更加復(fù)雜的效果,比如開(kāi)頭的那個(gè)精靈,對(duì)于粒子系統(tǒng)來(lái)說(shuō)幾乎是不可能實(shí)現(xiàn)的。

VFX Graph的缺點(diǎn)

? ? ? ? VFX Graph對(duì)于初學(xué)者來(lái)說(shuō),上手難度相比于粒子系統(tǒng)來(lái)說(shuō)更大。

? ? ? ? VFX Graph有更嚴(yán)格的硬件需求,在部分設(shè)備上可能無(wú)法使用。

? ? ? ? VFX Graph運(yùn)行在GPU上,Unity的物理計(jì)算被放到了CPU上,因此VFX Graph的粒子不能和應(yīng)用的其它物理效果進(jìn)行交互(比如和地面產(chǎn)生碰撞)。粒子系統(tǒng)是跑在CPU上的,因此它們能夠和基于物理的(physics-based)組件進(jìn)行交互。

VFX Graph和粒子系統(tǒng)該如何選

? ? ? ? 如果我們的經(jīng)驗(yàn)很豐富并且需要?jiǎng)?chuàng)建出非常復(fù)雜的效果,或者效果需要百萬(wàn)級(jí)別的粒子支撐,可以選擇VFX Graph。

? ? ? ? 如果我們并非專(zhuān)家,并且只想創(chuàng)建出一些簡(jiǎn)單的效果,這些效果能跑在所有設(shè)備上,或者效果需要和場(chǎng)景中其它基于物理的物體進(jìn)行交互,則使用粒子系統(tǒng)。

? ? ? ? 下面兩張圖是一個(gè)天氣效果的對(duì)比,這個(gè)效果需要模擬的粒子數(shù)量是100萬(wàn)個(gè),分別用粒子系統(tǒng)和VFX Graph來(lái)實(shí)現(xiàn)。

? ? ? ? 粒子系統(tǒng)只有可憐的5.6FPS。

? ? ? ? VFX Graph在模擬出百萬(wàn)粒子的情況下,仍然有100 FPS的表現(xiàn)。

擺放一個(gè)VFX Graph特效到場(chǎng)景中

? ? ? ? ?1. 將前面筆記中所制作的環(huán)境粒子關(guān)閉掉(Inspector中設(shè)置為inactive即可)。

? ? ? ? 2. 在Assets ->? CreativeCore_VFX -> VFX -> Samples中,拖動(dòng)天氣VFX Graph預(yù)制體中的一個(gè)(案例選的是Snow_VFXGraph_Prefab.prefab)到Heirarchy中。

? ? ? ? 3. 將這個(gè)新添加的物體位置移動(dòng)到空中,讓場(chǎng)景看起來(lái)像是在下雨或下雪。

打開(kāi)VFX Graph編輯器窗口

? ? ? ? 1. 選中VFX Graph物體的情況下,定位到它的Visual Effect組件,這個(gè)組件的圖標(biāo)是一個(gè)小燈。

? ? ? ? 2. 選擇Edit按鈕打開(kāi)VFX Graph窗口

? ? ? ? 3. 重新安排一下窗口布局,能夠同時(shí)看到VFX Graph和場(chǎng)景。


VFX Graph編輯器移動(dòng)導(dǎo)覽

? ? ? ? ?在開(kāi)始編輯VFX Graph之前,我們可以先嘗試著在編輯器區(qū)域進(jìn)行移動(dòng)導(dǎo)覽,熟悉一下。和Shader Graph或者動(dòng)畫(huà)狀態(tài)機(jī)編輯器類(lèi)似,VFX Graph中主要的導(dǎo)覽方式有:

? ? ? ? 平移(Pan): 按住鼠標(biāo)中間并拖動(dòng),或者按住Alt(Windows)或Option(MAC),點(diǎn)擊鼠標(biāo)并拖動(dòng)。

? ? ? ? 縮放(Zoom): 滾動(dòng)鼠標(biāo)滾輪。

? ? ? ? 聚焦和放大(Focus and zoom in):選中一個(gè)元素按F鍵。

? ? ? ? 適應(yīng)窗口(Fit to window):按A鍵。

? ? ? ? ?我們先來(lái)整體看看VFX Graph,它有四個(gè)主要的節(jié)點(diǎn),從上到下垂直分布。這四個(gè)默認(rèn)的節(jié)點(diǎn)被稱(chēng)為上下文節(jié)點(diǎn)(Context Nodes,或簡(jiǎn)稱(chēng)Context)。

瀏覽VFX Graph上下文

Spawn Context

? ? ? ? 第一個(gè)上下文,控制粒子的生成,和粒子系統(tǒng)的Emission模塊功能類(lèi)似。

? ? ? ? 默認(rèn)情況下,一個(gè)新的VFX Graph使用常數(shù)的粒子產(chǎn)生速度(spawn rate),但我們可以改為變量方式、周期方式或bursts方式,正如之前煙霧特效所做的類(lèi)似。

? ? ? ? 1. 調(diào)整Rate屬性,讓VFX Graph版本的特效和之前用粒子系統(tǒng)做的天氣特效的Rate一致。

? ? ? ? ? ? ? ? 這里的spawn rate可以設(shè)置到一個(gè)很大的值,同時(shí)對(duì)FPS影響較小。

Initialize Particle Context

? ? ? ? 初始化粒子上下文控制粒子最初在哪里出現(xiàn),以及如何出現(xiàn)。這個(gè)上下文包含了許多粒子系統(tǒng)主模塊中的相同的屬性,包括粒子的初始大小,形狀,速度,生命周期和最大數(shù)量等。它也包含了粒子系統(tǒng)中Shape的等價(jià)屬性,定義了粒子產(chǎn)生的容器的形狀。

? ? ? ? 2. 配置初始化粒子上下文,讓VFX Graph版本的效果和原來(lái)粒子系統(tǒng)所做的天氣效果看起來(lái)差不多。

Update Particle Context

? ? ? ? 更新粒子上下文控制著粒子從產(chǎn)生到消失期間粒子的變化。這個(gè)更新操作每一幀都會(huì)運(yùn)行。包含了和粒子系統(tǒng)里類(lèi)似的屬性:Color over Lifetime, Size over Lifetime,Noise(VFX Graph里叫做Trubulence)以及Texture Sheet Animation(VFX Graph里叫做Flipbook Player)。

? ? ? ? 每種行為能夠在上下文中作為一個(gè)新的Block被添加進(jìn)來(lái)。比如上圖的Turbulence就是一個(gè)Block。

? ? ? ? 3. 嘗試通過(guò)在Context中點(diǎn)擊右鍵并選擇Create Block來(lái)使用創(chuàng)建新的Block。我們可以通過(guò)子菜單里的搜索框來(lái)搜索要添加的Block。

Output Particle Context

? ? ? ? 輸出粒子上下文控制每個(gè)粒子的外觀,和粒子系統(tǒng)里的Renderer模塊功能類(lèi)似。在這里我們可以為粒子指定材質(zhì)。

? ? ? ? 4.?配置輸出粒子上下文,讓VFX Graph版本的效果和原來(lái)粒子系統(tǒng)所做的天氣效果看起來(lái)差不多。

創(chuàng)建一個(gè)全新的VFX Graph

? ? ? ? 1. 在Project窗口(注意不是Heirarchy)中,點(diǎn)擊右鍵,選擇Create -> Visual Effects -> Visual Effect Graph,然后將這個(gè)新建的VFX Graph放到Heirarchy中。然后再場(chǎng)景中將其移動(dòng)到你想要放置的位置。

? ? ? ? 2. 在Project窗口中雙擊VFX Graph打開(kāi)VFX Graph編輯器窗口。

? ? ? ? 3. 嘗試修改一些Block,看看能不能達(dá)到你想要的效果,比如爆炸的禮花效果。

查看一個(gè)復(fù)雜的VFX Graph

? ? ? ? 接下來(lái)我們來(lái)看一個(gè)專(zhuān)業(yè)級(jí)的VFX Graph例子,來(lái)感受一下復(fù)雜的VFX Graph長(zhǎng)什么樣。

? ? ? ? 1. 在主菜單中,選擇Window -> Package Manager,然后選擇Visual Effect Graph。在右邊的面板中,展開(kāi)Samples,然后選擇Import導(dǎo)入VisualEffectGraph Additions。

? ? ? ? 2. 樣例會(huì)自動(dòng)導(dǎo)入到我們?cè)赑roject窗口中打開(kāi)的目錄中。找到Bonfire(可以直接在Project window的搜索框中搜索),將其拖入到Hierarchy中。

? ? ? ? ?3. 在Project窗口中,雙擊Bonfire打開(kāi)VFX Graph編輯器,來(lái)看看graph。

? ? ? ? 和粒子系統(tǒng)的子系統(tǒng)的概念類(lèi)似,bonfire也是由幾個(gè)子圖構(gòu)成:Smoke,F(xiàn)lames?和Sparks。每個(gè)子圖通過(guò)一個(gè)節(jié)點(diǎn)分組(node group)連接到了一起,中間還增加了隨機(jī)的風(fēng)向。

? ? ? ? 我們還注意到,這些VFX Graphs使用了Operators,Operators是連接到main context的更小的節(jié)點(diǎn)。

? ? ? ? Operators允許我們使用數(shù)學(xué)計(jì)算和邏輯表達(dá)式來(lái)自定義行為,對(duì)于更加復(fù)雜效果的模擬來(lái)說(shuō)至關(guān)重要。?

? ? ? ? VFX Graph能夠很輕易地和快速地變得復(fù)雜。隨著復(fù)雜度的增加,效果也會(huì)變得更加復(fù)雜豐富。



挑戰(zhàn):用VFX Graph制作出前面用粒子系統(tǒng)制作出的火堆和煙霧效果


? ? ? ? 關(guān)于VFX Graph更詳細(xì)的說(shuō)明,可以參考官方文檔:

https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@6.9/manual/index.html


Unity VFX -- (5)VFX Graph基礎(chǔ)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
威宁| 正宁县| 孝昌县| 屯门区| 沁阳市| 巫山县| 陆川县| 耿马| 五台县| 高清| 桦南县| 山阴县| 文成县| 永丰县| 昆山市| 济宁市| 辽宁省| 通城县| 西乌珠穆沁旗| 宝兴县| 永顺县| 尉犁县| 台南市| 分宜县| 陈巴尔虎旗| 虎林市| 隆化县| 巴塘县| 崇阳县| 周宁县| 新河县| 武城县| 宁海县| 八宿县| 麻江县| 东辽县| 城固县| 亳州市| 宣恩县| 乡宁县| 南阳市|