top of page

Harnessing Houdini HDA Tools for Procedural Destruction in Unreal Game Production Workflow

  • Writer: Will TzsFx
    Will TzsFx
  • Jul 11
  • 7 min read

Updated: Jul 31

In today's rapidly evolving game production landscape, leveraging powerful tools can significantly enhance a team's creativity and efficiency. As a seasoned Houdini Artist, my role involves harnessing the procedural capabilities of Houdini to develop various Houdini Digital Asset (HDA) tools, primarily for the environment department of the Steel Hunters project. Below are some of my contributions to the project and the team through the Houdini procedural tools I've developed.


Houdini Destruction Bake (HDB) HDA


This tool is one of the most extensive I've encountered so far. Since it was already in use before I joined the team, I have been assigned to take over from the latest version with the goal of updating it and optimizing its performance for improved use by artists.


The primary aim of this tool is to automate the most time-consuming and tedious aspects of the process involved in creating destructions. Instead of artists manually slicing, patching holes, sorting out UVs, and placing debris, this tool will automate all these tasks. This allows artists to focus their time on iterative visual changes.


Additionally, it is important to ensure that the tool minimizes the need for artists to switch between different software, as this can be time-consuming. Once an artist is ready to use the tool in Unreal 5, most of its functionality should operate flawlessly to prevent the need to use other software for specific stages of the process.


Finally, the tool must offer meaningful visualization within UE5. Without this, many artists may not understand the effects of certain parameters. Providing effective visual feedback is crucial, and this adds another layer of complexity to an already extensive tool.


houdini building destruction visual process
A glimpse into Houdini Destruction Bake HDA process.

Quick General Process of Building Destruction Workflow & Where The "HDB" Tool Comes to Play


  1. Initial Model Preparation: The artist will first create a 3D model of the building, which can be either an intact or partially destroyed version. These models are typically prepared with specific UVs, a set number of material slots, grouping/naming conventions, vertex colors, and vertex alpha data. This information is crucial throughout the process. Some data may be used by the HDB tool, while all must be preserved during HDB processing. These strict requirements present a significant challenge in optimizing the tool's performance while ensuring it can accommodate 80% to 90% of various model variations. Once the model is prepared, the artist will export it in .fbx format, and the next steps will take place in UE5.


  2. Utilizing HDB tool inside UE5 (where the tool Houdini tool comes in play):

    With the Houdini Engine plugin enabled in UE5, artists can easily initialize the Houdini HDB tool directly within Unreal 5. By loading the .fbx model into the HDB tool, artists have the flexibility to explore various possible outcomes.


    The HDB tool is divided into two stages due to its complexity. Stage 1 focuses solely on fracturing the loaded asset and preparing all necessary data and attributes for Stage 2.


    Stage 2 processes all exported cache files from Stage 1, concentrating on simulations and the final export of all required files for Unreal.

    1. Stage 1: In this phase, the tool manages everything from fracturing to automatically sorting the UVs of newly fractured inside faces, material slots, vertex color, and vertex alpha. For geometry fracturing, the tool offers various methods to allow artists to easily direct the results. I've used two specific fracturing methods, combining voronoi and material fracture nodes. These nodes are available by default in Houdini but require significant custom modifications to meet the tool's functionality needs. This is also where most of the intensive processing occurs, such as creating detailed fractures for different materials. For example, wood should fracture like wood, and concrete should fracture like concrete. Visually, everything must appear realistic. Additionally, optimization is necessary. For instance, wood may fracture into too many pieces, increasing the poly count and negatively affecting performance. The tool handles this automatically. Once the artist sets the clustering value, the tool attempts to fuse everything according to the clustering setting and removes all unseen faces, thereby reducing the poly count.


      Improvement for fractured edge details. Legacy tool tend to only provide straight cut edges that are very voronoi like. The newer version provide a more finer organic details to the cracks.


      visual example of turning fractured pieces into clusters in houdini
      Clustering optimization visual example.
    2. Stage 2: At this stage, the tool encompasses everything from simulation to the final file exports, which will be used in the next step for creating building destruction effects in Unreal 5. The exported files typically include a static mesh .fbx file, various animation .fbx segments of the building, and a static mesh .bgeo file that will serve as rough collision in the Unreal BP setup.


      Additionally, an extra level of optimization is applied at this stage before export, allowing artists to further decrease the polycount for static meshes. The tool strives to minimize unnecessary polycount on flat surfaces while preserving the model's overall silhouette.


Tool's Parameter Interface in UE5 & Houdini's Node Network

Stage 1 Parameter Interface in UE5

fracture stage tool's parameter interface in UE5
Stage 1 parm interface in UE5

Stage 2 Parameter Interface in UE5

simulation & file export stage tool's parameter interface in UE5
Stage 2 parm interface in UE5
fracture stage node network in houdini
A glimpse into a streamlined and organized view of the current Fracture Stage node network, showcasing improved structure for future Houdini artists with clear sections for mesh preparation, visualization, and custom wood fracturing.
simulation & file export stage node network in houdini
A glimpse into a streamlined and organized view of the current Simulation and File Export Stage node network, showcasing improved structure for future Houdini artists with clear sections for procedural constraints, visualization, file export, and custom simulation.

Finished Result of Building Destruction in UE5

visual collarge of destruction result in Unreal Engine
Destruction animation in UE5 provided by HDB tool.
Another destruction animation in UE5.

Houdini Ice Destruction (HID) HDA


This tool is essentially a counterpart to the earlier HDB tool. However, instead of being designed for building destruction, this one is intended for ice destruction. Most of the features and functionalities remain the same.


ice destruction visual result in UE5
Ice destruction animation in UE5 provided by HID tool.

Houdini Rock Generator (HRG) HDA


I've created another mid-sized tool for the team and project. Rather than having artists manually sculpt rock meshes, they can now use a collection of basic geometric shapes as a base, input them into the tool, and generate different variations from a single input. Artists can then export these variations and add minor details, saving them from starting entirely from scratch.


Eye-level view of a destructible game environment in Unreal Engine
A glimpse into Houdini Rock Generator HDA process.
quick visual representation of the tools functionality
Quick tool visual result in UE5.

Quick Example of HRG Tool Process


  1. Prepare Base Shape: Utilizing basic geometry to create a preliminary base silhouette, which will subsequently be input into the HRG tool.

    step 1 visual - using basic geometry

  2. Auto Add More Supporting Base Shape Geometry:

    The tool will automatically incorporate additional supporting base shape geometry, which will help in crafting a more convincing final appearance for the rock.

    step 2 visual - tool adding extra supporting shapes on top of basic geometry

  3. Generate A Layered Form of The Overall Rock:

    These layers are subsequently created to enhance the visual accuracy of the rock.

    step 3 visual - tool generate a layers rock result

  4. Single Highpoly Mesh Output:

    A single fused mesh is ultimately created as a high-resolution mesh. This can be exported for artists to add further detailed sculpting or proceed with normal map baking and low-poly export.

    step 4 visual - tool fuse everything together into 1 single high-res mesh

Houdini Building Ruin Generator (HBRG) HDA


Regrettably, I wasn't able to complete this tool entirely, as a decision was made to sunset the project at this stage.

However, I do have some early previews from the RnD phase of the tool. These should be sufficient to visually demonstrate its basic functionality.


The primary purpose of this tool was to enable artists to customize the destruction of buildings and transform them into ruins.


Houdini building ruin generator RnD phase preview

Extra - Houdini Procedural Metal Bending (Cargo Ship Destruction)


Due to Houdini's non-destructive nature, I was thrilled to assist my colleague, Aleksandr Kazachenko, in destroying a massive metal cargo ship he is working on. This task presents a different type of challenge, as metal bending effects are typically dependent on simulations or blend shape deformations. However, I aimed to minimize reliance on these two approaches and make the process as procedural as possible. The goal is to avoid artists manually subdividing individual parts and bending metal pieces, opting instead for a fully procedural approach to enhance efficiency. I discovered two unique methods to accomplish this.

  1. Using procedurally generated joint chains using Houdini's Kine Fx, then drive the deformation using the joints.

  2. Using noise deformation on affected area on the mesh.

  3. Mixture of both approach mentioned above and some small amout of simulation or blend shape deformation mix into it depending on the circumstances.


This task lacks a Houdini HDA for use within Unreal because the metal bending method is more efficient when everything is done in Houdini first, and then a completed static mesh is exported to Unreal.

procedural metal bending using auto generated joints process visual transition
Metal bending driven by procedural joint chains using Houdini's Kine Fx.
procedural metal bending using noise mesh deform & collision detection method process visual transition
Metal bending driven by noise deform & collision detection method.
A custom metal bending HDA node driven by an input curve.

Check out the ArtStation post by Aleksandr Kazachenko to see the final appearance of the destroyed cargo ship.


I'm thankful and lucky to have the opportunity to work with a group of highly talented artists at DPS on Steel Hunters. A heartfelt thanks to these gifted colleagues who worked alongside me, offering feedback and insights that helped bring these tools to a highly effective level.


Special thanks to:


Comments


bottom of page