Skip to content

Releases: sideeffects/HoudiniEngineForUnreal

Version 2.0.6 - Houdini 19.0.455

09 Dec 00:16
Compare
Choose a tag to compare

Update 6 of the V2 Plugin.
The plugin is now linked to Houdini 19.0.455 / HAPI 4.2.7.

As only version 2 of the plugin now ships with Houdini 19.0, regular updates of the version 2 plugin now resume on this repository.
The source code available on this repository for the Houdini 19.0 branches is for the daily updates of the plugin, and will likely require the daily build of Houdini.

Source and binaries included for UE4.26 UE4.27, UE5-EA2, and the more recent unreal5.0 branch.

Please note that the source code now available in the Houdini19.0-5.00 branch is now for the recent unreal5.0, not for early access 2.

New features:

  • Added a new attribute, "unreal_force_instancer", that can be used to ensure that an instancer component is created even if there is only a single instance of a StaticMesh.
    If "unreal_foliage", "unreal_split_instances" or "unreal_hierarchical_instancer" is set and not 0, then the particular instancer type is created even if there is only a single instance of the StaticMesh.

  • For landscape inputs, added the option to marshall only selected landscapes, and auto-select landscapes within asset bounds
    Also added "Update selected components" button, that updates the selected components to the current landscape selection

  • By default, the plugin now uses the output nodes found in a HDA instead of the display flag.

  • It is now possible to set the default directory used in the browse dialog for File parameters by using the "default_dir" Parameter tag.

  • Added support for the "unreal_bake_name" attribute that can be used to set the name of the object(s) generated during baking.
    The "unreal_output_name" attribute takes precedence.
    When baking Houdini Instanced Actor Components the "unreal_output_name" (or "unreal_bake_name") attribute, if set, is now used to determine the baked instance actor names.
    When baking Houdini Instanced Actor Components the instanced object name is now used as the default bake name instead of the HDA actor's name (if the unreal_output_name and unreal_bake_name attributes are not set).

Bug fixes:

  • Fixed an issue where rebuilding or recooking may cause Landscapes similar to the one being cooked to be improperly deleted.
  • Fixed rotation transform issues for box collider input.
  • Input object transform offsets are now accessed by input object index in Public API Geometry inputs.
  • Fixed issue where HDA wouldn't update when an input actor is deleted.
  • Prevent cooking of HDAs during PIE except for HDAs that are refining geometry.
  • Disable HoudiniEngineManger ticking during PIE after refinement has completed.
  • Fixed an issue where input nodes were not cleaned up in the session.
  • Prevent modifying non-editlayer landscapes when using the Modify Layer output mode.
  • Fix tracking of transform changes, as well as transform uploading issues, of non-root components in World Input objects.
  • Fix transform updating for Spline components.
  • Ensure that all data from all output nodes are being properly output.
  • Fixed an issue where nodes for world input actors were always recreated on update.
  • Fixed an issue where landscape input transform changes were not applied correctly.
  • Fix BSP transform issue.
  • When removing temporary PDG outputs the plugin now also uses the HoudiniAssetComponent's GUID in the package metadata to determine if the output asset may be deleted.
  • Fixed an issue where collision presets were not being saved from the plugin settings
  • Properly name visibility layer when sending heightfield data to Houdini.
  • Updated how the plugin tries to detect if an HDA should have a PDGAssetLink created.
    The plugin now simply looks for non scheduler/non bypassed TOP nodes in the asset.
    Previously it would look for TOP nodes inside all the non bypassed TOP/SOP network, which in some case drastically increased the HDA instantiation time, even for asset without any TOP nodes.
  • Fixed issues regarding exported input capsule colliders with rotations.
  • Fixed issues regarding exported input translation/rotation/scale of convex collider collisions.
  • The generated mesh output now properly uses the collision complexity from the Houdini Mesh Generation Properties.
    A side effect of this is that the default collision complexity behaviour is now CTF_UseDefault instead of CTF_UseComplexAsSimple.
  • Fixed an issue where data tables with invalid names (spaces or colons) would not marshall data into Houdini Engine.
  • Fixed an issue where the HDA wouldn't properly switch between editable and non-editable curve.
  • Fixed cleanup issue of Houdini Spline input objects in Houdini sessions.
  • Fixed an issue during baking where the baked actors of the work items of a TOP node in the PDG asset link were not shared with the remaining work items on the TOP node.
  • Fixed an issue when processing a spline/curve from Houdini where attributes such as unreal_output_name and unreal_bake_actor were not always updated when the HDA was cooked more than once,
    resulting in baking producing incorrect output names / bake actor names.
  • If unreal_bake_actor is not set for a spline / curve we now use unreal_output_name to determine the bake actor name.
  • Improved how work items of TOP nodes are associated with previous cook / bake data in the PDG asset link.
  • Fixed various cases where after a successful bake the plug-in incorrectly reported that 0 packages were created and/or updated.
  • Fixed output updating and HDA cooking issues that can occur when using Session Sync.
  • Fixed an issue where nested empty folders might crash Unreal or Houdini Engine
  • Fixed landscape tile resizing in Generate mode.
  • Houdini to Unreal StaticMesh translation: fixed an issue where duplicate warnings would be logged in Unreal for meshes with invalid face / vertex data, for each index that is invalid.
  • Fixed an issue where HDA would fail to produce output if HDA is a Sop/Subnet with display flag set on an output node and Use Output Nodes is enabled.
  • Fixed unreal_landscape_editlayer_target attribute for Landscape Modify mode.
  • Fixed landscape input targeting using Input0, Input1, etc.
  • Fixed Landscape edit layer transforms in Modify mode.
  • Houdini Instanced Actor Components now support the unreal_bake_actor attribute when baking:
    the instanced actors are attached to unreal_bake_actor (which is created as an empty actor or re-used from a previous bake depending on the replacement mode).
  • Fixed a crash when trying to assign object path properties via generic attributes with an invalid path.
  • Fixed loading of PDG output regression.
  • UE5: Fixed an issue where bake to actor would fail and not create any baked actors / assets
  • Fixed material update issue for tiled landscapes.
  • Fixed an issue where input updates/changes via the public API, especially with curve inputs, would not always take effect.
  • Updated the public API documentation to mention that the API returns copies of the input configuration of an HDA and that to apply changes the SetInputAtIndex() or SetInputParameter() functions must be used.
  • Initial support for generation of landscapes with edit layers (using Generate output mode).
  • Fixed various issues with Modify landscape output mode.
  • Added support for edit layer attributes on heightfield primitives.
  • Fixed an issue where temp landscapes were not spawned in the HAC's level.
  • Fixed an issue where HDA would output from hidden or nested subnets.
  • Fixed handling of output data between Display nodes and Output nodes to match Houdini's internal behaviour.
  • All UHoudiniPublicAPIInput classes are now API exported in the C++ Public API
  • Fixed setting multiparm parameters via the Public API
  • AHoudiniAssetActor is now public in C++
  • Fixed a regression that caused rebuilds to fail with "Fatal error - invalid".
  • UE5: Fixed "double cooking" issue when instantiating a new HDA by dragging it on the viewport (UE5 specific). Like in UE4, the HDA is only cooked after being dropped.
  • Fixed Wrong tooltip on Landscape Input "Update Landscape Data"
  • UE5: Fixed invisible mesh after cooking (only for the unreal5.0 branch)

Version 2.0.5 - Houdini 19.0.383

03 Nov 22:06
Compare
Choose a tag to compare

Update 5 of the V2 Plugin.
The plugin is now linked to Houdini 19.0.383 / HAPI 4.2.4.

As only version 2 of the plugin now ships with Houdini 19.0, regular updates of the version 2 plugin now resume on this repository.
The source code available on this repository for the Houdini 19.0 branches is for the daily updates of the plugin, and will likely require the daily build of Houdini.

New features:

(UE5) Added Nanite support on output meshes:
When creating a mesh, the plugin now has the ability to control the Nanite settings via the following attributes:

  • unreal_nanite_enabled (int, 0 or 1 ) can be used to enable Nanite processing when building a StaticMesh.
  • unreal_nanite_position_precision (int) can be used to set the position precision.
    Step size is 2^(-Value) cm
  • unreal_nanite_percent_triangles (float [0 1]) can be used to control the percentage of triangles to keep from LOD0.
    1.0 = no reduction, 0.0 = no triangles.

(UE4.26+) Added support for Chaos/GeometryCollection

  • The plugin now has the ability to import/output Geometry Collection.
    A set of attributes can be used to control the properties of the created Geometry Collection.
    For more info, please consult the plugin's documentation.

By default, the plugin now uses the output nodes found in a HDA instead of the display flag.

It is now possible to set the default directory used in the browse dialog for File parameters by using the "default_dir" Parameter tag.

It is now possible to generate landscapes with edit layers (using the "Generate" output mode).

Bug fixes:

  • Fixed landscape tile resizing in Generate mode.
  • Fixed possible crashes when sending empty strings to HAPI.
    This fixed a crash when sending DataTables with empty structs in rows via a geometry input.
  • Fix potential crash with Landscape Inputs
  • Fix issue where HDA would fail to produce output if the HDA is a Sop/Subnet
    with the display flag set on an output node with Use Output Nodes enabled.
  • HoudiniAssetName and HoudiniAssetActorName are now correctly set
    to the HDA name and HDA actor name respectively in the package params when
    baking (previously both were set to the actor name).
  • Added support for the unreal_bake_name attribute that can be used to set
    the name of the object(s) generated during baking. The unreal_output_name
    attribute takes precedence.
  • When baking Houdini Instanced Actor Components the unreal_output_name
    (or unreal_bake_name) attribute, if set, is now used to determine the baked
    instance actor names.
  • When baking Houdini Instanced Actor Components the instanced object name is
    now used as the default bake name instead of the asset actor's name (if the
    unreal_output_name and unreal_bake_name attributes are not set).
  • Houdini Instanced Actor Components now support the unreal_bake_actor
    attribute when baking: the instanced actors are attached to unreal_bake_actor
    (which is created as an empty actor or re-used from a previous bake depending
    on the replacement mode).
  • Fix unreal_landscape_editlayer_target attribute for Modify mode.
  • Fix indexing issue when targeting input landscapes using Input0, Input1, etc.
  • Fix Landscape edit layer transforms in Modify mode.
  • Fixed a crash when trying to assign object path properties via generic attributes with an invalid path.
  • Public API: Mark the inputs as changed in more cases when updating / applying new inputs / input objects
  • Public API Curve Inputs: Check for changes in HoudiniSplineComponent properties or points and mark the spline as changed
  • Public API Curve Inputs: When updating curve inputs, try to re-use the existing HoudiniSplineComponents instead of always creating new ones
  • Public API: Call DeleteInputObjectAt on the input objects that are removed if the input object array shrinks
  • Public API: after setting inputs reselect the HAC's actor if it was selected (this ensures that any new components/visualizers are redrawn)
  • HoudiniInput: Added an optional parameter to DeleteInputObjectAt to not remove the space / index in the array, but to set it to null (to reuse the position in the array when replacing an input object of the same type with another one)
  • Fixed material update issue for tiled landscapes.
  • Fix issues where subnet gathering would traverse too deep and use unexpected output data.
  • Fix issue where subnet gathering would not correctly take subnet visibility into account.
  • Fix resolving of output data between Display nodes and Output nodes.
    If both an Output node and a Display node is present in the same network (and Use Output Nodes are enabled), only the Output node data will be used.
    If no Output nodes are present, always use the Display node. This should now match Houdini's own data-output behavior.
  • Fixed the issue where temp landscapes (shared, actor and streaming proxy) were not spawned in the HAC's level.