Unreal Engine 4:Pixel Depth Offset的使用
來(lái)源:
52vr |
責(zé)任編輯:傳說(shuō)的落葉 |
發(fā)布時(shí)間: 2019-06-18 09:44 | 瀏覽量:
這篇文章解釋了Unreal Engine 4中的Pixel Depth Offset通道的使用心得,并且結(jié)合街頭霸王Ⅴ對(duì)該通道的使用來(lái)歸納出一些注意事項(xiàng)。
街霸Ⅴ所使用的游戲引擎是UE4,相對(duì)于街霸Ⅳ來(lái)說(shuō),街霸Ⅴ在畫(huà)面上有一個(gè)細(xì)節(jié)上的改進(jìn) —— 格斗的雙方模型不會(huì)出現(xiàn)直接的穿插,取而代之的是優(yōu)先確保一方模型的完整性。在這個(gè)效果中,就是用了Pixel Depth Offset的材質(zhì)通道。
Pixel Depth Offset說(shuō)明
Pixel Depth Offset是UE4中材質(zhì)編輯器中的一個(gè)通道:
這個(gè)通道表示的是針對(duì)于這個(gè)像素在Depth Buffer上的值進(jìn)行一個(gè)Offset,說(shuō)的通俗一些:那就是將這個(gè)像素的深度沿著攝像機(jī)到該像素的方向往后推一個(gè)值。
下圖中紅色的球使用的是我們自定義的材質(zhì),Pixel Depth Offset值目前為0。
將該值調(diào)整為50.0后:
可以看出,紅球右上角的一些像素被推至灰球表面之后了,因此導(dǎo)致灰球的一部分可以顯示出來(lái)。
街霸Ⅴ中的效果
可以看到,在兩個(gè)模型相互穿插的時(shí)候,Ryu的模型被完全顯示出來(lái)了,因此可以斷定是Ken的材質(zhì)中Depth Offset被設(shè)定為了一個(gè)大于0的值,整個(gè)模型的像素深度被往后推,從而顯示出Ryu的整個(gè)模型。
使用Pixel Depth Offset的注意事項(xiàng)
深度換算
由于Pixel Depth Offset的值代表的是將這個(gè)像素的深度沿著攝像機(jī)到該像素的方向往后推一個(gè)值。如果將其設(shè)定為一個(gè)固定的值,則往往會(huì)出現(xiàn)V向量與N向量的夾角越大,平面向后推的像素深度越小的情況。
上圖中描述了如何將一個(gè)Surface深度向后推一個(gè)距離。因此該值不能設(shè)定為一個(gè)值,而應(yīng)當(dāng)設(shè)定為想要后推距離除以N向量與V向量的點(diǎn)乘:
通過(guò)這樣的方法能夠?qū)⒁粋€(gè)面一起推后一個(gè)距離,而不會(huì)出現(xiàn)一個(gè)面上的不同像素推后距離不同的情況。
詭異的陰影
這應(yīng)該是Pixel Depth Offset所產(chǎn)生的最嚴(yán)重的副作用了 —— 由于針對(duì)于深度的操作都是基于Depth Buffer,這樣就意味著雖然深度改變了,陰影還是按照原來(lái)的情況計(jì)算。這個(gè)情況目前(包括4.11及之前)無(wú)解,在街霸Ⅴ中也有這種問(wèn)題,分析如下。
這種情況可以通過(guò)減弱陰影顏色來(lái)緩解,但是目前無(wú)法避免。Epic的官方回復(fù)是已經(jīng)在解決中,但是還需要做一些工作才行。
-
分享到:
相關(guān)文章
網(wǎng)友評(píng)論
您需要登錄后才可以發(fā)帖 登錄 | 立即注冊(cè)
關(guān)閉
- 用戶(hù)名:
- 密 碼:
- 驗(yàn)證碼: 看不清? 點(diǎn)擊更換
- 忘記密碼?
全部評(píng)論:0條
推薦
熱門(mén)
- zbrush制作小火龍教程
- 12節(jié)Unity 特效教程集合
- 360、720全景圖視頻教程
- maya教你制作逼真的眼睛
- Unity插件綜合教程
- V-Ray 基礎(chǔ)教程整合
- V-RAY 燈光教程集合
- max默認(rèn)顯示貼圖
工業(yè)創(chuàng)意設(shè)計(jì)理論與實(shí)戰(zhàn)
<p>《工業(yè)創(chuàng)意設(shè)計(jì)理論與實(shí)踐》適用于工業(yè)設(shè)計(jì)類(lèi)專(zhuān)業(yè)研究...
<p>《工業(yè)創(chuàng)意設(shè)計(jì)理論與實(shí)踐》適用于工業(yè)設(shè)計(jì)類(lèi)專(zhuān)業(yè)研究...