Render fps weapon model and scene with separate camera using different field of views.
Modern shooters use a double camera setup. One camera with a variable field of view is used for scene rendering and one camera with a fixed field of view is used to render just the weapon model and its animations.
Code files for this tutorial on YouTube