0
\$\begingroup\$

I'm making something like "Low poly" style game. For that, I'm using multiple materials for each mesh without uv mapping and texturing.

Luckily, only weapon does this, others not. Also it's first person shooter so most of time, it just 7~8 materials requires for rendering.

However, I heard that lots of materials causes more rendering for GPU and it cause performance issue. My target platform is Android, and that could be a big problem.

Should I change all my weapons to have single material each?

This is the screenshot of my game. As you can see, single weapon uses 6 materials.

enter image description here

\$\endgroup\$
6
  • 2
    \$\begingroup\$ Each material change usually means a new draw call, so there is a cost to it. Can you try including a sample of the visual look you want your weapons/other models to have? It might be possible through vertex colours or other means. \$\endgroup\$
    – DMGregory
    Commented Jan 27, 2018 at 21:14
  • 2
    \$\begingroup\$ Yes this is true, performance should increase if all weapons are drawn in a single 'batch' with one material. 8 materials does not sound like a lot though. \$\endgroup\$
    – Jay
    Commented Jan 28, 2018 at 1:12
  • \$\begingroup\$ @DMGregory Sure, I just added screenshot. \$\endgroup\$
    – modernator
    Commented Jan 28, 2018 at 6:25
  • \$\begingroup\$ @Jay Okay thanks. Than should I change all my models to have single material with uv mapped + textures? I already made almost 10 weapons :( Is there a way to make fix this more quickly? \$\endgroup\$
    – modernator
    Commented Jan 28, 2018 at 6:27
  • 1
    \$\begingroup\$ Oh yeah, if you have 6 materials per weapon then you should look at cutting that down. The number of materials in your whole scene will be a contributing factor as well. \$\endgroup\$
    – Jay
    Commented Jan 28, 2018 at 7:17

1 Answer 1

0
\$\begingroup\$

As the comments on the question indicate, multiple materials require more rendering costs. I fixed this issue by integrate multiple materials for each model one by one.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .