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

如何通过脚本将Unity相机的Depth Texture设置为None

在URP中代码设置相机深度纹理为None的解决方法

在URP管线中,直接修改Camera.depthTextureMode不会生效,因为默认相机遵循管线全局配置(即"Use Pipeline Settings"选项)。要单独给实例化的相机设置深度纹理为None,需要通过UniversalAdditionalCameraData组件来覆盖管线设置:

GameObject go = new GameObject("Second Camera");
Camera cam = go.AddComponent<Camera>();

// 获取或添加URP相机附加数据组件
UniversalAdditionalCameraData camData = go.GetComponent<UniversalAdditionalCameraData>();
if (camData == null)
{
    camData = go.AddComponent<UniversalAdditionalCameraData>();
}

// 开启深度纹理设置覆盖,指定为None
camData.useDepthTextureOverride = true;
camData.depthTextureModeOverride = DepthTextureMode.None;

原理说明

URP中相机的深度纹理配置优先级是:组件覆盖设置 > 管线全局设置。开启useDepthTextureOverride后,相机就会使用你指定的depthTextureModeOverride值,而不再遵循管线的全局配置,这样既满足主相机使用深度纹理的需求,也能让这个实例化的相机禁用深度纹理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 12:05:33