Procedural Generation
I used a spline to create point data to spawn river meshes and set-dressing props along and inside the river. The user can adjust the length and shape of the river and the positions and scales for the props with parameters.
In this tool, users can scatter different set-dressing assets and foliage based on landscape materials. I used a closed spline to generate point data to spawn buildings.
The users can spawn props by sampling the surface of the input static mesh, and they can adjust the props' positions and scales.
By using spline data, multiple shelves can be generated along the spline.
I sampled point data inside a volume to spawn structural mod-kit assets to create a building generator. By spawning building generators and volumes, I made this city generator and scattered set-dressing props on the streets.
Maya Tool Creation with Python
Base Arch Creator

This is a tool that I developed in Python for Maya 2025 to generate a base arch mesh for users to modify further.
Users can give the mesh a unique name for better organization. I provide the users with full customization for arch thickness, width, radius, and height by input values.
To generate a brand new arch mesh, the user only needs to give the mesh a new mesh name.
Procedural Modeling in Houdini
Window Generator
Pipe Generator
Environment Art
Character Creation / VFX

To create the water spirit, I sculpted the cat body mesh and modeled the cards in Maya. Then, I created textures and noise in Substance Designer to assemble the final shader in Unreal Engine.


Using the same cat body mesh as the water spirit, I created card clusters in Maya and procedurally scattered them in Houdini. I used the textures I created in Substance Designer to create a flame shader with simple grass wind to mimic the realistic fire look.