minetest / minetest

Luanti (formerly Minetest) is an open source voxel game-creation platform with easy modding and game creation
https://www.minetest.net/
Other
10.76k stars 2.03k forks source link

Make player's own model visible in first-person view #9556

Closed wuniversales closed 4 years ago

wuniversales commented 4 years ago

Currently, from what I see it is impossible to look at your feet (legs) when you look at the ground. It seems that you are "Levitating" instead of standing.

Nor do the feet appear when walking, or when doing other functions, such as sitting.

paramat commented 4 years ago

I get the feeling this is a duplicate, will try to find the previous issue.

Seeing the player's own model would greatly obscure vision when looking downwards, it would be very problematic for navigating in dangerous or difficult situations. So i expect most players would not want this feature or would turn it off if optional.

wuniversales commented 4 years ago

They could optionally add it, and everyone is happy. In my case I would activate it. regards

MoNTE48 commented 4 years ago

I think this is not very difficult. But there will be problems with the height of the camera, control, ease of play

ghost commented 4 years ago

Yeah, for most first-person multiplayer games (in general, not MT-specific) you ideally want 2 models, the one you show to other players and the one that you show to the current player. Otherwise, getting a good-looking result can be very difficult.

I don't know how easy this would be to rig up in the current version of the engine, but I'm certainly not opposed to the idea itself. EDIT: To respond to paramat's (quite valid imo) concerns, I think having 2 models would naturally avoid this problem since mods/games could simply [change / disable / not provide] the client-side model, leaving the final decision to players and server owners.

benrob0329 commented 4 years ago

IMO this needs to either be done right or not at all. Most first-person games omit the model because it can very easily get in the way, and those that do include it usually have it pushed back so the players can still aim the the ground. Games like Subnautica which do include it (correctly) even have it completely out-of-view for most of the game (it flows behind you while swimming).

Unfortunately its hard to get this right because single-point camera rotation is really rigid, and not the best at imitating real neck movement (your head usually shifts foreward when looking down so that you can see around yourself), but if implemented correctly this could add some extra immersion (or ways around limits in other APIs) to games that want it.

paramat commented 4 years ago

Requiring games provide 2 models is a lot to ask, especially for such a low priority feature.

2 more apsects to this, one of which i remember from a previous discussion:

The camera is inside the player model's head, so will need to be relocated in front of the face. Because player models can be any shape and any size, the camera offest will need to be a vector. We already have a player property 'eye_offset' for camera distance above player position (feet), this would have to become a vector that rotates with the player.

The arms would become visible on either side when they swing, so conflict with the wield hand becomes a big problem. Tools only appear in the wieldhand.

Overall, nothing wrong with the idea in isolation, but i think it is of too little benefit and too high complexity to be worth doing. :-1:

EDIT: In response to some comments here: Making a feature optional does not make it acceptable if it is not a good idea, that is an invalid argument.

LoneWolfHT commented 4 years ago

Requiring games provide 2 models is a lot to ask

Let's not ask that then. Leave the feature disabled by default but allow games to enable it

rubenwardy commented 4 years ago

this is easily done in the API by adding an object property for whether the object is visible when attached/is the player in first person

* `visible_in_first_person` - whether this object is visible when the local
     player is in first person, and the object is the player object or
     attached to it.

There's issues for this

Jordach commented 4 years ago

Quite literally fixed in https://github.com/minetest/minetest/commit/3068853e8a58ccc7370a5ce977c08223601c497a this should be closed. As doing such attachments are now possible.