Multi-channel fields

One field carrying several named layers at once, colour, roughness, metallic and normal, all sampled together at the same point.

What it is

Most fields answer a single question at every point: what colour, how far, which way. A multi-channel field answers several at once.

It is one field with named slots inside it. A material field carries an albedo colour, a roughness number, a metallic number and a normal direction, all as a single value on the wire. Ask it at a point and every channel for that point comes back together.

Each slot is an ordinary field. The albedo slot is a colour field, the roughness slot a scalar field, the normal slot a vector field. Bundling keeps them travelling together so they always line up.

Like every field, this is a formula rather than stored data. Nothing is baked into a grid, each channel is computed where it is asked, and the bundle costs no memory until sampled.

When to use one

Use a multi-channel field where several values belong together and should be sampled as a set.

For a single value per point, a plain scalar, vector or colour field is simpler.

How to use it

Build one with Channel Field. Pick a schema, a ready-made set of named slots, and the node shows one input per channel.

Wire a field into each slot you care about. Any slot left empty falls back to that schema's default, so you author only the channels you are changing.

Derive grows one the other way round. Set its Disposition to Capture and the operator's result is stapled onto the field it came from as a named channel, the original kept alongside it. Derive edges into an edges channel, luminance into a luminance channel, and what leaves the node is a record you can carry as one wire.

Pulling a channel back out is usually unnecessary. Feed a bundle into something that expects a single channel, a colour input for instance, and the matching channel is picked automatically. Where the choice is genuinely yours, the consumer asks: Displace, Sample, Mask and Volume Render each carry a channel name field that appears only once the field arriving really is a record, and leaving it empty keeps the automatic pick. To grab one outside those, see Automatic conversion.

A registered schema like PBR is recognised by typed consumers, so the renderer knows which slot is roughness and which is normal. Use Custom only when no built-in set fits.

Gotcha

Where two channels hold the same kind of value, a depth and a mask that are both single numbers, the automatic conversion cannot tell them apart by type. Extract the channel you need by name.

Slots are independent. Wiring a field into roughness changes roughness only.

See also