Normality 3 User Guide

Overview

Normality is a powerful plug-in that allows CG Artists to light 3D objects and scenes directly within the familiar Adobe After Effects environment through the use of normal passes and advanced relighting techniques.

Even during previews the lighting quality is always as good as your final render, while still being able to light single objects or even whole scenes in near real-time (depending on your system configuration).

All of this is achieved in near real-time because Normality does not rely on processor intensive 3D data to calculate the results.
Instead, Normality requires a rendered normal pass from your 3D program of choice — these are very quick to render and easy to apply to your objects or scenes. Just about any 3D program is able to output the required normal passes.

Normality’s Key Features

Nor­mal­ity includes a num­ber of fea­tures and tools as you might know them from your 3D renderer.

  • Diffuse Light
  • Realistic light falloff
  • Specular Highlights
  • Rim Lights
  • Reflections
  • Refractions
  • Bump/Normal Mapping
  • Support for ambient, point, parallel and spot light-sources.
  • Adjust light color, intensity, position and more directly via AE’s built in controls.
  • Internal floating point precision gives you unlimited control over your look, even if your project is only 8bit
  • Real-time preview (depending on your setup).
  • All features are supported in 8-bit, 16-bit and 32-bit color modes.
  • Various transfer modes allow you to composite the result onto the source in realistic, creative or simply ridiculous ways.

Caveats

Do note however that Normality is not a ray-tracer. This comes with advantages and disadvantages:

  • Normality’s high render speed is only possible because it internally makes some assumptions about your scene and works with nothing but the scene normals (and depth, if applicable).
  • The major disadvantage to this approach is that Normality is not aware of other layers in your composition — meaning it will reflect and refract those layers specified as environment and refraction maps respectively, but it will not render ray-traced reflections or refractions of any other layers.
  • Nonetheless, there are various good and time-saving uses to this plug-in, as has been proven on several high-end productions in international animation studios and post-production facilities over the past few years.

Background Information and workflow

To understand how Normality works, it is important to get an idea of how normal passes are generated and what steps must be taken to work with them in Adobe After Effects. Don’t worry… I’ll try to spare you the technical details wherever possible.

Normal Passes

A normal pass is a bitmap file output from a 3D renderer which encodes information about the rendered object’s surface normals in the RGB channels of the image. Normality decodes this information and allows you to use it for various lighting effects inside Adobe After Effects.

Therefore, Normality requires a normal pass from your 3D application of choice in order to generate any shading. In most cases you will also want to render an ambient or albedo pass, which can be comped with the shading from Normality. These passes contain no shading information but instead just flat surface colors.

All modern 3D applications offer ways to export normal passes, but how to do that in your specific renderer is beyond the scope of this guide — please refer to your respective software’s manual or check for tutorials on the web.

Your 3D application may present you an option to create world-space, object-space, camera-space or tangent-space normal passes. Either of these may be used with Normality depending on the effect you are looking to achieve, but for general use it is advised to stick to camera-space normal passes for best results.

Also, Normality expects the normal pass to be anti-aliased, so make sure to enable that function in your 3D renderer.

Applying Normality in After Effects

Using Normality in After Effects is very simple:

  1. Import your rendered normal pass image or sequence into a project and add it to your composition.
  2. From the “Effects and Presets” Panel or the “Effects” menu pick Normality in the “minning.de Normality” folder and apply this filter to your normal pass.
  3. Finally, add a point light to your scene… voilà, your object should now appear with some basic shading!

You can then tweak the shading using various parameters offered by Normality and by adjusting the color, intensity and position of the light source — or simply add additional light sources to develop a more sophisticated look.


Parameters

As you can probably tell from the massive screenshot below, Normality is a complex plug-in and has many parameters that may in some cases not be self-explanatory. This manual only offers a quick overview of the various options and possibilities.

Therefore it is suggested that you play around with the different attributes and parameters for a while in order to get a feel for the power and versatility of this software.

Display

Display

This drop-down box allows you to choose which lighting effects Normality should render. You may choose to render all effects or enable a single effect for preview purposes and to speed-up your renders.
It is also possible to preview your normal- and depth pass as well as the normal pass as it appears to Normality after processing using the tools in the next section.


Normals

Normal Map

If you applied the Normality plug-in to your beauty pass or for some other reason you need to manually specify the normal pass to use, this is the place to do so.

Alpha Map

Specify an alpha map to use here. This can be useful if your normal pass contains no alpha information or the outlines appear unclean.

X

Choose the channel for the normal’s X-axis (Red is default).

Invert X

Invert the normals on the X-axis.

Y

Choose the channel for the normal’s Y-axis (Green is default).

Invert Y

Invert the normals on the Y-axis.

Z

Choose the channel for the normal’s Z-axis (Blue is default).

Invert Z

Invert the normals on the Z-axis.


Depth

Depth Map

This option allows you to specify a depth map which will be evaluated along with the normal map for additional data about your scene.

The depth map is not mandatory but can in many cases improve shading on planar objects, especially when reflections are enabled.

Invert

Invert the depth map.

Channel

Specify which channel contains your depth information. Usually a depth pass is a grey scale image, so the default “Luminance” should be applied in most circumstances.

Gamma

A gamma function to raise the contrast in your depth map.


Lights

Render

You may choose to render all lights or only specific lights prefixed with the word “Light”.

For example, setting this parameter to Light * means “Light 1”, “Light 6” and “Light 12” will contribute to shading in Normality, but “MyLight” and “OtherLight” will not.

Enable invisible lights

Check this if you want invisible (disabled) lights to affect shading.

Falloff

The falloff function determines by how much each light’s energy decreases after traveling a certain distance. You may choose from the options Constant (the energy does not decline), Linear, Quadratic and Cubic.

Hint: Quadratic is the most realistic falloff mode but it may require you to raise your lights’ intensities significantly.

Attenuation

Use the Attenuation slider to influence the light’s Falloff distances.

Exposure

A multiplier for the overall shading intensity in the scene.

Gamma

This function can help to achieve a more realistic look by allowing the lighting calculations to be run in a color space more appropriate for the final output medium.

Hint: Setting Falloff to Quadratic and Gamma to 2.2 results in a more natural looking light.


Shading

The following functions deal with the actual shading of your objects. By default, only diffuse shading is enabled.
Individual shading functions may be toggled on/off separately to ensure quick and responsive interaction with the software. No calculations are performed for disabled shading functions, so be sure to enable only the features you really need!

Hint: The more shading features you enable, the brighter your scene will become — it may be necessary to tone down some of the intensities to avoid blowing out your lighting.

Enable

Toggle whether diffuse shading is calculated or not.

Diffuse

The intensity of the diffuse (Lambertian) shading function.

Color

Pick the color of your objects.

Ambient

The ambient factor is a multiplier for the diffuse shading. This can be used to add a colored tint to your shading.

By default it is set to medium gray; brighter values will brighten your shading and vice-versa.

Incandescence

The color set as incandescent will be added to the result of the diffuse shading. Use this to create self-illuminated objects.


Specular

A specular highlight is the bright spot of light that appears on shiny objects when illuminated. These are particularly important in CG because they give strong visual cues about a material’s qualities and surface texture.

Enable

Toggle whether specular highlights are calculated or not.

Specular

Controls the intensity of the specular highlights. Note that you may have to set this parameter to > 1.0 to achieve pleasing effects.

Spread

The overall size of the highlights. Higher values result in larger highlights.

Specular Color

You may want to set a separate color for specular highlights to simulate different materials. For example, plastic materials tend to have white highlights, whereas metallic material’s are generally close to their diffuse color.

Specular Map

The luminance in the specular map controls the intensity of specular highlights across your object.

Hint: Use this to break up your specs for a more rugged appearance.

Blur

Choose how much you want to blur the specular map.

Offset

You may control the position of the specular map in screen-space by using the Offset parameters.

Scale

You may control the relative scale of the specular map in screen-space by using the Scale parameter.

Blend

Select the blend mode which is used to blend the specular highlights with the diffuse shading. By default (and in most cases) this is set to “Add”.


Incidence

This gives you the option to shade your object based on the viewing angle, also called angle of incidence. The effect can be used to simulate a strong light shining from behind the object or to accentuate an object’s edges.

Enable

Toggle whether the incidence shader is called.

Incidence

Set the intensity of the incidence shading.

Falloff

Control the range of angles affected by the shader.

Color

Set the incidence shading color.

Blend

Select the blend mode which is used to blend the incidence shader.


Rim Light

A rim light is a light shining from behind an object and is used in film and photography to accentuate an object’s edges and silhouette. Note that Normality’s rim light works independent of the scene’s actual light sources in order to provide more control to the artist.

Enable

Toggle whether a rim light is calculated or not.

Rim Light

Set the intensity of the rim light.

Size

Set how far you want the effect of the rim light to reach into the forward facing areas of your object.

Width

Controls the softness of the rim light.

Color

Set the rim light’s color.

Angle

Control the angle at which you want to apply rim lighting.

Blend

Select the blend mode which is used to blend the rim light. By default (and for most uses) this is set to “Add”.


Toon

Toon or cel shading is a special case where photorealistic rules go straight out the window. Normality is capable of rendering accurate cartoon shading effects that make it simple to integrate 2D and 3D animation within After Effects.

This feature is designed specifically to work in combination with my other plug-in Celulight but it is still possible to achieve good results with Normality alone.
normality-toon

Enable

Toggle whether toon shading is calculated or not.

Toon

Control the intensity of the toon shading effect.

Smoothing

Control the shading smoothness between shadow, color and highlights.

Shadow

Choose a color for your shadows.

Strength

Controls the intensity of shadows.

Width

How far into the surface should shadows reach.

Color

Set the toon shader’s main color.

Width

Control where the normal shading ends and highlights begin.

Spec

Choose a color for highlights.

Strength

Controls the intensity of highlights.

Blend

Select the blend mode which is used to blend the toon shading. By default this is set to “Normal”.


Gradient

The gradient function gathers the luminance from the normal pass. This can be used to attenuate shading on your objects for artistic effect but has no equivalent in reality.

You might be able to use this as a sort of poor-mans ambient occlusion in lieu of a proper occlusion pass.
normality-gradient

Enable

Toggle whether a gradient is calculated or not.

Gradient

Control the strength with which the gradient function is applied to the shading.

Tint

Tint the gradient any color you like.

Blend

Select the blend mode which is used to blend the gradient. “Overlay” and “Mix” have shown to provide nice results.


Reflection

Normality can be used to create fake reflections off of an environment map. Note that other layers in your scene will not be reflected.
normality-reflection

Enable

Toggle whether reflections are calculated or not.

Environment Map

Choose a layer which should act as an environment map. Note that the map does not have to be high in resolution. In fact, the smaller the environment map, the quicker it will render, especially when applying blurred reflections.

Reflection

Control the overall strength of the reflection.

Mode

Toggle between Panorama and Spherical reflection modes. Which mode you choose here will depend on the type of environment map you are using.

Gamma

Use this to add more contrast to your reflections.

Tile Mode

Control what to do when a reflection sample misses the environment map. “None” sets the sample to black, “Edge” picks the nearest edge color, “Repeat” tiles the environment map and “Mirror” tiles and mirrors the map.

Blur

Allows you to blur the reflections. Note that high blur values will dramatically increase your render time.

Tint

Tint the environment map.

Inclination

Control the angle between the imaginary ground plane and the environment.

Azimut

Rotate the environment around its Y-Axis.

Seam

Control the relative size of the environment.

Index of refraction

The index of refraction works in combination with Panorama mode and controls the angle at which light is reflected from the surface.

Fresnel

The fresnel parameter can be used to influence the intensity of reflections dependent on the viewing angle upon the surface. In reality, reflections tend to be stronger at glancing angles than when looking straight on.

Fresnel Depth

The fresnel depth controls the falloff of the fresnel function dependent on the angle of incidence.

Blend

Select the blend mode which is used to blend the reflections. “Add” is the most realistic option.


Refraction

Normality can be used to create fake refractions or transparency from another layer in order to create effects such as glass or crystal objects.

Note that Normality does not take into account composition layers other than the one selected as a refraction map. If you need to see more than one layer through your object, you must pre-compose the respective layers first.

Enable

Toggle whether refractions are calculated or not.

Refraction Map

Choose the layer in your composition which should act as a refraction map.

Refraction

Control the strength of the refraction function.

Gamma

Use this to add contrast to your refractions.

Tile Mode

Control what to do when a sample misses the refraction map. “None” sets the sample to black, “Edge” picks the nearest edge color, “Repeat” tiles the refraction map and “Mirror” tiles and mirrors the map.

Blur

Allows you to blur the refractions. Note that high blur values will dramatically increase your render time.

Offset

You may control the position of the refraction map in screen-space by using the Offset parameters.

Scale

You may control the relative scale of the refraction map in screen-space by using the Scale parameter.

Tint

Tint the refraction map.

Index of refraction

The index of refraction controls the angle at which light is refracted when passing through a surface.

Fresnel

The fresnel parameter can be used to influence the intensity of refraction dependent on the viewing angle upon the surface. In reality, refractions tend to be weaker at glancing angles than when looking straight on.

Fresnel Depth

The fresnel depth controls the falloff of the fresnel function dependent on the angle of incidence.

Blend

Select the blend mode which is used to blend the refractions. “Add” is usually the preferred option.


Bump

An additional bump- or normal map may be used to add more surface detail to your scene. This may be useful if your rendered normal pass lacks detail or you simply want to add more features from another layer.
normality-bump

Enable

Toggle whether bump mapping is calculated or not.

Bump/Normal Map

Select a layer which should act as your bump/normal map.

Depth

Control the Intensity of the additional bump mapping.

Tile Mode

Control what to do when the bump sample function misses the bump map. “None” sets the sample to black, “Edge” picks the nearest edge color, “Repeat” tiles the bump map and “Mirror” tiles and mirrors the map.

Filter

To avoid harsh edges you may want to filter the bump map using the “Low”, “Medium” or “High” filter settings.

Offset

You may control the position of the bump map in screen-space by using the Offset parameters.

Scale

You may control the relative scale of the bump map in screen-space by using the Scale parameter.


Blending

Depending on how you applied Normality you may want to blend it with the source layer for example using the Add, Overlay or Soft Light modes.
If Normality is applied directly to the normal pass it makes more sense to use After Effects’s native layer blend modes.

Transfer Mode

Choose from any of After Effects’ built-in blend modes that determines how the result of Normality’s shading operation is applied to the source layer.

Blend

The intensity of the source layer in the blending operation.

Source

Dial-in some color from the source layer independent of the transfer mode chosen.

Final Words

I hope this guide helped make the numerous functions and capabilities of Normality a bit more accessible.
Please note that by using Normality in production you agree to display my name in the credits as part of the license agreement. Also please consider donating; developing and updating software takes a lot of time and I will be more likely to release cool stuff in the future if I see that my work is appreciated.