Version 2.0.5 - Houdini 18.5.759
Update 5 of the V2 Plugin.
The plug-in is now linked to Houdini 18.5.759 / HAPI 3.7.3.
Binaries are currently available for UE4.26, UE4.27, UE5.00-EA2.
As H18.5.759 is the last 18.5 production, this release will be the last update for the v2 plugin for H18.5.
The Houdini 19.0 plugin can be found in the Houdini Engine for Unreal repository
https://github.com/sideeffects/HoudiniEngineForUnreal
New Features:
Added support for controlling Nanite settings via attributes (UE5)
"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.
Added support for generating landscapes with edit layers
By using the "Generate" output mode, (unreal_landscape_output_mode set to 0).
Edit layer attributes are now supported on heightfield primitives.
It is now possible to set the default directory used in the browse dialog for File parameters by using the "default_dir" Parameter tag.
By default, the plugin now uses the output nodes found in a HDA instead of the display flag.
For landscape inputs, the option to marshall only selected landscapes was added, as well as the auto-selection of landscape components using the asset bounds.
(those two features existed previously in the v1 plugin)
Added an "Update selected components" button, that updates the selected components to the current landscape selection.
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.
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).
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).
Bugs Fixes:
- Fixed Wrong tooltip on Landscape Input "Update Landscape Data"
- UE5: Fixed "double cooking" issue when instantiating a new HDA by dragging it on the viewport. Like in UE4, the HDA is only cooked after being dropped.
- Fixed a regression that caused rebuilds to fail with "Fatal error - invalid".
- All UHoudiniPublicAPIInput classes are now API exported in the C++ Public API.
- AHoudiniAssetActor is now public in the C++ API.
- Fixed setting multiparm parameters via the Public API.
- Fixed various issues with Modify landscape output mode.
- Fixed an issue where temporary 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 behavior.
- Fixed a 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.
- Fixed loading of PDG output regression.
- UE5: Fixed an issue where bake to actor would fail and not create any baked actors/assets.
- Fixed a crash when trying to assign object path properties via generic attributes with an invalid path.
- 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.
- Fixed an issue where HDA would fail to produce an output if the HDA is a SOP/Subnet with the display flag set on an output node, and the "Use Output Nodes is enabled" option is enabled.
- 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 invalid index.
- Fixed landscape tile resizing in Generate mode.
- Fixed an issue where nested empty folders might crash Unreal or Houdini Engine
- Fixed output updates / HDA cooking issues that can occur when using Session Sync.
- 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 an issue where the HDA wouldn't properly switch between editable and non-editable curves.
- Fixed cleanup issue of Houdini Spline input objects in Houdini sessions.
- Fixed an issue where data tables with invalid names (spaces or colons) would not marshall data into Houdini Engine.
- 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 behavior is now CTF_UseDefault instead of CTF_UseComplexAsSimple.
- Fixed issues regarding exported input capsule colliders with rotations.
- Fixed issues regarding exported input translation/rotation/scale of convex collider collisions.
- 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 networks, which in some cases drastically increased the HDA instantiation time, even for assets without any TOP nodes.
- A Landscape's visibility layer is now properly named when sent as heightfield data to Houdini.
- Fixed an issue where collision presets were not being saved from the plugin settings
- 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 BSP transform issue.
- 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.
- Fixed an issue with output nodes: the plugin now ensures that all data from all output nodes are being output properly.
- Prevent modifying non-edit layer landscapes when using the Modify Layer output mode.
- Fixed tracking of transform changes, as well as transform uploading issues, of non-root components in World Input objects.
- Fixed transform updating for Spline components
- Fixed an issue where input nodes were not cleaned up in the session.
- Prevent cooking of HDAs during PIE except for HDAs that are refining geometry.
We now make sure that the plugin is inactive / not ticking during PIE after refinement is completed.