Hi, I have been in Blender for a while and I’m still confused by how materials and textures work. I’m aiming to create realistic scenes. It doesn’t have to be too real or too perfect, just don’t want obvious flaws.
Can there be an object that has only material, but no base textures? For example I create a piece of silver, I make a silver material and apply to it. Now I just don’t know what kind of texture I should add to it. I know I should add a little bit of surface imperfection textures. But aside of that, should I add any “silver texture”?
I’m now using the uber shader learnt/stolen from blenderguru.com. It’s easy I only need to download texture maps and connect them to nodes. But sometimes I feel I can’t create distinguishable materials. I feel the wood and fabric object I create just look similar. Is it a problem of tweaking glossiness and reflection? Or it’s better for me to start to learn to create different materials? Do I need to create entirely different node setup for wood, plastic, fabric etc.? If yes, I wonder where can I get started to learn these nodes?
You should look carefully at real materials for reference. Objects have normally small imperfections, stains, dirt and other details that are quite important for a good looking material. For example, your silver object may have fingerprints, dust, small scratches etc; representing them is one step for a good material.
Yes I know how to add surface imperfection and I am using Blender Guru’s shaders. I just wonder if I should somehow create a “silver texture”, or I only need to create the “silver material” without any texture added. I also don’t know where should I start to make my own material node setups, like wood, plastic, fabric etc… Have any ideas guys?
It will depend on your workflow and your needs. For example, I have a few shaders groups for common materials like metals, dieletrics and glasses (with very little textures so I can reuse them); Also a few textures groups that I use often (wood, tiled patterns, custom noises); A bunch of utility nodes for a variety of things (vector transformations, extended math, sorting, etc); and a big collection of OSL scripts for more complicated stuff.
About creating node groups, you’ll find pretty goog information here in this forum. Some things are pretty straight forward, such as a simple dieletric shader, and some things are more complex to assemble, like geometric patterns which require a ‘bit’ of mathematical skills.
What you need greatly depends on polishing state.
Silver is extremely reflective, and for refinished polished silver I doubt I would use anything but a glossy shader with fixed white color all over. Technically it’s less reflective at facing angles, but its negligible enough to skip.
There is no such thing as a “silver texture”. Silver is a metal, and as such only needs a glossy (or anisotropic) shader - metals are all reflections, and how good it looks typically depends on what gets reflected. If you want a “long tail” on (not perfectly polished) metals, the trick I often use is to use Bechman (instead of GGX which is usually suggested) anisotropic with 1 in anisotropic and >1 in roughness.
Here is one I did for chrome. Chrome is the same thing; pure reflections. So what this one does is add those tiny imperfections. Unless you go for extreme closeups you probably don’t need that. For varnish, you’re better off trying to make a varnish response separate from the silver itself, although I guess “examining” this in real life can prove almost impossible (what would the varnish look like if you removed the metal, so to speak).
It’s all about materials/shading and lights. Texture maps are used to control various material properties but if it doesn’t need any, then it doesn’t.
You have objects and materials get assigned to the geometry they consist of. Materials have different properties/values that most can be controlled with a texture. Textures need to be positioned on the 3D object so they need texture coordinates.
Controlling material properties? For example, you might want to make a full white Suzanne with a big red circle on its forehead. Materials have diffuse color property or you add a shader that has it. But, Suzanne’s geometry doesn’t contain a circular pattern on its forehead you could assign the material to and another everywhere else, so you need one material and a texture to control the color. Because you need to position the red dot on the forehead, you need texture coordinates for the texture.
You could then create a full white image with a red circle on it and call it “diffuse texture map”, or you could make a grayscale mask because those are flat colors. The diffuse texture map you make would control the material diffuse color and because you use texture coordinates like UV to position it, it would end up with a red dot on its forehead after you add a light so you and the camera can see it.
The mask could be a full white (value 1) image with a black (value 0) circle on it, or same with reversed values. The process would be exactly the same as with a diffuse map, but now you can mix two colors based on the mask where the value 0 gets one color and value 1 gets another. If the mask has values between 0-1, like with anti-aliasing along the edges, the two colors would get mixed based on the value.
That was for making an outrageously Japanese Suzanne by controlling the color property in the material. But if you’re making an outrageously wooden tabletop, the diffuse texture map would have more colors on it. If it doesn’t have an even glossiness/reflection, you could use another texture to control those in the material. Same if it’s a bit bumpy in places. What the material needs depends on what the material is and how it looks.
How it looks depends on the lighting conditions and direction, and the viewing angle, so you can’t ignore those while creating a material. Reflective materials need something to reflect to look good.