Hi, how do materials and draw calls work in ue5? Is it always better to bake textures down to each object? Lets for example say i have an object with 10 materials that are also used across my scene. Would the same material instance only result in 1 draw call across multiple objects or would i end up with 1 draw call for each object even if it is the same material? I would like to avoid baking my textures on an per object base and work with trim sheets but i am a bit worried that if i have 10 or more materials per object that it will be a great performance hit.
The draw call for a material is due to part of the instructions to draw the mesh itself, so you end up with a draw call for each material that a mesh uses it’s not based off the material needing to be rendered in general.
You can reduce draw calls when using multiple copies of the same mesh, but you’re going to get those extra draw calls from different meshes even if they use the same material.
thank you makes sense.
I was asking because i found a tutorial showing a workflow for trim sheets modelling and texturing objects. But the object had about 15 materials on the end. I would like to try it but that sounds like a lot to me or would that be fine for a AA pc game? How many materials are too much? The paragon characters also have a lot of materials. I know it might strongly vary but is there a rule of thumb? Or is just a bad practice and baking everything down to 1 or 2 materials is the best approach.
With Nanite you get 1 draw call per material, regardless of how many different meshes there are.
are we all sure about the 1 draw call per material in nanite? Because im running the stat commands in console and i see many many draw calls… not quite per object ( dynamic instancing works)… but im getting 100 draw calls for a building that uses 5 materials… nanite…
It’s what the docs state so it is more than likely correct.
my mistake… i had some glass window materials in there increasing the cost. (nonnanite)