Houdini Engine for Unreal - Version 2

   28602   99   35
User Avatar
Staff
453 posts
Joined: Sept. 2016
Offline
Hi,

Sorry for the late reply, version 2 has been keeping me pretty busy lately.

@briankulig: As DASD mentioned, you won't be able to use one instancer / ISMC and set different materials/material parameters per instance,
since that is a limitation on the ue4 side.

If you use the split_instance attributes and get a MeshSplitInstancer, that creates individual SMC instead of instances, then yes, in version 2
it is possible to set the unreal_material attributes per point.

@erwin: Thanks for the feedback! version 2 has indeed a few improvements with curves.

#1. this has been fixed in v2

#2/#3 would probably be similar. We have an RFE planned to be able to draw a curve like in Houdini.
So clicking would place new points (extending the curve) using a ray intersection.
The raycast could use geometry/default plane if no intersection is found.
Currently this will likely be worked on after the v2 release though.


#4 is already in v2. If you alt-click on the curve, it will insert a new point in the middle, where the mouse click was located.

#5 and #6 are good RFEs, and should be easy to implement.


Thanks for the feedback!
User Avatar
Member
8 posts
Joined: May 2013
Offline
dpernuit
#2/#3 would probably be similar. We have an RFE planned to be able to draw a curve like in Houdini.
So clicking would place new points (extending the curve) using a ray intersection.
The raycast could use geometry/default plane if no intersection is found.
Currently this will likely be worked on after the v2 release though.

I would rate this as a pretty high priority personally.

Rapid curve control is what makes a lot of tools work seamlessly in Houdini but hard to use in the Houdini Engine.
Until Python viewstates are able to be used in the UE4 implementation, curves are one of the only ways to control a tool interactively in the viewport.

The ability to spawn or move a curve point under the mouse cursor is especially useful.
For example when working with terrain or complex geometry, avoiding the need to have to drag with the transform widget all the time, rotate your camera, etc.


dpernuit
it is possible to set the unreal_material attributes per point.

On another note, will it be possible to set variables to blueprints instanced by Houdini in V2 ?
Edited by Erwin Heyms - May 13, 2020 04:04:20
User Avatar
Member
31 posts
Joined: Nov. 2007
Offline
@dpernuit Awesome. Thanks for following up!
User Avatar
Member
1 posts
Joined: Nov. 2019
Offline
Integration with UE4's new built-in lidar point cloud actors! Please!

They should be translated to a lidar point cloud in Houdini, and if output is included in generated meshes, this output should be of the same lidar point cloud actor type.
User Avatar
Member
65 posts
Joined: Jan. 2016
Offline
It would be great to have some sample HDAs for the different supported workflows. Being able to look at a working HDA for a workflow would make it so much easier for users to get started.

Static Meshes
Collision
Destruction
Materials
Niagra
etc…
User Avatar
Member
7 posts
Joined: Oct. 2018
Offline
Hi~
@dpernuit
There is a problem:
When I push up or down the landscape In UE4,the original foliage will always fit the height with landscape.
But folage that baked with H-Eninge seams to lost the link of the landscape.
How should I deal with this problem,Or is it possible to be fixed in V2.
User Avatar
Member
7 posts
Joined: April 2019
Offline
June…I hope to release v2 this month
User Avatar
Member
159 posts
Joined: Feb. 2018
Offline
aboutvrp
June…I hope to release v2 this month
Me, too. But it seems like we need to wait a little more time.
User Avatar
Member
1 posts
Joined: March 2017
Offline
Since UE4 supports strand based hair now, could you implement some sort of simple to use bridge for grooms into v2 aswell?
I don't mean grooming right in UE4 but maybe an automated export and import from Houdini to UE4?
Anything that makes the Houdini <-> UE4 workflow easier is greatly appreciated.
User Avatar
Member
7 posts
Joined: April 2019
Offline
August is coming。。。
User Avatar
Member
38 posts
Joined: July 2019
Offline
Can we have an update on the progress of v2?
User Avatar
Member
159 posts
Joined: Feb. 2018
Offline
aboutvrp
August is coming。。。
It delayed for almost one year…
User Avatar
Member
38 posts
Joined: July 2019
Offline
I think sidefx should probably have more people working on this, as it must be a significant undertaking. Unreal Engine is at least as important as Unity…
Edited by FDX3245 - July 17, 2020 05:37:11
User Avatar
Member
446 posts
Joined: Feb. 2013
Offline
I am curious whether you are in contact with Epic games concerning compatibility with Unreal 5. After all, it's supposed to come out next year.
Edited by DASD - July 17, 2020 07:03:19
User Avatar
Staff
453 posts
Joined: Sept. 2016
Offline
Hi

SideFX has put a lot more resources on the plugin, and we're making really good progress.
Version2 is currently in private alpha, Alpha3 to be specific, and we're hoping to start the public beta at the end of August.

Here's a list of some of the new features and changes currently available in the Alpha:

Core:

New and redesigned core architecture, more modular and lightweight:
The plugin now uses 3 modules: HoudiniEngine, HoudiniEngineEditor and HoudiniEngineRuntime.

All the Houdini Engine/HAPI logic is now Editor-only and contained in the “HoudiniEngine” module. All the custom runtime components and actors used by the plugin now simply acts as data-holders, and are processed by the HoudiniEngine modules, removing the need to bake HDA before packaging a game.

The plugin now relies exclusively on native, UProperties based serialization, so operations like cut and paste, move between level, duplicate etc.. do not exhibit any of the issues that version 1 had with those operations.



Outputs:

- Static Mesh creation time has been optimized and now uses Mesh Descriptions.
- You can also decide to use an even faster “Proxy Mesh” generation while editing the HDA. The ProxyMeshes can be automatically refined to Static Mesh, either on a timer, when saving/playing the level, or manually.
- World composition support: Tiled heightfields can now be baked to multiple landscape actors/steaming proxies, and will create/update the levels needed for world composition.
You can specify the level's path by using the new “unreal_level_path” attribute, that is also used by meshes and instancers so they can also be baked out to separate level.
- Material overrides and generic uproperty attributes can be applied on the instancer, or per instance (when using mesh split instancers, or instanced Actors)
- Instancers Components are only created if the number of instances exceeds one. If an instancer only has one instance, a StaticMeshComponent is created instead. This is especially useful if using packed primitives to split geometry.
- Instancers can now have a position offset per instance override variation.
- Physical Materials can be set on landscape/per landscape layer when using the “unreal_physical_material” primitive attribute.
- Added the ability to assign a reference to an asset in the content browser to output mesh sockets.
The referenced asset will be instantiated and assigned to the socket.
- When an asset referenced by an attribute instancer (“unreal_instance”) or for socket assignment could not be found,
the plugin will now create a default “asset not found” box mesh (hidden in-game by default).
This can be enabled/disabled by default in the project settings.
- It is possible to create foliage instances directly, without baking, when using the “unreal_foliage” attribute on an instancer.
- Added support for outputting templated geos:
When the “output templated geo” asset option is enabled, the templated geos in a HDA will be outputted by the plugin using a specific, wireframe, default material and are hidden in-game by default.
- Added the ability to directly instantiate a class (ie “PointLight”, “AudioVolume”… ) when using the “unreal_instance” attribute.
This is especially useful when wanting to instantiate a class that cannot be saved as an asset in the content browser, and removes the need to create a BP for that.

Inputs:

- Colliders on Static Meshes can be imported as group geometry when “Export colliders” is enabled.
- World inputs can now read data from BSP brushes.
- Instancers and Foliage actors are imported as packed primitives instead of merged, individual meshes like in v1.
- World inputs have an improved bound selector mode, that lets them send all the actors and objects contained in the bounds of the selected object.
- World inputs can now import data from all supported input objects (landscape, houdini asset actors..)
- World inputs can now import data from an actor placed in a different level than the Houdini Asset Actor's.
- World inputs now only update the actors that have been modified (version 1 updated all the selection)
- Added buttons to world inputs to select all / clear the current selection.
- A single curve input can now create and import any number of curves.
- You can now simply Alt-click on a curve input or editable curve to insert new points.
- Added “import as reference” on geometry, asset, and world inputs.
This allows importing the selected asset/actors as “unreal_instance” references instead of sending the whole geometry.
- Material parameter attributes are now imported when importing meshes.



Parameters:
- HDA parameters and inputs editing now support multi-selection.
- Parameter UI has been improved:
- Folder UI (tabs, radio, collapsible).
- Ramps UI has been improved, and it is now easy to turn off a ramp's auto-update while editing them.
- String parameters now support Drag & Drop:
When an asset is dropped on a string parameter, its value is automatically set to that asset reference.
This is especially useful to import using unreal_instance / unreal_material attributes.
- String parameters can now be turned into an asset picker, that set the string value to the asset's reference when they have the “unreal_ref” tag.
The class used to filter the asset in the asset picker can be specified via the “unreal_ref_class” tag.
- Support for File parameters has been improved (custom extension, directory, new file…)
- Multi-line strings, Column Labels, Button Strip, Log Int and Floats are now supported.



General:
- The plugin's UI has been completely revamped, a new Houdini Engine menu has been added to the editor.
- bgeo/bgeo.sc files can be imported natively in the content browser (Mesh and instancers).
- The PDG Asset Link has been added, allowing control of TOP network nested in HDAs, and works similarly to the one in the Unity plugin.
- Session Sync is supported, allowing the plugin to connect to a session of Houdini Engine running inside Houdini.
The state of Houdini Engine can be viewed in Houdini while working with the plugin in Unreal, and changes on either end, whether in Unreal via the plugin or in Houdini via its various interfaces, will be synchronized across so that both applications will be able to make changes and see the same results.

I'll try to give you guys a proper sneak peak at v2 soon! stay tuned.
Edited by dpernuit - July 21, 2020 20:26:44
User Avatar
Staff
453 posts
Joined: Sept. 2016
Offline
@DASD: Yes, we are in touch with Epic regarding UE5.
We do want to make sure that HE plugin will be compatible with it, but it is still early.

@BenTec: no support for grooming planned for now.

@ReadyVIS: Lidar points cloud is a separate plugin, so we wont be able to use it with the HE plugin unless Epic decides to integrate it in the engine.

@3W: That is actually fairly complicated to fix, as it is hard to know on what the instances have been scattered when you're in Houdini… Potentially we could try and solve that using additional attributes on the foliage instances, but it wont be trivial.
Edited by dpernuit - July 21, 2020 19:48:05
User Avatar
Member
7 posts
Joined: April 2019
Offline
It's finally coming out
User Avatar
Member
5 posts
Joined: May 2018
Offline
Seems to be great, there is very exiting new features!
Not sure if I understand the meaning of the core changes, does HoudiniEngineRuntine allows us to spawn an HDA in play mode/after building the game, does it allow ingame interactions?
Thanks
User Avatar
Member
65 posts
Joined: Feb. 2018
Offline
It seems like it would be better timing to have a public beta starting in time for the Game Jam, or maybe postpone the game jam? It just seems a bit odd to not make use of the Jam to get more people testing the beta when its only a matter of a couple of weeks.
3D Freelancer
https://www.artstation.com/ffd [www.artstation.com]
User Avatar
Member
38 posts
Joined: July 2019
Offline
FFD
It seems like it would be better timing to have a public beta starting in time for the Game Jam, or maybe postpone the game jam? It just seems a bit odd to not make use of the Jam to get more people testing the beta when its only a matter of a couple of weeks.
Pretty sure the people organizing the game Jam don't have much to do with the development side of things. Besides they have already done the planning for it, and have sponsors lined up.

Does kinda suck for us Unreal users thought.
  • Quick Links