What Are Houdini Heightfields And How We Can Use Them To Generate Landscapes For Game Development In Unreal Engine Or Unity?
Houdini has the ability to create and manipulate Heightfields. Heightfields are two-dimensional Volumes. These volumes are displaced in 3D Dimensional space along the “Height Axis”. This can be confusing because usually when we think of volumes, we think of solid shapes. Volumes are often used to define things like clouds, fog, and fluid simulations. In traditional volumes, we define them by what could be considered an array of boxes. These boxes stack in all dimensions. The size of the boxes defines the resolution. When it comes to volumes these boxes are Voxels. Combine Volume and Pixels, we get Voxels. 3D Pixels.
Unlike 3D Volumes, Heightfields only have 2D Voxels. Instead of boxes, think of grids. We still define the resolution the same way. Also, in both 3D Volumes and 2D volumes, Voxels are square, or square boxes. When we use Heighfteilds for either Unreal Engine or Unity, they are square. Both Unreal and Unity have slightly different sizes they require their landscapes to be.
Lesson One
In lesson one we learn how to correctly size our landscapes for Unreal Engine or Unity. We learn how to use geometry as a mask for customizing your landscapes. Then we get an overview of use nodes like Heightfield Erode, Heightfield Mask by Feature, Heightfield Flow, and others. We learn how to customize our landscape layers with masks. We cover creating a procedural pipeline, and how to create a Houdini Digital Asset.
Lesson Two
In the second lesson, we delve into setting up our Unreal Engine Project. We explore project configurations to achieve cinematic visuals. Components like Sun And Sky, Environment Heightfog, and Post-Process Volume are covered. Properly configuring Exposure Settings for rendering is thoroughly covered. We then import our Houdini Landscape as a Houdini Digital Asset. We learn how to create a Landscape Material Master and leverage the layers we created in Houdini for our landscape. Finally, we demonstrate the process of generating a Material Instance.