Developpez.com - Rubrique 2D-3D-Jeux

Le Club des Développeurs et IT Pro

Un script de génération procédurale de vaisseau spatial pour Blender

Réalisé au cours d'un défi sur la génération procédurale

Le 2016-06-21 23:00:48, par LittleWhite, Responsable 2D/3D/Jeux
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
Reddit
  Discussion forum
6 commentaires
  • evil duke
    Nouveau membre du Club
    C'est vraiment cool la génération procédurale.
    J'aimerais bien apprendre comment on s'y prend, mais la plupart des tutos sont souvent trop spécifiques et pas assez généralistes pour être utilisés partout.
  • raphchar
    Membre éclairé
    Peut-être pourrais-tu regarder http://algorithmicbotany.org/papers/abop/abop.pdf, cela me semble une première référence intéressante.
  • LittleWhite
    Responsable 2D/3D/Jeux
    Aussi, récemment, il y a eu cette conférence : http://unity.developpez.com/videos/u...n-procedurale/
  • papy88140
    Membre habitué
    c'est hyper puissant la génération procédurale !

    sinon, comment voulez-vous casez une démo comme celle-ci dans 177 Ko ...
  • Songbird
    Membre expert
    Bonjour,

    Que pensez-vous de la génération procédurale ? Est-ce juste un mot clé à la mode, ou réellement un aspect à approfondir ?
    Un mot-clé à la mode ? Je ne pense pas.
    Pour ma part, je trouve que la génération procédurale (dans un contexte où il n'y a pas besoin d'être très précis) pourrait (peut?) s'avérer utile pour des développeurs qui ne disposent pas d'énormément de ressources (textures, ...) pour concevoir leur jeu sans pour autant réduire le contenu qu'ils souhaiteraient proposer.
  • LittleWhite
    Responsable 2D/3D/Jeux
    Une autre conférence sur la génération procédurale et précisément, la génération de modèles 3D :
    http://unity.developpez.com/videos/u...e-proceduraux/

    Pour les démos de Farbraush, il y a un making of d'une des plus impressionnantes prod du groupe : FR-08 .the .product