深度表达式

处理所渲染像素的深度的表达式。

Windows
MacOS
Linux
本页面的内容

DepthFade

DepthFade(深度消退)表达式用来隐藏半透明对象与不透明对象相交时出现的不美观接缝。

项目

说明

属性

消退距离(Fade Distance)

这是应该发生消退的全局空间距离。未连接 FadeDistance(FadeDistance)输入时,将使用此距离。

输入

不透明(Opacity)

接收深度消退前对象的现有不透明度。

FadeDistance(消退距离)

这是应该发生消退的全局空间距离。

深度消退前

深度消退后

网络(单击可查看大图)

PixelDepth

PixelDepth(像素深度)表达式输出当前所渲染像素的深度,即该像素与摄像机之间的距离。

此表达式支持正数,不支持负数。这是因为在现代硬件上,渲染器依赖于保守深度优化来维持良好的性能。这就带来了额外的一点好处:如果深度可以 远离 摄像机,硬件深度抑制(hardware depth rejection)可以通过顶点着色器输出重复使用。否则,如果允许像素深度偏移 移向 摄像机,就可能导致对象戳穿一切,这样无论像素是否使用像素深度偏移进行遮挡,像素着色器都会处理这些像素。

PixelDepthExample.png

结果

节点网络(单击可查看大图)

在此示例中,已将材质网络应用于地板。请注意当地板后退 2048 个以上单位时,线性插值在两种颜色之间是如何进行混合的。使用了 Power(幂)表达式来加强这两种颜色之间的对比,并产生更有意义的视觉效果。

SceneDepth

SceneDepth(场景深度)表达式输出现有的场景深度。这类似于 PixelDepth(像素深度) ,但是 PixelDepth(像素深度)只能在当前所绘制像素处进行深度取样,而 SceneDepth(场景深度)可以在 任何位置 进行深度取样。

只有半透明材质可以利用 SceneDepth(场景深度)。

项目

说明

输入

UVs

接收 UV 纹理坐标,用来确定对"纹理"进行取样的深度。

SceneDepthExample.png

结果

节点网络(单击可查看大图)

在本示例中,我们已将材质网络应用于一个半透明球体。请注意,SceneDepth(场景深度)节点将读取该球体背后的像素,而不是读取球体表面的像素。

产生的规范化深度是 0.0 到 1.0 范围内的线性深度。

标签
Select Skin
Light
Dark

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见