Tiger II tank moving beside a shallow rocky river in a dense procedural forest

Flagship case study · Ongoing personal R&D

River Crossing

A vehicle, terrain and FX study built as one connected Houdini production system.

RolePipeline TD / CG Generalist
ScopeSystem design to final image
PipelineHoudini · USD · Solaris · Karma
StatusPublished study · ongoing R&D

Production context

A complete shot, not an isolated simulation.

River Crossing places a Tiger II at a shallow forest ford in a Norway-inspired biome: an 8 m-wide stream flanked by climate-accurate woodland, the tank fording the water and coming to rest on the near bank. The shot exists to carry a full production system — vehicle, terrain, vegetation and delivery — not just a single hero simulation.

Two systems built for this shot became its technical spine: a from-scratch, solver-free tank-track rig, and a native-USD vegetation pipeline that keeps a 26-variant plant library fully USD-composed instead of flattened. Both are covered below.

Pipeline at a glance

01

Procedural environment

Climate-driven forest and river scatter, built on SideFX Labs Biome and kept natively USD end to end.

02

Vehicle system

A solver-free, scrub-safe track rig — 99 links, 6 nodes, zero cache dependency, deterministic on any frame.

03

Integrated FX

Dust, water interaction and the firing/recoil system coordinated with the vehicle's own timing.

04

Scene to delivery

USD/Solaris assembly through Karma, with vegetation instanced natively rather than flattened per variant.

Front view of a Tiger II tank approaching through a forest road with dust behind the tracks

Main approach camera · integrated environment, vehicle and dust study

Overhead view of a Tiger II tank entering a rocky forest stream, with dust, water ripples and reflected light all visible together

Overhead ford camera · track, dust and water reacting in the same shot

Problem / constraint

Multiple systems had to read as one physical event.

A tank fording a stream only reads as one event if track motion, terrain contact, dust and water react in the same rhythm — and if the underlying systems hold up under production conditions: scrubbing, caching, and a plant library too large to hand-place. Two unrelated blockers surfaced here: the classic Solver-SOP track rig breaking under scrub/playback with accumulating phase error, and SideFX Labs' Biome scatter tool failing to resolve USD variant selection across a 26-variant plant library.

System decision

Keep the ecology, fix the loader — not the other way round.

Rather than rebuilding Biome's ecological logic (climate-tolerant species choice, density, collision-radius culling), the fix targeted only the broken link: its SOP-level loader can load USD geometry but can't compose a variant selection, so its point cloud is instead carried into Solaris to drive a native USD PointInstancer, letting real USD composition resolve variants and materials — no HDA fork, no flattened duplicate library to maintain.

Artist-facing evidence

Tank System — Technical Breakdown

Short clay studies isolate the vehicle system from final lighting and surface detail, keeping the procedural behaviour readable.

Clay study · 12 sec

Terrain-following vehicle system

Wheel articulation, chassis response and procedural track motion are evaluated together as the vehicle follows the generated terrain.

Clay study · 6 sec

Firing and recoil system

A coordinated control layer connects barrel recoil, vehicle response and shot timing before downstream muzzle, dust and impact effects are added.

Low camera view of a Tiger II tank with dust and loose gravel near the moving tracks

Low approach camera · dust and ground-contact detail

Production impact

Built for iteration, not a single frozen frame.

The track rig is fully scrub-safe and cache-independent: jumping to any frame gives the same deterministic result, at over 120 fps in the viewport for the whole rig. The vegetation system keeps the plant library in one native-USD source of truth — live variant switching, no duplicated per-variant files — while still getting Biome's climate-aware placement. Both systems outlive this shot: the track logic applies to any animated chain, belt or rope-like rig, and the USD-instancing pattern applies to any large-scale scatter that needs to stay natively USD.

Contribution and credits

Personal R&D project — concept, environment, rigging, simulation, lookdev and render by András Turcsán in Houdini. Plant models from the Maxtree library; vegetation ecology built on SideFX Labs' Biome toolset. The Tiger II vehicle model is a downloaded third-party asset and was not created by András Turcsán.