Linking parameters/Hierarchy problem

   1703   2   1
User Avatar
Member
2 posts
Joined: April 2019
Offline
Hey Guys,

I'm currently working on a tool where you can add objects to a level.
I've already figured out how to dynamically add elements to “an array” in this case the object merge node.
I use this node so that I can add my meshes as a Houdini parameter and not as a Houdini Input in UE4.

I think this is necessary so that i can orderly add my spread density, color, etc underneath. (as seen in the image bellow)


The problem: when creating my interface I use a multiparm (list) which links to the multiparm (list) created in the “object merge” node. Is there a way to add f.e. color, to the interface list which I can link to a color that gets assigned based on the created groups in the object merge node?
I've tried to add the color to the object merge node's parameters itself, but this appears to be locked and not able to generate the color parameter alongside the other list elements. I've also tried to add the color to the objects separately, but when adding the color to the interface of my HDA underneath the list, it gets overwritten by every instance created of the color.
I've also tried to enable/disable, hide/unhide the color parameter depending on what list element it's placed in, but with no success.

There are Three big questions for me:
Is it possible to add color as a parameter of the multiparm list for my hda interface, which can be used as the color of the groups (or any other way to call upon) of primitives/geometry, created in the object merge node, seperately?

Is it possible to add elements to the object merge node's multiparm list.

IF none of the above is possible, is it possible to hide elements in a multiparm list, depending on which instance they're in? I'm looking at the multiparm list as a for loop in which I want to control the amount of elements visible depending on the instance the loop is currently in.

In short: I want to make it possible to control the color of every object created and loaded in my hda tool.

Cheers,

Bert

Attachments:
Forum_Post.PNG (31.1 KB)
Houdini_Interface.PNG (16.2 KB)

Here to learn :)
User Avatar
Member
2 posts
Joined: April 2019
Offline
bump
Here to learn :)
User Avatar
Member
131 posts
Joined: Aug. 2012
Offline
This is a late reply for you, but perhaps others may be looking for something similar:

If your digital asset is meant to work outside of Houdini, such as in Unreal or Unity via Houdini Engine, you cannot simply use Object Merge to receive inputs such as models or textures. You need to use a String parameter, since inputs from Unreal/Unity are accepted into HDAs as a string reference. In essence, the HDA reads the reference to the object, and pulls that into the digital asset.

Next, certain attributes are bridged via Houdini Engine. Take a look at the Unreal-HEngine docs here [www.sidefx.com] to learn which ones work. Note that standard Houdini attributes like Cd are also carried over. You can use this property to apply a color attribute to the input (geometry), then output it again.

If you find that your instances are having their attributes overwritten by a single parameter, then you may have set up your multiparms incorrectly. Here is a guide [www.artstation.com] to using multiparms to create multiple objects. Note that the loop metadata contains the "iteration" detail attribute that changes each instance, and that attributes are modified upstream of the Block End node in order to change the instances independently.

Finally, to hide elements in the asset's UI, you can drive a parameter's display visibility using the Hide When property in Type Properties. Syntax can be found here [www.sidefx.com]. Make sure to include the "#" symbol of the parameter name when you are working inside multiparms, in order to retrieve the correct parameter instance.
  • Quick Links