hello, first, is it possible to create inputs for a own digital assets that look like the inputs of the reference lop, one input for a single node and a input for multiple connections?
and what does the "is reference" check box in the type properties page under inputs/outputs mean? I can not tell the difference.
sanostol is it possible to create inputs for a own digital assets that look like the inputs of the reference lop,
I don't think you can, probably just HDK you can do multiinput by specifying lots of inputs, but not sure if you can split off the first one like that in HDA
sanostol and what does the "is reference" check box in the type properties page under inputs/outputs mean? I can not tell the difference
reference inputs show connecting wires as dashed lines to my experience it's purely visual, it doesn't have any functional meaning, many factory nodes however use dashed line to suggest that that geo doesn't get passed to the output but merely used as a reference or helper geo (but again purely for visual purposes completely up to the author which lines they make dashed)
@SWest Mh, can You describe the workflow. The reference LOP is a closed hdk build asset, so You can not dive into into it. And You mentioned "converting" a subnet to a reference LOP, what do You mean by this? Martin
So I do not have time to write short, but think you will figure this out with the folowing info. I’m a Houdini newbie so there might be additional info that I’m unaware of.
Yes, in the same location as you would be able to add the lops reference node simply add a subnetwork node (Each node depend on their parent).
Then you right click your subnet and choose actions and convert type (or similar).
Nnw you will get some options. What you should know now is that HDA:s is like github for a node. So you can make your own nodes and store them somewhere for sharing with your team. It has a built in versioning system.
If you do not work in a team yet, or your node is in an early dev stage, or another reason, you have other options. For example ”embedded” in a hip file is a standard approach. It is also possible to save the node as Python code.
While I’m at it, if you would edit a regular node your changes will be saved as overrides in your Local user folder (Houdini 19.5 where you have toolbars, otls etc). You can delete an unwanted otl if you happened to make a mistake. The original node definitions are stored in another place.
If you want to edit an embedded node that is not a HDA you LMB the ”gear” icon in the parameter editor. I tend to hide unwanted parms and add ”spare parms” usually. It is very similar to regular parms. However, it is very likely you can do whatever you want as long as you are dealing with a copy of a node.
If you create an HDA you likely know the workflow.
okay, well, there is no option to convert a node in the right click menu, just to change type and well, it changes the type. That's it. the image You showed earlier is show just to reference nodes. one has a additional parameter, that's it. I doubt You get a new hda with Your content and functionality, but the interface of the other one. That's not how hdas work, You define then in the type properties and every functionality that You want to have must be available there.
Have You ever opened the type properties of the reference lop and the rig pose sop? Or even tried to dive into the reference Lop?
There are different ways to create digital assets. You can use the tools sidefx provides with their tools inside houdini or You can create them by hdk. the houdini tools are easy to use and very good, but hdk gives You more control and it is more challenging to create them. You have to write them in c++ and compile them for Your target system.
SWest if you have an example of a HDA with input distribution like Reference LOP I think many people would appreciate that
From your descriptions it sounds like you are just describing creating an HDA in general, but the actual question is about defining inputs to be single input + multiinput, which I've seen only on HDK nodes, not HDAs
sanostol Have You ever opened the type properties of the reference lop and the rig pose sop? Or even tried to dive into the reference Lop?
There are different ways to create digital assets. You can use the tools sidefx provides with their tools inside houdini or You can create them by hdk. the houdini tools are easy to use and very good, but hdk gives You more control and it is more challenging to create them. You have to write them in c++ and compile them for Your target system.
Ah, no have not used LOPs very much. However, I took a look at some code and there are a bunch of parms used by the reference node (in LOPs) that do not exist for a subnet and they will not merge. The Rig Pose node and the subnet are much more similar. That is why I got away with it in my case. Thanks for pointing this out.
tamte SWest if you have an example of a HDA with input distribution like Reference LOP I think many people would appreciate that
From your descriptions it sounds like you are just describing creating an HDA in general, but the actual question is about defining inputs to be single input + multiinput, which I've seen only on HDK nodes, not HDAs
Maybe some testing will be needed to see that everything really works, but here are some rough ideas.
Left: It is possible to dynamically build the UI of a node, so the left approach should work. However, there are no visual connections between nodes.
Right: It should be possible to dynamically check what inputs are used and programmatically reorder things. This is a subnet HDA with 100 inputs. So if you drag your connection to any input on the right side, it should be possible to automatically move it far left. It is somewhat a hack and I'm not sure if it feels good to use. If so, maybe it is possible to fix.
Question is purely about the same visual style Since there are many HDK nodes defined this way not only in LOPs but also DOPs
And it has an advantage over full multiinput, mostly that you can easily see and manage first input connection For now I'll continue assuming it's not possible in HDA
The visual look of a node is defined by its type and not the parameters (or node Python code except when calling the node type). Houdini provide some limited access to adjusting the node in the HDA editor (first tab) for example the amount of inputs, but not the type of inputs.
If you want to have exactly the save visual look as a (LOP) reference node you need to find such a node that also let you dive into its subnet. It has to exist in the right context also (SOP/DOP etc). If you find it, you can change its network, parameters and UI inside the parameter editor.
Sidefx could just build in the multi input option to every subnet node (in each category) and add it as an option to the basics of HDA inputs. That is probably the proper place to add it and not introducing complexity with HDK, because then all those otls have to be installed for each category for them to work. Then add the need for compatibility and updates.
sanostol hello, first, is it possible to create inputs for a own digital assets that look like the inputs of the reference lop, one input for a single node and a input for multiple connections?
Image Not Found
For the Houdini artist it is possible to easily achieve a good enough solution for production. That is by using the features that are already readily available.
If you want I can make a quick video, but since now I’m travelling I’ll describe from memory.
First, add a subnetwork node. Make it an HDA. In HDA parameter editor go to basics and set max inputs to 9999 (this is used by standard nodes).
Now attach one node to the input bar. Add att dot to that line. Now you can keep trackbof it.
Inside the network you find input one. If you click on it you will see the external input 1.
The inputs are automatically revealed in the HDA parameter UI. There are built in methods to get inputs with python. Try appending .inputs() to get a list.
Several Houdini nodes do not even show network lines. Using dots is a standard method to organize the look.
I’d use this method if needed and not introduce complexity.