1
$\begingroup$

The model I'm building here is for a game engine.
model for game engine

Is it a better practice to 'glue' mesh parts together to save UV space? Or would it be better to conserve poly count? What is best practice from a professional perspective?

I have here a model that is very large. After trying to split the materials up (accounting for 512 pixels per meter) I ended up with more materials than I wanted. I thought that I might be using up too much texture space.

$\endgroup$
  • $\begingroup$ To narrow the answers down, it would be good to know which engine you are aiming for. $\endgroup$ – metaphor_set Oct 6 '16 at 4:20
  • $\begingroup$ I didn't know that was relevant! lol. I'm using Unity 5 and building for PC 64. After some time dwelling on this it occurred to me I was dealing with an extreme case of the above example. Perhaps it's a part of modeling skill to find a good balance (?) and not such a conundrum. $\endgroup$ – allen Oct 6 '16 at 12:20
1
$\begingroup$

Technical Investigation

Most modern 3D game engines and GPUs can technically deal with a very high polycount. The main reason why game companies cut them down is to make games playable on lower-end systems and also consoles (once they are 3 to 4 years old, they can't keep up with a modern high-end PC) and mobile platforms. Therefore it's important to plan for the game engine and also the hardware platform you are aiming for.

One problem that remains across all platforms and all 3D game engines is that too many materials put a high load on the system. Loading and processing materials produce draw calls, therefore you want to keep them as low as possible by reducing the materials to the bare minimum for each model.

If you want to go deeper into the topic, I highly recommend to read Simon Scheibt's "Render Hell".

Modeling 3D Game Assets

If it comes to the question of "good practice" or "best practice", you possibly get more than one answer, depending on who you ask.

Reducing polycount has been the subject of controversial debate for a long time. Some people say that triangles are bad in general (even for assets that aren't animated), others tell you the complete opposite.

Personally I follow the rule "If it doesn't change the visual appearance of a model (geometry and shading), it's not necessary".

My "working model" is composed entirely of quads. Then I create a copy of it and add detail for the high-poly version. A second copy will be the final low-poly version, where I eliminate all unnecessary vertices by sliding them across the edges without changing the geometry.

reducing polycount

Another good method to keep the polycount down without loosing too much detail is to compose assets out of several submeshes, when necessary.

While it's always nice to have a "clean topology" there are certain cases where it simply doesn't make sense, for instance if you have to add many additional loopcuts and vertices for the sake of keeping your asset as "one mesh".

One Mesh (including submeshes) and one Material per Asset

Simply put, that's the second rule I try follow, whenever possible. Big models like buildings are problematic when it comes to texture space. In this case I'm a big fan of the modular approach (as known from the Elder Scrolls since Morrowind and Fallout 3, NV and 4).

Another method of adding detail to diffuse maps without creating insanely big textures is using secondary maps or detail textures. Modern 3D game engines like Unity 5 and UE4 are capable of cross-blening a second material onto a model, when the camera comes close to it.

$\endgroup$
  • $\begingroup$ Thank you metaphor, that's a very thoughtful answer. My workflow is similar to yours already :) I very much appreciate the insight into this. I haven't reached a polygon limit in Unity before, but as common practice I try to keep my models low. With all this in mind, I think I'll try glueing my mesh parts together in most places to save texture space, and not worry so much about topology or poly count. My model is a huge sci fi door and it's almost the size of a building. $\endgroup$ – allen Oct 6 '16 at 17:52

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.