【发布时间】:2021-10-04 01:43:45
【问题描述】:
在 Unity 中,我有 2 个纹理形式的图像,我将它们合并在一起(一个覆盖另一个)。我在计算Shader 中执行此操作,并将结果放在RenderTexture 上。我希望这个RenderTexture 成为输出相机看到的一切。
我发现文章说要使用相机的 ReplacementShader 属性,但我无法让它正常工作。
目前我只是将RenderTexture 放在覆盖整个 UI 画布的UIRawImage 上,以便填充整个相机。然而,这有很多滞后,显然是一个次优的解决方案。
那么如何将Rendertexture 或计算Shader 结果直接输出到相机上。谢谢。
【问题讨论】:
-
您是否尝试将此纹理添加到 UI 图像?应该可以正常工作
-
在RenderTexture创建过程中也有可能性能下降。如果仅注释掉将 RenderTexture 分配给 RawImage 的代码部分,它是否真的解决了性能下降问题?因为如果不是,则问题与 RawImage 无关。
-
@yasirkula,原来延迟实际上来自于在 CPU 和 GPU 之间获取渲染纹理数据以在纹理 2D 中使用它(因为渲染纹理相对较大)。