Why the downstream nodes won't respect the change?

   838   1   0
User Avatar
Member
138 posts
Joined: Feb. 2017
Offline
When I change the node name, the downstream nodes do not automatically recognize the change, why? For example, if I change the name of a material node, then I need to specify it again with the assign material node. In sop it's automatically updated,what did i miss?
User Avatar
Staff
4441 posts
Joined: July 2005
Offline
Houdini tracks and automatically updates changes to _node_ paths, including in LOPs. So if you haev a LOP Fetch node pointing to /stage/foo, and you rename that node to /stage/bar, the Fetch LOP will update and point to the new node path. But most paths in LOPs are actually _USD primitive paths_. These sometimes correspond to node names, but not in any reliable way.

So it is not possible for Houdini to update USD primitive paths down the chain when you change a node path (because there is no way to track any purposeful or coincidental corespondence between the two). If you write your USD primitive paths using expressions like `opfullpath` or `opinput`, you can get some amount of automatic tracking. The other approach encouraged by LOPs is to use the `lopmodifiedprims` expression to grab the paths of all primitives modified by a particular node.
  • Quick Links