Download

Question about best practice in texture sharing between objects

I will have several objects and I wonder which method below is more efficient or is there a meaningful difference at all, or just do as I like. First let’s asume that the look of the object is the same for all method:

Q:
-have all object its own different small texture 256, 512, or 1024 OR have them all on a bigger let’s say 2048 texture (not sharing UV space)?
-How the answer depends on how often these objects are in play simultaneously?
-what happens when they share UV space for some parts (like modular assets)?

I know there is no explicit answer, I’m just looking for general guidelines, thanks.

Hi.

Have a look at this https://forums.unrealengine.com/showthread.php?45284-Draw-call-discussion
It addresses draw calls.

Thanks, it was usefull information however my question is not about drawcalls. It will be one per object anyway. I don’t think batching/instancing could apply, so let’s asume there isn’t. The difference is: if the objects share texture maps then they will use the same material, if not then they will all use their own “smaller” (less memory required) materials. So I just wonder that generally which method is prefered.

Good question. Honestly i am entirely sure but i cant imagine it making too much difference… though 1 x 4096 texture is definitely better than 20 x 4096 textures.
Hopefully some guru can shed some light on this

Well first off, as an opinion, the question is front end loaded as you can not really apply best practice as a guideline with in a modular edit environment like UE4 so the answer is “or just do as I like”. Best practice in this case is build it, get it into UE4, see what happens and then make correction via the iteration process.

Trick question assuming that the sum total is equal so the real question is what is the total allowable texture budget as to memory footprint requirements and how modular is the environment so if you have a lot of “like” objects then using a texture atlas makes life easier overall.

A starting point.
https://youtube.com/watch?v=7vAb988H12g

Only as to draw calls as the objects not with in the frame of the camera is culled.

Nothing happens. UV maps are not resolution dependent so you can map your object to fit the texture even out side the mapping space. The only thing that matters is lightmaps and if you want to tile.

Overall though it’s not something that I would worry about during the build process but leave until last as for polishing as best practice in this case is “it’s easier to make to much less than it is to try and make not enough do more”