When to split a mesh.. Rules of thumb

This is not a question that will have a definitive answer… but I’m looking to get some input from the community to, lets say, develop my intuition on when to split a mesh into parts and when to import it as one.

When importing complicated mechanical models (machinery, manufacturing equipment, forklifts, etc), you often have:

  • A frame consisting of several big pieces, some of which should move independently
  • Many small pieces like screws & bolts, fixed to the bigger pieces
  • Considerable ‘repetition’ with mirrored pieces (e.g. left & right)

The question then becomes how to split/merge the pieces, choosing between:
→ Everything merged. One (skelleton) mesh with many (>1M) triangles, resulting in a heavy asset with maybe 10+ materials, creating LODs in UE
→ Everything separated. One simple base (skelleton) mesh with a minimum of triangles, attachinging hundres of pieces in a blueprint. Maximum use of repetition (one screw/bolt imported and repeated for many times in the BP, left/right the same mesh mirrored, etc).

… Or, in reality of course, something in the middle.

So the key question in this topic is: What’s the right balance here? How many ‘pieces’ should we aim for as a rule of thumb? Or how many triangles qualify to make a separate piece? Or should drawcalls take the lead and we aim for one mesh per material?

Hey @Warner_V!

Some of the best practices I’ve seen use the following criteria:

  • Are there any repeating parts? If so, separate and reconstruct with blueprints for storage space.
  • Is it modular? Do I want to expand it? If so, pieces should be separate for convenience without moving parts on them.
  • Is it a vehicle or similar that will have moving components? If so, a skeleton is often best for ease of animation.
  • Are there just singular moving pieces like a door on a building? Make the largest unmoving portion a single static mesh and have the moving pieces separate.

Examples:

  • A crane: The crane itself should be a skeleton while the base or tower should be a SM.
  • Forklift: Should be a skeleton.
  • A piece of machinery that only has something like gears, a door, or a press moving may possibly benefit from only being a couple of static meshes or having smaller skeletons that can be attached to the main static mesh via blueprint.

As for drawcalls, that is hard to say and someone else may have a better answer for you in that regard.

While not the end all be all and just an example of good practices I have seen, I hope this guides you to the answer you are looking for!