:: b e a u t i f u l r o b o t ::

a widget is a “cut & paste” normal map for small detail items like nuts, screws, rivets, etc. normally, you wouldn’t want to shift-drag tons of little bolts on a model & then rip the normal maps. widgets are created with your detail mesh and a special light rig to fake the normal directions. the resulting render is your widget. with them you can copy the normal map “widget” from it’s .tga file and paste, scale and duplicate as needed into the object’s normal map.


the max file for easily creating widgets is located here. i’ve since found the exact setup at ben cloward’s site so the technique of creating normal maps this way is nothing new.

the QuickNormal.max file

QuickNormal.max is a very simple setup file for you to merge in your widget object, scale it to fit the template & render the normal widget. the file contains the following…

    • the mesh object - in the default file, it’s extruded text - “Quick Normal”. you will be merging in your mesh object and scaling it to fit the camera view (512×512)
    • a left and right (from the camera view) full red light (255 0 0 ) that doesn’t cast shadows. the right light has a multiplier of .5 and the left has a multiplier of -.5. the negative value will remove any red light values from that side.
    • a top & bottom (from the camera view) full green light (0 255 0) that doesn’t cast shadows. the bottom light has a multiplier of .5 and the top has a multiplier of -.5. the negative value will remove any green light values from that side.
    • a single full blue light (0 0 255) that doesn’t cast shadows that casts through the camera view (Z). its multiplier is set to .5
    • a camera set for orthographic projection (Normal_OrthoCam)
    • a template plane that doesn’t render. you use this when scaling your object to ensure you’ll be using the maximum amount of space in the render

Some other things about the scene…

    • the first material slot in the material editor holds a “NormalColor” material. this is just a plain white Blinn material you’ll use on your object. this is to ensure only the lights are coloring the object in the render.
    • the background color in Environment Settings is set to (128 128 255). this is basically a “flat” normal color that we’ll fill the background of our render with. (see image)
    • the ambient color in Environment Settings is set to (128 128 128) - a flat gray. this ensures even lighting & coloring of the object. (see image)

how to Use the QuickNormal.max file

1) merge your object into the scene (hide or delete the “quick normal” text object in the file)
2) scale the object to fit the template plane and ensure it fits in the Normal_OrthoCam camera view

3) apply the NormalColor material to your object…


4) render the Normal_OrthoCam view. if you click the alpha button in the render window you should see a nice alpha channel for your clipping mask.

5) save this file as a 32 bit targa (to save the alpha channel). i recommend starting a “library” folder for your widgets as you’ll find you’ll be using them over & over.

6) in Photoshop open the .tga you just created and select the object (CTRL+Alt+4 - this will select the object based on the stored alpha mask). copy and paste the object into your base object’s normal map. scale & duplicate as needed. (in this example I placed the nut widget in a generic detail map)…

7) import the normal map into your game engine & enjoy!

Comments are closed.