Houdini Engine for Unreal - Version 2 Beta

   1067   11   1
User Avatar
Staff
444 posts
Joined: Sept. 2016
Offline
Hi everyone,

I'm pleased to let you know that the beta for Version 2 of the plugin has been released!
Head over to the v2 github repo to download it:

https://github.com/sideeffects/HoudiniEngineForUnreal-v2/releases/tag/v0.13-Beta1 [github.com]

Here's some of the new features available in the beta:


Blueprint Support (experimental):

It is now possible to use Houdini Asset Components in the Blueprint Editor.
This lets you preset and use Houdini Digital Assets in Blueprint Actors.
Changing parameters on the Houdini Asset will automatically update all placed instances of that Blueprint.

After adding the Houdini Asset Component, the Houdini Asset it uses can be selected in the details panel.
This will cook the HDA, and display its parameters interface.

Currently, only Static mesh and Instancer outputs are supported, and only geometry inputs are available when using HDAs in the BP Editor.


Backward compatibility with Version1:

This wasn't originally in our plan, but has been requested a lot during the Alpha.
The v2 plugin is now backward compatible with version 1, meaning that you can easily upgrade a project that uses V1 to V2.

When loading a level that contains Houdini objects made with version 1, the plugin now tries to convert the V1 components, parameters, inputs and outputs to their v2 equivalents.

The conversion of the legacy data is still in progress and will be improved upon in the future:
Some HDAs might need to be rebuilt after the conversion for their parameters and inputs to be displayed properly by the v2 plugin, and certain types of parameters or inputs are currently not properly upgraded to v2 (for example Editable curves or Handles).

The legacy conversion can be enabled or disabled in the plugin settings.
If disabled, legacy objects will simply be ignored when loading the level.
The legacy settings also have an option to automatically rebuild converted Houdini Asset Components.

This was added to facilitate migrating a version 1 project to version 2.
To do so, we highly recommend duplicating (or at least backing up) your project first.
The version 1 plugin should then be deleted from the Plugins/Runtime folder before copying the version 2 files.
The conversion of the legacy objects will be done automatically upon loading the levels.


PDG Async Import (experimental):

The PDG Asset Link now has the ability to use an asynchronous importer commandlet to import WorkItem outputs once they are ready.

The commandlet communicates with the PDG Asset Link via a message bus, and automatically imports the BGEO files from output work items, creating uassets.
After a successful import, the commandlet notifies the PDG asset link which will then instantiate the uasset in the level.

Asynchronous import can be enabled/started/stopped via the “Work Item Import Settings” entry in the Houdini Engine menu.
The PDG Asset Link will display the status of the async importer in its details UI when using it.


BGEO Import Commandlet (experimental):

The commandlet that is used for Asynchronous import of a PDG Graph's work item outputs can also be used independently, to automatically import BGEO files to an unreal project.

The -watch= command-line argument can be used to place the commandlet into directory watching mode.

The BGEO import commandlet supports importing to bake path, by reading the “unreal_bake_folder” and “unreal_output_name” name attributes when in “bake” mode.

To watch a directory for new files and import them as uassets to the HoudiniEngine temporary path:
<editor_exe> -run=HoudiniGeoImport -watch=
To watch a directory for new files and import them as uassets to bake paths (respecting “unreal_bake_folder” and “unreal_output_name”):
<editor_exe> -run=HoudiniGeoImport -bake -watch=
To import a single .bgeo file as a uasset to the HoudiniEngine temporary path:
<editor_exe> -run=HoudiniGeoImport
To import a single .bgeo file as a uasset to the bake path (respecting “unreal_bake_folder” and “unreal_output_name”):
<editor_exe> -run=HoudiniGeoImport -bake
To display/log the help:
<editor_exe> -run=HoudiniGeoImport -help


Curve Output:

It is now possible to output Spline Components from an HDA.
To do so, curves in the HDA need to be marked using the “unreal_output_curve” primitive attribute (value set to 1).
You can also control if you want the spline to be linear/closed using the “unreal_output_curve_linear” and “unreal_output_curve_closed” primitive attributes respectively.


The beta also has some bug fixes, and an improved Viewport Sync when using Session Sync.

The plugin requires the latest H18.0 production build (H18.0.597).
Source code for the plugin can be found on the github repository:

https://github.com/sideeffects/HoudiniEngineForUnreal-v2 [github.com]


I'd like to give a huge thanks to all the Alpha users who took the time to play around with V2, and give us feedback and report issues!
User Avatar
Member
7 posts
Joined: April 2019
Offline
Today is a red letter day for us
User Avatar
Member
5 posts
Joined: Jan. 2017
Offline
How the heightfield split is made in the 18.5 preview video without seam issues? Getting PGD split landscapes into UE4.25, but cant get rid of buggy seams with tilesplit settings. Do I need to convert the hf to images, to polygons, play with transforms or something? Or is that future feature for Houdini 18.5/UE4.26?

EDIT: I found out the wiki now. Getting better results already, playing around with new attributes and values
https://github.com/sideeffects/HoudiniEngineForUnreal-v2/wiki/What [github.com]'s-new-%3F
Edited by SaOk - Oct. 3, 2020 09:25:31
User Avatar
Member
5 posts
Joined: Jan. 2017
Offline
How to avoid these kind of doubled edges with landscape tiles (landscape streaming proxies in this case)? Using tile split & PDG (i@unreal_landscape_tile_actor_type = 1; in wrangle), but tileoverlap/voxel padding settings dosent seem to have any effect on result. Baking hide the holes, but keep the messed hf data.
Edited by SaOk - Oct. 3, 2020 12:49:55
User Avatar
Staff
444 posts
Joined: Sept. 2016
Offline
Hi

@SaOk, I've already replied to you on Github, but will post my answer here as well for others to see:


Yes, that's an issue we're aware of, the current landscape/world comp integration is a bit picky about the data that's being send from Houdini.

Those overlapping issues on tiled HF when using streaming proxies are likely caused by the fact that the tiles are not properly “sized”. Unreal expects landscape to be of a given size (ie 505x505, 1009x1009 etc.).

https://docs.unrealengine.com/en-US/Engine/Landscape/TechnicalGuide/index.html#recommendedlandscapesizes [docs.unrealengine.com]

We normally resample or pad the HF data to compensate for this, but there is a bug in the beta that causes this issue with landscape streaming proxies. We'll fix that bug in a future beta update, in the meantime, a workaround would be to make sure that your tiles are sized properly.
There is another bug currently when using streaming proxies, that may cause a Z offset on some tiles, this will also be fixed soon, but currently, a workaround for it would be to enable “Use default unreal scaling” in the plugin settings.
User Avatar
Member
5 posts
Joined: April 2019
Offline
Hi,

maybe i doing something wrong,
i use Attribute Instancers [www.sidefx.com] on point cloud to instanciate an Unreal blueprint and set this blueprint with unreal_uproperty.
and he instanciate correctely, but the parameter are not copied correctely it's all messed up.

here a small video of the issue hope it's help you to fix that.



Have Nice Day,
Best Regards
Daniel

Here my VEX Code:

int nearp ;
string inst = “Blueprint'/Game/UDIMU/City/Blueprints/Block_Buildings_1.Block_Buildings_1'”;
string instTmp;

int numPoint = npoints(0);

for (int i = 0; i < numPoint ; i++){
nearp = nearpoints(0,point(0,“P”, i),19);
vector col = point(0,“Cd”, i);

int density = (len(nearp)*2) +5;

int blueprintID = floor( rand(i) * 4 ) + 1;

instTmp = re_replace(“_1”, concat(“_”, itoa(blueprintID)), inst);

setpointattrib(0,“unreal_uproperty_Floor”,i,density,“set”);
setpointattrib(0,“unreal_uproperty_Seed”,i,i,“set”);
setpointattrib(0,“unreal_uproperty_ColorGlowR”,i,col.r,“set”);
setpointattrib(0,“unreal_uproperty_ColorGlowG”,i,col.g,“set”);
setpointattrib(0,“unreal_uproperty_ColorGlowB”,i,col.b,“set”);

setpointattrib(0,“unreal_instance”,i,instTmp,“set”);
}
User Avatar
Member
9 posts
Joined: Aug. 2013
Offline
Hello, just wanted to clarify, this is not compatible with H18.5 yet, correct?
So any HDAs that I intend to use V2 should not have new H18.5 nodes?
Also, would installing H18.5 to my system conflict with this V2 and H18.0.597 combo?
User Avatar
Staff
444 posts
Joined: Sept. 2016
Offline
The beta1 release binaries on github is linked with H18.0.597.
Source code is available for H18.0 / H18.5, on Git, you just need to select the proper branch on the repo.
(and as of today, 18.5 sources are now the default)

But H18.5 ships with the v2 plugin, so yes, you can use v2 with 18.5.
Just copy the Houdini Engine plugin from the Houdini18.5.531/Engine folder into UE's Engine/Plugins/Runtime folder.

Also, as 18.5 ships with both v1 and v2, we don't automatically install the plugin anymore.
The files need to be manually copied, depending on whether you want v1 or v2.
User Avatar
Member
8 posts
Joined: Dec. 2012
Offline
Does anyone know how to setup the paths and environment for use with tops and pdg?
User Avatar
Member
9 posts
Joined: Aug. 2013
Offline
dpernuit
The beta1 release binaries on github is linked with H18.0.597.
Source code is available for H18.0 / H18.5, on Git, you just need to select the proper branch on the repo.
(and as of today, 18.5 sources are now the default)

But H18.5 ships with the v2 plugin, so yes, you can use v2 with 18.5.
Just copy the Houdini Engine plugin from the Houdini18.5.531/Engine folder into UE's Engine/Plugins/Runtime folder.

Also, as 18.5 ships with both v1 and v2, we don't automatically install the plugin anymore.
The files need to be manually copied, depending on whether you want v1 or v2.

Oh I see, that's good to know.
Now I can fully commit to H18.5 then.
Thanks!
Edited by Yuri Serizawa - Oct. 22, 2020 02:54:39
User Avatar
Member
2 posts
Joined: Dec. 2019
Offline
dpernuit
But H18.5 ships with the v2 plugin, so yes, you can use v2 with 18.5.
Just copy the Houdini Engine plugin from the Houdini18.5.531/Engine folder into UE's Engine/Plugins/Runtime folder.

Hi! Will the v2 plugin shipping with 18.5 be a “daily” version or the latest github release?
User Avatar
Staff
444 posts
Joined: Sept. 2016
Offline
Hi Eetu,

Daily 18.5 builds ships with a “daily” v2, it's already more recent than the current Git code, which I'll only update periodically/for releases.
  • Quick Links