INTRODUCTION

Polygroup Maker est un script/Addon pour le logiciel de modélisation 3D Open source Blender écrit en Python, par Christophe Leblanc courant 2018.

Ce script permet de faciliter la création et la manipulation d'un groupe d'objets positionnés de manière polygonale ou circulaire autour d'un point de centre. Il est donc utile à la création de rosaces ou motifs circulaires, d'effets visuels, de graphismes abstraits, etc...

Créer, modifier et animer de manière synchronisée un tel groupe peut s'avérer être une tâche compliquée et répétitive. Ce script permet de le faire en quelques clics. La version actuelle gère les groupes doubles et tous les polygones réguliers de 3 à 100 clones.

FONCTIONNALITÉS

En détails:

  • Ajout d'un panneau de contrôle utilisateur.
  • Conversion d'un objet compatible en polygroup.
  • Choix du nombre de points.
  • Dimension du rayon.
  • Déformation et rotation des objets enfants.
  • Rotation des enfants concentrée sur le centre, ou non (comme une contrainte "Track To").
  • Compatible avec le système d'animation.
  • Ajout/création/suppression d'un matériau.
  • Destruction et/ou annulation en un clic

Interface utilisateur:

Ce script ajoute un panneau de contrôle dans les propriétés de l'objet qui permet de contrôler toutes ses fonctionnalités. Ce panneau s'affiche différemment en fonction de l'objet actif.

Compatibilité avec Blender:

Ce script a été pleinement testé sur:

  • Blender 2.79 (Windows et Linux)
  • Blender 2.76 (Windows et Linux)

INFORMATIONS TECHNIQUES

Python:

Ce script est écrit en Python, le langage de programmation utilisé pour communiquer avec l'API de Blender et développer des extensions.

2D/3D:

Actuellement, ce script ne gère que les groupes en 2D dans un environnement 3D, il ne peut calculer que des points positionnés sur un plan 2D. Cependant, ce plan peut être tourné sur trois axes. Les objets "enfants" du groupes peuvent être tournés et redimensionnés en trois dimensions et le groupe garde les propriétés de transformation de n'importe quel objet 3D dans Blender (déplacement, rotation, redimensionnement).

Polygroup:

Il est nécessaire de faire la distinction entre le groupe tel qu'il est représenté dans Blender et le "polygroupe" lui-même. L'idée de base est qu'un "polygroupe" est un ensemble d'objets clones réunis au sein d'une même entité. La meilleure implémentation dans Blender est d'utiliser un objet "EMPTY" qui peut contenir des objets enfants. Notons que dans cette implémentation, un utilisateur peut tout à fait ajouter un objet externe au polygroupe dans ce groupe. Ce cas est pris en compte par le script pour ne causer aucun trouble. Tous les membres du polygroupe sont des enfants du groupe, mais tous les enfants du groupe ne sont pas membres du polygroupe.

Création:

La création du polygroupe se produit comme suit: Au début, les valeurs requises à la création du polygroupe sont calculées. A l'étape suivante, un objet de type "EMPTY" est créé à la même position que l'objet source. L'objet source est alors cloné et positionné suivant les valeurs précédemment calculées. Pour finir, l'objet source est enlevé de la scène.

Temps réel et animation:

Ce script fonctionne en temps réel et est pleinement compatible avec le système d'animation. Chaque propriété du polygroupe peut être animée à l'aide de "Keyframes". Ce script peut donc être utilisé pour la production de séquences d'images ou de vidéos.

Manipulation des objets membres:

Les vecteurs de dimension et de rotation des objets membres sont directement transmis du panneau de contrôle aux membres, excepté dans le cas de la rotation concentrée sur le point de centre ("Track To"). Dans ce cas précis, le vecteur de rotation sera calculé par le programme.

Calcul de rotation concentrée:

Le calcul de la rotation concentrée sur le point de centre est effectué dans le script sans l'utilisation de "contrainte" d'objets.

Objets compatibles:

Actuellement, seul les objets de types "MESH" sont compatible. Les objets de type "lumière" seront ajoutés prochainement.

Matériaux:

Ce script inclut une fonctionnalité supplémentaire qui permet de créer, d'ajouter ou de supprimer un matériaux commun au groupe.

INSTRUCTIONS

Utiliser PolyGroup Maker:

Copier le script ou charger le fichier ".py" dans l'éditeur de texte de Blender, puis cliquer sur "Lancer Script" ("Run Script"). Le panneau de contrôle apparaitra dans les propriétés de l'objet.

Créer un polygroupe:

Sélectionner un objet compatible, modifier les options si besoin, puis cliquer sur "Générer" ("Generate").

Revenir à l'objet source:

Sélectionner le polygroupe et cliquer sur "Annuler" ("Cancel")

Détruire un polygroupe:

Sélectionner le polygroupe et cliquer sur "Détruire" ("Destroy")

LICENCE

Ce programme est un logiciel libre, vous pouvez le redistribuer et/ou le modifier sous les termes de la licence GNU/GPL tels que publiés par la Free Software Foundation, version 2 ou supérieure (à votre convenance).

Ce programme est distribué dans l'espoir qu'il soit utile, mais SANS AUCUNE GARANTIE, sans même la garantie d'avoir une QUALITÉ MARCHANDE ou une QUELCONQUE UTILITÉ. Voir la licence GNU/GPL pour plus de détails.

CONTRIBUTION

La passion est primordiale aux développeurs pour leur permettre de continuer à développer des logiciels libres et les distribuer gratuitement. Toute contribution est la bienvenue pour maintenir cette passion en vie.

Vous pouvez contribuer de différentes manières:

  • Montrez moi ce que vous avez fait de ce programme!
  • Faites moi remonter les bugs si vous en trouvez!
  • Faites vos remarques et donnez vos idées.
  • Développez des nouvelles fonctionnalités pour de futures versions.
  • Faites un don pour que je puisse continuer à consacrer du temps à l'évolution et au suivi de ce script.

TÉLÉCHARGEMENT

EN RELATION

Creative Commons License

Ce document crée par Christophe Leblanc est publié sous licence Creative Commons Attribution-ShareAlike 4.0 International License.