Appearance.normalTexture Property

Parent Object: Appearance

PreviewThis functionality is provided as a preview of intended future API capabilities. You are encouraged to use it and report any problems or suggestions using the Fusion API and Scripts forum.

Because this is a preview of future functionality, there is the possibility that it will change, which will possibly break any existing programs that use this functionality. Because of that, you should never deliver any programs that use any preview capabilities. For a distributed program, you should wait until it has moved from preview to released state.


Defined in namespace "adsk::core" and the header file is <Core/Materials/Appearance.h>

Description

Path to a tangent-space normal map used as a texture for the appearance's `surface_normal` slot. Setting a non-empty path connects a fresh texture; setting an empty string disconnects the existing texture. Reading returns the connected texture's filename, or an empty string if none is connected.

The supplied image is interpreted as an OpenGL-convention tangent-space normal map (the "normal_gl" variant from typical PBR sources). To use a heightmap or bump map instead, set this property to the image path and then change the texture's `bumpmap_Type` to `bumpmap_height_map` via `appearanceProperties.itemById('surface_normal').value.properties`.

The order in which `colorTexture`, `normalTexture`, and `roughnessTexture` are set matters — see the note on `colorTexture`.

As with `colorTexture`, the image is saved inside the document, but the path returned by the getter after a save and re-open is a local file-system path that may differ from the path originally set.

Returns false when the appearance does not host a `surface_normal` slot. Appearances created via `Appearances.add` always support this property.

Syntax

"appearance_var" is a variable referencing an Appearance object.
# Get the value of the property.
propertyValue = appearance_var.normalTexture

# Set the value of the property.
appearance_var.normalTexture = propertyValue
"appearance_var" Is a variable referencing an Appearance Object.
#include <Core/Materials/Appearance.h>

// Get the value of the property.
string propertyValue = appearance_var->normalTexture();

// Set the value of the property, where value_var is a string.
bool returnValue = appearance_var->normalTexture(value_var);
"appearance_var" Is a variable referencing an Appearance Object.
// Get the value of the property.
propertyValue = appearance_var.normalTexture;

// Set the value of the property.
appearance_var.normalTexture = propertyValue;

Property Value

This is a read/write property whose value is a string.

Version

Introduced in version July 2026