Frank Gehry-style titanium scales


I had to come up with a titanium scale material for a recent project, so I thought I’d share a few tips about how I went about creating an entirely texture-based mat versatile enough to be used in a variety of project. The methode is not exactly original and many artists will have used it for other types of materials but it can be applied to many different scenarios. Indeed, if there is interest, I was planning to write a follow-up tutorial some time soon on how to use the same workflow to create rain drops on glass.

Before we jump in, here is a taste of what the final result looks like on low-poly geometry.

I will be using 3ds Max and Vray here, but the basic philosophy can be applied to all 3D apps and renderers. The first step is to create the base geometry that will be used to generate the displacement map. Start with one scale – an extruded plane (i.e. not a box since it’s not closed at the back). Create some edge loops in the geometry and move some of the vertices backwards and forward to create bulges and depressions on the plate. Since the scale will be subdivided, you want to have some denser edge loops close to corners of the scale to make sure it remains quite sharp there (red box). Make sure you do not move any of the vertices on the edge of the scale.

When subdivided (here two levels of Turbosmooth), the plate looks nicely distorted. Now it’s a good idea to create three to four copies of the original scale and give them some variations.

Now copy the various plates to create a reasonably large scale structure with enough variation in it.

In the next step, create a standard camera, position it perpendicular to the “wall” of scales and choose an orthographic projection. I set my render size here at 4096×4096 pixels to get a large enough texture map. Play with the camera settings to encompass an as large as possible section of the wall and position the camera so that it will be easy to make the resulting map tileable in your 2D application.

Position the far and near ranges of the camera so that the far range is just behind the back of the wall and the near range just in front of the scales. We’re interested in rendering a ZDepth pass of this scene to extract displacement values. So select the ZDepth render element and copy the near and far range values in the ZDepth settings. This will ensure the map is very precise.

Now render and save the ZDepth and the Alpha passes. Load the maps in your 2D application and crop them and edit them so that they are tileable. Using the Alpha pass as a guide, I’ve painted a reflection/glossiness map by copying and pasting photos of worn metal found on Notice how some of the scales are slightly darker. Here are the resulting three maps you should get, starting with displacement (the ZDepth map made tileable), an Alpha that we’ll use as a mask, and the reflection map.

Now you only need to apply these textures to any model, using either a standard projection map or a UVunwrap if you’re working with organic shapes.

For my render, I used a VrayBlend material, mixing a titanium material with a diffuse black material and using the alpha mask to blend between the two (so that the spaces between the scales do not reflect light). Here are my settings for the titanium material. The key here is to be subtle. My material was not supposed to be very dirty but still had to show some slight reflection and glossiness differences from scale to scale. So I was very light-handed in applying the glossiness and reflection maps.

The last step is to apply a Vray displacement modifier to your building or facade. Here, I used a 2D displacement with a very small value (the bulges, “folds”, and depressions in the scale are not too prominent).

That’s it. Let me know if this was useful. Suggestions for improving or refining this workflow are much welcome and I’d also be curious to see examples of what you come up with using this simple technique.

27 Responses

  1. tomdarch says:

    Great tutorial! I am setting mine up in 3ds max with mental ray. I am having an issue with the alpha channel always coming back black. I have setup my scene like yours with the cam environment near depth at Near: 33’2″ and the far at Far: 33’6″. My tiles are planes with extruded boarders just as you built yours. Is mental ray just not capable of producing a good z depth with this small range? Or is there something else I’m missing??

  2. Pingback: pixel/ab/log » Expanded metal with normal maps (VRayNormalMap)

  3. BBB3VIZ says:

    I’m sure you could use these maps for MRay. Rather than rebuild the material yourself, you could try one of the several material converting scripts around.
    Take a look at this one, for instance this one.
    Or this one.

  4. Musab says:

    It is very nice and cool, i wonder how to use these maps into Mental Ray Renderer??!?!

    If you have a specific settings or material file for download , that will be great.


  5. Pingback: Micael Dillner (DIA) - Page 13 - Ronen Bekerman - 3D Architectural Visualization Forums

  6. BBB3VIZ says:

    Do you have a black material just behind your scales? If yes, it could be that your normals are inverted and the displacement is pushing the surface back towards the wall. If not, I’m not sure. The milled look looks like a problem with the map. 16 bit png is good, though. I got away with a jpg. Could you perhaps send me your map for testing?

  7. pagedown says:

    Amazing Stuff!

    I followed your steps, up until texturing the alpha map. I skipped that step and just went to 3ds to see how my display map looked, though with vraydisplace, my object came out looking black. And only applied the mat with reflect alpha and rgloss alpha.

    When i removed the vraydisplace mod, and applied the displace map right into the mat, i got the results but the bulges came out looking like they were CNC milled.

  8. BBB3VIZ says:

    Hi Vuk,
    It could be because you’re having your two materials in the wrong order. Try swapping them in the Mat Editor or inverting your blend mask. That should do the trick.

  9. Vuk Djordjevic says:

    Hey Bertrand great results! Could you plz explain a bit more the blending and the way you compose the vray blend material I’v been trying to get this result but I’m still stuck with the blend material it’s black:(

  10. Pingback: Guggenheim Museum, Bilbao - Ronen Bekerman - 3D Architectural Visualization Forums

  11. BBB3VIZ says:

    Thanks Peter. Good tip about painting in 16 bits. Which image format would you use in this case?

  12. very good tutorial, and really quite stunning result!

    I usually cheat, and skip straight to photoshop and paint away (hoping it will come out looking good). For simple things like cladding you can often guess what the bump should look like. I would also recommend painting in 16bit mode, if you are displacing by quite a large amount (like metal seams) then 16 bit ensures the displacement comes out looking smooth.

  13. BBB3VIZ says:

    Hey, thanks Ivo. I hadn’t seen that yet. Cool!

    Hey Tom, congrats on your prize too!

  14. BBB3VIZ says:

    Hi Mariusz. I haven’t tested it, but looking at your post it does sound like it could work very well. I’ll definitely give this a try soon.

  15. Thanks alot for this great insight into your techniques. Its great that you are sharing info and helping push 3d lighting artists to the next level. Looking forward to seeing more!

  16. Mariusz says:


    Really nice tut Bertrand. Just one think about getting textured. This is good idea I saw that many time but I think maybe it’s even faster if we using simple material with gradient ramp in diffuse slot. Just selecting all object adding uvw and material with gradient ram then just rendering in view we use (front or top view like from camera you have here) without even creating camera and setuping that all things in it.


  17. Ivo Sucur says:

    Hi Bertrand, cool newsletter just poped into my mail! Seems to me you got a incredible week going on..
    Congrats for the “Pro of the week” on Cgarchitect!


  18. BBB3VIZ says:

    Yes, you could definitely do that. In fact, I did some very large parquet textures a long time ago using this methode. It would definitely be faster and you could paint lower frequency details in 2D. I guess it partly boils down to whether you’re more comfortable working in 2D or 3D. I’m definitely more comfortable in 3D.

  19. Looking great! I used that method for roof tiles displacement creation some time ago…

    You mentioned that the reflection / glossiness map was done after the render in the 2d app. Wouldn’t it be better (improved workflow) to apply a diffuse map on the objects themselves, using the Multitexture script perhaps… this way getting it in the render too?

    Perhaps just minor teaks later in post.

Leave a Reply