Skip to content

Version2 - Beta2

Pre-release
Pre-release
Compare
Choose a tag to compare
@dpernuit dpernuit released this 26 Nov 20:38
· 14 commits to Houdini18.5-4.25 since this release

Beta 2 Update.

The plug-in is now linked to Houdini 18.5.408 / HAPI 3.5.1.
Source code for Houdini 18.0.597 / HAPI3.4.0 is available on the repository as well.


New features:

Baking:

  • Incremental/Replace baking mode.
    The previous "replace" mode, that baked, then deleted the HoudiniAssetActors has been removed.
    Instead, you can now choose between "incremental" or "replace" baking.
    The incremental bake mode always creates new assets and potentially new actors (depending on unreal_actor_name) and leaves the previous baked assets and components intact.
    The new replace mode always try to replace/update the outputs of the previously baked assets/actors.
  • Auto-bake:
    When enabled, HDA outputs will be automatically baked after a successful cook.
  • Remove Output After Baking:
    When enabled, the HDA's temporary/cook outputs are automatically cleared upon baking.
  • The "unreal_bake_actor" attribute can be used to specify the actor to be used for baking.
    The attribute should be set to the actor name, assumed to be in the "unreal_level_path" level if set, otherwise in the current level.
  • The "unreal_bake_outliner_folder" attribute can be used to specify the world outliner folder to be used when baking to Actors.
  • Added the option to recentre components/actors upon baking.
    The center of the Actors bounding box center will be used for the baked actors. (while keeping its world position).
  • Bake a blueprint actor per output:
    When baking to blueprints, a blueprint will be generated per output actor, in the same way that "Bake to actors" works.
  • Added support for baking spline output to UnrealSplineComponent
    Also added support for "unreal_level_path", "unreal_bake_outliner_folder" and "unreal_output_actor" when baking curves.
  • PDG baking also supports the above workflows where feasible.

DataTable input:

Data Tables can now be imported as attributes point clouds via geometry inputs.
The data table attributes all start with "unreal_data_table_", followed by their column index and name.
The data table's type (RowStruct) is set in the "unreal_datatable_rowstruct" attribute.

Blueprint:

Added support for curve inputs.
Curve inputs can now be used in the BP editor when using Houdini Asset Components.

Foliage:

FoliageType assets can now be directly instantiated as Foliage instances when using attribute instancers.

World Inputs:

Added support for HoudiniAssetComponents.
This allows connecting multiple Houdini Assets to a single input.
Houdini Asset Actors selected in a World IN behave similarly than when using asset inputs:

  • cooking the input HDA will trigger a cook of the downstream one,
  • cooking an HDA will cause the instantiation of its inputs HDA etc.

Added a plugin setting to set the default spline resolution value for World inputs.

PDG:

  • Updated how the Autoload flag worked, so that it now acts like in the Unity plugin:
    When set to true, work items are loaded as they are cooked.
    Toggling it after the cook does not load previously cooked work items anymore.
    The previous behavior was confusing and could result in unexpectedly having to wait for many items to finish loading/importing.
    Buttons to manually load/unload work items results on TOP Nodes and TOP Networks have been added to the PDG Asset Link UI.
  • Added support for curve output.

Attributes:
FObjectPathProperties and FFloatInterval/FInt32Interval properties are now supported by generic attributes.
This allows properties like "CullDistance" to be modified via attributes.


Bug fixes:

  • LANDSCAPE: by default, "unreal_level_path" is now empty.
    This makes the default level for baking to be the landscape proxy/tile's world, unless the unreal_level_path attribute was set to a non-empty string.

  • LANDSCAPE: Force resampling instead of padding when the landscape sizes aren't "unreal friendly"
    This helps in limiting the overlapping issues caused by the added padding values on the border when the landscape tiles were not properly sized in Houdini.

  • LANDSCAPE: Fixed the "unreal_material" attribute not being applied to landscapes.

  • LANDSCAPE: Fixed regression causing "unreal_hole_material" being ignored on Landscapes.

  • LANDSCAPE: Fixed landscape tiles not being properly created (except for the first one) when their sizes differed.

  • LANDSCAPE: Fixed unexpected "the file already exists" issues.

  • LANDSCAPE: Fixed bug with overlapping tiles/tile updates.

  • LANDSCAPE: Fixed issues causing generated tiles to have an incorrect world position.

  • LANDSCAPE: Ensure that shared landscape actors transforms are always updated.

  • LANDSCAPE: Fixed coordinate alignment issue when calculating tile locations.

  • LANDSCAPE: Fixed issues when updating tile layers caused by a difference in normalization.

  • LANDSCAPE: Fixed landscape transform/location issues.

  • LANDSCAPE: Offset landscape to compensate for section alignment.

  • OUT: Fixed a bug that caused the ProxyMeshComponent to not display any Proxy after loading a level.

  • OUT: Fixed crash when refining proxy mesh

  • OUT: Fixed crash when unregistering components due to log calling GetPathName()

  • OUT: Proxy mesh refinement:
    The proxy mesh is now saved before refinement to avoid "save dialog" prompts.

  • OUT: Foliage, Fixed the foliage UI not updating upon adding a new foliage type.

  • OUT: Fixed temporary foliage instances not being cleared when clearing the HDA's outputs

  • IN: The revert button on world inputs' spline resolution is now functioning properly.

  • IN: The "unreal_level_path" primitive attribute is now also set when importing mesh/spline components.

  • IN: When importing mesh, spline, or landscape components/actors, we now also create the "unreal_actor_path" primitive attribute.

  • IN: Fixed crash caused by empty material parameters on mesh inputs.

  • IN: Fixed the initial visibility for the "default" Input Curve.

  • PARAM: Fixed various issues when editing ramps parameters with cooking in 'paused' mode.

  • PARAM: Fixed bug when removing elements in MultiParms.

  • PARAM: Fixed issues with Multiparm Blocklist when using object references/string values.

  • PARAM: Fixed Multiparm Blocklist instance deletion.

  • ATTR: Fixed bug when changing "tuple" uproperties (i.e.: vector, color, etc.) via the generic attributes.
    The values were incorrectly read from the generic property attribute value arrays.

  • ATTR: Added PostEditChange calls when setting UProperties via generic attributes.

  • ATTR: Ensure Object class matches UProperty class before assignment.

  • ATTR: Fixed crash when attempting to access tuple string attributes.

  • BAKE: Fixed an issue causing instancers split via the "unreal_split_attr" to not bake to separate blueprints

  • BAKE: split instancers: read "unreal_bake_actor" and "unreal_level_path" per split.

  • BAKE: Material translator: fix issue where generated name metadata is blank.
    When baking this would result in all textures of a material having the same name without the texture specific suffix.

  • BAKE: The world outliner folder naming used when baking is now more consistent.

  • BAKE: Fixed instancers not using the proper bake names.

  • BAKE: Fixed foliage instance components incorrectly detected and baked as Instanced Static Mesh Components when baking to actors.

  • BAKE: Foliage meshes are now baked using their resolved output names.

  • PDG: Added support for UnrealSplineComponents output

  • PDG: Updated UI and tooltips

  • PDG: Fixed a crash when disabling the TOP node filter when there were no results in the TOP node combo box.

  • PDG: Fixed the enabling/disabling of TOP node load work items, show work items, and cook / dirty buttons.

  • PDG: Fixed bugs with TOP Network and Node combo boxes.

  • PDG: Fixed crash caused by the TOP Network combo tooltip

  • PDG: Fixed incorrect log message format string

  • PDG: Fixed Combobox not working without rebuilding the HDA upon loading a level.

  • PDG: Indent TOP Network and TOP Node names by depth
    On the PDG AL UI, the Network and Node names are now indented by depth
    (to make it easier to visualize the node graph in the Combobox).

  • PDG: Handle nodes with child nodes.
    Add up work items from child nodes. Set the parent node state based on the states of the child nodes.
    Disable the autoload and visibility check nodes on parent nodes, must be set on child nodes individually.

  • PDG: Fixed issues when launching the commandlet.

  • PDG: Fixed issues looking for children nodes in subnets.

  • PDG: Added additional logging for PDG events

  • PDG: Don't allow calling cook on nodes/nets that are already cooking.
    This can result in incorrect work item counts in the UI.

  • PDG: Handle cases where work output actors are manually deleted.

  • PDG: Bake to correct world outliner folder
    When re-using PDG output actors in a bake, set the correct world outliner folder.

  • BGEO/Async import commandlet: Fixed crashes when using the async import commandlet.

  • BGEO: Added support for curves when importing .bgeo files.
    Curves are imported as a Blueprint actor with USpline- or UHoudiniSplineComponents.

  • BP: Fix issue where initial cook caused by input component would throw away all parameters.

  • BP: Added initial support for RampParameter.

  • BP: Spline input fixes.

  • BP: Remove stale input objects.

  • BP: Ensure parameter changes don't cause recook while a cook is already in progress.

  • BP: Fixed Blueprint + ramp parameter issues.

  • BP: Prevent component templates from processing parameter updates while paused.

  • V1: Fixed possible v1 compatibility crash caused by empty geo input object.

  • V1: Fixed backward compatibility crashes when PIE before rebuilding a converted/legacy HAC.

  • V1: Fixed crash when converting v1 ramps.

  • Fixed the "SyncWithHoudiniCook" settings being ignored and not preventing session sync updates.

  • Failing to acquire a license is now detected by the plugin when instantiating an HDA and will stop the current Houdini session.
    This prevents further attempts at automatically acquiring a license, which locked unreal for a few seconds when no license can be found.
    This also caused unreal to become unresponsive due to an instantiation loop when modifying a HDA loaded without a license.

  • Reduced the Houdini Engine Manager tick rate from 5ms to 1ms.
    This should help in reducing delays in updates when a lot of HDAs are present in the current map.

  • Optimized detection of PDG Assets.
    This must be done once for each HDA when first instantiating/cooking it and seemed to be causing delays when the HDA used contained a lot of nodes.

  • Fixed build errors for NoPCH builds.

  • Fixed Linux/Clang build errors and warnings.

  • Fixed initialization warnings.