Hi,
I got a question regarding node updates between Houdini versions. Perhaps I am missing something really basic here.
I have an HDA which has a "Render Var" node inside of it. It was made using one of the Houdini 19 versions. I now see in Houdini 20.5.278 that this "Render Var" node has a "Husk" tab with some extra settings.
My question is, how can I have my HDA's automatically update to latest node versions, for example this "Render Var" node?
The problem I have is that I currently have to make a new Render Var node, then copy the data from the old node onto the new one and then save the HDA again. Is there not a "refresh" or "upgrade" button somewhere, so I can the extra tabs/settings from the latest new node?
Render Var node inside HDA made in H19, Seen here:
New Render Var node from H20.5 seen here:
Thanks,
How to update Houdini nodes to latest version
397 2 4- kskovbo
- Member
- 47 posts
- Joined: 2月 2020
- Offline
- npetit
- スタッフ
- 411 posts
- Joined: 2月 2008
- Offline
Unfortunately these particular LOP nodes are a little quirky. Their definition hasn't changed. They have a small set of default parameters which will be updated for you when the definition changes, but most of the other parameters get built dynamically when the node is created.
The "Arnold", "Karma", "Renderman", "Husk" folders and all the parms below them fall in that category.
The only way for you to "update" those nodes is by either replacing it with a fresh new instance and recreating the channel references, parm defaults etc that you had setup, or by editing the nodes' parm interface and adding those new folders and parms.
If you look at the various nodes' onCreated script, you'll see there is a handy function that handles creating all the missing parms.
In the case of the RenderVar LOP:
If you replacewith your own hou.Node object, it'll recreate the missing Husk parms on your node.
One caveat is it won't remove any old and deprecated parm, so it's always good to compare all the parms on your updated node with the parms on a fresh new copy.
The "Arnold", "Karma", "Renderman", "Husk" folders and all the parms below them fall in that category.
The only way for you to "update" those nodes is by either replacing it with a fresh new instance and recreating the channel references, parm defaults etc that you had setup, or by editing the nodes' parm interface and adding those new folders and parms.
If you look at the various nodes' onCreated script, you'll see there is a handy function that handles creating all the missing parms.
In the case of the RenderVar LOP:
import loputils loputils.addRendererParmFolders(kwargs['node'], 'Aov')
If you replace
kwargs['node']
One caveat is it won't remove any old and deprecated parm, so it's always good to compare all the parms on your updated node with the parms on a fresh new copy.
Edited by npetit - 2024年11月4日 16:38:25
- kskovbo
- Member
- 47 posts
- Joined: 2月 2020
- Offline
Thanks for the information! This did help clear up some confusion. I understand that those menus are dynamically created when the node is created. It would be great to have a right click button or a global "refresh" nodes button that would update all the nodes with latest menu and keep all the values/input data as it originally was.
-
- Quick Links