How can I make the mesh not shaped when I change the FOV?

As we know when we increase the field of view of the camera the mesh on the view will be shaped.The first two images are a good example to explain my question.
So I wonder know how to prevent it like the gun meshes in battlefield,call of duty.
When I change the FOV,the mesh wouldn’t be shaped,but the environment shaped.So is there any ways to solve it?Must I use math knowledge?