How to get rid of default camera distortion effect stretching objects at edge of camera?

This is a problem I find really problematic and it makes my objects look too strange.

In software like Maya LT there is no distortion whatsoever but there is distortion in unity. This means that it is a correctable problem.

Here are screenshots of distortion in unity and no distortion in Maya LT

How can I correct this ?

That’s perfectly normal.
Most games just have a smaller field of view than what your using. Because yours is so large its giving a “fish eye effect”.

(Most games have a FOV of about 80 -70)

Hope I helped

I notice the same problem as well. this might not be a big problem for most games, but in my HMD(head mounted display) AR application, this would make the virtual object looks “not cool”. because usually, the real camera is not distorted just like the unity camera usually. And human eye is not distored like unity camera as well.

I am looking for a way to customized the projection matrix and distortion, but not much founded.

In case some people are ending up here for the same reason, there’s currently a fix for that problem that came with Unity 2018. It’s called “Physical Camera” (it’s a checkbox in the Camera’s Inspector menu). In my case, the reversed FishEye effect of the default camera could be countered by using a Physical Camera with a Focal Lenght of 20 and a Sensor Size of (36,24) and Lens Shift at 0.

I solved this by changing the camera field of view from 60 to 50, and then moving the camera back to compensate for the narrower field of view. This greatly reduces the distortion.

The Projections and FSAA asset on the asset store gives some good options as well. I was trying to put a wide FOV up on a curved projected wall, and found the default fisheye effect put me off. This tool lets you shift the fisheye effect to minimise edge-of-screen distortion. Might help some people.

This seems like normal behavior to me. This is similar to how lenses and cameras operate in real life. Let’s suppose we use the “Physical Camera” with a Sensor Size of (36,24). The human eye is believed to have a Focal Length (FL) of ~43mm. Phone cameras have an equivalent FL of ~30mm. Any wider (smaller number) would cause obvious distortions like you showed. A popular telephoto FL is ~85mm. If you want minimal distortion, crank up that FL and move your camera way back. Just choose an FL that suits your taste. I hope that helps :smiley:

Some illustrations:

Im having huge problems with this distortions cus its messing with my player models.
Im trying to the same camera setup as in Sine Mora Ex and Rigid Force. Keep some kind of orthographic camera on the player, and a 3d camera on the background for the sense of depth.
If i go full 3d, the player model will just look stupid when its in the corners. and you will see its backside of it when its at its most right position. SO ive tried having it looking at the camera for it to always facing its finest side towards the camera. but that distorts the player model.

And if i only use orthographic to compensate the distorted model, it all becomes flat and all depth perseption goes out the window.

So i really need help understanding how they made it happen in Sine Mora Ex and RigidForce. As the player is always facing the camera with the exact same degrees, while its still 3d perspective in the background.
Focal Lengths maybe? magical camera setups?
This will be a key feature in my game, so i really need help understanding this.

In case you haven’t found the answer after 4 years, or for others who find this by googling:

In the URP Postprocessing stack, you can add a Panini Projection. Adjust the “distance” property to make it look reasonable. It was invented for wide-screen movies.

For anyone landing here in 2021 or later: This is working as intended. There IS no distortion taking place.

The cause of the apparent distortion is that you are rendering a camera with approximately 120 degrees horizontal FOV onto an image that then, at normal viewing distances, occupies perhaps 40 degrees of the eye’s FOV.

You can easily verify this by making the screenshot posted in this thread full-screen, and then moving your head to within a few inches of the centre of the monitor, so that the full image occupies 120-130 degrees of your FOV. When you then look to the side at the sphere, you will see that it appears spherical.

But my camera isn’t set to 130 degrees FOV! YOU’RE WRONG!

By default, Unity cameras assume you are specifying the VERTICAL field of view of the camera. In this screenshot, the image is over 2.5 times as wide as it is tall, so the horizontal FOV will be 2.5 times whatever the vertical FOV is set to. If you took this same scene, set the FOV to 40-50 and the FOV axis to HORIZONTAL, you would be able to view it at a normal distance without distortion. This is very likely what the Maya view is doing.