MindVisceral / EZGame

1 stars 0 forks source link

First Person Player model with IK arms and legs #43

Open MindVisceral opened 4 months ago

MindVisceral commented 4 months ago

To further improve immersion, giving the Player a visible body in the First Person view is a worthwhile endeavour.

There are two main ways to do this as far as I'm concerned:

  1. The Player body should be split into the main body with the legs and the head, and into IK arms, which will hold the weapons. The arms and weapons then can be rendered separately to prevent them from clipping into any other meshes (#23). But this doesn't allow for sophisticated interactions between the hands and the environment. Though that can be partially solved by using clever tricks, like with Terminals in ULTRAKILL or the Ghost in destiny - but I'd argue the effect leaves much to be desired.
  2. The whole Player model is a single, uncut model (also using IK). To avoid clipping (#23), the hands and the weapons are animated away from nearby structures. This is how it was done in Cruelty Squad. This method also allows the hands to explicitly interact with the world, like in Scorn.

And there could be a hybrid of the two:

  1. For general shooting gameplay, use the first method, but for interactions put away the weapon, hide it along with its hands, and use the main model's hands for the interaction. This sort of thing seems to happen in games like CoD (?)

Though no matter the method, this will allow (or force) me to make animations for interactions between the Player and the Environment, which is the main timesinker with this issue, right after the initial setup.

MindVisceral commented 4 months ago

Side note: The Scorn Guy rests the gun at his side when you get too close to a wall AND the weapon clips through walls in certain places, so I'm certain it was not rendered by a separate camera, even though that close-quarters extending 'gun' might make it seem that way. If you move the camera just right, you can also see the Scorn Guy move the gun to his side, which would be extremly difficult to time if they used the hybrid method. I think I'll do this just like they did, though I will have to guess a lot, since I don't have access to their game files.

MindVisceral commented 4 months ago

In Godot 4 Inverse Kinematics regressed from Skeleton Modification Stack implementation, and we are forced to rely on a depricated SkeletonIK Node. This is practically unusable. Fortunately there is a better 3D IK system coming out in Godot 4.3, but that is coming out next month.

MindVisceral commented 2 months ago

Godot 4.3 has been released! I have yet to test out those fangled new 3D Skeletons, but work on this game can finally resume. Hopefully, with a fully implemented 3D Player Model soon!