You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity Shader Graph水Shader编辑器可见深度效果,游戏窗口不可见如何修复?

解决Unity水Shader深度效果编辑器可见但游戏窗口不显示的问题

常见排查方向及解决方法

  • 检查相机深度纹理配置
    确认游戏场景中的主相机已开启深度纹理获取:若使用内置渲染路径的Forward模式,需在相机组件中勾选Depth Texture;若为Deferred模式,深度纹理默认生成,但可检查相机的Allow HDR等选项是否正常。

  • 修正Shader深度采样逻辑
    排查Shader中深度纹理的采样代码,确保正确调用_CameraDepthTexture并完成坐标转换。示例片元着色器代码:

    float2 screenUV = i.screenPos.xy / i.screenPos.w;
    float depth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenUV);
    float linearDepth = Linear01Depth(depth);
    

    注意不同Unity版本的深度采样宏可能有差异,比如旧版本需用UNITY_SAMPLE_DEPTH,确保代码适配当前版本。

  • 调整水材质渲染参数
    将水材质的渲染队列设为Transparent(队列值3000),ZTest设置为Less或LEqual,同时关闭ZWrite(水这类透明物体通常无需写入深度)。避免将ZTest设为Always,否则会跳过深度检测。

  • 排查渲染管线与平台兼容性
    如果使用URP/HDRP,需确保Shader是对应管线的版本,内置管线的深度采样逻辑不适用于SRP。针对移动平台时,检查是否开启了禁用深度纹理的优化选项,需手动开启对应平台的深度纹理支持。

  • 对齐编辑器与游戏窗口的相机设置
    编辑器预览相机可能默认开启了深度纹理,而游戏相机未配置。可直接复制预览相机的组件设置到游戏相机,对比两者的渲染路径、深度相关选项差异。


内容的提问来源于stack exchange,提问作者Mirai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 09:33:16