MAURICIO PORRAS
← Technical Work
Artist Tools

In-Viewport Procedural Prop Tools

A family of spline-driven Blueprint tools for cables, decals, and flag lines that let artists dress environments entirely in-viewport and bake straight to static meshes.

Unreal EngineBlueprintsSplines
01

Overview

Three related in-viewport tools cover the common linear dressing props environment artists need again and again: hanging cables and ropes, ground decals following an arbitrary path, and flag or bunting lines. Each lets an artist draw a spline directly in the level editor, tune the result live, and bake straight to a lightweight static mesh — no external DCC round trip required.

02

Challenge

These props were previously either authored in an external 3D application — a slow iteration loop for what is a fairly simple, repetitive shape — or, in the case of cables specifically, built using the engine's physics-driven rope actor, which looks correct but is too expensive at runtime for background dressing and, critically, can't be baked into a reusable static asset at all.

03

Design Goals

  • Fully in-viewport authoring — no external DCC round trip for simple linear dressing props.
  • Final output must bake to a standard static mesh for runtime performance.
  • Non-destructive spline editing so artists can freely add, move, or delete control points mid-iteration.
  • One generic mesh-tiling mechanism reusable across prop types simply by swapping the source segment mesh.
04

System Design

Step 01Artist-Drawn Spline
Step 02Path Projection
Step 03Procedural Placement
Step 04Live Preview
Step 05Bake to Static Mesh

All three tools share the same core interaction pattern underneath their different outputs: draw a spline, tune parameters live, bake to a final static mesh asset.

05

Implementation

The cable tool takes two placed transform handles, builds a spline between them, and resamples it into a configurable number of segments along its length. Each segment generates a ring of vertices oriented to the spline's tangent at that point — essentially a loop-based extrusion — with configurable radius and side count controlling cross-sectional resolution. A dip offset displaces the spline's midsection to fake a gravity-induced sag without any physics simulation, and the finished procedural mesh bakes to a standard static mesh asset.

The decal tool projects an artist-drawn path onto the ground via a per-point line trace against level collision, then spawns decal instances along that projected path at a fixed spacing, each oriented to the path tangent. Fade behavior is driven by an artist-assignable curve asset rather than a hardcoded falloff, so exactly how opacity changes along the path length is fully in the artist's hands — later extended with a center-weighted default curve so decals fade symmetrically at both ends.

The flag and rope line tool tiles a fixed-length source segment mesh end-to-end along an arbitrary spline, deforming each instance to follow the curve using the engine's native spline-mesh deformation. Because each segment has a fixed real-world length, a path that isn't an exact multiple of that length can leave a visible gap at the end — resolved with an artist-facing scale-factor correction added after the issue surfaced in production use. Optional start and end cap meshes handle special cases, like a knot mesh terminating a rope.

Spline-driven cable tool with live ring-extrusion preview
Ground-projected decal placement along an artist-drawn path
06

Results

All three tools replaced either an external-DCC round trip or a physics-simulated approach with fast, fully in-viewport iteration for common dressing props. Each went through at least one real production-feedback cycle after initial release — the cable/flag tool's gap-closing scale correction, and the decal tool's center-weighted fade curve, were both added in direct response to feedback from artists using them — indicating genuine day-to-day adoption rather than one-off builds.

07

Lessons Learned

A small number of reusable primitives — spline resampling, ring extrusion, ground projection — turned out to cover three seemingly different dressing problems. Recognizing the shared mechanism up front, rather than building three unrelated bespoke tools, meant fixes and improvements to one (like the scale-factor gap correction) were easy to reason about and apply to the others where relevant.