Orthographic Camera / Auto Calculate Ortho Planes Issue

Hi all, I see that there are some recent additions in 5.4 to orthographic camera settings. One of them being “Auto Calculate Ortho Planes”.

I am noticing that when I enable “Auto Calculate Ortho Planes”, any translations I make to the camera do not affect the camera at all.

Is this expected behavior?

I’m using Unreal Engine 5.4.3, and to showcase this behavior I created a new project from the Third Person template and changed a few minimal settings on the camera on the BP_ThirdPersonCharacter:

  • Change camera projection mode to Orthographic
  • Uncheck Use Pawn Control Rotation, Inherit Pitch, Inherit Yaw and Inherit Roll on the Camera Boom.

After changing those settings, if you hit play and try to translate the camera the camera moves as expected, but while in the play session, if you eject and check the “Auto Calculate Ortho Planes” setting, the camera will snap back to local origin, as if there was no translation applied.

Here is a video of the behavior I’m seeing:
OrthoAutoCalculateIssue.mkv (12.8 MB)

I have the same problem.

diff --git a/Engine/Source/Runtime/Engine/Private/Camera/CameraStackTypes.cpp b/Engine/Source/Runtime/Engine/Private/Camera/CameraStackTypes.cpp
--- a/Engine/Source/Runtime/Engine/Private/Camera/CameraStackTypes.cpp
+++ b/Engine/Source/Runtime/Engine/Private/Camera/CameraStackTypes.cpp
@@ -429,5 +429,8 @@
 		OrthoNearClipPlane = NearPlane + AutoPlaneShift + GlobalAutoPlaneShift;
 		OrthoFarClipPlane = FarPlane + AutoPlaneShift + GlobalAutoPlaneShift;
-		InOutProjectionData.CameraToViewTarget = CameraToViewTarget;
+
+		FVector ViewUp = RotMat.GetColumn(6);
+		ViewUp.Normalize();
+		InOutProjectionData.CameraToViewTarget = CameraToViewTarget * ViewUp;
 		return true;
 	}

this seems to solve the problem for me.

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.