- Home /
Making a character appear through 1 layer of objects but not 2 or more
Hi,
I am working on a project using Kinect and Zigfu. I have a Kinect feed object (a flat screen between the main camera and the rest of the scene) through which I want my character to appear. This works pretty well, I have written the following shader to achieve this:
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Base (RGB)", 2D) = "white" {}
}
Category {
SubShader {
//sampler2D _MainTex;
Tags { "Queue"="Overlay+1" }
Pass
{
ZTest Greater
Lighting Off
SetTexture [_MainTex] {combine texture}
}
Pass
{
ZTest Less
SetTexture [_MainTex] {combine texture}
}
CGPROGRAM
#pragma surface surf Lambert
sampler2D _MainTex;
fixed4 _Color;
struct Input {
float2 uv_MainTex;
};
void surf (Input IN, inout SurfaceOutput o) {
fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}
}
FallBack "VertexLit"
}
However, if there is an object between this Kinect screen and the character, I want that part of the character to be occluded. Right now, the character appears through everything regardless of the number of objects standing between it and the camera. Is there a way for the character to only be rendered with 1 or less objects being between it and the camera? I have also read that I could add a second Z buffer or something, would that be a better solution?
Also I think the CPROGRAM part of my shader is not doing anything. I included that as I wanted phong/specular shading applied to my model but right now it seems as though I am only getting diffuse. Any help with this would also be greatly appreciated.
I'll answer any questions and provide more info if that makes it any easier.
Your answer
![](https://koobas.hobune.stream/wayback/20220613191614im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Noob - Fern Tree Not Working Properly - Occlusion Error 2 Answers
Adding Occlusion and Specular Map to Shader? 1 Answer
Shaders and ambient occlusion 1 Answer
adapting the green screen shader from Kinect v2 package 1 Answer
Shader Problem 1 Answer