[PYTHON] Introduction à Pyblish, un cadre pour soutenir la construction de pipelines, première partie

Qu'est-ce que pyblish

Site officiel: http://pyblish.com/ Film d'opération: https://www.youtube.com/watch?v=j5uUTW702-U Film d'opération: https://www.youtube.com/watch?v=-MKujcU88W8 Description: https://github.com/pyblish/pyblish/wiki/What-is-publishing Guide de développement: https://pyblish.gitbooks.io/developer-guide/content/

** Framework de support de construction de pipeline ** pour la production vidéo et de jeux développé par Abstract Factory. Il fonctionne comme une seule unité, DCC ou intégré. Contrairement à Shotgun / FTrack / 5th Kind / Tactic etc. * Différence * Il n'est pas destiné à une gestion à grande échelle. Comme son nom l'indique, nous visons la détection précoce et la résolution de problèmes triviaux, en nous concentrant sur un contrôle de qualité minimal des données de sortie. En d'autres termes, pyblish est un cadre permettant de vérifier qu'il n'y a pas d'inconvénients dans chaque processus de création de données avant de les publier et de les transférer automatiquement vers le pipeline. Le but est de confronter et d'éliminer les problèmes rencontrés dans le développement de contenu quotidien par les développeurs qui assemblent différentes parties visant un produit commun.

Étant donné que le noyau n'est qu'un cadre, il appartient à l'utilisateur d'implémenter le comportement réel requis pour le pipeline. Les versions intégrées disponibles à l'heure actuelle sont Houdini, Maya, Nuke, hiero et essentiellement pour la vidéo. Cependant, le concept et la fonction seront utiles même dans d'autres industries.

En ce qui concerne la construction du pipeline proprement dit dans la production de jeux et de vidéos, Ryutaro Nagafune Slide of CEDEC2014 [^ 1] et Bone [Livre] publié numériquement (http://www.borndigital.co.jp/book/5160.html) [^ 2] et sa [Critique de livre] par Eiji Kitada (http://eijikitada.blogspot.jp/2014/09/blog-post_26.html) [^ 3], [Article] de 0303 (http://qiita.com/0303/items/8bb3b72bfabd8b00cfb7) [^ 4 ] Etc.

[^ 1]: [CEDEC2014] Éléments importants dans la création d'un pipeline d'actifs essentiel du point de vue de l'industrie vidéo et de l'industrie du jeu / cedec2014-pfg-slideshare-38869451) [^ 2]: Manuel de construction du pipeline de production de jeux / vidéos [^ 3]: [Critique de livre] Manuel de construction du pipeline de production de jeux / vidéos [^ 4]: Directives de développement de pipeline [WIP]

Tout d'abord, je vais aborder les avantages et les inconvénients ci-dessous.

avantage

Bien sûr, non seulement pyblish mais aussi visant à un tel contrôle de qualité, je pense que chacun a un mécanisme pour appliquer diverses validations. Ce qui rend pyblish différent est

Lors de son utilisation en équipe, il est possible d'exécuter uniquement les vérificateurs nécessaires en fonction de la partie en charge et des données. Il n'est pas nécessaire de désactiver manuellement les vérificateurs inutiles.

Bien qu'il s'agisse d'une restriction à l'utilisation de pyblish, l'environnement de production et le flux peuvent être alignés et gérés comme décrit ci-dessus.

Désavantage

Constitution

https://github.com/pyblish/pyblish/wiki/How-it-works

Le corps principal de pyblish est composé de divers modules et peut être grossièrement divisé en couches pour une intégration d'application a: core b: OS c: DCC. Vous pouvez le découvrir en consultant la liste des référentiels sur https://github.com/pyblish.

Le corps principal de pyblish fournit un cadre pour l'opération, et l'opération réelle est implémentée comme une extension (ci-après dénommée extension pyblish). Le corps pyblish active les fonctions implémentées dans l'extension pyblish en fonction des paramètres. À titre d'exemple d'implémentation de référence d'extension,

Existe

Il existe quatre types de plugins pyblish que vous pouvez faire. Dans l'ordre de traitement,

collection Rassemblez-Rassemblez des informations sur ce que vous souhaitez publier et préparez-vous pour les étapes suivantes. Connectez-vous à la machine Nom d'utilisateur, date, quel type de fichier est ouvert dans la scène, quel genre de choses se trouve dans la scène, etc.

validation Vérification - Vérifiez les données collectées. La phase la plus importante. Par exemple, les nœuds suivent-ils les conventions de dénomination, le système d'unités est-il correct, il n'y a pas de couches vides, etc.

extraction Extraction - Sauvegardez ce dont vous avez besoin à partir des données validées. Cette phase ne sera exécutée que si la validation est réussie.

integration Intégration - Intégrez les données extraites et stockées pour d'autres environnements et pipelines. Par exemple, enregistrement dans une base de données, enregistrement dans vcs, enregistrement du système de suivi des tâches, conversion de données, etc.

Après cela, je prévois d'écrire un article sur l'introduction et le fonctionnement réels. Il est indécis quand ce sera


Recommended Posts

Introduction à Pyblish, un cadre pour soutenir la construction de pipelines, première partie
Spigot (Paper) Introduction à la création d'un plug-in pour 2020 # 01 (Construction de l'environnement)
Comment faire un test unitaire Part.1 Modèle de conception pour l'introduction
[Introduction à python] Introduction rapide à Python pour les programmeurs C ++ occupés
Introduction à PyQt4 Partie 1
[Introduction à cx_Oracle] Présentation de cx_Oracle
Une super introduction à Linux
Introduction à Ansible Part «Inventaire»
Introduction à Python pour, pendant
Introduction à Ansible Part ④'Variable '
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
Introduction à Ansible Partie 2 'Grammaire de base'
Une introduction à Mercurial pour les non-ingénieurs
Introduction à Python Hands On Partie 1
De Ubuntu 20.04 introduction à la construction d'environnement
Une introduction légère à la détection d'objets
Premiers pas avec Python pour les non-ingénieurs
Introduction à Ansible Partie 1 Hello World !! '
[Introduction à Udemy Python3 + Application] 47. Traitez le dictionnaire avec une instruction for
Une introduction aux applications Web Python auto-conçues pour un ingénieur Web de troisième année paresseux