Houdini: Improving Fencing Tool

Work In Progress / 30 September 2019

Note: This post was originally written on June 27th 2019.

For this Personal Development time at work, I wanted to improve the fencing tool I started working on last month. It didn’t really change visually unfortunately, but the system itself is more robust and flexible.

  • Fix input system

    • Can now use both curve tool and draw curve input

    • Work with closed curve

  • Added better interface control

    • Can switch between fence tool and other types of inputs

    • Added curved control

  • Can switch between heightfields and curves will adjust themselves to the new terrain

Fix Input System

Previously, editing the curve wasn’t convenient as it was then position with a transform node. I modified that in order to adjust the curve and be able to see the curve being projected right underneath on the terrain.

Can now use both curve tool and draw curve input

I also added another input method. It is now possible to draw the curve on the heightfield. It made the generation very quick and easy, but it’s less precise than the curve tool.

Work with closed curve

By fixing the input system, it now supports open and close curves.

Added better interface control

I added a lot of controls trough a UI panel. The goal is to allow the end user to be able to create what they need from this control panel. 

Can switch between fence tool and other types of inputs

You can now switch between the fence generation tool and any input mesh of your choice. In the example above, I used a test mesh provided by Houdini. 

Added curved control

I also added control over the orientation of that mesh. It can follow the orientation of the curve or follow the world orientation. I also added control over the actual rotation of the object.

Can switch between heightfields and curves will adjust themselves to the new terrain

The images above shows the same curve with two different heightfield. I was able to achieve this by fixing the settings of the raycasting node for the curve tool and by projecting the drawn curve onto the terrain. This adds a lot of flexibility to the tool as it means it can adapt to any changes in the terrain.

Future Improvement and Next Projects

At this point, I simple need more assets to play with. The system is now flexible enough to accommodate a lot of meshes and situations. The last step at this point would be to convert that into a HDA and see how easy it is to use in another project. Exploring more possible usages will influence what features should be added. I will definitely revisit this tool when I have more projects and assets done.

Next, I am tossing between developing a basic biome system or a book generator. The book generator might be a little bit easier to do than doing a biome, but both could be great tools to have to facilitate level art.