FPS separate animations

I’m thinking about developing an fps at the moment, and one thing has caught my eye that is rather confusing.

I will use Halo: Reach as my example.

I have noticed that there are two separate animations for actions such as reloading; a detailed one that you see through your HUD in first person view and a much more simplified one (literally just movement of the arms and weapon) that anyone else in any third person view sees.

How is that possible? From my knowledge of how FPSs are built, I thought that the first person camera literally sees what the model is holding from the model’s actual perspective.

Are FPS games made in a different way so that you can’t see the weapon that you are holding? Or is there an entirely separate set of models etc for the first person view?

Anyone who could clarify this for me would be most appreciated.

If this is in the wrong section, please feel free to move it.

Thanks
Ben

You have two scripts. One for you in first person view, and one for everyone else you’re viewing in third person from your first person perspective. This is doable on multiplayer, due to the animations being client specific and not transferred over the network (which they never should be). Only your state of reloading is sent, and the clients decide the animations.

Of course it could only just appear to be different, but in fact still be the same animation, but appear different due to your perspective.

Ok, but how does one model do two different animations?

Or is the first person camera set up differently to somehow see something different?

They are different animations, the first person view shows clips being loaded and canisters ejected, etc, and in one the weapon is flipped back like a double barrelled shotgun, but in third person the weapon does not change and you just see an empty hand move to the top of the weapon, pause, then back down again