Houdini 20.5 Unreal Landscapes

Landscape Splines Input

Landscape Splines Input support in the plugin.

On this page

Warning

This feature is experimental and is subject to change.

The plugin currently has experimental support for landscape spline input. Landscape splines can be sent as input to Houdini for both World Partition and non-World Partition cases.

World Partition

Using World Partition

When using World Partition, landscape splines in Unreal Engine are ALandscapeSplineActors and can be selected directly as World Inputs:

Not Using World Partition

When not using World Partition, landscape splines are in the ULandscapeSplinesComponent directly on the landscape actor. The landscape actor must be selected as a World Input and the Auto Select Landscape Splines For Export landscape input to send the landscape splines as input:

Landscape Splines As Curve Primitives

Landscape splines are sent to Houdini as curve primitives, where each landscape spline segment is represented by one curve primitive in Houdini. The segments are resampled, in a similar way as curve inputs, using the Unreal Spline Resolution input property:

Input Options

The following input options are currently available for landscape splines:

Export Landscape Spline Control Points

The Export Landscape Spline Control Points option sends a point cloud of the control points to Houdini in addition to the curves. The control point cloud is useful for when the landscape segment start/end positions are not the same as the control point’s position. An example is if a control point has a mesh assigned and the segment connections use sockets, the location of the connection point on the segment will be the socket location and not the control point location.

Export Landscape Spline Left/Right Curves

The Export Landscape Spline Left/Right Curves option adds two additional curves, one to the left of the center spline and one to the right, both at the half-width distance away from the center spline at that point along the spline. This serves as a visualization of the width of the spline area that would impact/be applied to the landscape.

Export Spline Mesh Components

The Export Spline Mesh Components option sends the deformed spline meshes to Houdini. By default the World Input option Merge Spline Mesh Components is enabled, which merges the spline meshes into one large temporary UStaticMesh asset before sending it to Houdini. Disabling the Merge Spline Mesh Components option will result in sending each spline mesh component’s deformed mesh individually:

Warning

Spline mesh component support is still experimental and subject to change.

Merged:

Individual:

General Spline Mesh Component Input Support

Spline mesh component input support also works outside of landscape splines with, for example, ASplineMeshActors:

Warning

Spline mesh component support is still experimental and subject to change.

Attributes

Houdini to Unreal

This table lists special attributes to set in an HDA and the plugin recognizes when you translate the Houdini data to Unreal outputs. You can setup these attributes on your assets to control and override some properties and behaviours of the generated Unreal outputs. See Attributes and Groups for more information.

Landscape Splines general

The table lists the general attributes that affect landscape splines output.

Attribute Name

Attribute Owner

Description

unreal_landscape_spline

point, vertex, prim, detail

Set to 1 for the plug-in to recognize the curve primitives as landscape splines

unreal_landscape_spline_target_landscape

prim

The landscape to create the landscape splines on. This can be set to InputX (0, 1, …) to target an input landscape of the HDA

Landscape Splines edit layer

Attribute Name

Attribute Owner

Description

unreal_landscape_editlayer_name

point, vertex, prim

The name of the edit layer to create and apply the splines to

unreal_landscape_editlayer_clear

point, vertex, prim

Whether the edit layer should be cleared the first time it is altered during landscape spline translation

unreal_landscape_editlayer_after

vertex, prim

The edit layer specified in unreal_landscape_editlayer_name is moved to after this layer

Landscape Splines control point

The table lists the attributes that are supported for the control points of the landscape splines. Many attributes can be applied to either the curve’s points or vertices, but not both at the same time.

Attribute Name

Attribute Owner

Description

rot

point, vertex

The rotation of the control point

unreal_landscape_spline_control_point_id

point, vertex

The id of the control point. Valid ids are greater than or equal to 0. Values that are less than 0 indicate the point is not a control point

unreal_landscape_spline_control_point_lower_terrain

point, vertex

The Raise Terrain property on the control point

unreal_landscape_spline_control_point_mesh

point, vertex

Control point static mesh

unreal_landscape_spline_control_point_mesh_material_overrideX

point, vertex

Control point mesh material overrides

unreal_landscape_spline_control_point_mesh_scale

point, vertex

Control point mesh scale

unreal_landscape_spline_control_point_paint_layer_name

point, vertex

The Paint Layer Name property on the control point

unreal_landscape_spline_control_point_raise_terrain

point, vertex

The Raise Terrain property on the control point

unreal_landscape_spline_end_falloff

point, vertex

The End Falloff property of the control point

unreal_landscape_spline_half_width

point, vertex

The Half-Width property of the control point

unreal_landscape_spline_side_falloff

point, vertex

The Side Falloff property of the control point

Landscape Splines segment

The table lists the attributes that are supported for the segments and segment connections of the landscape splines. These attributes can be applied to each point or vertex and affect the segment starting at that point or vertex. If the attribute does not exist on the points or vertices of the curve then the primitive is checked, and any attribute found is applied to all segments in the spline.

Attribute Name

Attribute Owner

Description

unreal_landscape_editlayer_name

point, vertex, prim

The name of the edit layer to create and apply the splines to

unreal_landscape_editlayer_clear

point, vertex, prim

Whether the edit layer should be cleared the first time it is altered during landscape spline translation

unreal_landscape_editlayer_after

point, vertex, prim

The edit layer specified in unreal_landscape_editlayer_name is moved to after this layer

unreal_landscape_spline_segment_connectionX_mesh_socket_name

point, vertex, prim

Segment connection 0 and 1: The socket name on the control point to use at the segment control point connection

unreal_landscape_spline_segment_connectionX_tangent_length

point, vertex, prim

Segment connection 0 and 1: The tangent length of connection point at this end of the segment

unreal_landscape_spline_segment_lower_terrain

point, vertex, prim

The Raise Terrain property on the segment (whether or not the landscape can be raised when the spline is applied)

unreal_landscape_spline_segment_meshX

point, vertex, prim

Segment meshes. X is omitted for the first mesh, then 1, 2, 3…

unreal_landscape_spline_segment_meshX_material_overrideY

point, vertex, prim

Segment mesh material overrides

unreal_landscape_spline_segment_meshX_scale

point, vertex, prim

Segment mesh scales

unreal_landscape_spline_segment_paint_layer_name

point, vertex, prim

The Paint Layer Name property on the segment (the layer that is painted when the spline is applied to the landscape)

unreal_landscape_spline_segment_raise_terrain

point, vertex, prim

The Raise Terrain property on the segment (whether or not the landscape can be raised when the spline is applied)

Landscapes

Getting Started

Landscape Splines

Workflow

Landscapes allows you to create and manipulate terrain and natural environments in Houdini using its procedural node-based workflow. You can then bring them into Unreal Engine to further edit, render, and bake them. The landscapes generated in Houdini can be highly detailed and dynamic to create complex terrains.

Features and capabilities

  • Use Houdini Heightfield tools to simulate erosions such as Hydro, Thermal, Flow, and more

This video shows a few landscape features used by Far Cry 5 using Houdini:

  • Houdini Engine for Unreal reads landscapes as a heightfield, points, or mesh

  • Create landscape layers, create textures, and material generation

  • Take landscapes from Unreal and use Houdini Engine to convert it into a static mesh

  • Houdini’s scattering capabilities

  • Use PDG to split up large worlds into smaller sizes for faster simulations and help with team collaboration

  • Landscapes exposes the inputs and outputs to seamlessly communicate between other HDAs

    • An example is you can use a river tool controlled by a curve. The landscape can influence the curve to guide its path while the river tool causes erosion to the landscape.

Associated information

Here are some nodes and concepts you may need to understand before creating landscapes: