![]() |
WORKING WITH PROCEDURALS |
|
|
|
Well, not a impressive image, I know but it have some particulars that makes it little bit special: Not a single bitmap texture has been used to achieve it. Only 3D procedurals have been used instead. Since 3D procedurals are projected on the 3D space and effects as Ambient Occlusion depends on the geometry only, it avoids the UV mapping work required for a bitmap version. (C4D scenefile available if you want to check those details not described in this tutorial by pressing here) So, we gonna learn how much powerful procedurals are, and also some basics regarding shading/lighting.
|
|
|
|
Create the main light. Usually we should avoid frontal lights (except if we want to render a camera flash effect) because shadow zones are pretty important for a nicely contrasted image. Frontal light always cast very flat images, so it may be better to choose a light angle allowing some important black space in the image.
|
![]() |
|
Now, we’ll do a fast GI simulation using few omni lights arranged like a hemi-sphere (dome) so we can cover the whole scene from some different angles. Result is not realistic as GI and it doesn’t works fine for all scenes but rendering time is pretty faster and scene is more rich in specularity. Using instances from a “master” light makes it more comfortable, so by setting the “master” you can handle the global illumination from the light dome.
|
|
|
|
So, let’s go to the texturing stage. In total, we gonna need: Noise (fractal noise) to create irregular noise patterns for the materials color as much as for the specular masks. Gradient, for a very basic fake sky (enviroment) Fresnel for filtering reflection Fusion for mixing textures Ambient Occlusion (from Effects tab) to add rust in specific areas Surfaces (tiles) to create the lines for the floor object.
|
|
|
|
|
|
|
|
For those cables we gonna use a procedural noise for the color property (FBM noise in this case) so, once one material works fine we can duplicate it and just change the color for the other cables. Since plastic is a quite reflective material we’ll activate Reflection but instead to let the reflection slot empty or using a bitmap we can use –Fresnel- . Fresnel is a physics effect were perpendicular faces get bigger value than the parallel ones. Fresnel it’s useful specially on glass surfaces, loaded in the transparence slot (refraction) to increase opacity-reflection in the edges to avoid the typical “clipped object” edge effect but it’s used generally on all reflective-refractive surfaces for a more physically accurate rendering. A good example to understanding Fresnel on flat surfaces it’s a clean window glass which looks almost 100 transparent but almost a mirror when perpendicular to viewer. So it is much more less reflective (to us) but more transparent when front viewed. (this is very important on animation renderings). In this case, we use the Fresnel just to increase reflection on edges, allowing also anon-reflective space so we let some space for specularity to work. Also we can filter the specular “pattern” by filtering the Specular Color slot with another fractal noise (Notuous this time) to cast a more aged plastic.
For the base of scene, we can add also a Line pattern in the bump slot which we can get from menu Surfaces>Tiles. |
|
|
|
Because we are working with reflective objects we need an enviroment to be reflected. A fast solution without using bitmaps is creating a Sky object and add a texture created with –Gradient- which shows a very basic haze color vanilla and a blue gradient. Is not very detailed (we could add also other layers using fractal noise as alpha for creating clouds) but it’s enough to cast something reflected in this exercise
|
![]() |
|
It’s time now for texturing the bolt, which’s the most interesting object in scene. Start by creating a very dark material (that will be the maximum dark threshold you can get in that surface, so if you’re thinking on chrome or a mirror you should use black, grey for aluminum, etc.) We add reflection and some noise (Luka in this case) in the bump slot to create some manufacturing imperfections and some aging).
|
|
|
|
Even if not very remarked in some cases, Fresnel property helps to increase realism by the difference on reflection amount depending on the faces angles as it happens in the real life. Using the Fresnel gradient ramp (black=no reflection ; white=full reflection) we obtain a global average of a medium gray like in the version at left (about 50% reflection average) but with some variation (right): Both images looks similar about average, but we can see that in the version at right the reflected gradients are more contrasted (it the same principle we search by using HDRI images) showing even subtle overexposed areas and flat faces also got some luminosity, but the most evident effect is on the bolt spiral. While in the image at left the shape is confusing in the right one the shape is perfectly well defined. So, Fresnel add sometimes very subtle but important improvements.
|
![]() |
|
Now we create a full rusted version, which we’ll apply later just partially on some areas in the object. First test is done using a fractal colored in orange tones (Luka) without reflection and specularity at all since rust cast matte properties. Doesn’t looks bad at all, but by trying to avoid a patern easy to identify by the human eye, the noise scale was big too much (1.000%) so even if looks very casual because there is not any obvious pattern, is apparently big too much.
|
![]() |
|
Here the noise at 100%. Doesn’t leave important empty areas as the bigger one, but it show some kind of “grain” which’s too much easy to identify, so doesn’t looks casual. It would be better using this version to keep some irregularity in the small areas of rust, but the hyper scaled version cast a nice casual shape… which to choose?
|
|
|
|
The solution comes by a image mixer like Fusion, which allows to mix images using a slider and also a mask if needed. For the rust, we use just a mix at 50% so we can get the best of both noises. To do that just paste-copy the original materials in different slots and move the slider about 50%.
|
![]() |
|
Now, one of the most funny parts of this exercise, mixing the textures on the object. Get the rust material shader obtained with Fusion and load Ambient Occlusion in the alpha slot. Ambient Occlusion normally is used to do just that, ambient light occlusion but in this case it’s ideal to use it as a mask for the rust because it cast more rust in the areas where there is less evaporation, so in the joints. To do that, drag the texture on the object with chrome texture already applied to add a secondary texture on the object (if using Object Manager don’t drag onto the chrome texture if you don’t want to overwrite it instead to add)so in the Object manager we should see two textures on the same object. Don’t activate “mix textures” on the material properties because it should be alpha slot (Ambient Occlusion) who decides how the mixing will be done.
Looks interesting, but real rust doesn’t work so mathematically because there are factors altering the material other than evaporation-oxidation such as differences in the material, bigger pores, material irregularities, partial covering, etc so we need some more random rust in the rest of the object.
|
![]() |
|
Duplicate the rust shader but in the Alpha Slot use another noise instead Ambient Occlusion to change the type of coverage for the rust. By doing some tests, the result is always more soft (blur) than expected, so casting areas with no rust at all and fully rusted well-contrasted doesn’t work. Solution comes again by Fusion. By getting the same “soft” noise paste it onto the Mask slot in Fusion leaving the Base channel empty since we want just to apply a well-contrasted mask for the rust noise. By using this, finally we achieve separated 100% opaque areas and half-transparent areas which fits better to the result we were looking for. Now it looks more credible.
By dropping the rust shader (The one using Ambient Occlusion as alpha) onto base object (the stripped one) we can get some orange occlusion around the bolt and cables looking like if some rust and dirt was gattered under the objects, a good help to create the illusion than time has passed by the scene.
|
|
|
|
Final conclusion is that this exercise is just one of so many ways to apply procedurals. We could do it with tons of variations, more or less rusted (changing brightness-constrast in the masks), adding some small bump in the rust to improve it looks like a porous surface or even changing the colours to create another materials like in this example where we can see also a bronze version.
|
|
Just let’s fly your imagination ;) |
|
Carles Piles 2006
|