我试图得到以下图像,如结果: Segmented Image
我尝试使用setReplacementShader,如下面的脚本。我已将脚本附加到主摄像头。
public class ReplaceShader : MonoBehaviour {
public Shader newShader;
void Update () {
GetComponent<Camera>().SetReplacementShader (newShader,"RenderType");
}
}
我的着色器代码在哪里:
Shader "Custom/NewShader" {
SubShader {
Tags { "RenderType"="Opaque" }
Pass{Color(1,0,0,0)}
}
SubShader {
Tags { "RenderType"="Fade" }
Pass{Color(0,0,1,0)}
}
}
但它没有给出任何预期的结果。在一个简单的场景中,它将包括地形在内的所有东西都变成红色在另一个大型场景中它什么都不做,强制显示天空盒而不是常规场景。我该怎么做才能解决这个问题?