I’m working on a game that’s gonna feature 3D models created in Blender. I’m not going to use any textures, since all the models will be flat coloured. The game will have a pretty restricted palette, so it would make good sense to be able to reuse materials for a lot of the models.
I’m still pretty new to 3D modelling and especially to the concepts of materials and shaders etc., so I can’t quite figure out, what would be the best method to colour my 3D models.
The best way I’ve been able to find myself so far is as follows: Say I have a model that will have three colours; blue, red and white. I then mark all the faces on my model in Blender that should be blue, and then apply a material slot to this portion of the model with the default (empty) material. I repeat this for the parts that should be red and for the parts that should be white. I then import the model in Unity, but without extracting the materials, and drag the model onto the scene. I then create three new materials in Unity, one blue, one red, and one white, and then I drag these onto the right parts of the model in the scene view. In this way I can reuse these three materials for all the parts of all the other models that should be blue, red or white.
I got the impression it’s a good thing to limit the number of materials as much as possible, to equally reduce the number of drawcalls. But I’m not sure if the not-extracted materials in the imported Blender models still count as materials in this regard? I tried importing models where I hadn’t applied any materials in Blender, but then I wasn’t able to drag materials onto separate parts of the models, but only to the entire model at once.
Could somebody enlighten me, as to whether my method is sound, or if there’s a better and more economical way to achieve the same result?