How to Use Houdini & Unreal Engine 5's PCG to Set Up Procedural Cliff Generator

Henry Yamin told us about the Houdini workflow behind his cliff generator and explained how Unreal Engine's Procedural Content Generation (PCG) framework can help you make natural assets and environments.

In case you missed it

More from the artist

Introduction

I'm Henry Yamin, a Senior Generalist with over six years of experience in the industry. My journey into the world of 3D art started when I was just 13 years old. It all began with a thoughtful gift from my mom, a MacBook Pro, which became the canvas for my creative exploration. My curiosity led me to delve into the software powering movies and games, eventually leading me to Cinema 4D tutorials on YouTube.

As I honed my skills, I eagerly entered YouTube CG competitions, marking the beginning of my journey in the CG world. My formal education, however, took a different path, as I pursued studies in IT. It wasn't until I reached the age of 23 that I began to take my portfolio more seriously, setting my sights on securing my first gig. What truly fuels my passion for 3D is the exhilarating challenge of approaching each project with fresh perspectives, all while refining my composition skills and attention to detail.

I started as a texture artist/modeler, meticulously crafting every element within my scenes. Then, I shifted into a more imaginative role, focusing on visualization. From there, I ventured into creating expansive, movie-like environments. Now, I find myself deeply intrigued by the world of procedural workflows, diving into PCG and Houdini. While some artists prefer to specialize in a single area of 3D, I find joy in embracing challenges across the entire spectrum and continually striving to perfect each one I’m interested in.

I've had the privilege of contributing to CG visualization projects for notable brands like Lexus, Lincoln/Ford, and CAT. In addition, I've been involved in projects related to the metaverse and architectural visualization.

Procedural Cliff Generator

After exploring Epic Games' Electric Dreams demo and observing the intricate interactions, I got the idea to streamline this complexity into a single asset using Houdini. To kickstart the process, I began by creating a dedicated cliff asset in Houdini, optimizing it to work seamlessly with PCG. Once that was achieved, my attention shifted to ensuring the material system was well-organized and customizable for the specific needs of each cliff.

With the groundwork laid, I embarked on the journey of familiarizing myself with PCG's nodes and understanding their functions and intricacies. I supplemented my learning with online tutorials and thorough documentation, though I did find that most YouTube videos that went into the extensive capabilities of PCG weren’t as in-depth as I needed them to be, which is why I decided to create a tutorial for this project.

Houdini

I used Houdini to create the cliff, making sure it looked just perfect with the right mix of detail and optimization. I tapped into the heightfield system to create the base shape of the cliff, then I went deep into the world of SDF/VOPs to add those extra layers of fine details and Point VOPs to work some magic on the colors of the vertices. This whole approach was like painting with a purpose: I used the red channel for marking where those scattered boulders should go and reserved the green channel for grass. The goal was to nail that ideal balance of efficiency in every aspect.

When importing Houdini settings to Unreal Engine 5 I aimed to maintain a consistent polycount for the cliff and ensured that the vertex color settings were configured to "replace." This way, every time I reimported the cliff, it wouldn't retain any data from the previous version in that regard.

Unreal Engine 5

I began by voxelizing the cliff to scatter points for the grass. To ensure these points stayed clear of the cliff walls, I made use of the normal node. Next, my attention shifted to voxelizing the area highlighted by the red vertex color, indicating where the boulders should be placed. To enhance the overall optimization of the asset, I dedicated time to ensure that no grass or rocks ended up inside the larger boulders. After that, I turned my focus to distributing both grass and rocks at the base of the cliff. To simplify this task, I voxelized the cliff to filter out points inside it, leaving only those outside. A crucial part of this process involved aligning the grid of points, projected from above, to match the size of the cliff's bounding box. To control the quantities of grass, boulders, rocks, and their placement, I integrated the PCG component into a blueprint. In this blueprint, I set up variables that allowed me to tweak these parameters directly from the blueprint interface, offering more flexibility and control.

Unreal Engine's Procedural Content Generation Framework

PCG is remarkably effective in crafting natural assets and crafting captivating environments. Some impressive YouTube videos even showcase how it can be used to generate entire buildings procedurally. Its real-time functionality within Unreal Engine is its standout advantage, although it may not replace Houdini entirely, the two can complement each other beautifully, leading to spectacular outcomes. For beginners, the key consideration is optimizing your graph and avoiding excessive and unnecessary node usage to ensure efficiency and performance.

Conclusion

I wrapped up this project over the course of a month, working on it here and there. The biggest hurdle I faced was getting the UV system to work correctly in Houdini and getting the hang of the PCG nodes. If you're already familiar with Houdini or have experience with Bifrost in Maya, transitioning to PCG is a breeze – it's much more straightforward to grasp.

For artists interested in diving into Houdini and PCG, I'd suggest aiming for an intermediate-level proficiency in Houdini, especially when it comes to understanding attributes and how to use the software in a general sense. Challenge yourself by setting up your own tasks and figuring out ways to optimize the process. The combination of Houdini and PCG opens a world of possibilities, and your creativity and problem-solving skills are the only limits.

Henry Yamin, Senior Generalist

Interview conducted by Theodore McKenzie

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more