Nodes/ComfyUI Minecraft PBR/Minecraft PBR - Pack Bedrock RTX
ComfyUI Node

Minecraft PBR - Pack Bedrock RTX

Same PBR maps, Bedrock dialect — the RTX packer explained

By jasonjgardner·Created 3 months ago·Updated 3 months ago· 0
Minecraft PBR - Pack Bedrock RTX
  • basecolor
  • normal
  • roughness
  • metalness
  • emission
  • sss
  • albedo
  • normal
  • mer
flip_normal_ytrue
swap_normal_xyfalse
compute_sssfalse
compute_emissionfalse
emission_threshold0.85
emission_knee0.10

Bedrock Edition ray tracing speaks a different texture dialect than Java's shaders. Same four input maps, completely different packing: no smoothness conversion, no AO or height hidden in alpha, and a _mer texture Java players have never heard of. Minecraft PBR - Pack Bedrock RTX is the Bedrock side of this pack - the node you reach for when your target is Minecraft Bedrock with ray tracing (or Vibrant Visuals) instead of Iris/OptiFine.

What it does

Feed it basecolor, normal, roughness and metalness and you get three outputs: albedo, a DirectX normal (RGB only - Bedrock doesn't pack AO or height), and mer - R = metalness, G = emissive, B = roughness, all raw and linear. There's no labPBR encoding here; Bedrock stores the values directly. Wire the three into the pack's Save Bedrock RTX node and you get name.png, name_normal.png and name_mer.png ready for a resource pack.

The one twist: turn on compute_sss and the mer output gains an alpha channel, becoming _mers (A = SSS thickness). Here's the gotcha the tooltips are trying to warn you about - that SSS alpha is read only by Vibrant Visuals. Ray-traced RTX mode ignores it entirely and uses plain _mer. And either way it's never applied to metal pixels: metalness above 0.5 zeroes the SSS, because only non-metals scatter light.

Inputs that matter

  • basecolor, normal, roughness, metalness - same as the labPBR packer. roughness and metalness accept IMAGE or MASK.
  • flip_normal_y (default on) - Bedrock expects DirectX Y-down; flips an OpenGL Y-up normal. Disable only if your input is already DirectX.
  • compute_emission (default off) - luminance-thresholds the basecolor (Rec. 709 luma) into the emissive channel, using emission_threshold (0.85) and emission_knee (0.1) for a soft cutoff.
  • compute_sss (default off) - derive SSS into the MERS alpha, as above. Or skip both flags and wire your own emission / sss maps into the optional inputs.

Install

ComfyUI Manager → Install Custom Nodes → search "comfy-ui-minecraft-pbr", install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/jasonjgardner/comfy-ui-minecraft-pbr
# then restart ComfyUI

No models, no extra dependencies - it's all torch math, and torch ships with ComfyUI.

Gotchas

Decide your target before you toggle SSS. Building for RTX ray tracing? Leave compute_sss off - the alpha is dead weight that Bedrock ignores. Building for Vibrant Visuals? You want _mers, so turn it on. The threshold-based emission is a rough proxy, too: it flags any bright pixel, including baked specular highlights. If a "glowing" result looks wrong, feed the Extract Emission node's output into the optional emission input instead of trusting the auto flag. And remember the same alpha rule as its sibling: save with Save Bedrock RTX, not stock SaveImage.

CategoryMinecraft PBR

Inputs (12)

NameTypeDefaultDescription
basecolorIMAGE
normalIMAGETangent-space normal (OpenGL Y-up).
roughnessIMAGE,MASK
metalnessIMAGE,MASK
flip_normal_yBOOLEANtrueBedrock expects DirectX Y-down; flip an OpenGL normal.
swap_normal_xyBOOLEANfalse
compute_sssBOOLEANfalseDerive SSS -> MERS (RGBA). Read only by Vibrant Visuals; ignored by ray-traced (RTX) mode, and never applied to metal pixels.
compute_emissionBOOLEANfalse
emission_thresholdFLOAT0.850–1
emission_kneeFLOAT0.100–1
emissionoptIMAGE,MASK
sssoptIMAGE,MASK

Outputs (3)

NameTypeDescription
albedoIMAGE
normalIMAGE
merIMAGE