Procedural Cliffs Tool

My tool is meant to be highly art direct-able. Each phase through block out to low poly with UVs has a suite of options to adjust and play with for the right look. The following is a simplified break down of how the tool works.

My tool is meant to be highly art direct-able. Each phase through block out to low poly with UVs has a suite of options to adjust and play with for the right look. The following is a simplified break down of how the tool works.

The tool is capable of generating either rock walls along a spline or singular columns depending on the type selected.

The tool is capable of generating either rock walls along a spline or singular columns depending on the type selected.

A set number of randomly positioned points per spline point are created. Each of these point inherits variation attributes and a base shape is copied and distorted on each.

A set number of randomly positioned points per spline point are created. Each of these point inherits variation attributes and a base shape is copied and distorted on each.

The segments are voxelized  and re-meshed into one solid piece. A mountain SOP is used to displace the surface and add further variation and grids are positioned to slice the rock face into layers.

The segments are voxelized and re-meshed into one solid piece. A mountain SOP is used to displace the surface and add further variation and grids are positioned to slice the rock face into layers.

Each layer slice has it's poly count reduced and edges jittered to break up the layers and add more distinct shapes.  A Vornoi fracture is used to break the layers up into chunks. Small chunks are deleted and each layer is scaled randomly by a set amount.

Each layer slice has it's poly count reduced and edges jittered to break up the layers and add more distinct shapes. A Vornoi fracture is used to break the layers up into chunks. Small chunks are deleted and each layer is scaled randomly by a set amount.

Next we go through each chunk in each layer and add micro surfacing noise with a combination of 
VOPs and Mountain SOPs. Further chipping is added using distorted planes for a boolean operation. A final clean up and re-mesh is done to finalize the base.

Next we go through each chunk in each layer and add micro surfacing noise with a combination of
VOPs and Mountain SOPs. Further chipping is added using distorted planes for a boolean operation. A final clean up and re-mesh is done to finalize the base.

A lower resolution version of the base is used to define the flat surface areas and curvature points at which pebble and rock scatter would be realistic. Randomized rocks are added to these points and merged with the base for the final high poly.

A lower resolution version of the base is used to define the flat surface areas and curvature points at which pebble and rock scatter would be realistic. Randomized rocks are added to these points and merged with the base for the final high poly.

The tool is also capable of automatically  creating the low poly version of the rock structure. Colours are applied to each layer and transferred to the low poly  and used to break up each into it's own UDIM tile for large rock structures.

The tool is also capable of automatically creating the low poly version of the rock structure. Colours are applied to each layer and transferred to the low poly and used to break up each into it's own UDIM tile for large rock structures.

The final rendered result of my high poly.

A procedural tool to create cliff faces or rock columns along a spline or singular point. I designed the tool to have different output modes for the game design pipeline. I thought that maybe this way the artist could ensure they were getting the results they wanted along each step of the process. So for example - the tool can be switched into block out mode until the artist gets roughly the right shape and placement with the drawn spline without having to reprocess the whole node network and the heavier computations down the line. This was an extremely informative project and I learned an absolute ton about various fracturing methods, VOPs, compiled blocks, and of course VEX. Looking forward to seeing where I can take these ideas in future projects.

Date
June 22, 2020