Neon Signage Generator

Generate neon sign with text / spline / image input directly in editor.

This highly optimized Houdini tool offers seamless neon sign generation directly in the editor, supporting three distinct inputs: text, splines, and images.

The sign automatically scales and adjusts to fit user-defined bounding boxes, offering a powerful and flexible solution for any layout. Designs can be further customized with a range of parameters, including character spacing, oblique angle, character wiggle, and the neon tube’s flickering amount. Control is also provided over the backing plate’s appearance to finalize the sign’s look.

The tool utilizes multiple UV channels to pass random seed, allowing to easily switch between per-text, per-character, or per-stroke customization and randomization.

Player Switching VFX for Axis Shift

Player transformation shader for our game Axis Shift.

My work on 𝗔𝘅𝗶𝘀 𝗦𝗵𝗶𝗳𝘁 included developing this form switch shader to create seamless transitions between three vehicles. It‘s simple yet crucial, designed to be 𝗾𝘂𝗶𝗰𝗸 𝗮𝗻𝗱 𝗰𝗹𝗲𝗮𝗿 during our core mechanic—player form shifts.

Our inital plan was to make the actual transform animations between three vehicles. But it exceeded our two-month project development time budget. So I created this vfx to mimic the deformation and transformation.

Prototyped using Shader Graph and VFX Graph for quick tweaks, and then migrated to HLSL for advanced control, and integrated into gameplay via C#.

Force Field Shader for Axis Shift

Force Field shader for game Axis Shift.

A dome shield with hex pattern adn dynamic hit feedback.

Lei Wu’s Tech Art Portfolio

Versatile Technical Artist with a background as a parametric architect and with 5+ years of Houdini experience in developing reusable tools and optimizing pipelines to deliver scalable solutions.

Pratical experence in shader & VFX creation, passionate in creating dynamic visuals, with scripting skill to implement smooth in-game integration.

Project-based experience with object-oriented programming in C#; and Python scripting for workflow automation. 8 years experience producing technical documentation to support in-house tools and pass knowledge across disciplines.

Oil Painting System Part I: Shader

This shader transforms images into paintings through a multi-scale stroke system. It works by analyzing image gradients to place brush strokes that follow natural contours, building from large background strokes to fine details. The grid-based architecture efficiently organizes stroke placement while random offsets prevent mechanical patterns.

Each stroke responds to local image features with parameters controlling size, bend, and texture. The brush rendering combines shape functions with noise patterns to simulate bristle effects, with stroke opacity varying based on position.

It has a layered application process. Each layer works at progressively finer scales, with early layers handling broad shapes and later layers adding detail to complex regions. The system scales brush counts exponentially between layers using the quality parameter, creating visual complexity mirroring traditional glazing techniques.

Quantum Break Effect

The time stop effect in the game Quantum Break.

It uses runtime RenderTarget to create multilayer wave and niagara system to spawn particles.

Strangler Fig Generator

A banyan tree in-engine generator without speedtree.

This tool procedurally generates banyan-like aerial roots that “strangle” environment meshes—ideal for ruins, cliffs, temples, and overgrown wilderness scenes.

Inspired by the chaotic root systems of strangler figs and banyan trees, the HDA adapts its growth to any static mesh input using collision-aware algorithms and customizable growth behaviors. It features trunk + sub-branch generation, aerial root simulation, foliage, hanging roots, moss, and real-time optimization.

Roots wrap, cling, or hang freely based on user-defined gravity, tropism, aggregation, and bifurcation settings. Users can preview probability maps, adjust pruning logic, and tweak visual density—all from a clean, slider-based UI.

Outputs are game-ready: LOD chains, Nanite-ready meshes, UCX collisions, and lightweight billboard foliage are auto-generated on bake. Companion elements like moss, wrappings, and foliage clusters help ground the tree into surrounding geometry.


Highlights

Dynamic root wrapping around arbitrary meshes

Interactive control curve for trunk placement

Customizable growth logic (gravity, neighbor influence, bifurcation)

Preview modes for root distribution and pruning

Game-ready output (LODs / Nanite / collisions / instancing)

Optional companions: moss, ground foliage, wrapping vines, hanging roots