Aller au contenu

uMerge Node

By Kriss Norde

The uMerge combines several USD scenes into a single composite scene. It is the counterpart of the classic Merge 3D, dedicated to the USD workflow: it preserves the USD layer structure, handles path conflicts, and keeps the composability of the Pixar standard.

Overview

uMerge accepts several USD inputs and produces a unified scene. The prims (USD objects) are merged based on their paths: if two scenes have different paths, they coexist; if they share the same paths, the last scene overrides (depending on the mode).

Typical workflow: one uLoader for the set, one uLoader for the character, one uLoader for the props → all combined through uMerge → into the uRenderer. It enables a modular studio workflow.

Where to find this node

  • Effects Library: Tools > USD > uMerge
  • Quick add: right-click in the Node Editor → Add Tool > USD > uMerge

uMerge vs classic Merge 3D

Merge 3D
Combines native Fusion 3D nodes (Cube, Image Plane, Camera, etc.). The historical Fusion workflow.
uMerge
Combines USD scenes (uLoader, uTransform, uMaterial, etc.). The modern USD workflow. Richer, more complex.

Rule of thumb: native Fusion 3D workflow → Merge 3D. USD-based workflow → uMerge. The two worlds do not mix directly.

Inputs

  • SceneInput 1, 2, 3... - multiple USD scenes to combine. They accept uLoader, uTransform and nested uMerge nodes.

Setup

Modular studio compositing:
uLoader (set.usd) ────────────┐
                              │
uLoader (character.usd) ──────┼── uMerge ── uRenderer ── MediaOut
                              │
uLoader (props.usd) ──────────┤
                              │
uLoader (lighting.usd) ───────┘

With positioned transforms:
uLoader (character.usd) → uTransform (position) ──┐
                                                  ├── uMerge
uLoader (set.usd) ─────────────────────────────────┘
                                                       ↓
                                                   uRenderer

Conflicting layers:
uLoader (asset_v1.usd) ─┐
                        ├── uMerge (Last Wins) ── uRenderer
uLoader (asset_v2.usd) ─┘
                          (v2 overrides v1 on shared paths)

Controls tab

Composition Mode (default: Last Wins)
How path conflicts are resolved. Last Wins = the last input overrides. First Wins = the first one wins. Follows USD convention.
Path Mapping
Lets you remap USD paths at merge time (e.g. move an asset into another hierarchy).
Stage Up Axis (default: Y)
Vertical axis of the resulting coordinate system. It must match the inputs.

Use cases

  • Studio compositing - set + characters + props + lighting loaded separately, combined through uMerge.
  • Modular updates - update the animation without touching the set, update the lighting without touching the assets. Each module in its own USD.
  • Asset library - a library of reusable USD assets, loaded and combined on demand.
  • Multi-pass rendering - different passes (beauty, per-object alpha mattes), each with its own USD scene, combined by uMerge.
  • A/B versioning - two versions of an asset compared through uMerge in override mode.

Tips

  • Composition Mode = pipeline convention - Last Wins = the USD standard, First Wins = a rarer convention. Confirm with the pipeline team.
  • Path Mapping for reparenting - move an asset into another hierarchy without modifying the source USD file.
  • Check that paths are unique - otherwise you get accidental overrides. Pipeline convention: namespace your assets to avoid conflicts.
  • Cascade for clarity - prefer several uMerge nodes in a cascade (2 inputs each) rather than a single one with 8 inputs = easier to read.
  • Consistent Up Axis - every input must have the same Up Axis. Use uTransform to fix it if needed before the uMerge.
  • Slow performance on large scenes - a uMerge with many prims = slow. Cache the uLoaders upstream.
  • For studio pipeline workflows, consider composing a master USD in Houdini / Maya instead, and loading a single uLoader in Fusion.