Jump to content
  • Advertisement
Sign in to follow this  
vinnyvicious

First-person weapon rendering techniques

This topic is 921 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm trying to minimize the amount of work involved in my current project, which is a first-person shooter, and the first approach i'm experimenting with is to remove first-person weapon/arms models entirely, relying only on the third-person model. So far, it looks good, with the only problem being that the camera has to be placed on the character's chest, close to his neck. This can ruin the immersion, though, by creating a mismatch between the player eye-level and the camera level. Specially during combat.

 

I'm sure there are more studies in this area, FPSes being quite popular. Does anyone recommend any article on the subject? Maybe a GDC talk or something? Thanks in advance!

Share this post


Link to post
Share on other sites
Advertisement

Something that I was just starting to work with a while back and never finished. Remember the original Halo game used to actually draw feet (I assume the whole body). I assume they used the whole 3rd person character in first person view.

 

If your only issue is lowering the camera height, then why not just shift your character model up and keep the camera at eye level? That will work as long as you don't let him see his feet.

Share this post


Link to post
Share on other sites

Something that I was just starting to work with a while back and never finished. Remember the original Halo game used to actually draw feet (I assume the whole body). I assume they used the whole 3rd person character in first person view.

 

If your only issue is lowering the camera height, then why not just shift your character model up and keep the camera at eye level? That will work as long as you don't let him see his feet.

 

Hacks like this are the most common thing. Star Citizen is actually going full "correct" third/first person, making the animations the same and having them work. But that's a lot of work for something relatively small. Your first instinct, to hack it and call it good enough, is basically dead on.

Share this post


Link to post
Share on other sites

I think the ARMA series does this as well? Not certain.

Yeah they do. It was pretty dodgy in their 2001 version, but it's pretty great in Arma 3. However, even in 2016 sometimes you can wrangle yourself into an angle where you can look down and see inside your own neck :lol:

 

I think with traditional first person models, you need more time to create specific 1st person animation sets...

Whereas with the 3rd-person-as-1st-person models technique, you need to spend more time tweaking your camera and getting your 3rd person animations just right. You probably also need to give your animators control over the camera position, so they can move it when required (hacks!).

Share this post


Link to post
Share on other sites

Related to the hacky thing... when I did some work with Unity, and my project team had assigned me... a programmer to deal with the FPS thing with feet... I actually did a pretty clever hack that's based on the real body. to prevent it from looking down it's own neck.

It took me only a few minutes of admiring myself in the mirror to see that aiming is that looking up and down is more like moving your head along a wheel. But because doing that in real life is a lot different than a game if you can't get the angle right... instead of tilting the camera like it's on a wheel... I moved the body back and forth as needed. Then the jackasses put in FPS shadows where you can notice the body doing that.

So... I wound up fixing it by putting the camera's look motion on a very LITERAL wheel with a small diameter, and programmatically moved the hands to take away the visual effect of the camera rolling like that.

Share this post


Link to post
Share on other sites

Mirrors Edge had animations that were tailored to look good in first person, which prevent the neck from hitting the camera, etc. In third person these animations look hilarious, but they look great in first person. You can see them look funny in your shadows though, or if you watch some hacked 3rd person youtube videos.

 

Other games, like Crysis or Halo, simply render the lower half of the body (not the whole body, they either have a separate model built from the 3rd person model, or they on-the-fly clip the geometry) from the waist down. You can't look any lower than something like 70-80 degrees in these games, so the lowest you can look will still not show the entire torso. The first person hands are totally separate and rendered the traditional way (floating hands with a gun). This looks great IMO, and is pretty easy to setup - no new animations, and you can do it with the existing third person model if you clip off the top of the mesh.

 

In one game (I forget which) they actually don't treat the camera as a single rotating point in space, but rather move the camera when it rotates to simulate neck movement, which makes the camera lean forward when looking down, etc. You can apply this as well to avoid neck problems, but it'll change affect the way camera motion works.

Edited by Styves

Share this post


Link to post
Share on other sites

Reminds me of another game I worked on at college. The FPS camera was glued directly onto the model. BUT the animations used for the first person modeled looked like a god damned transformer when zoomed out. The reloading was very janky when the hand dipped out of view. The arm would streatch and pop lock it while it grabbed a new mag. Grabbing a new rifle literally looked like the arse had ate all of the weapons.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!