top of page

Cyberpunk Subway Station is my current 3D Tech Art project. I’m building most of the PCG tools in Houdini and setting everything up in Unreal Engine 5. I’m also using Substance Designer and Painter for some of the materials. I’ll keep updating this page as I go until it’s finished!

Houdini HDA Tool - Stair Tool

The tool takes an input curve to define the stair area. Group by Range separates landings from stairs, and Copy to Points places stair steps.

How to Auto-Set Step Count for Each Slope?

stairs_stepdisplay.png
  • Measure Slope Length

  1. ​Use Measure to get the length of each curve segment.

  2. Use Attribute Promote to change the data from primitive to detail.

  3. In Attribute Wrangle, use VEX to calculate precise values.

  • Set Step Count

  1. In Resample, divide each segment's length by the step width to get the number of steps needed.

stair_stepsonslope.png

Central Rail

stairs_centrlrail.png
  1. Select the slope curves from the stair steps.

  2. Use Resample data from stair steps to set the positions and number of stands.

  1. Move the first and last points and use Add + Polypath to connect them to the original curve.

  2. Use Sweep to generate the handrail.

Houdini HDA Tool - Pipe & Air Duct Tool

These two tools have similar core logic - taking an input curve and generating geometry using Sweep node. The Carve node slices the curve into primitives, and Group by Range selects alternating segments to differentiate elbows from normal pipes.

Elbows: Fixing Sweep Discontinuity

curve_elbow_before.png
curve_elbow_before.png
curve_elbow_after.png

To resolve disconnected geometry in Sweep, use Fuse and Polypath nodes:

  • Fuse: Merges nearby points, ensuring topological continuity.

  • Polypath: Combines segmented curves into a single continuous path, ensuring the Sweep node receives a single primitive. If the input curve has irregular point order or breaks in topology, Polypath automatically reconstructs a proper curve structure.

Freely Moving Decor Geo Along Curve

curve_decordisplay.png
curve_movedecorgeo.png

Using the valve in pipe_tool as an example: drag the First U to adjust the position of valve!

  1. Carve allows points to move freely along the input curve.

  2. Polyframe ensures correct normal orientation.

Houdini HDA Tool - Waitingseat & Ceiling Light & Digital Screen Tool

These two tools have similar core logic - taking an input curve and generating geometry using Sweep node. The Carve node slices the curve into primitives, and Group by Range selects alternating segments to differentiate elbows from normal pipes.

Elbows: Fixing Sweep Discontinuity

curve_elbow_before.png
curve_elbow_before.png
curve_elbow_after.png

To resolve disconnected geometry in Sweep, use Fuse and Polypath nodes:

  • Fuse: Merges nearby points, ensuring topological continuity.

  • Polypath: Combines segmented curves into a single continuous path, ensuring the Sweep node receives a single primitive. If the input curve has irregular point order or breaks in topology, Polypath automatically reconstructs a proper curve structure.

Freely Moving Decor Geo Along Curve

curve_decordisplay.png
curve_movedecorgeo.png

Using the valve in pipe_tool as an example: drag the First U to adjust the position of valve!

  1. Carve allows points to move freely along the input curve.

  2. Polyframe ensures correct normal orientation.

​Texture & Material Display -- still in progress

mat1.png
mat2.png
mat3.png

Hope you enjoy my works!

  • Art Station
  • LinkedIn
bottom of page