The white box like shape that goes out from the camera is called camera frustum. Anything that is not inside of that box can not be seen by the camera. Some of the faces of the weapon are outside of it. Therefore you can look into the weapon.
You can specify which layers are rendered by the camera and which are not. This is the “Culling Mask” in the camera component. If the weapon is not visible it’s possible that it is on a layer that is not rendered.
That’s because of the camera’s near clipping plane. by default this is 0.3, and it is represented by the small white rectangle in front of the camera in the scene view. Think of it as the position and size of your screen in the game world. Because the screen is a rectangle, the clipping plane has to be a rectangle as well, and cannot be 0. Also, using lower values for the near clipping plane can cause issues like distant objects flickering because of Z-fighting. In the scene view, the clipping planes are dynamic (can be turned off). I don’t know exactly how it works, but if you double-click on a big object in the hierarchy and then try to get near a small object you will notice the clipping plane is further away than it is when you double-click on the small object.