top of page
BlissBanner.jpg
PipeHoudini_Demo.gif

HOUDINI PIPE CREATION TOOL

A procedural pipe creation tool with customizable parameters and optional custom attachments.

This is still a work-in-progress tool with more cool functions on the way!

TOOL DEMO

A demo of the procedural pipe tool inside of Unreal Engine 5 with HDA.

HighresScreenshot00000.png

OVERALL TOOL

The overall tool is separated into three main sections for proceduralism and more effective art direction:

  1. The main body of the pipe, which can be created using predefined curve shapes or drawing splines directly in Unreal Engine.

  2. The corners. Corner pieces include an extra layer of pipe body and adjustable flanges.

  3. Custom meshes. I have included a section for adding custom valves and models along the pipe for further art directions.

PipeHoudini_Demo.gif

CUSTOM SCATTERING

For adding custom meshes onto the pipe, I have included 2 ways for artists to choose from.

ScatterDemo.gif

Procedural Scattering

This is for auto-population and lazy artists :) With one click, the pipe will randomly populate with your models with adjustable seed value, density, and distribution factor.​

PositionDemo.gif

Manual Scattering

This is for more fine-tuned controls on where to scatter your custom models and which specific model to use. The exposed parameters allow art-directing on:

  • How many models to add.

  • Index sorting the specific model.

  • The position of the model on the pipe.

PipeSection.jpg

BASE PIPE

 

The base pipe is pretty straightforward. It is generated along a spline with a cross-section that can be modified. The base pipe provides foundational attributes for additional details on the pipe to reference.

CornerSection.jpg

CORNERS AND FLANGES

Beveled corners are extracted to produce isolated corner appearances. The main corner body is an extended section of the base pipe. Flanges and bolts are also added onto the end sections of each of the corner pieces.

MeshSection.jpg

CUSTOM MESHES

The custom model scattering section references the rest of the pipe. I authored a few conditions for the scattering behavior by creating attributes that store the model's bounding box size and the section length of the pipe:

  • Models will not appear on corner sections.

  • Models will not scatter on pipe sections that are shorter than itself.

  • Models should not overlap. I know! I am working on a more accurate workflow for this function, in addition to combining manually positioned models with automatically scattered models. Stay tuned!

bottom of page