Why is a node recooked when duplicating/alt-dragging it?

   1779   4   2
User Avatar
Member
26 posts
Joined: April 2021
Offline
Can this behavior be stopped or is it just some odd Houdini bug?

Seems like anytime I duplicate a node in anyway (alt-drag, create reference copy, etc) it wipes the original nodes memory/bake and causes everything down stream to also recook.

This wastes sooo much time in bigger sims, remeshing, etc.



On a similar note, exporting from the ROP FBX Output and some other file saving nodes can randomly do this too. It is much less consistent or often than when duplicating a node, but its still very strange behavior. Seems to pick a random node anywhere in the chain to recook before it will save out the data.
User Avatar
Member
26 posts
Joined: April 2021
Offline
Oh and add a copy and paste to the list too, though slightly more inconsistently. That one appears to force a recook about 75% of the time... which just makes it even stranger behavior.

This has a got a be a bug right? Though its been around for years, unless i'm just missing a settings somewhere.
User Avatar
Member
8175 posts
Joined: Sept. 2011
Online
JasOnn
This has a got a be a bug right? Though its been around for years, unless i'm just missing a settings somewhere.

It's not a bug, but highly annoying. When you paste nodes into a network with nodes that have the same name as the nodes being pasted, the existing nodes are renamed to make room for the paste, then the nodes are named back again. Renaming dirties the original nodes. It's unfortunate. A workaround I have is to paste into a new subnet, rename the pasted nodes myself, then copy again and paste into the target network.
User Avatar
Member
13 posts
Joined: Oct. 2021
Offline
is it possible to add something like this in the ALTdrag copy function?
If so could you point me to the script to modify please?

upmode = hou.updateModeSetting()
simupdate = hou.simulationEnabled()
# print(upmode)
# print(simupdate)
hou.setUpdateMode(hou.updateMode.Manual)
hou.updateModeSetting()
hou.setSimulationEnabled(False)

DO THE ALTCOPY STUFF HERE
###hou.hipFile.save(file_name=file_name1)

hou.setUpdateMode(upmode)
hou.updateModeSetting()
hou.setSimulationEnabled(simupdate)
User Avatar
Member
13 posts
Joined: Oct. 2021
Offline
A solution might hide in a script in the network event handler
https://www.sidefx.com/docs/houdini/hom/network.html#examples [www.sidefx.com]

From Sidefx developers:
I don't think there's a way to do this reliably. You could indeed try to add an event handler to intercept the generic mouseup event to tweak the behavior, but you'd have to make sure it's only applied to a specific case (e.g., uievent.modifierstate.alt is True as well as the network editor determines it's a duplicate action).

I haven't had the time to test this yet, but will post results if I achieve it.
  • Quick Links