Output Terrain Texture Maps (Houdini Height Fields)

Download Houdini File: HeightField_TextureMaps.hiplc

I have generated a texture map from the Height layer of the Height Field from Houdini.

Texture Map of Height layer from Height Fields in Houdini

Texture Map of Height layer from Height Fields in Houdini

I used the Height Field Output node in Houdini to generate this texture map, in 1k resolution, but since the image file is in png format I believe it loses some of the resolution. I haven’t figured out the details with how much pixels each image format can carry. I am planning to do more research and prepare a comparison chart between all the different image formats. I will post an update to this blog post when I do more research.

This post was mainly done in a hurry for a request I received in the comments section and I found this topic to be interesting.

 
Height Field in Houdini

Height Field in Houdini

The Height Field looks like this in Houdini. This is a screen capture of my 3D viewport in Houdini displaying the Height Field terrain.

Third Party Applications

What if you use a third party program to render the Height Field? Or maybe if you use a different 3D application like a game engine and need to port over the Height Field asset from Houdini, but you find the application doesn’t support HDA (Houdini Digital Asset). This is very common, we may use multiple applications in the pipeline to complete a single project. To make it possible to reuse the assets generated by Houdini, like terrain Height Fields, it’s best to generate texture maps.

Why don’t we just output Height Fields as a 3D Model in STL or Alembic or FBX?

You can use STL, Alembic, or FBX, however it’s not the most efficient use. If you output the Height Field directly from Houdini as a STL after converting it to a polygon, it’s super large. Remember Height Fields are volumes and needs to be converted to a polygon. For HDA’s in UE, the conversion is done automatically for you.

By using texture maps, it makes the terrain very light and the third party 3D application that you’re using will probably operate best when you recreate the same terrain using texture maps instead of porting over a 3D model in STL, Alembic, or FBX format.