Gameready assets

Hi,
Is that always needed to be solidified, the surface of game ready assets? I mean, sometime some surfaces are not visible to outside very well. Something like that situation, maybe I can remove that surface and save some space on UV map for the rest. Has there been a rule or standard about this matter?


Simple answer: It all depends on where you’re using it. You can fill it, you can fill only the rim then render the backfaces (or duping and inverting the normals) using a standard material, etc.

What is far more important is how you UV map it.

The best way to ‘save space’ on your UV map is to have multiple. Game engines love, and encourage, reusing materials whenever possible, and making use of submeshes and material indices.

Whether you are using UDIMs or simply multiple submeshes, you should have multiple UV sets here for each object:

  1. The face you’ll see the most gets the first slot. Call them C beam A, Pin A, etc. These get a carefully authored material with great UV presence because they’re the only thing on the map.

  2. Edges, interior faces, etc. get the second slot or tile (e.g in UDIM) – you can make these manually, e.g C beam B, Pin B, etc, or better yet, you can assign them to a basic, global material.

Consider the following:

Here is a strange, futuristic style beam. The main face you see the most has a 2048x2048 texture that mirrors
along one axis (you’re never going to be looking at the front and back at the same time anyway), giving a lot of UV space and detail.

The interior, rarely seen, has a 128x128 texture using a shader variant that renders only normal, albedo, and metal/smooth, at a low precision, but still renders in the same set as the variant with the fancy effects.

I used to try to use a different version that had the interior not rendered at all, but it actually took more time, memory, and GPU time, to render two versions, one with and one without an interior, than it did to just render more versions of the one.

It is also running a shader that adjusts color, parallax depth, normal look, and much more using only parameters – meaning, in the game, I can re-use the same object with the same mesh and the same 2 material for many apparently different beams and objects in many configurations and sizes.

The shader has many variants that are simpler, but they all render together.

In the profiler, all of these get rendered together with only two materials for a total of 9 textures (Beam A: Albedo MetalSmooth Emission Normal Height Occlusion, Beam B: Albedo MetalSmooth Normal).

I reuse that same 128x128 texture also for a similar H beam, a C beam, a drawer interior, and more.

For your case, you can do a similar thing: You can hit that solidify if you want, or you can not. It’s really up to you and how you intend to use it.

What’s more important is that you have multiple materials that let the most visible parts of your object have the best texture, and that you reuse this set of objects as much as possible.

3 Likes

You shouldnt delete those inner surface until they 100percent would not been invisible.
Just make them as low-poly as possible, you can set them to lower texel density as well to maintain as bigger TD as possible for the most important parts.

For all common engines any face would be visible only from 1 side. From other side it would be transparent.
Almost all common engines have an options in the shaders to render face “Two sided”, so the face will be visible from both sides and use the same texture.
But its all came with more shader instructions - which are bad, and also it would require to add one more shader with those option enabled.
The more shaders your asset are using - the worst the final performance.

1 asset - 1 shader (material) are the best case. Ofcourse its not always possible.
Such simple things as this model - does not require 2-sided rendering and ambolutely “no-no” for 2 different materials.