I have spend some time google-ing, and I did read almost all the unity documentations and tutorials regarding materials. I am sorry to say, i still do not understand what is material. Can anybody explain to me without using more technical term, like shaders, i dont understand shaders too, but i think material is more important.
I cannot assign texture to an object if it has no material, so far what im doing is duplicate a material into 100 instances (duplicate file) and assign them all to different objects, then assign different textures to them, to me, material is something useless, i just need to put “something” or “anything” to fill it so i can use textures. I did these awhile ago hoping at certain stage i will be able to understand what is material, but I couldn’t.
maybe u can understand it like this–> you are a texture,material is a coat,u wearing it, so u can go out see your friends(u can’t be naked outside) , you can put on suit,or jacket(bumped diffuse,Decal…choose different color…),so your friends will have different feeling about u~( NO naked!)
And,maybe u had notice that: for the physics,the **Collider component also have Material, but it need a Physics Material,it’s easy to understand; You jump down from a 3 meters height roof,if the floor’s Material is cement,u maybe will be afraid, but if the floor’s Material is rubber ,u will happy to Jump down;
A material is just the idea that your object is made of a given material, like gold or silver or wood… although technically objects are hollow and they really are just a kind of empty shell with a surface… but the material describes how to draw the surface, what textures/images to use, what shader to use etc… to try to make it look like a given material or substance.
A Material is a separate asset in your project which contains a collection of settings basically… textures combined with a shader plus maybe some tweaks to some sliders or values. These values go into the shader to adjust its output. The shader is a low-level program which runs on the GPU to actually calculate what the output color of each pixel should be, usually using the textures and other values as inputs.
So you need to a) create an object/geometry, b) create or reuse a material, c) on the material, choose a shader and fill in any textures or settings you want, d) apply the material to the object’s Renderer component.
A material for a 3D object is like a font for text. You cannot see text if it doesn’t have a font of some color. If you don’t choose them the computer will use a default. In the case of this forum it looks like black 11pt Helvetica. The default material in most 3D apps is a light grey Lambert (diffuse).
Another question, how do u pick a material, like a font, u can see hows it looks like b4 u can pick it, how about material, how do u pick it, or how do u create 1?
Most (maybe all) content creation applications such as Blender (which I"m most familiar with) Maya, Rhino etc have libraries of materials available that you can select for your objects, and which can then be used in Unity. However for unique objects (ie not just flat concrete floors) you need to customize the material for your object and this usually involves UV unwrapping, so its not as simple as selecting a font from a list for text.
Check out my video tutorial series on YouTube to show the process of creating a material for a small house. It’s mostly about painting the textures. It includes diffuse color, bump and reflection