I’ve noticed that they’re old first person shooter that give the player a third person model like the original half-life and Serious Sam even had a third person mod. Based on older first person shooters, what’s the best way to deal with a FPS controller with a third person view model? What’s the best way to deal with the “same” animations across the first person hands and third person models? What’s the most optimal way of going about implementing such a feature a first person shooter in Godot?

    Audiobellum this depends on the game and has been changing each generation.

    back in the day, quake 3 implemented the first first person/third person mechanic. they managed this by splitting the characters in 3, and needed it because it was a multiplayer game.

    the body is split in 3: the legs, the torso, and the head. each rotates independently.

    and then, most games of the time also had a third person and first person models. the first person model was just the arms and was rendered in front of the camera, while the third person model was either a single mesh or split into 3, and used during reflections and in multiplayer.
    each required a different and unique set of animations to work, animations that you have to do yourself, you can't use the ones from mixamo, etc.

    as technology progressed, first person games started to use whole models, like mirrors edge. in this game there was a special set of first person animations, and third person used another set.
    first person animations look awkward from third person, but look right in first person, they are usually more stiff, as they fit to the limits of the camera.

    and then you have the unity tutorials. don't follow those, they lead to clipping and the player can see their own face if the camera moves wrong. some games used this, it's awkward and looks wrong, but it's the cheapest easiest way. just a third person model and the camera attached in front of the face.

      2 months later

      Jesusemora
      As a beginner, a quick and dirty solution I could come up with is to just let the view model and world model have their separate animations played at the same time on different on separate animation players. However, I’m not sure if it’s the right way to get things done. I don’t know what problems would come up if I were to approach the problem in that way and what additional challenges would come up.

      Now there is a Youtube tutorial on the subject but it’s long and hard to follow. Can anyone explain to me what’s going on here?

        kuligs2 I usually avoid using it, just so I don't have to learn about it. I hope it's not a necessity for the feature I want to implement.