Houdini Python-Praxis. Es klingt wie eine Neuentwicklung der Räder, aber der Inhalt lautet "Verbinde den ausgewählten SOP-Knoten mit 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)
Wenn Sie dies zum Regal hinzufügen, wählen Sie mehrere Knoten aus und führen Sie es aus So was. Ein Zusammenführungsknoten wird erstellt und die ausgewählten Knoten werden in einem Stapel damit verbunden.
hou.selectedNodes()
Ist der Super-Klassiker "Jetzt ausgewählt werden". Es wird in der Liste zurückgegeben.
selNodes[0].parent()
Rufen Sie die Hierarchie ab, in der sich der aktuell ausgewählte Knoten befindet. Verwenden Sie also die Methode "createNode", um einen Knoten zu erstellen. Eine Merge-SOP wird mit createNode (merge) erstellt.
moveToGoodPosition()
Dadurch wird der Knoten "in einer guten Position" im Netzwerkeditor verschoben. Ich benutze es in der for-Schleife in der zweiten Hälfte, aber ich habe es auskommentiert, weil es nicht sehr gut arrangiert war. (Kommentieren Sie das Verhalten aus und vergleichen Sie es.)
mrgNode.setDisplayFlag(True)
mrgNode.setRenderFlag(True)
Das Anzeigeflag und das Renderflag des Knotens sind aktiviert.
for i,node in enumerate(selNodes):
mrgNode.setInput(i,node)
Der ausgewählte Knoten wird in einer for-Schleife gedreht.
Durch Übergeben des Knotens an die Methode "setInput" des zuvor erstellten Merge-Knotens wird dieser Knoten mit dem Merge-Eingang verbunden. Es ist wie "connectAttr" in Maya.
Mit dem ersten Argument von "setInput" können Sie die Nummer angeben, mit der der Knoten verbunden werden soll. Ich benutze enumerate
, um die Schleifenreihenfolge i
zu erhalten, also übergebe ich sie.
mrgNode.setSelected(True, clear_all_selected=True)
Versetzen Sie abschließend den soeben erstellten Zusammenführungsknoten in den ** ausgewählten Zustand **. Sie können es an der Stelle platzieren, an der Sie die Flagge einschalten. Es ist kein "Auswahl" -Befehl, sondern ein "Auswahl" -Befehl.
selectedNodes http://www.sidefx.com/docs/houdini15.0/hom/hou/selectedNodes
Klicken Sie hier für parent (), moveToGoodPosition (), setInput (), setSelected () http://www.sidefx.com/docs/houdini15.0/hom/hou/Node
Klicken Sie hier für setDisplayFlag http://www.sidefx.com/docs/houdini15.0/hom/hou/SopNode
Recommended Posts