HDRP 中的全局平铺与视差遮挡相结合使 UVS 混乱
Global Tiling in HDRP Combined with Parallax Occlusion Makes Messed up UVS
我正在尝试使用 HDRP 上的 Shader Graph 创建自定义着色器。目的是根据全局位置自动平铺纹理,这样我就不必担心在调整大小等时重新制作材质(我相信你可以想象它的用处)。但是当我这样做时,结合用于高度映射的视差遮挡映射节点(内置于 HDRP 中),UV 会变得一团糟,并且由于某种原因高度映射甚至似乎不起作用。
我认为如果我将任何源 UV 馈送到视差遮挡贴图节点,它会工作得很好,但出于某种原因在这种情况下它不会(当放大到很远时特别明显,有些地方出了问题与紫外线)。我对着色器图还很陌生,所以我不确定如何解决这个问题。如果您需要我提供任何其他信息,请告诉我。
这里是相关的着色器图节点(图中未显示的只是将纹理直接映射到输出节点,如果您认为它可能相关,我也可以 post 那些)
这是场景的缩小版本(带有一些样本纹理),没有激活我的全局平铺(顶部)和(底部)。如您所见,平铺有效但高度消失了:
如果放大(顶部不平铺,底部平铺),情况会变得更糟:
您缺少将 PixelDepthOffset
连接到主节点中的相应条目。看起来它正确地移动了 UV,但渲染管道并不知道它也应该相应地改变深度通道。
您可以在主节点的选项中开启深度偏移,如下:
我正在尝试使用 HDRP 上的 Shader Graph 创建自定义着色器。目的是根据全局位置自动平铺纹理,这样我就不必担心在调整大小等时重新制作材质(我相信你可以想象它的用处)。但是当我这样做时,结合用于高度映射的视差遮挡映射节点(内置于 HDRP 中),UV 会变得一团糟,并且由于某种原因高度映射甚至似乎不起作用。
我认为如果我将任何源 UV 馈送到视差遮挡贴图节点,它会工作得很好,但出于某种原因在这种情况下它不会(当放大到很远时特别明显,有些地方出了问题与紫外线)。我对着色器图还很陌生,所以我不确定如何解决这个问题。如果您需要我提供任何其他信息,请告诉我。
这里是相关的着色器图节点(图中未显示的只是将纹理直接映射到输出节点,如果您认为它可能相关,我也可以 post 那些)
这是场景的缩小版本(带有一些样本纹理),没有激活我的全局平铺(顶部)和(底部)。如您所见,平铺有效但高度消失了:
如果放大(顶部不平铺,底部平铺),情况会变得更糟:
您缺少将 PixelDepthOffset
连接到主节点中的相应条目。看起来它正确地移动了 UV,但渲染管道并不知道它也应该相应地改变深度通道。
您可以在主节点的选项中开启深度偏移,如下: