Nodes/ComfyUI-TextureAlchemy/Channel Packer (RMA)
ComfyUI Node

Channel Packer (RMA)

Roughness, metallic, AO

By amtarr·Created 9 months ago·Updated 4 months ago· 58
Channel Packer (RMA)
  • roughness
  • metallic
  • ao
  • rma_packed

If ORM is the most common channel-packing convention, RMA is the alternative that some engines and pipelines prefer. Channel Packer (RMA) takes your roughness, metallic, and AO maps and packs them into a single RGB image in that exact order - roughness in R, metallic in G, AO in B. That's the whole node. It exists because "same maps, different order" is a real compatibility headache, and you shouldn't have to remember which engine wants which.

This is the "consistency" node of the pack's channel trio. If your target toolchain expects RMA, you use this; if it expects ORM, you use the RGB packer's orm presets. The maps are identical - it's purely a slot-layout question.

How it works

Each of the three inputs gets reduced to a single grayscale channel (luminance if it's color, passthrough if it's already single-channel), resized to match the first input, and concatenated into one RGB tensor. No quality loss, instant result - it's a repacking, not a transformation. Unlike the ORMA variant, there's no alpha channel and no optional slots; RMA is deliberately minimal.

The inputs

  • roughness → R.
  • metallic → G.
  • ao → B.

All three are required. Output: rma_packed, a single RGB IMAGE.

The thing to keep straight

The order. ORM is AO-roughness-metallic; RMA is roughness-metallic-AO. If you connect your maps to the wrong node, you get a packed texture that loads fine and renders wrong - the classic "why does my material look like this" mystery. The pack's tooltips on the RGB packer call the difference out explicitly, which is your cue to check before you save. The other practical note: this node has no alpha, so if you also need transparency in the same file, use the ORMA packer and accept the different channel order - you can't have both layouts in one texture.

Where it fits

The flow is the same as every packer in this pack: extract or generate your three maps, wire them in, save the single packed file, and hand it to the engine. It's the right tool when your pipeline's convention is RMA, or when you're standardizing a batch of materials and want consistency. Grab the plain Channel Packer if you want presets and a custom layout; grab this one when you know exactly which convention you need.

Installation

Part of amtarr/ComfyUI-TextureAlchemy, under Add Node → Texture Alchemist → Channel. Install via ComfyUI Manager (search "TextureAlchemy") or:

cd ComfyUI/custom_nodes
git clone https://github.com/amtarr/ComfyUI-TextureAlchemy

Restart ComfyUI. No dependencies - three-channel concatenation on the GPU, nothing to install.

CategoryTexture Alchemist/Channel

Inputs (3)

NameTypeDefaultDescription
roughnessIMAGE
metallicIMAGE
aoIMAGE

Outputs (1)

NameTypeDescription
rma_packedIMAGE