top of page
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.

Optimization
Optimizing Thesis Project, Paws

Initial Stats:

image.png

Final Stats:

image.png
image.png

Initial Light Complexity

image.png

After analyzing the initial stat, I know that the project is more GPU bound. I make sure that the light complexity is at a reasonable level by deleting lights that are not contributing to the visual design and light renderer from the fire spirit's Niagara actor. From looking at the shader complexity visuals, the overlapping god ray meshes are creating a lot of issues, so I make the material use Additive instead of Translucent blend mode to reduce shader instruction counts.

Initial Shader Complexity

I discovered that my thesis partner has been using textures for tree stitches that are non-power-of-two, which can cause performance issues. I used padding and resizing to turn them into power-of-two textures in engine.

image.png
image.png
image.png
Maya Tool Creation with Python
Base Arch Creator
ArchTool (1).gif

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
Materials and Shaders

To achieve a realistic water look, I used Single Layer Water shading mode combined with Distance To Nearest Surface node to create water foams.

This ice and snow shader can be used on top of any input base material with vertex painting and vertex normal options.

Environment Art
Character Creation / VFX
image.png

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.

  • Email
  • LinkedIn

© 2025 by RANRAN JIANG.

bottom of page