Single-mesh 3D model vs. Multi-mesh 3D model

TudorTudor Posts: 27Member
in 3D

Hello! I want to import a 3D model in Godot. The model consists of many meshes: practically, a polyhedron is attached to each bone from the armature, and an icosphere is attached to each joint.

I attached a picture with the 3D model opened in Blender 2.8.

You can see how many meshes are there. In fact, there are 110 meshes:
3 for the head
3 for torso
36 for each hand
16 for each leg

What should I do, merge the meshes into one or import the model as it is now?

Best Answers

  • TwistedTwiglegTwistedTwigleg Posts: 2,873
    Accepted Answer

    I'm not sure which is better, but for most game models I have seen, most of the 3d model is just one mesh. There might be performance reasons, but honestly I think it is just because it is easier to work with just one mesh, though Blender's ability to edit multiple objects has made multi-mesh workflows much easier.

    I did some research and it seems that both methods have their ups and downs. The ups of having separate pieces is that it is easier to model and adjust, but the downside could be the overhead from having so many materials (though sharing materials does reduce this overhead). The upsides of using a single mesh is that there is less material overhead, but it can be difficult to edit and adjust.
    However, it would seem that no method is necessarily the best, and it just depends on your project, workflow, and how you want to do it.

  • SIsilicon28SIsilicon28 Posts: 749
    Accepted Answer

    The less draw calls, the better. A draw call is a term used to describe a 3D model and its material being passed to the GPU to be drawn to the screen, or a backbuffer.

    A draw call is relatively expensive, so having less is usually a good idea. Rendering 1 mesh all at once is better than 110 one at a time.

    I'd join them together.

Answers

  • TwistedTwiglegTwistedTwigleg Posts: 2,873Admin
    Accepted Answer

    I'm not sure which is better, but for most game models I have seen, most of the 3d model is just one mesh. There might be performance reasons, but honestly I think it is just because it is easier to work with just one mesh, though Blender's ability to edit multiple objects has made multi-mesh workflows much easier.

    I did some research and it seems that both methods have their ups and downs. The ups of having separate pieces is that it is easier to model and adjust, but the downside could be the overhead from having so many materials (though sharing materials does reduce this overhead). The upsides of using a single mesh is that there is less material overhead, but it can be difficult to edit and adjust.
    However, it would seem that no method is necessarily the best, and it just depends on your project, workflow, and how you want to do it.

  • SIsilicon28SIsilicon28 Posts: 749Moderator
    Accepted Answer

    The less draw calls, the better. A draw call is a term used to describe a 3D model and its material being passed to the GPU to be drawn to the screen, or a backbuffer.

    A draw call is relatively expensive, so having less is usually a good idea. Rendering 1 mesh all at once is better than 110 one at a time.

    I'd join them together.

  • TudorTudor Posts: 27Member

    Thanks for the tips!

    I joined the meshes into one. But it soon became difficult to assign weights to it.

    Here is why:
    https://blenderartists.org/t/when-i-join-meshes-together-the-bond-between-armature-bones-and-meshes-is-lost/1229456

    So, I decided to create a new model, from a single mesh, using Extruding and Loop Cutting.

  • MegalomaniakMegalomaniak Posts: 2,785Admin

    You should focus on primarily doing this to the static geometry, i.e. things without bones or physics.

  • TudorTudor Posts: 27Member

    Good idea! Thanks for the tip!

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file