Mirror does not work when using an overlay camera
If a base and overlay camera are being used in the scene the mirror will not work as expected.
A quick fix: In Mirror.cs after line 207 add:
var camData = camera.GetUniversalAdditionalCameraData();
if (camData.renderType == CameraRenderType.Overlay)
return;
A multisampled texture being bound to a non-multisampled sampler. Disabling in order to avoid undefined behavior. Please use Texture2DMS in the shader. UnityEngine.Rendering.Universal.UniversalRenderPipeline:RenderSingleCamera (UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera) kTools.Mirrors.Mirror:RenderMirror (UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera) (at Library/PackageCache/com.kink3d.mirrors@79b0526e5d/Runtime/Mirror.cs:261) kTools.Mirrors.Mirror:BeginCameraRendering (UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera) (at Library/PackageCache/com.kink3d.mirrors@79b0526e5d/Runtime/Mirror.cs:236) UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
a base and overlay camera are being used in the scene the mirror will not work as expected.
sampler2D _ReflectionMap; float4 _ReflectionMap_ST;
v2f vert (appdata v)
{
v2f o;
o.vertex = TransformObjectToHClip(v.vertex.xyz);
o.uv = TRANSFORM_TEX(v.uv, _ReflectionMap);
o.screenPos = ComputeScreenPos(o.vertex);
return o;
}
half4 frag(v2f i) : SV_Target
{
float2 uv = i.screenPos.xy / i.screenPos.w;
half4 col = tex2D(_ReflectionMap, uv);
return col;
}
unity 2021.2.3
A quick fix: In Mirror.cs after line 207 add:
var camData = camera.GetUniversalAdditionalCameraData(); if (camData.renderType == CameraRenderType.Overlay) return;
Damm, THANK YOU!