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!
Houdini Engine for Unreal - Version 2
138062 188 47- dpernuit
- Staff
- 545 posts
- Joined: Sept. 2016
- Offline
- Erwin Heyms
- Member
- 26 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
- briankulig
- Member
- 34 posts
- Joined: Nov. 2007
- Offline
- ReadyVIS
- Member
- 1 posts
- Joined: Nov. 2019
- Offline
- Aladin Sane
- Member
- 67 posts
- Joined: Jan. 2016
- Offline
- 3W
- Member
- 7 posts
- Joined: Oct. 2018
- Offline
- aboutvrp
- Member
- 7 posts
- Joined: April 2019
- Offline
- EricSheng
- Member
- 159 posts
- Joined: Feb. 2018
- Offline
- BenTec
- Member
- 1 posts
- Joined: March 2017
- Offline
- aboutvrp
- Member
- 7 posts
- Joined: April 2019
- Offline
- FDX3245
- Member
- 38 posts
- Joined: July 2019
- Offline
- EricSheng
- Member
- 159 posts
- Joined: Feb. 2018
- Offline
- FDX3245
- Member
- 38 posts
- Joined: July 2019
- Offline
- DASD
- Member
- 453 posts
- Joined: Feb. 2013
- Offline
- dpernuit
- Staff
- 545 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.
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
- dpernuit
- Staff
- 545 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.
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
- aboutvrp
- Member
- 7 posts
- Joined: April 2019
- Offline
- lealexandrebreton
- Member
- 6 posts
- Joined: May 2018
- Offline
- FFD
- Member
- 80 posts
- Joined: Feb. 2018
- Offline
- FDX3245
- Member
- 38 posts
- Joined: July 2019
- Offline
FFDPretty 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.
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.
Does kinda suck for us Unreal users thought.
-
- Quick Links