- Home /
Using multiple materials on a object
Hello, I have a basic question on texturing objects. The problem is that I of course can apply different materials to particular faces in a modelling programme like Blender. However, I want to paint materials onto an object. Until now, I just scale the uvs of my object up to the best size of the texture but this doesn´t look very well. When I download pbr textures from for example textures.com I don´t know how to paint these finished materials on to my objects. I know that there are some professional programmes like Substance but I wonder if there is a free option to to this. Do you know a solution for this?
Answer by JonPQ · Jan 04, 2019 at 06:23 PM
usually this is done in an art tool, such as Maya or Blender, you can map materials onto selected faces or objects in different ways... flat projection (planar) , cube, cylindrical, spherical etc.... then you can unwrap the uv's to see how they look (polygons overlaid onto the texture, and you can edit/tweak them by hand. Then you re-export the object. typically .fbx format.
You can also do this in unity with a few tools that you can find in the asset store. Try Pro-Builder... now comes free with unity, but there are others.
You can also use (for some cases) shaders to map procedurally, for example tri-planar mapping shaders... that map and blend from all 3 axis directions at once... good for terrain, rocks, asteroids... but comes at a performance cost. find some free or cheap shaders on asset store.
In fact, my problem is not the process of unwrapping the model. I want to use multiple materials for an object and therefore don´t want to apply them to selected faces as you already said because there will be hard edges which especially on "living" objects don´t look good. Blender has a feature called TexturePaint but this doesn´t include the painting of finished materials. As I already said, I download these textures from textures.com. They include different maps like Albedo, normal, roughness, height... Now I want to create a material for this as you can do in Unity and paint this material (not only one texture) onto an object. Is there a possibility to do that?
ok I think I understand now... you want to paint multiple materials (or multiple textures) onto the same polygon. For example the way unity terrain allows blending of multiple textures on top of each other with soft blending across polygons. There is a important distinction here... between supporting multiple blended 'materials', and multiple 'textures' (with a single material).
Typically you will find multiple blended textures (but only using one 'material') A special shader may be needed that supports multiple Texture channels and multiple UV sets in the model. unity terrain is like this...
Probuilder as mentioned above (with polybrish as mentioned by NerdSherpa) might let you paint blended textures. ...and also paint vertex color.
Some shaders use the alpha, or color vertex data to allow texture blending, in combination with custom shader.
For painting blended "materials"... this is more tricky... each extra material you paint requires the same object to be drawn one extra time. 1 material uses 1 shader = 1 render pass. if you want 2 materials.... thats 2 shaders... shaders cant be combined/blended, you have to render twice for blending2, 3 times for blending 3 materials, etc...
both these techniques come with performance cost, especially the second one.
commonly this kind of material blending is done in the art tools, then baked out into a single blended texture with one material for export. If you are doing it in editor.... watch out for performance (if that matters in you application)
Well, unity terrain is a very good example for what I want. There you first declare some "textures". What I don´t undersand here is why this is called "texture" and not material because you can declare several parameters like smoothness and you can also use a albedo and a normal texture for one "texture"(if you understand what I mean). Furthermore, i don´t really understand the difference between what you said in the first paragraph and in the second one. But isn´t there a free alternative for programmes like substance painter in which you can draw materials? I´m sorry for asking those weird questions but that´s a topic I was wondering for a long time and haven´t found any answer yet.
Answer by TheNerdSherpa · Jan 04, 2019 at 06:24 PM
Polybrush might do it. Its in beta, but works for some people. Its on the asset store if you want to check it out.
Can you actually paint PBR materials with this extension?
Your answer
Follow this Question
Related Questions
Blender object with materials don't want work properly in unity 1 Answer
How to import 3rd party 3D models into Unity? 1 Answer
Blender texture with UV not covering mesh 1 Answer
Importing complex objects from Blender with colors 1 Answer
Texture problem, multiple uv's & materials (blender) 2 Answers