I am trying to set a couple properties of a generated mesh, but the engine cannot find the properties. I have looked them up in the source code so I know they are right. They are on a subobject and I am guessing that might not be suppported, but I thought I would ask.
I am trying to set
unreal_uproperty_BuildAdjacencyBuffer
unreal_uproperty_DistanceFieldResolutionScale
LogHoudiniEngine: Could not find UProperty: BuildAdjacencyBuffer
LogHoudiniEngine: Could not find UProperty: DistanceFieldResolutionScale
Here is screen shot of the setup.
Any help would be appreciated.
UPROPERTY Help
5374 9 2- Aladin Sane
- Member
- 67 posts
- Joined: Jan. 2016
- Offline
- dpernuit
- Staff
- 550 posts
- Joined: Sept. 2016
- Offline
Hi,
You're right, this is not currently supported.
For now, UProperties are only modified on Components generated by the plugin (Static Mesh Components, Instanced Static Mesh Components and Instanced Actors Components).
Since the two properties you're trying to update are only in the StaticMesh, (actually on subobjects / substructs of it) the plug-in cannot find them, as it's only looking for them in the components.
You're right, this is not currently supported.
For now, UProperties are only modified on Components generated by the plugin (Static Mesh Components, Instanced Static Mesh Components and Instanced Actors Components).
Since the two properties you're trying to update are only in the StaticMesh, (actually on subobjects / substructs of it) the plug-in cannot find them, as it's only looking for them in the components.
- Aladin Sane
- Member
- 67 posts
- Joined: Jan. 2016
- Offline
- NinjaKahlante
- Member
- 2 posts
- Joined: Sept. 2020
- Offline
I realise this is an old post but think I am running into a similar issue. I would like to be able to set the default settings on a landscape input on my HDA in Unreal (specifically the Export Selected Landscape Components Only tick box). but only seem to be able to change parameters in the ‘Houdini Generated Static Mesh Settings’. Is this going to be supported at any point in the future or is there currently any good workaround?
- dpernuit
- Staff
- 550 posts
- Joined: Sept. 2016
- Offline
Hi,
Generic property attributes are only applied to the output produced by the HDA, not to the HDA itself.
This would cause issues, as we'd need to double cook the HDA to first, get the attribute, apply it, then recook to get the updated result, which would not be ideal.
There is currently no work around for that.
Potentially, we could add support for “presetting” HDA input properties by using parameter tags, but this would only work on object merge inputs, not SOP inputs.
I've converted your original bug report to an RFE
Generic property attributes are only applied to the output produced by the HDA, not to the HDA itself.
This would cause issues, as we'd need to double cook the HDA to first, get the attribute, apply it, then recook to get the updated result, which would not be ideal.
There is currently no work around for that.
Potentially, we could add support for “presetting” HDA input properties by using parameter tags, but this would only work on object merge inputs, not SOP inputs.
I've converted your original bug report to an RFE
- eetu
- Member
- 606 posts
- Joined: May 2007
- Offline
- eetu
- Member
- 606 posts
- Joined: May 2007
- Offline
Just spitballing here, but could it be easier to make the tags available to the HDA in some way? A frozen “Tags” node with detail attributes? envvars?
As a corollary, can the tags be set by the @unreal_uproperty_ mechanism? I triedand
with no success.
As a corollary, can the tags be set by the @unreal_uproperty_ mechanism? I tried
s@unreal_uproperty_ComponentTags = "one";
s[]@unreal_uproperty_ComponentTags = {"one", "two"};
Edited by eetu - Nov. 26, 2020 09:33:09
- eetu
- Member
- 606 posts
- Joined: May 2007
- Offline
Ok some dirty hackery mindgames on how to pass an ID to an instanced HDA, shield your eyes.
On the point to be instanced set a rotation that has the id in its fraction,
(any existing rotations would need to be truncated to full degrees)
Then, if the ID is e.g. 41, the transform on the instance will have a z-rotation of -0.041
which the asset can read with(or is it .y()?)
The resulting rotation of less than one degree is quite tolerable, but one could counter it by counter-rotating the insides of the assets..
When you have an ID, you can read all the rest of the parameter data from a database or file or something.
On the point to be instanced set a rotation that has the id in its fraction,
vector r = set(0,radians(f@id/1000.0),0); @rot = eulertoquaternion(r,0);
Then, if the ID is e.g. 41, the transform on the instance will have a z-rotation of -0.041
which the asset can read with
hou.parent().worldTransform().extractRotates('trs').z()
The resulting rotation of less than one degree is quite tolerable, but one could counter it by counter-rotating the insides of the assets..
When you have an ID, you can read all the rest of the parameter data from a database or file or something.
Edited by eetu - Nov. 26, 2020 09:52:49
- tricecold
- Member
- 260 posts
- Joined: July 2006
- Offline
in this case , we cannot determine the LOD size via plugin, because even thou we can define lodX_screensize as detail attribute, it will be overwritten by unreal setting auto compute LOD distances to 1.
Correct me if I am wrong here but i did try setting a unreal_uproperty_AutoComputeLODDinstances detail attrbiute to 0 as float and int but unreal wouldn't update regardless.
Correct me if I am wrong here but i did try setting a unreal_uproperty_AutoComputeLODDinstances detail attrbiute to 0 as float and int but unreal wouldn't update regardless.
Head of CG @ MPC
CG Supervisor/ Sr. FX TD /
https://gumroad.com/timvfx [gumroad.com]
www.timucinozger.com
CG Supervisor/ Sr. FX TD /
https://gumroad.com/timvfx [gumroad.com]
www.timucinozger.com
- SaOk
- Member
- 13 posts
- Joined: Jan. 2017
- Offline
Seems like bReceiveDecals (tried without b too) is also not supported, found it in UPrimitiveComponent? Or have someone found a way to set that off? Placing decals on walls with PDG HDA, but would set the decal not to show over windows, doors and some other pieces.
Edit: That Eetu's trick can be handy to use with UE4 editor widget to set rest of the needed values. Own roll-decimal for each settings. 0.100101011
Edit2: Nevermind, ReceiveDecals started working as uproperty.
Edit: That Eetu's trick can be handy to use with UE4 editor widget to set rest of the needed values. Own roll-decimal for each settings. 0.100101011
Edit2: Nevermind, ReceiveDecals started working as uproperty.
Edited by SaOk - Feb. 6, 2021 19:44:05
-
- Quick Links