2
$\begingroup$

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.

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

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.

$\endgroup$
0
$\begingroup$

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

https://docs.unrealengine.com/latest/INT/Engine/Animation/CharacterSetupOverview/

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.