Merge Nodes-Houdini Python Practice

Qu'est-ce que c'est?

Pratique de Houdini Python. Cela ressemble à un réaménagement des roues, mais le contenu est "connecter le nœud SOP sélectionné à Merge".

scénario

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 merge_node.png Comme ça. Un nœud de fusion est créé et les nœuds sélectionnés y sont connectés dans un lot.

Note

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".

référence

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

Merge Nodes-Houdini Python Practice
Les débutants pratiquent Python
Statistiques prédictives (classification des pratiques) Python
Présentation de Python en pratique (PiP)
Nouveau dans les dictionnaires de fusion python3.9
Entraine toi! !! Introduction au type Python (conseils de type)
Python
Statistiques prédictives (pratique de la régression simple) Python
Algorithme (arborescence de segments) en Python (s'entraîner)
Pratique d'utilisation de ceci en Python (mauvais)
Premiers pas avec Python Web Scraping Practice
Rapport de participation au concours d'entraînement de la bibliothèque AtCoder (Python)
Statistiques prédictives (pratique de la régression multiple) Python
Python 3.9 dict merge (`|`) semble être utile
Premiers pas avec Python Web Scraping Practice
Pratiquer le web scraping avec Python et Selenium
[python] Lisez le fichier html et entraînez-vous au scraping