Normals

The Normals node lets you manipulate the normals of your 3D geometry object. Object normals are vectors that are perpendicular to the surface. They are used in lighting calculations to determine how the light should bounce off a surface at any particular point. By manipulating them, you can control the diffuse and specular light contributions.

Inputs and Controls

Connection Type

Connection Name

Function

Input

unnamed

The 3D geometry object whose normals you want to manipulate. If you want to manipulate several objects together, you can also connect a MergeGeo node here.

lookat

Any Camera, Axis, or light node. If you set action to lookat, the node points all normals towards this input. (optional)

Control (UI)

Knob (Scripting)

Default Value

Function

Normals Tab

display

display

unchanged

Adjusts the display characteristics of the 3D object. These settings don’t affect the render output of the scene; these are for display purposes only in the 3D Viewer.

off - doesn't display geometry outlines.

wireframe - displays only the outlines of the object’s geometry.

solid - displays all geometry with a solid color.

solid +wireframe - displays the geometry as solid color with the object’s geometry outlines.

textured - displays only the surface texture.

textured +wireframe - displays the wireframe plus the surface texture.

unchanged - doesn't change the object's display mode. The Viewer can override this setting.

selectable

selectable

enabled

When enabled, you can make selections as normal in the Viewer. When disabled, points cannot be selected or changed.

render

render_mode

unchanged

Sets how the object will render. This control is independent from the display selection, but has the same settings.

action

action

unchanged

Sets the mode for manipulating normals:

unchanged - makes no changes to the object’s normals.

set - assigns the normals' values to the normal x, y, and z fields.

build - rebuilds each normal based on the surrounding vertices. Adjust the thresholdangle slider to determine the break angle where two faces no longer constitute a smooth surface. An angle of 0 means all faces are flat, whereas 180 means all faces are smooth. A good average setting is 60.

lookat - points all normals at the object connected to the lookat input. The normal control’s values ares added to the lookat position.

delete - removes the named attribute from the object. For example, if you remove the N attribute, the object has no normals. See the attribname control below.

invert

invert

disabled

Inverts the resulting normals. This works in all action modes.

normal

normal

N/A

Constant x, y, and z values. These are used in the set and lookataction modes.

angle threshold

threshold

45

If the angle between two faces is greater than this, break the normal. This only works with vertex normals and is only available if build is selected in the action dropdown. Broken normals create sharp edges when lit.

attrib name

N_attrib_name

N

The name of the normal attribute to delete (this only works if you set action to delete). Normals are stored as a named attribute of a piece of geometry. By default the attribute name is "N". With this control, you can tell the node to perform the delete action on normals from another attribute instead.

Cf - surface color

N - normal

PW - world-space point

uv - texture coordinates

vel - point velocity.

Step-by-Step Guides

Manipulating Object Normals