Pratique de Houdini Python. Cela ressemble à un réaménagement des roues, mais le contenu est "connecter le nœud SOP sélectionné à Merge".
selNodes = hou.selectedNodes()
mrgNode = selNodes[0].parent().createNode('merge')
mrgNode.moveToGoodPosition()
mrgNode.setDisplayFlag(True)
mrgNode.setRenderFlag(True)
for i,node in enumerate(selNodes):
mrgNode.setInput(i,node)
#node.moveToGoodPosition()
mrgNode.setSelected(True, clear_all_selected=True)
Si vous ajoutez cela à l'étagère, sélectionnez plusieurs nœuds, puis exécutez Comme ça. Un nœud de fusion est créé et les nœuds sélectionnés y sont connectés dans un lot.
hou.selectedNodes()
Est le super classique "Soyez sélectionné maintenant". Il sera retourné dans la liste.
selNodes[0].parent()
Obtenez la hiérarchie dans laquelle se trouve le nœud que vous sélectionnez actuellement. Utilisez donc la méthode createNode
pour créer un nœud. Un Merge SOP est créé avec createNode ('merge')
.
moveToGoodPosition()
Il déplacera le nœud "en bonne position" sur l'éditeur de réseau. Je l'utilise dans la boucle for dans la seconde moitié, mais je l'ai commenté car il n'était pas très bien arrangé. (Décommentez et comparez le comportement.)
mrgNode.setDisplayFlag(True)
mrgNode.setRenderFlag(True)
L'indicateur d'affichage et l'indicateur de rendu du nœud sont activés.
for i,node in enumerate(selNodes):
mrgNode.setInput(i,node)
Le nœud sélectionné pivote dans une boucle for.
En passant le nœud à la méthode setInput
du nœud Merge que vous avez créé précédemment, ce nœud sera connecté à l'entrée Merge. C'est comme connectAttr
dans Maya.
Le premier argument de setInput
vous permet de spécifier le numéro auquel connecter le nœud. J'utilise ʻenumerate pour obtenir l'ordre de boucle ʻi
, donc je le passe.
mrgNode.setSelected(True, clear_all_selected=True)
Enfin, placez le nœud Merge que vous venez de créer dans l'état ** sélectionné **. Vous pouvez le mettre à l'endroit où vous allumez le drapeau. Ce n'est pas une commande "sélectionner", mais une commande "sélectionner".
selectedNodes http://www.sidefx.com/docs/houdini15.0/hom/hou/selectedNodes
Cliquez ici pour parent (), moveToGoodPosition (), setInput (), setSelected () http://www.sidefx.com/docs/houdini15.0/hom/hou/Node
Cliquez ici pour setDisplayFlag http://www.sidefx.com/docs/houdini15.0/hom/hou/SopNode
Recommended Posts