Compositor

Procedural Image Generation and Compositing Tool for Unity

Animation is unfortunately not built into Compositor, but that could change…

Originally designed for creating terrain height-maps, Compositor is a highly-decoupled, node-based image compositing tool which can work both within the Unity Editor, as well as at runtime. Its compositing workflow is modeled after Layer palettes from applications such as Photoshop, however it’s not (currently) a painting tool. Compositor is exactly that: an image layer compositor.

The power of the system lies in its extensibility. Authors can create custom layers, utilize both GPU and CPU operations, inject shaders and materials, and for some properties – use other nodes as inputs. Compositor is made to be non-destructive, so source imagery provided by any given node remains intact during composition. An Editor-Level Cache system is used to avoid unnecessary rendering triggered by Unity’s Editor events.

Compositor currently offers the following Layer/Node types:

  • Noise Generator
  • Vignette
  • Channel Curves
  • Image Asset Input
  • Gradient Map

An example of a Gradient Map Adjustment Layer being applied to a Noise Layer composition. The combination of Unity’s Gradient UI, and Compositor’s Blend Modes make it easy to create striking, beautiful imagery.

Below are a couple of simple noise compositions:

Compositor’s user interface is currently being completely overhauled. However, below you can see it in action.

On the far left, the larger image is the final composition.

Of the smaller images, from left to right, are the layers, top to bottom, being composited.

So the far right image is the base layer, then the stack composites toward the left into the final image.

I’m looking forward to updating this page once the new UI is coming along.