Bridge Creation Example 1
Bridge Third Person Walk
Bridge Creation Example 2
Material vertex blendind
Build example with hanging override volume.
Material override option and procedural vertex color bake into mesh.
Support for multiple plank models. Each model is selected randomly.
Generation based on calculated plank size
Debug mode visualization
Hard corner detection and avoidance
Hanging settings
Automatic height and distance calculation, manual mode available, and terrain adaptation
Nail placement settings
Wood placement settings
Rope settings
Rope knots settings
Rope underside details settings
Creation Example inside Houdini
Houdini build steps overveiw
Houdini final parts assembly
In this Houdini project I approached the creation of a tool for procedurally generating wood bridge game models based on the input meshes.
The concept of the tool is based on the bridge breakdown made by sidefx for the project skylark. While some functional capabilities are based on this breakdown, the core logic has been refactored and modified to adapt for some expanded new features and capabilities.
The main priorities were the adaptability and flexibility allowing to be used in a different variety of use case scenarios. The objective was to build a tool that was ready out outside the box while maintaining the benefit of being able to be customized based on user's necessities.
The environment used for the demo is Hemlock Forest from Leartes.
The tool has been then built into a Houdini Digital Asset (HDA) to be used inside Unreal Engine or Unity (or any DCC that supports Houdini Engine).
Some of the new addition features and changes are:
- Added a Debug visualization mode. This allows for faster bridge creation while maintaining a visual identification of each part.
- Curvature-based input curve hard corners calculated and rounded to allow for more natural plank distribution on corners.
- Hanging calculation now requires a minimum distance to be converted to hanging part. This is to avoid really small hanging parts.
- Added transition part between the ground anchored and hanging parts.
- Hanging part option to choose between procedural rope fall and vellum-based physics simulation.
- Per-segment height flattening. Every segment's height between posts straightened in order to allow the planks to sit straight on top of the underside beams while conserving the curvature roundness.
- Curve plank distance is now procedurally calculated based on the input plank width and the user-selected distance between planks.
- Usage of wood planks as the top barrier for the ground anchored part.
- Converting the hanging part to rope-only usage including:
- Addition of rope underside.
- Addition of rope around the sides of the planks that connect them all.
- Adding hand guard rope.
- Addition of rope union between the hand guard and the bridge
- Addition of rope knots on all the unions.
- Generation of simplex rope collisions for Unreal.
- General rope changes:
- Baked wind masks.
- Automatic UV calculation and placement for use on the trim texture.
- Added the option to convert the simple rope into twisted.
- Added hanging ropes to the underside between beams (On the side and under the planks).
- Added rope knots on the unions between side planks.
- Bridge ends now can be placed on any desired height. This allows to get onto the bridge from the ground
- Added volume override for the hanging part. Allows to select which part is to be converted to rope hanging regardless of the distance from the ground. (Also allows multiple overrides within a single bridge).
- Baked vertex colours. Red is used for material blending and Green is used for the rope wind shader to mask the movable and static parts of the rope.
- Input plank size calculation and bridge adaptation to that size.
- Multiple plank mesh setup. The tool calculates how many inputs mesh there are and distributes them randomly across the bridge.
- Nail placement based on the plank size. Distributes the number of selected nails across all the space from the planks (without the user specified border margin).
- Mesh material override option. Allows for changing the mesh material. If no material is specified, the tool uses the input mesh material.
- Added parameter to align the ground support beams to the vertical axis.