Been making a short (well, was supposed to be) platformer and been building the levels. Throughout the levels, certain large textures are reused quite alot, like a grass texture and a dirt wall texture. Lots of my models are different shaped grass pillar-walls, which essentially have a grass texture on the top and a dirt texture on the sides.
Since I’m using these exact same textures so many times, the best thing for me to do would be have two different textures applied to each grass pillar object. The two textures would basically be tilable grass and tilable dirt.
However, reading the documentation, it seems multiple textures is bad as it equals multiple draw calls or something. What is the best way to go about doing this, and how to most people handle this sort of thing? It would be an enormous waste if I had to create a sepreate texture map for every single different shaped pillar (there’s about 20 of them in my level) when I could just have two different textures.
Also, if you are wondering what I mean by grass pillar…
sort of like the wall behind the pirahna plant (grass on top, dirt sides), except I have multiple smaller objects rather than one big one.
I think you’ve misunderstood - there is nothing wrong with using large repeating textures, it’s a sensible and memory efficient way to work.
Each different material on a model does count as an extra drawcall, but it is a tradeoff - where possible you want to minimise the number of materials you use per character/object, but if you have to use two, or three, or ten, then just do it, its not a huge deal, especially for environment objects.
You should be mindful of drawcalls but unless you’re making an extremely object heavy game they’re unlikely to be your bottleneck so don’t let it dictate your game or asset creation pipeline.
Splitting the grass/dirt seems like a good idea, thanks.
Also, does it improve the performance much if I attach all the landmasses with the same texture (either dirt or grass) together, so they’re all one object? Again, I’m not much of a programmer, so I don’t know a whole lot about it.
Finally, how do I actually import multiple materials into Unity? I imported my object with 2 material IDs from 3ds max, but all the faces with the second ID are invisible…what’s the process for this?
when assigning a material on the object, on the inspecto you should see a option that says size which indicates how many materials it should have. in my case maya fbx version does shows the different materials for other programs like blender and 3ds max and other sometimes you have to specify the amount of materials so they start to show up. sometimes you just don’t have a material set yet when you drag it.