Un script de génération procédurale de vaisseau spatial pour Blender
Michael Davies (a1studmuffin sur GitHub) est développeur de jeux vidéo depuis plus de 15 ans et a travaillé sur de grands projets tels que Need For Speed Rivals ou encore Battlefield 4. Michael a voulu participer au défi mensuel de génération procédurale sur Reddit.
Sa participation consiste en un script pour Blender 2.76 (le logiciel de modélisation 3D open source) qui produit des vaisseaux spatiaux de manière procédurale.
Pour la génération, son principe est :
- de débuter avec un cube ;
- de créer la coque à travers plusieurs extrusions à l'avant et à l'arrière et en appliquant une translation/rotation/redimensionnement aléatoire ;
- d'ajouter une asymétrie à la coque en extrudant des faces sélectionnées aléatoirement, mais en réduisant la taille à chaque étape ;
- d'ajouter des détails (moteurs, antennes, tourelles, lumières) suivant l'orientation des faces ;
- de créer une symétrie sur quelques parties aléatoires du vaisseau ;
- de biseauter les angles ;
- d'appliquer les matériaux pour le résultat final.
Bien sûr, il y a aussi des résultats quelque peu exagérés :
Le tout est disponible sur GitHub, sous licence MIT.
Votre opinion
Que pensez-vous de la génération procédurale ? Est-ce juste un mot clé à la mode, ou réellement un aspect à approfondir ?
Comment auriez-vous écrit l'algorithme de génération de vaisseaux ?
N'hésitez pas à modifier le script et à nous montrer vos résultats !
Source
GitHub
Partager