The HDA used in Houdini to generate both the layout and initial block-out meshes.
The HDA is then imported into Unity and with the Houdini Engine used to marshal and spawn the prefabs correctly.
Technical breakdown of the process used to create the environment assets for the Resurrection Chamber I helped concept for Questline and Awaken Realms in their upcoming game Tainted Grail: The Fall of Avalon.
-----------
The first step was to create an HDA to both generate block out meshes and marshal spawning data for the chamber in Houdini. The block-out meshes were used as inputs for high-resolution final assets, and the HDA was then imported into Unity where it was used to spawn prefabs created from those self-same final assets. This meant I could change parameters of the layout such as the chamber size, scale of different parts, or even number of 'bridges', and simply regenerate results in Houdini to see an updated, final environment in Unity moments later. Using the same HDA in both applications ensured parity between them.
Once I could generate these block-out meshes, I had to detail them to a very high quality standard for in-game use. I put some constraints on the process: 1. I wanted to be able to make drastic changes late in the day if need be; 2. Use a single material to minimize draw calls and texture samples; 3. No sculpting, no painting, no time-consuming high-to-low texture baking.
This meant I had to create a Layered Lit material comprising seamless textures that would be responsible for shading all these generated environment assets. I used heightmap outputs from these textures to drive mesh detail rather than sculpt detail, and used the masks for these details in Houdini to generate a splatmap for the layered material.
LoDs were also generated in Houdini.
-----------
Again a huge thanks to Małgorzata Skawska, Marcin Świerkot, Agnieszka Szade Lukasz Kopalko and Berlin for all their help and a very smooth process.