Download

Rendering first person weapons

Recently I was playing Vermintide and I noticed that the character mesh and weapons don’t appear to be affected by the FOV, see the example below.

ba805a12629b1fab57e08aadcc26c55d6c82b31a.jpeg3c70a99762b1452ca5cf5097df9fb519b81e025a.jpeg
FOV=45

6268a6aa71b91b5634a386ba70330272aa5ca0a6.jpeg1d0e83d709c3488028bb33205a60602385b00d92.jpeg
FOV=120

I was curious whether anyone has any insights, or was able to hazard a guess as to how it was achieved. It’s as if the objects are rendered in screen space but they take all the lighting information and physically interact/clip through objects in the world.

For the Vermintide weapons I’d guess, they might be rendered in a separate pass?

I suggest you take a look at this:

While this won’t solve the issue with meshes colliding with any world objects you can achieve a Mesh FOV calculation that stays the same at any changed World FOV Value. ( Camera View )

There was also a snippet somewhere on the answerhub with a full solution for weapons incase you get stuck, have to see where it was.

I made a question about this time ago, in the 4.10 there are a new method but no one told me how to use.

Thanks for pointing me in the right direction with this.

Since a person ask me in other plaftform, no there is not a solution for this sadly. Only the Panini filter that its a filter not a solution for this kind of problems and less for the given example in this post as the sword isn’t in the middle of the screen.

Its a bit sad the content that can make in UE3 can’t be done in UE4 cause missing features mainly from what was an FPS engine that now don’t offer any of the FPS features.

1st person sitting in screen space would be a good guess. 1st person does not use object collision like 3rd person does but rather sits behind a near plane that I assumes locks the rendering of the 1st person hands to the region.

If you decrease the the scale of the 1st person to .25 percent and position them relative to the 1st person hands it will at least prevent weapon clipping as well correct some what for FOV (as in I have yet to try it)

You could also adjust the camera relative to FOV but for the most part if the object stays with in the region of the far plane you should have less problems overall.

Panini Projection is the way to do this, despite it’s ridiculous name.

Yea I think so to but why is it not a button you just have to push?

FOV is not just another way of seeing things but also improves the sense of speed, decreases motion sickness for some, creates a better sense of scale and an advantage in a FPS. An FOV of 120 should be the default

Last I checked, it’s a material function that you just drop onto the Vertex Shader of the weapon or whatever you want it to be on I believe, which IMO is the best way to do it for flexibility and not that far away from a check box. I use Panini projection for cockpit meshes on vehicles.

120 is very high for a lot of people (me included). I personally prefer a narrower FOV, because I prefer reduced distortion. You should always give the option to modify the FOV to the player in games where it makes sense. And of course, not everybody is making an FPS :wink: