ScreenSpaceReflection and Panning issue

Hi all ,

I’ m trying to use ScreecSpaceReflection with camera pan, but seems that panning doesn’t affect SpaceScreenReflection

This is my panning Script that change current camera projection matrix.

    public static Matrix4x4 CalcDefautPanMatrix(Camera cam, Vector2 offset, float horizontal, float vertical)
    {
        float left = (offset.x - horizontal) * cam.nearClipPlane;
        float right = (offset.x + horizontal) * cam.nearClipPlane;
        float top = (offset.y + vertical) * cam.nearClipPlane;
        float bottom = (offset.y - vertical) * cam.nearClipPlane;
        return PerspectiveOffCenter(left, right, bottom, top, cam.nearClipPlane, cam.farClipPlane);  
    }
    static Matrix4x4 PerspectiveOffCenter(float left, float right, float bottom, float top, float near, float far)
    {
        var x = (2.0f * near) / (right - left);
        var y = (2.0f * near) / (top - bottom);
        var a = (right + left) / (right - left);
        var b = (top + bottom) / (top - bottom);
        var c = -(far + near) / (far - near);
        var d = -(2.0f * far * near) / (far - near);
        var e = -1.0f;

        Matrix4x4 m = Matrix4x4.identity;
        m[0, 0] = x;
        m[0, 1] = 0.0f;
        m[0, 2] = a;
        m[0, 3] = 0.0f;
        m[1, 0] = 0.0f;
        m[1, 1] = y;
        m[1, 2] = b;
        m[1, 3] = 0.0f;
        m[2, 0] = 0.0f;
        m[2, 1] = 0.0f;
        m[2, 2] = c;
        m[2, 3] = d;
        m[3, 0] = 0.0f;
        m[3, 1] = 0.0f;
        m[3, 2] = e;
        m[3, 3] = 0.0f;
        return m;
    }

When pan is zero the Reflection is correctly applied

3080272--231882--noPanning.png

otherwise Reflection are wrong
3080272--231883--panning.png

Any Ideas?
Thanks

1 Like

@Chman , @Tim-C this is a big issue for us and I am wondering if nobody has the same problem?

Nobody do a camera panningh with cinematic effects?

Any feedback is very appreciated! :slight_smile:

1 Like