── 3  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z ──


Surface Normals are vectors, perpendicular to a surface.

There are some practical applications of normals in SketchUp that affects modeling that a Wikipedia definition does not cover.

Normals in Rendering

Each SketchUp face has a Normal which is used to determine how light illuminates the face. For most surfaces (surfaces which have not been smoothed), the normals are all perpendicular to the face.

Normals for illumination

This is an 8-sided object, not smoothed. When we display the normals at each corner of a face, they are all perpendicular to the face:

These normals are used to determine how the lighting is applied to the face. Since all the normals to this face are the same (perpendicular to the face), all pixels in the face are illuminated the same. The face to the left of this face is illuminated differently, but all the pixels on the face on the left are the same, because the four normals for that face are also the same.

When we display all the normals for all the faces, each face has four normals which are perpendicular to the face.

Smoothing objects

In SketchUp, we can smooth this object to make it look more like a cylinder. (Smoothing works better with 12 or more sides, but this example only has 8 sides to make it easier for us to see the normals.

Here is the same object after right clicking on it and smoothing it.

Notice how the eight faces are not rendered uniformly now. The shading (illumination) changes near the edges of each face.

This is because the normals for each face are averaged with the normals of the adjacent face. The OpenGL renderer in SketchUp uses these normals to smooth the appearance of the face.

This is a display of the smoothed (averaged) normals not applied to each face.

This smoothing effect is more effective with more sides to the object.

This is a similar object with 16 sides:

It is much smoother.

This image shows the 16 sets of averaged normals for the 16 sides which are used to perform the smoothing:

More segmentation, more normals means the average difference between the corner normals approaches zero. But adding more geometry to achieve this smoother effect can make a SketchUp file very large and difficult to use.

Another example and modeling considerations

  • SketchUp modeling with curved surfaces means the modeler encounters some decisions with how they make models.  Higher segmentation can result in nicer looking post-modeling, photo-realistic rendering.  But using a lot of this extra geometry can make the SketchUp file very difficult to use.  So there is a balancing game
  • Banish 12-segmented softened edges  Using less segments for a rounded corner may look nice and attractively accentuate a corner.

Photo-realistic Rendering

Most, if not all, photo-realistic renderers only "see" faces with the normals pointing outward - the front face.  In that case, if a model has any back faces on the outside of a model, those faces will not render.

Placing Images as Materials

Defining a face by its normal affects images and materials painted on the faces.

Exploiting Normals For Effect

As the mathematical normals have direction, that can be used to help manipulate a surface mesh, as seen with the script Soap Skin & Bubble. The math that creates the tensile structure with Soap Skin & Bubble works on a specific face side.  Normal that means the mesh created by the plugin will either bubble outward or bubble inward if a negative pressure is used.  

The mathmatical normal defines surface sidedness - the white face side.  In the example above, positive and negative values can be used to strain the surface as shown by adding positive and negative values to either the X/Y ratio or Bubble pressure.

The sidedness can be further exploited by selectively reversing some faces on a single mesh. If enough faces are reversed, the opposing calculations will never come to an equilibrium while the script is active.  Which results in the fluttering effect in the animation above.  
  • Note: The script ReverseFaces from Smustard.com is good for reversing multiple faces. Without ReveseFaces, select a face, r-click and choose Reverse face from the context menu for each face that needs to be reversed.
  • If an undulating SSB mesh will be rendered with a photo-realistic renderer, then all the faces will need to be oriented in the same direction, with all front faces facing outward, facing the camera.

More animated Soap Skin & Bubble examples

Sagacious Confabulation  The fire on the Modeling Mastery, SketchUp Sage page is a SSB animation.  It was modeled like the example above and a fire image with transparency was projected onto the model.
Waterworks  The water on the Tweaking Tool Tips, SketchUp Sage page is a SSB animation.
Tensile Structures Beta 3 "Soap Skin and Bubble" Group thread with lots of SSB tutorials. Many tutorials with special effects animations. xxx [dead link]

Let the light shine in 

Front and back face sides can be painted with materials with different transparencies because the normal give faces sidedness too.  This can be creatively exploited if you want to create lighting inside a model without using a photo-realistic rendering application.  See the Artificial Lighting examples.


See Also

  • Probes ThomThom - Tools for inspecting normals and UV mapping.
  • Three Line Tools Chris Fullmer - One of the plugin tools will create a normal line.

Editing History

catamoutnain 7-29-15  updated links
catamountain 4-15-13 
Al Hart

── 3  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z ──