Production 01

Tides of Tomorrow

Scroll
My Role

Technical Artist

Sole Technical Artist responsible for building the complete technical art pipeline, developing artist tools, and leading graphics optimization across PC, consoles, and Steam Deck.

Tools
Unreal
Unreal
Houdini
Houdini
Blender
Blender
Maya
Maya
Python
Python
Studio DigixArt / THQ Nordic
Year 2026
Platforms PC / PS5 / Xbox Series X|S / Steam Deck
Domains

Asset Validation Pipeline

A Houdini PDG asset-validation pipeline that gates every mesh shipped in the game.

PipelineValidationHoudini

On Tides of Tomorrow I built an asset-validation pipeline. The goal is simple: validate every export coming out of the art team and guarantee clean meshes inside the game engine. Here's how it works.

The day-to-day flow stays light. From the artist's side, a Blender add-on handles the export and a web dashboard surfaces any issue caught on the mesh, so they can fix and re-export, or hop straight into Unreal once the mesh is validated by using the job ID the dashboard hands back. Under the hood, a Houdini instance does all the heavy lifting. I added a toggle so you can switch between the artist's point of view and the full system view.

The pipeline, in 4 stages

Click any step for details
View

01 · Blender export

step 1 / 4
DigiPipe Exporter panel docked next to the Blender 3D viewport, with a sci-fi wall mesh in view
Exporter panel docked in Blender: every field (master flag, expected material count, texel range, artist, transform lock) becomes a JSON metadata key the downstream PDG graph reads.
the tool · digipipe exporter

A custom Blender add-on that takes the repetitive export dance off the artist's hands. It docks next to the viewport so the mesh stays interactive while the artist fills in the export contract: master flag, expected material count, distance / texel range, artist, transform locks.

One click and the plugin writes an FBX + JSON sidecar to the pipeline drop folder, then pings Houdini with a unique job id. No naming mistakes, no forgotten metadata, no context-switching to a terminal.

Asset nomenclature: what the plugin parses on Export

  • SM
  • Archi
  • M
  • GarageDoorStr
  • 500x400
  • a
  1. 01 Type Static / skeletal / decal
  2. 02 Category Architecture, prop, set dressing
  3. 03 Community Faction tag for art direction
  4. 04 Name Descriptive asset identifier
  5. 05 Size Footprint in centimeters
  6. 06 Variant Variation letter for pack families

Wardrobe Pipeline & VAT Crowds

A Houdini PDG system that morphs cloth across every body type and bakes the wardrobe into VATs for varied crowds.

VATProceduralCharacter

Two character artists. Three factions, four morphologies, a full wardrobe per faction, adapted to every body type. A manual workflow would have killed the schedule. This one runs the whole catalog through Houdini and bakes the crowd to Vertex Animation Textures.

One wardrobe, two crowds.

click a node to expand

One wardrobe in. Every morphology out.

One source jacket on the left labelled ORIGINAL, three generated variants on the right labelled GENERATED
One source piece, conformed by Houdini to every body type.
input · skeletal mesh from maya

What lands in Houdini is a skeletal mesh exported from Maya: the clothing geometry plus the rig that drives it. Some pieces carry their own extra bones, and those get re-adapted to the target morphology along with the mesh.

The mesh name follows a nomenclature that encodes the slot (pants, torso, head…) so the Unreal randomizer knows which body parts this piece hides and won't stack a conflicting item on top.

output · fbx + json per morphology

Houdini ships one FBX per target morphology: the morphed mesh, the morphed rig (any extra clothing bones re-adapted to the new body), and the skin already booleaned to only what's visible.

Alongside each FBX, a JSON metadata file carries slot, faction and tags for the Unreal randomizer. Unreal's auto-importer picks the bundle up and the asset is in-engine.

process · houdini
Conform the wardrobe, then cut the skin.
Morphing Topotransfer deforms the source onto every target body; mesh, rig and accessoires follow in the same pass.
Bare legs with skin tagged in colored bands per limb region
Tag skin zones Skin is named per limb region in a numbered material scheme.
Pants converted into a transparent watertight volume sitting over the legs
Voxelize the cloth The clothing is filled into a watertight volume (voxel, then re-polygonalize).
Boolean intersection result highlighting the skin zones covered by the cloth
Boolean covered zones The boolean returns the intersection group, flagging which numbered zones the cloth covers.
Only the lower legs and feet remain after the covered zones are stripped
Strip those zones Only the surviving regions ship to engine. No holes, no floating tris.

Graphics Optimization

Nanite, Lumen, Virtual Shadow Maps across multiple platform.

OptimizationCross-PlatformPerformance

Nanite and Lumen on every platform, Virtual Shadow Maps on most, from PC down to Steam Deck. The settings declare the target; the pipeline makes sure the library meets it.

One pipeline, four targets.

UE5 · Houdini · PDG

The Houdini + PDG pipeline acts first as a conformity gate: every mesh in the library passes through Houdini for validation before it ever reaches Unreal. The way the library is structured also lets me reprocess it at several points in production, adapting meshes to a new target or running non-destructive iterations across the catalogue.

On the Unreal side, Nanite, Lumen and VSM run on most platforms, with Steam Deck as the exception (no VSM there). The rendering features stay broadly the same; only the budgets shift from one target to the next.

Same approach for textures: I built Houdini and Python tools to audit the library and apply fixes where needed. The idea is to hold global control first, then refine per-asset when a specific case calls for it.

Houdini PDG
tri budget nanite fallback Asset Conformity LOD chain
Unreal Engine 5
Nanite Lumen VSM
target · desktop
PC
up to 4K · 60fps
target · console
PS5
up to 4K · 60fps
target · console
Xbox Series X|S
up to 4K · 60fps for X & 30fps for S
target · handheld
Steam Deck / ROG Ally
tuned budgets · 30-40fps

The team

The artists who carried this project. Go follow their work.

None of the systems above would have shipped without these people: beautiful human connections, incredible talent. Go follow their work.

Lead Art

  1. Elise Ramseier

    Lead Art
  2. Ludovic Oddi

    Lead Art, Environment Artist

Character

  1. Clothilde Chopin

    Character Artist
  2. Yanis Lhôte

    Character Artist

Environment

  1. Alex Ryan

    Environment Artist
  2. Chloé Plumey

    Environment Artist
  3. Andrea Penz

    Environment Artist
Engine
Tools
Houdini Blender Maya
Platforms
PC PS5 Xbox Series X|S Steam Deck
Studio