Houdini Engine for Unreal - Version 2 Beta
22892 18 3- dpernuit
- Staff
- 550 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!
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!
- aboutvrp
- Member
- 7 posts
- Joined: April 2019
- Offline
- SaOk
- Member
- 13 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
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
- SaOk
- Member
- 13 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
- dpernuit
- Staff
- 550 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.
@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.
- dpotuznik
- Member
- 11 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”);
}
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”);
}
- Yuri Serizawa
- Member
- 12 posts
- Joined: Aug. 2013
- Offline
- dpernuit
- Staff
- 550 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.
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.
- TRex92
- Member
- 43 posts
- Joined: Dec. 2012
- Offline
- Yuri Serizawa
- Member
- 12 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
- Eetu_Mainframe
- Member
- 25 posts
- Joined: Dec. 2019
- Online
- dpernuit
- Staff
- 550 posts
- Joined: Sept. 2016
- Offline
- SaOk
- Member
- 13 posts
- Joined: Jan. 2017
- Offline
With 18.5 and v2, landscape pieces have 90degree offset (didnt have this issue in 18.0/v2 beta) and over certain heights are clamped to zero. Overall size affect the clamp issue. Sometimes working with 4033, always clamped with 8129. Plugin settings seem to affect that clamping bit too, but not finding stable results.
EDIT: Also gives warning HGPO 3 0 1, and HGPO 3 0 0.
EDIT2: PDG workitems also show doubled on UE4 side. Should have total 9 workitems in 2 hda processors and 1 wedge, but UE4 shows 18 (doubled for each node). Dont remember workitems showing doubled in beta.
EDI3: When baking 4 level pieces getting crash. Levels appear in folder, but 2 of them make editor crash if loaded.
EDIT4: Here is the heighfield I am trying to get from houdini to ue4.
https://www.dropbox.com/s/qfzmqot68tabzdy/mapwholefile.bgeo.sc.7z?dl=0 [www.dropbox.com]
EDIT: Also gives warning HGPO 3 0 1, and HGPO 3 0 0.
EDIT2: PDG workitems also show doubled on UE4 side. Should have total 9 workitems in 2 hda processors and 1 wedge, but UE4 shows 18 (doubled for each node). Dont remember workitems showing doubled in beta.
EDI3: When baking 4 level pieces getting crash. Levels appear in folder, but 2 of them make editor crash if loaded.
EDIT4: Here is the heighfield I am trying to get from houdini to ue4.
https://www.dropbox.com/s/qfzmqot68tabzdy/mapwholefile.bgeo.sc.7z?dl=0 [www.dropbox.com]
Edited by SaOk - Oct. 27, 2020 11:17:15
- FUNNYPAW
- Member
- 6 posts
- Joined: Jan. 2020
- Offline
I was using the houdini engine v2 for the ue4, but I had two problems so I posted it.
1. For Static mesh, the material link operates normally in ue4. However, on the Landscape, the material link is not operating normally.
2. The LOD is produced in houdini and applied to ue4, but the camera distance lod_screensize is not working normally.
Please confirm.
1. For Static mesh, the material link operates normally in ue4. However, on the Landscape, the material link is not operating normally.
2. The LOD is produced in houdini and applied to ue4, but the camera distance lod_screensize is not working normally.
Please confirm.
Edited by FUNNYPAW - Oct. 29, 2020 23:30:44
- racarone
- Member
- 1 posts
- Joined: April 2017
- Offline
- dpernuit
- Staff
- 550 posts
- Joined: Sept. 2016
- Offline
@SaOk: Some of the issues you mentioned should be fixed in the beta2 update.
The min/max values set in the plugins settings will indeed affect the conversion, and if set too low, may cause the clipping/thresholding artifacts you had.
The fact that the PDG work items count are doubled is a know issue, only the number are doubled, not the actual number of work items processed.
@funnypaw: The issue with the “unreal_material” attribute has been fixed, try beta2.
for #2, how are you setting the lod_screensize?
@racarone: Support for edit layers is planned, and is likely one of the first feature that we'll be working on after the plugin is properly released.
The min/max values set in the plugins settings will indeed affect the conversion, and if set too low, may cause the clipping/thresholding artifacts you had.
The fact that the PDG work items count are doubled is a know issue, only the number are doubled, not the actual number of work items processed.
@funnypaw: The issue with the “unreal_material” attribute has been fixed, try beta2.
for #2, how are you setting the lod_screensize?
@racarone: Support for edit layers is planned, and is likely one of the first feature that we'll be working on after the plugin is properly released.
- pablo_lukaszewicz
- Member
- 7 posts
- Joined: Dec. 2017
- Offline
- DaMingZa
- Member
- 1 posts
- Joined: Nov. 2023
- Offline
Hi!
I'm using an hda as a porcessor in Unreal to process other actors. I wonder whether I can use the blueprint to control the detail panel of houdini hda?
For instance, I want to choose the 'World Outliner Input' and then confirm what I have chosen automatically in Blueprint.
Do you have any ideas? Thank you very much!
I'm using an hda as a porcessor in Unreal to process other actors. I wonder whether I can use the blueprint to control the detail panel of houdini hda?
For instance, I want to choose the 'World Outliner Input' and then confirm what I have chosen automatically in Blueprint.
Do you have any ideas? Thank you very much!
- Jolly
- Member
- 7 posts
- Joined: Oct. 2014
- Offline
Hi all,
Is it possible to set Houdini Presets from the Blueprints? I know we can set it from the details panel, or by selecting it from the content browser but I need to set it automatically from a BP!
1. I've saved a Houdini Preset Object from the HoudiniAssetComponent's Details menu.
2. Loaded the preset into a Blueprint Editor Utility Widget with a Variable
3. Can't see any way to apply the preset to the HDA in Blueprint? Is there a way to instantiate a preset directly instead?
Thanks for any info on this!
Is it possible to set Houdini Presets from the Blueprints? I know we can set it from the details panel, or by selecting it from the content browser but I need to set it automatically from a BP!
1. I've saved a Houdini Preset Object from the HoudiniAssetComponent's Details menu.
2. Loaded the preset into a Blueprint Editor Utility Widget with a Variable
3. Can't see any way to apply the preset to the HDA in Blueprint? Is there a way to instantiate a preset directly instead?
Thanks for any info on this!
-
- Quick Links