I’m making a True First Person RPG where the only weapons used would be swords, shields and bows.
My question is: for NPCs and the main character, is it better to have multiple skeletal meshes for each body part or just one skeletal mesh for the whole body?
I intend to add multiple NPCs with different faces/bodies by making a copy of the main character mesh and modifying it slightly with Blender.
I do not intend to allow customization for the main character’s body.
All the modifications that the main character/NPCs could suffer are in terms of clothing which would be superposed to the base body (i.e. like Kingdom Come Deliverance, where you can add or remove pieces of clothing that COVER your body, but do not subsitute it. So I guess I could use sockets in the bones…???).
Since it is a true first person game, I do not want the player to see inside his own head, therefore maybe I would want to make the head invisible for the owner of the character (the player). Is a all-in-one mesh bad for this purpose?
I want to add facial animations. For example when the NPC talks I want the mouth to move (for the main player it does not matter, he won’t see his own face).
-I want to use animations per bone, i.e., upper body (weapons) plays a different animation than the lower body (locomotion). Is an all-in-one mesh bad for this? I understand that since this feature depends on the bones, it would be the same with both types?
I am unsure on how to proceed. If it is of any influence, I intend on adding dismemberment, although I have read that this only affects the bones (they have to break) and I guess that can happen with an All-in-one mesh?
Could you give me some guidance?
For things that have different shapes, use different meshes.
In your case, if they all have the same clothing but with different colors/textures, then I’d use one mesh for the clothing, and one mesh for the head/face.
In general, the difference between 1 mesh for a character, and 2 meshes for a character, is not really all that big. If you have 1000 characters on screen at the same time, yes, it might start showing up in the profile, but it probably still won’t be your biggest problem. Blowing out 1000 identical bodies in VRAM for vertices, just because the faces are slightly different, would probably be the bigger problem.
Thanks for the answer, but I don’t quite understand.
I want to make the NPCs different from one another (slightly, using Blender to make small modifications in the face).
These bodies are naked, and the pieces of clothing that they can put on are equipment that does not substitute the body parts but rather are placed on top of them (for example, if I equip a chainmail it will be shown over my torso, but will not replace it).
So when characters put on pieces of equipment, no modification is done to the skeletal mesh of the character.
Hence, do I still need to use modular meshes or an all-in-one is enough?
Also, does the type of mesh affect aspects like dismemberment, animations layered per bone (upper body and lower body using different animations), or any other functionality of the character?
Regarding the performance impact that you have talked about. If I have one mesh pack per character (be it one only mesh or modular meshes), and I have let’s say 30 rendered characters on screen, would it be a problem the type of mesh that I use?
Now I’m thinking, for the NPCs if I want to use the same body but different faces, I could use a 2 modular mesh setup, one for the face and the other for the body, so I could create many instances of my Character Blueprint just modifying the face. Would this be better than to have a full body mesh for each NPC, performance-wise?
The answer is exactly the same.
For “putting on chainmail but keep showing the body” you will absolutely have to use modular meshes; there’s no other way to do that.
For “every NPC has a different face” you’ll want to make the head separate from the body, but they can share the same body as a separate modular piece (assuming they are the same height and body build)
If dismemberment is modeled, then clearly how you build your meshes depends on how you model this – there’s not enough information to give a good answer.
Animation drives a skeleton, how many skinned meshes are attached to that skeleton doesn’t matter.
There are two kinds of performance: memory usage, and CPU/GPU overhead of issuing multiple meshes.
Issuing two meshes instead of one consumes more of the latter. Issuing one mesh per NPC consumes more of the former. In general, memory is more scarce, so you’re probably better off with the two meshes, which is what I said in the first answer.