TURNA logo

Implémentation de nodes custom en Python dans Katana

Introduction

Katana est un logiciel de gestion de rendu qui permet aux artistes et aux studios de créer des flux de travail personnalisés adaptés à leurs besoins. L'une des fonctionnalités les plus puissantes de Katana est la possibilité d'implémenter des nodes custom via Python, ce qui permet d'étendre les fonctionnalités du logiciel et d'automatiser divers processus. Dans ce tutoriel, nous allons explorer en détail comment créer et intégrer des nodes personnalisés en Python dans Katana.

Pré-requis

Avant de commencer, assurez-vous d'avoir les éléments suivants :

  • Katana installé sur votre machine.
  • Des connaissances de base en Python.
  • Une compréhension des concepts fondamentaux de Katana, tels que les nodes et les graphs.

Structure d'un Node Custom

Un node custom dans Katana est généralement défini par une classe Python qui hérite de la classe de base NodegraphAPI.Knob. Cette classe doit implémenter un certain nombre de méthodes qui définissent son comportement et ses propriétés. Voici une structure de base pour un node custom :

from Katana import NodegraphAPI
class MyCustomNode(NodegraphAPI.GetAllNodes('MyCustomNode')):
    def __init__(self, name):
        super(MyCustomNode, self).__init__(name)
        self.addKnob(NodegraphAPI.StringKnob('myString', 'My String'))
        self.addKnob(NodegraphAPI.FloatKnob('myFloat', 'My Float'))

Création d'un Node Custom

Pour créer un node custom, suivez ces étapes :

Étape 1: Créer un script Python

Ouvrez votre éditeur de texte préféré et créez un nouveau fichier Python, par exemple my_custom_node.py. Dans ce fichier, commencez par importer les bibliothèques nécessaires :

from Katana import NodegraphAPI

Étape 2: Définir la classe du Node

Créez une classe pour votre node en héritant de NodegraphAPI.Knob. Ensuite, définissez le constructeur pour initialiser les propriétés de votre node :

class MyCustomNode(NodegraphAPI.GetAllNodes('MyCustomNode')):
    def __init__(self, name):
        super(MyCustomNode, self).__init__(name)

Étape 3: Ajouter des Knobs

Les knobs sont des paramètres que vous pouvez définir pour votre node. Ajoutez des knobs en utilisant les méthodes appropriées :

        self.addKnob(NodegraphAPI.StringKnob('myString', 'My String'))
        self.addKnob(NodegraphAPI.FloatKnob('myFloat', 'My Float'))

Étape 4: Enregistrer le Node

Après avoir défini les propriétés, vous devez enregistrer votre node dans Katana :

NodegraphAPI.RegisterNode(MyCustomNode)

Exécution du Script

Une fois que votre script est prêt, vous pouvez l'exécuter dans Katana. Ouvrez Katana, puis allez dans le menu Script et sélectionnez Run Script. Choisissez votre fichier my_custom_node.py. Cela enregistrera votre node custom dans l'interface de Katana.

Utilisation du Node Custom

Pour utiliser votre node custom, créez un nouveau graph dans Katana et ajoutez votre node à partir du panneau des nodes. Vous verrez les knobs que vous avez définis dans votre classe, et vous pourrez les utiliser dans votre flux de travail.

Débogage et Tests

Lorsque vous développez des nodes custom, il est important de tester et de déboguer votre code. Utilisez les outils de log intégrés de Katana pour afficher les messages de débogage :

import Katana
Katana.Logger.info('Message de débogage')

Vous pouvez également utiliser des assertions pour vérifier que vos knobs se comportent comme prévu :

assert self.getKnob('myFloat').getValue() >= 0, 'La valeur doit être positive'

Conclusion

Dans ce tutoriel, nous avons exploré les étapes nécessaires pour créer et intégrer des nodes personnalisés en Python dans Katana. En utilisant cette approche, vous pouvez adapter Katana à vos besoins spécifiques et améliorer l'efficacité de votre flux de travail de rendu. N'hésitez pas à expérimenter avec différentes propriétés et méthodes pour tirer le meilleur parti de cette fonctionnalité.

Accélérez vos rendus avec le Cloud TURNA

Les rendus 3D complexes nécessitent énormément de ressources. Pour optimiser vos rendus, envisagez d'utiliser la ferme de rendu décentralisée TURNA. Avec TURNA, vous pouvez bénéficier de la puissance de calcul nécessaire pour traiter vos projets les plus exigeants. Découvrir TURNA

Accélérez votre rendu 3D avec TURNA

Découvrez la ferme de rendu Cloud GPU la plus rapide de France pour Katana.

Essayer gratuitement →