Documentation / Node reference / geo nodes

geo/MaterialAttributes

Sets the shading attributes: colour, roughness, metallic and emission.

Attributes

Writes the four attributes materials and exporters read for shading, under named channels rather than one geo/AttributeCreate per channel. Each channel has its own toggle, and a channel left off is not written at all, so this node can set a colour without also stamping a roughness over what an upstream node put there.

`mode` picks the tier. OBJECT, the default, gives the whole object one set of values: that is what an SDF field reads as its per-region shading record (see geo/SDFBoolean), and what the 3MF and glTF exporters read for a part's colour. POINT writes them per point, which is the tier geo/SDFTriangulate outputs and the tier a code/Attribute reads inside a mat/Builder graph. There is no PRIMITIVE mode: put a geo/AttributePromote after a POINT write when you need one.

`group` restricts the writes to an OBJECT group, so several regions of one merged stage can be coloured differently without a geo/Delete in between.

The attribute names are `COLOR`, `ROUGHNESS`, `METALLIC` and `EMISSION`, which is what geo/AttributeCreate writes when set by hand: the two are interchangeable, and geo/AttributeCreate stays the way to write anything else. Emission is a COLOUR and is added on top of the lighting, unlit, the same as mat/MeshPBR's `emissive`.

Not every channel reaches every renderer. On an SDF object all four land, per region of the field. On a raster mesh, per-point `COLOR` shows under the default material with no material node at all, and the basic, point and polyline materials read it through their `useVertexColor`. It is MULTIPLIED into the material's own colour, the way glTF composes a COLOR_0 attribute, so a material left at its default colour shows the attribute close to as authored. Roughness, metallic and emission reach a shader through a mat/Builder graph or through an exporter. An input that reads none of them is left as it is.

Parameters

Name Type What it does
group String Restrict the writes to the named OBJECT group(s). Empty writes on every object.
mode UInt8 OBJECT · POINT Which tier the attributes are written on. OBJECT gives the whole object one set of values, which is what an SDF field's shading record and the model exporters read. POINT writes them per point.
tcolor Bool Write the COLOR attribute.
color Color The surface colour. It overrides the material's own colour wherever an object attribute is read: on an SDF object it colours that region of the field, and on export it is the part's colour.
troughness Bool Write the ROUGHNESS attribute.
roughness Float How rough the surface is: 0 is a mirror, 1 spreads a reflection over the whole surface. It also picks how blurred the scene environment's reflection is.
tmetallic Bool Write the METALLIC attribute.
metallic Float How metallic the surface is. A metal takes its colour from what it reflects, so a metallic surface mostly shows the scene environment.
temission Bool Write the EMISSION attribute.
emission Color A colour the surface gives off by itself, added after the lighting. It brightens this surface only and casts no light on anything else. Black, the default, adds nothing.

Examples

Scenes you can open in the editor that teach this node.

See also

This page is generated from the engine, so it describes the release you can download. The same text is in the editor's Help panel next to the node itself.