TFDD Technical Breakdown

HDA built around SifeFX Labs' tree generation tools, with some custom functionality like adding roots, baking vertex colors and basic optimization.

HDA built around SifeFX Labs' tree generation tools, with some custom functionality like adding roots, baking vertex colors and basic optimization.

This is the foliage shader I built in Unity, along with the two custom shader functions that drive the wind animation.

This is the foliage shader I built in Unity, along with the two custom shader functions that drive the wind animation.

Cliff faces are composed from the rock set. Placing all these cliffs correctly on an ever-changing terrain seemed daunting, so...

Cliff faces are composed from the rock set. Placing all these cliffs correctly on an ever-changing terrain seemed daunting, so...

I also did cloth sim animations for the flags and banners on the towers and battlement walls. The models were supplied by Cassagi.

Cloth simulation was done in houdini and exported to Unity using SideFX Labs' Vertex Animation Textures.

A bit of technical breakdown of the trailer I helped Cassagi make for their game Tower Forge Dark Defense. Big thanks to Martin Ostrolucký for the opportunity and making the process so smooth.

A while ago I wrapped SideFX Lab's tree tools into an .hda with some custom functions, including one that baked vertex colors into the models for further use in engine to drive shader effects. This gives me a sort of one-stop shop to quickly generate trees and bake any kind of custom data into the vertex colors -- including distance to root, ambient occlusion, branch level, random offsets, etc. I also developed some shaders in Unity to use this data to help shade and animate the trees using Amplify Shader.

For the rocks I used a similar process of baking vertex colors and then using Unity HDRP's built-in Layered Lit shader to create materials that use tileable textures rather than needing to uniquely texture each rock. Same goes for the mountains/rock outcroppings.

The cliff faces are then composed of multiple rocks, and placed with an .hda in Unity rather than by hand. This .hda ingests data generated during terrain generation to determine where cliffs need to be placed, and then positions and rotates random prefabs from a list.

To give the battlements some life, I decided to break off and animate the cloth bits. I ran a simple simulation in houdini and exported the results to Unity using SideFX Labs' Vertex Animation Textures.