Des plugins, scripts Python, COFFEE pour Cinema4D

Des plugins ou scripts Python, COFFEE pour Cinema4D.

Des mots même de son auteur, un "simple bloc-notes", un mini site dépositaire des programmations de son auteur, César Vonc !
En pratique, pour tous les utilisateurs, des scripts, plugin programés en Python ou COFFEE [notre formation] très utiles pour Cinema4D ! Mais aussi des codes sources pour ceux qui veulent apprendre à programmer ces deux langages dans Cinema4D.

http://code.vonc.fr/

Interview de l'auteur : César Vonc

– Bonjour César, peux-tu te présenter ? Quel est ton parcours et ton rapport à Cinema4D (passionné, professionnel ?)

–    Bonjour, je m'appelle César Vonc, j'ai 23 ans, j'habite à Paris, mon parcours s'arrête au niveau du BTS Communication Visuelle. J'ai suivi, par la suite, quelques formations en ligne d'infographie, bien qu'ayant été intéressé à la 3D dès le lycée.César Vonc

– Comment es-tu venu sur Cinema4D ? Depuis combien de temps ?

–    Au départ, j'étais sur ZModeler, un logiciel gratuit conçu pour exporter les modèles dans divers jeux vidéo. J'ai découvert Cinema 4D par hasard via une pub sur internet et ai tout de suite été attiré par son rendu. J'ai commencé à m'en servir il y a six ans, en 2007.

– Tu es plutôt programmeur ou infographiste ?

– Plutôt infographiste. Je me suis intéressé à la programmation à partir d'Xpresso, pour animer des éléments mécaniques, puis doucement en Coffee pour créer des conditions et des boucles de façon plus simple et rapide, puis enfin au Python, pour créer des outils plus complets et intéressants.

– Tu contribue largement à la communauté par des scripts python très utiles,  pourquoi ?

– D'une part pour remercier la communauté de frenchcinema4d.fr de son aide et soutien pour la conception de certains scripts, d'autre part pour me faire connaître. Lorsque je recherche de l'aide sur l'utilisation de certaines fonctions Python ou Coffee, je cherche avant tout des exemples d'utilisation. C'est pourquoi la plupart de mes scripts sont ouverts, pour aider les personnes, notamment débutantes, qui chercheraient comment utiliser telle ou telle fonction et puissent tomber facilement sur des exemples.
Cependant, mon site dédié à la programmation me sert surtout à moi comme un bloc note regroupant des fragments de codes utiles, afin de retrouver rapidement comment faire telle ou telle chose.

– Comment te viennent les idées de ces scripts dont certains gagnerait à être intégré dans le logiciel ?

–    La plupart du temps en modélisant. J'ai dans l'esprit que l'ordinateur doit servir à exécuter les tâches que les humains n'aiment pas faire, c'est à dire des actions répétées et fastidieuses. Dès que j'ai l'impression de faire trop souvent la même chose, je cherche comment automatiser ce processus afin de gagner du temps.

– Quels retours en as-tu ?

– Des remerciements, quelques dons et parfois des demandent professionnelles sur la création d'un outil spécifique.
Maxon avait également écrit un mini article sur mon module Proc3Durale dans leur nouvelle d'octobre 2012, ce qui avait littéralement explosé mon compteur de visites et multiplié les donations ! (et au passage saturé le serveur rendant mon site inaccessible pendant une journée).

– Le script qui calcule les volumes est carrément indispensable pour les designers de packaging, comment t’es venu l’idée ?

– À la base, un proche membre du forum de FC4D me demandait s'il était possible de calculer l'aire d'une surface, car il travaillait souvent sur des projets d'archi. Donc partant de cette idée, je me suis demandé pourquoi limiter à la surface, autant en profiter pour calculer le volume et créer un module complet. Ceci dit, les formules utilisées pour le calcul d'un volume quelconque sont trouvables sur la toile, je ne fais que les appliquer, c'est d'ailleurs pour ça que je le laisse gratuit.

Calcul aire et volume en 3D sous Cinema4D

– Peux-tu présenter Python et son interaction avec Cinema4D ?

– Le Python est un langage de programmation très lisible, facile d'accès et très agréable à utiliser. Dans C4D, il se veut capable de créer des outils du même ordre que ceux disponibles nativement dans le logiciel. C'est à dire avec une interface bien intégrée et autant de fonctionnalités que l'on souhaite.

– Comment se situe Python par rapport aux autres langages déjà présents pour programmer ou automatiser Cinema4D comme C++ ou Coffee ?

– Le C++ est le langage le plus complet pour créer des modules pour C4D. Il est également le plus rapide, sa vitesse d'exécution est bien supérieure à celle du Python et du Coffee. Mais il demande des connaissances plus pointues et un logiciel comme Visual Studio (pour Windows) pour compiler le code à chaque modification. C'est personnellement ce qui me freine à l'utiliser, bien qu'ayant déjà créé un module avec.

Le Python est beaucoup plus simple mais un peu moins complet, bien que les développeurs de chez Maxon agrémentent sa documentation à chaque nouvelle version, on peut faire presque la même chose qu'en C++  hormis certaines fonctions très spécifiques et peu utilisées. À la différence du C++, le Python peut servir soit à créer des modules, soit des scripts. Les modules permettent de créer des déformateurs, matières, outils de modélisation, filtre d'export... Tandis que les scripts ont une interaction beaucoup plus limitée et agissent comme une commande qu'on exécute en temps voulu. On peut par exemple créer un script pour modifier les coordonnées d'un point d'un objet, mais pas de façon interactive avec la souris.
Les propriétés Python et Coffee agissent comme des scripts qui s'exécutent à chaque image, ce qui permet de créer des conditions d'animation comme avec Xpresso.

Le Coffee se limite aux scripts et propriétés, ce langage est "devenu désuet" suite à l'arrivée du Python depuis la R13 qui propose beaucoup plus de fonctions. Le Coffee ne représente donc plus d'intérêt pour moi, tant qu'on travaille avec une version récente de C4D.

– Selon toi, quelles sont les perspectives du développement de Cinema4D ?

– Il y a encore du progrès possible au niveau de la programmation dans C4D, certaines fonctions Python ne marchent pas très bien (comme la gamme des SendModelingCommand qui permet en théorie d'exécuter automatiquement des commandes de modélisation sur des objets), mais surtout, en terme de performances, le Python dans C4D n'est pas exécuté sur un fil de haute priorité et n'utilise qu'un seul processeur, ce qui peut être problématique avec un outil impliquant des objets à plusieurs millions de polygones.
Pour l'instant, le Python se rapproche du C++ en terme de fonctions disponibles pour C4D, ce qui est déjà formidable !
Dès lors qu'on possède les connaissances nécessaires, les possibilités sont quasi sans limites.

– Combien de temps passes-tu sur ces minis plugins Python ?

– Ça dépend, une journée pour les plus petits, plusieurs jours, voire semaines, pour les plus conséquents, comme Proc3Durale qui est sans doute le plus abouti de mes modules.

– D’après toi, quel modèle économique pour rentabiliser ou au moins « rembourser » de tels développements ?

– Vendre tout simplement les modules que l'on créé sur son site est la solution la plus répandue et la plus simple. Certains de mes futurs outils qui auront demandé beaucoup de travail seront en vente de cette façon.
Cependant, travailler à temps plein pour une agence d'infographie en tant que programmeur, pour concevoir des outils et aides à la modélisation pour Cinema 4D me paraît tout à fait envisageable. J'ignore cependant si cela se pratique souvent.

[Note: Gaétan remplit ce rôle chez 3DWeave, mais en complément de son activité principale d'infographiste]

– Hormis ton site, as-tu un lien ou un forum où tu es présent ?

– Je suis présent sur le forum frenchcinema4d.fr et actif dès que le temps le permet.

– Merci César d’avoir pris le temps de répondre à nos questions !

– Merci à vous !