Rendering viewmodel over everything WITHOUT dual camera
Hello,
I've been trying all day to wrap my head around the partical issue of trying to render my Viewmodels over everything else. the problem is that most solutions involve double Cameras, which I do NOT want to do, because of the problem with shadows. Any solutions?
Cheers, BioQuake.
have you tried doing this via script?
https://docs.unity3d.com/ScriptReference/$$anonymous$$aterial-renderQueue.html
accessing the renderer materiel and setting the queue to +1
Answer by Namey5 · Nov 21, 2016 at 05:09 AM
You could try using a shader with different ZTesting.
Shader "Custom/ZTest Shader" {
Properties {
_Color ("Color", Color) = (1,1,1,1)
_MainTex ("Albedo (RGB)", 2D) = "white" {}
_Glossiness ("Smoothness", Range(0,1)) = 0.5
_Metallic ("Metallic", Range(0,1)) = 0.0
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 200
ZTest Always
CGPROGRAM
// Physically based Standard lighting model, and enable shadows on all light types
#pragma surface surf Standard fullforwardshadows
// Use shader model 3.0 target, to get nicer looking lighting
#pragma target 3.0
sampler2D _MainTex;
struct Input {
float2 uv_MainTex;
};
half _Glossiness;
half _Metallic;
fixed4 _Color;
void surf (Input IN, inout SurfaceOutputStandard o) {
// Albedo comes from a texture tinted by color
fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
o.Albedo = c.rgb;
// Metallic and smoothness come from slider variables
o.Metallic = _Metallic;
o.Smoothness = _Glossiness;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Diffuse"
}
https://docs.unity3d.com/Manual/SL-CullAndDepth.html
The only thing about this is that there may be some rendering artifacts with shadows if you are using forward rendering, deferred works like normal.
Thank you!
Turns out that the material with the Shader attached needs a texture to work. I was using Color only and this managed to fix my problem, once again, thank you!
There still seems to be a problem where I can see the mesh through itself. for instance; I can see the barrel of the gun through the body of the gun.
Any Ideas on how to fix this?
Turns out the ZTest Always needs to be in a Pass. This fixed the problem.
I guess that makes sense, although I take it you're using a different shader.