1

我正在尝试在 HDRP 上使用 Shader Graph 制作自定义着色器。目的是根据全局位置自动平铺纹理,这样我就不必担心在调整大小等时重新制作材料。(我相信你可以想象它的用处)。但是,当我这样做时,结合用于高度映射的视差遮挡映射节点(内置于 HDRP),UV 会变得一团糟,并且高度映射甚至由于某种原因似乎不起作用。

我认为如果我将任何源 UV 输入到 Parallax Occlusion Mapping 节点中,它会正常工作,但由于某种原因,在这种情况下它不会(当放大很远时,UV 出现问题尤其明显)。我对着色器图相当陌生,所以我不确定如何解决这个问题。让我知道您是否需要我的其他任何东西。

这是相关的着色器图节点(未图示几乎只是将纹理直接映射到输出节点,如果您认为它可能相关,我也可以发布这些)

在此处输入图像描述

这是场景的缩小版本(带有一些示例纹理),没有激活我的全局平铺(顶部)和(底部)。如您所见,平铺工作但高度消失了:

最佳 底部

如果你放大它会变得更糟(没有平铺顶部,有平铺底部):

前2名 底部2

4

1 回答 1

1

您缺少连接PixelDepthOffset到主节点中的相应条目。看起来它正确地移动了 UV,但渲染管道不知道它也应该相应地更改深度通道。

您可以在主节点的选项中启用深度偏移,如下所示: 连接了 DepthOffset 的着色器

于 2020-08-29T14:39:11.207 回答