Jump to content

Naming conventions and guidelines for Houdini scenes/nodes


magneto

Recommended Posts

Is there a resource that talks about this?

My biggest curiosity is whether to name every node you create, etc?

Most files I have downloaded from here or ones I have seen in video tutorials do not name the majority of nodes. So the majority of things look like:

box1

sphere1

xform1

delete1

xform2

merge1

color1

color2

switch1

etc

This makes sense to me because since Houdini is much lower level than other 3d software, I feel like if I did rename every node, it would be akin to renaming each operation in your history stack in Maya or renaming every modifier in the modifier stack in Max (although this is much higher level), or commenting every line of code you write.

What do you guys think about this? What's your take on it?

It seems it's easier and far more descriptive for me to see the type of the operator used so I can make assumptions on how the network works, instead of trying to understand it from a custom name like "get center", "color all points", etc. That's why having them with default names allows me not to select each and every node to see what it is.

This is my biggest question about naming. Other than this, I am wondering if there are any resources that tell you to use all uppercase for Null operators, and use a prefix on this or not?

For instance if you have a giant network, and have many Nulls inside, should you name them just however you want, or also prefix them with "OUT"? I have seen both and other variations so not sure about this. After seeing some people using "OUT" prefix, I thought it helps with the sorting of them so you can see them all in one place, but it seems like Houdini already places Nulls at the top of the hierarchy.

Thanks guys :)

Link to comment
Share on other sites

about this? What's your take on it?

It seems it's easier and far more descriptive for me to see the type of the operator used so I can make assumptions on how the network works, instead of trying to understand it from a custom name like "get center", "color all points", etc. That's why having them with default names allows me not to select each and every node to see what it is.

I prefer to leave the nodes name, and add the description in the node's comment field. Network boxes and sticky notes helps alot to define areas once the tree gets more complex.

I have also renamed some nodes but kept their original name like "group_top_row" or "xform_half_scale".

  • Like 1
Link to comment
Share on other sites

I only name a few types of nodes.

- Group SOP are called "g_groupname"

- AttributeCreate are called "a_attributename"

- all my last nodes are nulls, and named "output" unless I split to two nulls called "display" and "render".

- I name VOP, Subnet, ForEach or anything that contains nodes (just naming it to what ever helps describe it)

- I always rename managers to there simple form "chop", "shop", "pop", etc..

If you work by yourself. Node naming isn't really an issue, but on a team people have to work the way the boss likes ;)

"output" nulls help me find them when browsing for a node reference. Houdini lists them alphabetically which messes up the order, so knowing that the last node is always called "output" helps.

"g_xxxx" helps me remember a group name by just looking up the node tree.

"a_xxxx" doesn't really help me remember, middle clicking on a node is faster, but it does help me find the node that created the attribute quickly. So I can adjust the default value.

I'll also rename nodes to insult coworkers "john_your_an_idiot" just for fun.

  • Like 1
Link to comment
Share on other sites

If you work by yourself. Node naming isn't really an issue, but on a team people have to work the way the boss likes ;)

"output" nulls help me find them when browsing for a node reference. Houdini lists them alphabetically which messes up the order, so knowing that the last node is always called "output" helps.

I always prefix the output nulls with an underscore, _out_vol _out_particles _out_sdf etc, that way they are always on top of the list.

Also, naming things sensibly helps when I need to open an old hip, and wonder what the hell this guy (me) was thinking when he made this.

Edited by eetu
  • Like 1
Link to comment
Share on other sites

@Eetu, aren't null nodes always put at the top regardless of the name? I thought that was the case but not 100% sure.

@Hopbin, some good rules there. I also name the nodes that contain others, that makes sense.

What if you have several nulls though, more than 2, then how do you name them?

Or is it a good practice to always have a Null at the end of every network? So even if it's a simple box, sphere, etc, so when you later refer to them in other networks, the null is there?

Link to comment
Share on other sites

I like to leave the node name in place most of the time and then add a description after it in camel case. People who don't leave the original node name/type are annoying to me because it takes a few clicks to figure out what kind of node you're dealing with, for complex scenes with thousands of nodes this is a big deal. The exception is with null nodes which I usually title in all capitals or higher level nodes (like /obj/geo1). Some examples are below.

xform1 --> xform_moveCharacterToRoot

sphere1 --> sphere_forParticleEmitter

null1 --> CHARACTER_ORIGINAL_POSITION

null2 --> FOR_RENDER

geo1 --> characterImport

mantra1 --> characterBeauty

You get the idea. I've never had anyone complain about those conventions before. They are very clear and one can easily tell what the node is/does. I think you'll find everyone is a little different which is fine, as long as you're consistent in your methods people can figure it out.

Edited by lukeiamyourfather
  • Like 1
Link to comment
Share on other sites

On the same token, is there a tool or command in Houdini to consolidate the existing node names?

Sometimes you create too many nodes and in the end delete some of them only to end up with things like:

box5

box7

box8

sphere2

sphere5

etc

It would be nice if there was a tool such that if a node ends with a number (or if it's nodename + number), it would go through each and rename them to use the smallest available number.

I heard there might be something like this in xtools but not sure, no recent updates on that recently :)

Link to comment
Share on other sites

On the same token, is there a tool or command in Houdini to consolidate the existing node names?

When you select your node press "Alt-w" to get the "Rename selected nodes" dialog. If you toggle "Remove trailing Digits" and press "Rename" the node numbering will be redone.

-dennis

Edit: Just tried it and it seems to not work very consistently. Sometimes it's necessary to delete the last character from the node name and then add it again to get a proper numbering. But it's still pretty fast as this can all be done in the same dialog.

Edited by dennis.weil
  • Like 1
Link to comment
Share on other sites

As far as naming nodes, when I build a new help card (that ship with Houdini) and there is a node that is of interest, I will leave the orginal type name in place and follow with an underscore and a descriptive name. I don't care much when someone strips the prefix when changing the node itself. After all these years, I still don't know what some icons mean and when I work on networks, I am zoomed out so far that you can't even identify the icon to know the operator type. I vote for leaving the operator name prefix in place.

I also add a comment on the node that explains why the node exists in the chain.

Finally I add a general note (or two) that provdes more general information about the network and other external dependencies.

Been doing this for years and yeaers.

  • Like 2
Link to comment
Share on other sites

Thanks old school, it's great to hear your take on it. I also don't know most of the icons and was wondering if with time I would recognize them by icons, as I am still very new to Houdini. So thanks for clearing that up as well :)

Also congrats on the infinitely exciting release of Houdini 12. It's really a dream come true.

Link to comment
Share on other sites

If I have the time ( haha) then I prefer to leave the name and add a description. Like: attribute_delete_v, vopsop_add_distance, object_merge_campos

Nodes to go into other networks or final ones I name OUT, RENDER. If they will be picked up by something else inside the network I write To_Chops, VolumeVel.

Attributes inside subnets I often prefix with an underscore _floatId, _max

I also color code. Stuff that goes out is deep red. Stuff that comes in is black. Deprecated wip nodes go dark grey. Pops are blue and vopsops purple. Diskcaches red. Chops green.

Edited by Macha
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...