Houdini Engine for Unreal - Version 2
139769 188 47- EricSheng
- Member
- 159 posts
- Joined: Feb. 2018
- Offline
- MagnusL3D
- Member
- 1110 posts
- Joined: Aug. 2008
- Offline
- DASD
- Member
- 453 posts
- Joined: Feb. 2013
- Offline
MagnusL3D
I would like to be able to override which material is used on instances.
I think that is an Unreal limitation (if you bake to HISMs or ISMs). You can make a special unreal material that makes use of the random instance node, so you get a random value per instance. Also you can make use of world positions to get diversity into your instances.
- MagnusL3D
- Member
- 1110 posts
- Joined: Aug. 2008
- Offline
DASD
I think that is an Unreal limitation (if you bake to HISMs or ISMs). You can make a special unreal material that makes use of the random instance node, so you get a random value per instance. Also you can make use of world positions to get diversity into your instances.
No clue where you got the random things from, never said that I want random. I want to set specific materials from the HDA because I spawn entire sets of modules that have different version of material depending on what I build I may want the concrete version or the metal version. And when I bake it down to actors as if these modules have been placed manually I can override the materials. I just want the same functionallity in the HDA so the preset system i've written for these HDA's can have what material should be used as a part of it.
- DASD
- Member
- 453 posts
- Joined: Feb. 2013
- Offline
MagnusL3DSeems you don't want to bake to HISMs/ISMs (Instance static mesh component) and in that case, the function you are describing should be already available in the current version of Houdini Engine for Unreal. (Though I am not 100% certain about that.) If you were baking to HISMs/ISMs (for optimization purposes) you can only have one set of materials per HISM/ISM component. You can only change all placements in the component at once. I described work-arounds for that scenario.
And when I bake it down to actors as if these modules have been placed manually I can override the materials. I just want the same functionallity in the HDA so the preset system i've written for these HDA's can have what material should be used as a part of it.
- MagnusL3D
- Member
- 1110 posts
- Joined: Aug. 2008
- Offline
DASD
Seems you don't want to bake to HISMs/ISMs (Instance static mesh component) and in that case, the function you are describing should be already available in the current version of Houdini Engine for Unreal. (Though I am not 100% certain about that.) If you were baking to HISMs/ISMs (for optimization purposes) you can only have one set of materials per HISM/ISM component. You can only change all placements in the component at once. I described work-arounds for that scenario.
Well since you use the point attribute “unreal_instance” when defining them I tend to call them instances though in the end I do bake them down as actors having set “unreal_split_instance” detail attribute, I could have been more detailed about that.
As far as I know you can't do it, and saying you think it's available but are not sure doesn't add anything.
There is “unreal_material”, previously “unreal_face_material” but that does not work for this (last time I checked at least) since it is for generated mesh not “instances”. And “unreal_material_instance” is for creating material instances not overriding instances/actors baked down.
Edited by MagnusL3D - Oct. 23, 2019 13:54:07
- ron281279
- Member
- 36 posts
- Joined: Oct. 2018
- Offline
Hey!
Since I stumble over this a lot (I briefly mentioned it before):
It would be great to be able to set exposed blueprint properties in V2.
As an example:
I have a switch and a door (both are points with an unreal_instance holding blueprints in UE4).
In my door blueprint I have an exposed parameter. The switch blueprint is assigned to this parameter so the door knows by which switch it's activated.
Going even further:
When Houdini instances blueprint xxx, I'll need a reference to the xxx actor instance and assign this to Houdini's instanced blueprint yyy's exposed parameter - connecting the two blueprints.
Don't know if this is even possible, but that'd solve a lot of problems when fully automating level generation in UE4.
Since I stumble over this a lot (I briefly mentioned it before):
It would be great to be able to set exposed blueprint properties in V2.
As an example:
I have a switch and a door (both are points with an unreal_instance holding blueprints in UE4).
In my door blueprint I have an exposed parameter. The switch blueprint is assigned to this parameter so the door knows by which switch it's activated.
Going even further:
When Houdini instances blueprint xxx, I'll need a reference to the xxx actor instance and assign this to Houdini's instanced blueprint yyy's exposed parameter - connecting the two blueprints.
Don't know if this is even possible, but that'd solve a lot of problems when fully automating level generation in UE4.
- alibatiste
- Member
- 4 posts
- Joined: July 2019
- Offline
- FDX3245
- Member
- 38 posts
- Joined: July 2019
- Offline
- dpernuit
- Staff
- 546 posts
- Joined: Sept. 2016
- Offline
Hey everyone,
Sorry for the lack of news, v2 has indeed been keeping me very busy for the last few months.
We're making good progress, the new architecture has been fully implemented and we're currently focusing on porting back all the v1 features to v2.
We ended up rewriting/optimizing a lot more of version 1's code as we originally intended, which will likely delay the public beta for version 2 by a few months. I'm currently aiming at having the public beta around march/april next year.
The source code for version 2 of the plugin will also be available on Github when the public beta is made available.
Sorry for the lack of news, v2 has indeed been keeping me very busy for the last few months.
We're making good progress, the new architecture has been fully implemented and we're currently focusing on porting back all the v1 features to v2.
We ended up rewriting/optimizing a lot more of version 1's code as we originally intended, which will likely delay the public beta for version 2 by a few months. I'm currently aiming at having the public beta around march/april next year.
The source code for version 2 of the plugin will also be available on Github when the public beta is made available.
- TwinSnakes007
- Member
- 639 posts
- Joined: July 2013
- Offline
- maninmatrix
- Member
- 1 posts
- Joined: Nov. 2019
- Offline
- commedieu
- Member
- 31 posts
- Joined: June 2017
- Offline
- dpernuit
- Staff
- 546 posts
- Joined: Sept. 2016
- Offline
- aiven
- Member
- 11 posts
- Joined: Sept. 2016
- Offline
Hi! Highly looking forward for the v2 as well!
Here are some issues that bother me currently:
Thank you!
Here are some issues that bother me currently:
- If a HF layer has a value of 1 everywhere on the HF mask, it's not transfered to UE. It'd be best to transfer it because we need one for a base layer like dirt/ground.
- Allow an attribute to adjust the culling distance for instances coming from HF scatter or Copy to points.
VAT Fluid have wrong normals when rotating the object in UE.(Fixed)
Thank you!
Edited by aiven - Feb. 11, 2020 10:40:45
- Khael-PW
- Member
- 1 posts
- Joined: Feb. 2019
- Offline
- alibatiste
- Member
- 4 posts
- Joined: July 2019
- Offline
- fhareide
- Member
- 2 posts
- Joined: July 2018
- Offline
- brettmillervfx
- Member
- 13 posts
- Joined: Feb. 2006
- Offline
It's super important that we can duplicate HDA actors in Unreal, move an HDA actor from one level to another, etc. without crashing Unreal. This is probably the most painful aspect of the current workflow.
And, can we have the HoudiniAssetComponent exposed to python in unreal? Being able to query parameters and set them via the python interface would be really good.
We're having all kinds of problems with garbage collection as well. It doesn't appear that unreal is able to unregister the houdini component when levels stream out, which is spamming the hell out of our logs and contributing to hitches.
Really looking forward to V2.
And, can we have the HoudiniAssetComponent exposed to python in unreal? Being able to query parameters and set them via the python interface would be really good.
We're having all kinds of problems with garbage collection as well. It doesn't appear that unreal is able to unregister the houdini component when levels stream out, which is spamming the hell out of our logs and contributing to hitches.
Really looking forward to V2.
- dpernuit
- Staff
- 546 posts
- Joined: Sept. 2016
- Offline
Hi,
@brettmillervfx: Solving all these annoying issues is one of the main reason for the rewrite and changes in the architecture of the plugin. I can confirm that moving between levels, cut/copy/pasting, duplicating etc.. works seamlessly in v2.
As Version 2 is now using uproperties for all components/objects and classes of the plugin, this also solves the GC issues we had in v1.
Exposing params and inputs via python is in my RFE list, but will likely come after v2 is properly released.
@fhareide: public beta is currently still planned for end of march/april.
@alibatiste: Being able to input BP is a feature that is planned for v2.
@aiven:
#1 the missing mask when they are filled with only a single value is a limitation of UE4, there's not much we can do about it unfortunately.
#2 Version 2 will be apply to apply uproperty attributes to instances, so this should be doable via them.
@brettmillervfx: Solving all these annoying issues is one of the main reason for the rewrite and changes in the architecture of the plugin. I can confirm that moving between levels, cut/copy/pasting, duplicating etc.. works seamlessly in v2.
As Version 2 is now using uproperties for all components/objects and classes of the plugin, this also solves the GC issues we had in v1.
Exposing params and inputs via python is in my RFE list, but will likely come after v2 is properly released.
@fhareide: public beta is currently still planned for end of march/april.
@alibatiste: Being able to input BP is a feature that is planned for v2.
@aiven:
#1 the missing mask when they are filled with only a single value is a limitation of UE4, there's not much we can do about it unfortunately.
#2 Version 2 will be apply to apply uproperty attributes to instances, so this should be doable via them.
-
- Quick Links