I'm a bit new to serious 3d modeling, and I have a question focused on workflow and style as opposed to technical tips (which can be found in tutorials).

I'm creating a character model for the game I'm making. Right now, my entire game's art design doesn't have any textures, just different colored materials, so in order to create a nice looking character, there are many meshes involved, i.e. a visor for a helmet, a patch on the character's arm, etc. This is fine until I start animating things and exporting them into Three.js format. Animations don't work correctly or just don't exist at all.

All this being said, I've watching tons of tutorials on the process, and every single one has a character model consisting of one geometry, one mesh. Is this standard practice? If so, then I need to redefine how I make models. Secondly, is it atypical to see material-only artwork? I'm not overly skilled with textures, but if it's a completely uncommon practice, I can abandon it.

Thanks for the time.

  • 2
    $\begingroup$ I would texture them like this, also make it easy to tweak the color palette at a later time. $\endgroup$
    – David
    Commented Feb 25, 2018 at 14:08

2 Answers 2


Copying a couple performance tips from this thread

  1. Reuse geometries and materials whenever possible
  2. Use instanced geometries for faster mesh instantiations
  3. Merge meshes when possible

The main thing is that the more meshes and materials you have, the more draw calls you are making to the GPU, and you'll get worse performance than if you were drawing the same number of triangles using fewer meshes. Performance considerations in e.g. Unity may be a bit different, where the engine is probably optimizing your model somewhat for you.

If you're having issues exporting animation, that's probably unrelated: there are a fair number of open bugs about animation in the three.js Blender exporter. May have better luck exporting FBX or glTF (with either of KhronosGroup/glTF-Blender-Exporter or Kupoman/blender2gltf) before loading in three.js.


I think it's game engine dependent. Modern games will accommodate multiple meshes tied to a single skeleton system, for example:


  • $\begingroup$ Interesting, I'll look into this. Thanks for the reply! $\endgroup$
    – DonutGaz
    Commented Feb 25, 2018 at 15:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .