Category: 3D


Les ficelles du métier #2 – Blender

June 2nd, 2014 — 4:06pm

Blender, c’est quoi?

Blender. Faut-il encore présenter cet outil ? Oui ? Ok.

Blender est un logiciel gratuit et Open source de modélisation 3D (pour les novices, ça veut dire qu’il nous permet de créer les objets et personnages que vous retrouvez dans nos jeux).

Qui plus est, il est multiplateforme ! Cerise sur le gâteau, il est codé en Python.

Ceux qui nous connaissent ne seront donc pas surpris que nous utilisons ce logiciel.

16481-shot0
Monstre de GWS, version LD

Seul bémol, l’interface.

En effet jusqu’à Blender 2.5, l’interface graphique demeurait austère et requérait une solide connaissance des raccourcis clavier pour la moindre modélisation.

Ce problème a heureusement été résolu dans les versions plus récentes. Je rassure tout de suite les maniaques du clavier : les raccourcis sont toujours là, ils sont juste moins essentiels.

Pour les connaisseurs, le moteur 3D lui-même a été fort critiqué dans le passé mais Blender s’est rattrapé depuis, notamment avec son moteur Cycle, qui calcule l’image à partir d’une technique de calcul appelée ray tracing et qui nous a permis de faire de très jolies choses…

Bastien, travail de fin de formation en 3D, première année, thème “Jeu d’échecs” – Premiers tests avec Cycle

Évidemment, pour les jeux, ça demande un peu trop de performance. Nous nous en tenons donc généralement au moteur de rendu par défaut.

Les mains dans la pâte !

Ceux qui suivent le blog le savent, il y a trois ans, Christel, Bastien et Thomas ont été suivre une formation de 3D dans l’Institut de formation supérieure tout proche.

Petite anecdote amusante : le cours devait être donné sur 3D Studio Max, un autre logiciel de programmation. Cependant, en faisant pression sur le professeur, nous avons réussi à obtenir que le cours nous soit donné en parallèle sur Blender. Cela a tellement bien marché qu’actuellement le cours n’est plus donné qu’en Blender ! Nous n’avons donc aucun remord.

Nous avons suivi cette formation deux ans de suite, nous traînant en classe le samedi matin dès potron-minet pour apprendre la modélisation 3D et l’utilisation de Blender.

Bastien a même rempilé pour une 3e année (et a traîné Joan avec lui, sisi, souvenez-vous, elle avait participé avec nous au Ludum Dare 24).

Christel, travail de fin de formation en 3D, deuxième année, thème “reproduire une image” – Vous reconnaissez?

Une formation, pour quoi faire?

Ce qui est particulier avec la modélisation 3D c’est que c’est un monde à part. Toute personne ayant déjà ouvert un logiciel de 3D “pour voir comment c’était” s’en rendra compte : s’en sortir sans formation ni tutorial, c’est la galère.

Penser en vertex, en side, en face et en node, ou appréhender ce qu’est une normal demande un peu de temps. Mais une fois passé cette étape, Blender devient accessible, grâce à sa nouvelle interface et aux possibilité qu’il offre.

Un exemple ? Les transformers, qui permettent de calculer automatiquement une série d’objets alignés, à l’aide du array, ou de travailler en symétrie en utilisant le mirror.

2014-06-02_18h01_42
Des chaises de salle d’attente de « Get Well Soon! » – elles utilisaient l’Array avant d’être compilées

Interactivité !

De plus, et c’est pour nous un atout majeur, Blender s’interface parfaitement avec Unity 3D (voir un post précédent). Il faut comprendre par là que Unity 3D interprète sans difficulté le format natif de Blender (les fichiers .blend) et qu’il nous suffit juste d’ajouter les fichiers contenant nos models dans notre projet pour qu’ils y soient accessibles.

Sérieusement, on doit juste drag & dropper les objets et ils apparaissent ! C’est magique.

Projets GSM utilisant Blender

Eh bien, tous ceux faits en 3D !

OUT OF HERE

Premier essai plus ou moins abouti de jeu en 3D pour GSM Productions (lors d’un Ludum Dare, bien entendu ! Le Ludum Dare 20), les graphismes du jeu ont surtout consisté en cubes et cylindres très basiques.

Les différents objets du jeu ont néanmoins été modélisés et texturés dans Blender – une vieille version d’ailleurs, datant de l’époque de l’interface infernale. Un plugin Python écrit par un membre de la communauté les exportait vers l’un des formats utilisés par Panda3D (que nous utilisions avant de passer à Unity3D).

Player 2, Start! (LD24)

Non seulement le niveau 3 avait entièrement été modélisé grâce à Blender mais nous avions établi les colliders et placé les monstres et les éléments du jeu dans Blender avant export vers Panda3D.

Considérant qu’il s’agissait d’un plateformer dont trois niveaux sur cinq étaient en 2D, ce n’était pas notre choix le plus pertinent (mais on se soigne depuis).

Christel : “Heureusement, je me suis améliorée depuis…”

Les personnages, quant à eux, avaient été modélisés sur Maya par un ami graphiste qui s’était joint à nous pour l’aventure : Jonas.

Get Well Soon! (LD27)

Évidemment, on n’allait pas ne pas parler de notre bébé du moment. L’entièreté de la version du Ludum dare avait été modélisée par Christel sous Blender (elle vous disait qu’elle s’était améliorée…) et l’animation, également sous Blender, avait été confiée aux bons soins de Bastien.

Dans les versions subséquentes (que vous pouvez toujours trouver sur FrenchCows), la grosse majorité des objets reste modélisée sous Blender. En effet Dimitri, qui nous donne un énorme coup de main notamment avec la modélisation des personnages, utilise ses propres outils.

(Promis, le prochain jeu 3D de GSM Productions ne comptera pas de point d’exclamation dans son titre…)

gws1

Bref !

En résumé, Blender est un logiciel puissant, abordable sur le plan technique, gratuit, Open source et multiplateforme. Que demander de plus ?

Comment » | 3D, Tools

Les ficelles du métier #1 – Unity3D

January 28th, 2014 — 7:36pm

Chez GSM Productions, nous aimons bien expérimenter. Du coup, depuis nos premières expériences vidéoludiques jusqu’à Get Well Soon!, nous n’avons jamais cessé d’essayer de nouveaux outils et de nouvelles méthodes. Cela dit, il semblerait que dernièrement, cette recherche tous azimuts laisse tout doucement place à une consolidation de notre “boite à outils”. C’est pourquoi nous avons décidé d’écrire une petite série d’articles vous présentant nos différents outils. Que vous soyez vous-même dévelopeur de jeux vidéos ou que vous soyez simplement curieux d’apprendre ce que lesdits dévelopeurs utilisent, suivez le guide !

Le choix le plus fondamental est sans conteste celui du “moteur de jeu”. De nos jours, il devient de plus en plus rare d’entreprendre de coder l’entiereté du jeu de A à Z. Bien qu’il s’agisse d’une solution permettant un contrôle total, la complexité du matériel présent dans les ordinateurs d’aujourd’hui, ainsi que celle des jeux actuels, rend cette tâche bien plus périlleuse qu’elle ne l’était auparavant. Parmi la myriade de moteurs et de librairies simplifiant le dévelopement, nous avons jeté notre dévolu sur Unity3D, un choix très populaire, surtout parmis les dévelopeurs indépendants.

Unity Editor Screenshot

L’éditeur de Unity3D pendant une session de travail sur Get Well Soon! 

L’un des avantages de Unity3D est qu’il offre une version gratuite aux limitations bien pensées qui laissent au dévelopeur un très vaste panel de possibilités. De plus, Unity3D est un moteur proposant de nombreuses options d’export du produit fini : PC (Windows, MacOS, Linux), navigateur Web, Android, iOS…  Et avec les licenses appropriées, il est même possible d’adapter son jeu pour les consoles de salon ! Le seul bémol est que l’éditeur de Unity3D n’est disponible que sous Windows et MacOS. Linux en plus aurait été le paradis, mais on ne peut pas tout avoir…

Unity3D export options

Quelques-unes des plateformes supportées par Unity3D

Outre l’aspect coût et multi-plateformes, Unity3D fonctionne avec un paradigme qui nous facilite vraiment la vie: chaque objet du jeu est un type générique (GameObject) auquel sont attachés différents “composants”. Ces composants peuvent aussi bien être un modèle 3D représentant l’objet qu’un script décrivant la logique le gouvernant.

Cette approche extrêmement modulaire encourage la création de composants réutilisables et effectuant une fonction bien particulière et découplée au maximum du reste. C’est une bonne pratique en général, mais c’est encore mieux si le logiciel de dévelopement est construit autour de cette idée.

A look at some components in an object

Quelques composants provenant d’un objet de Get Well Soon!

Depuis que nous avons adoptés Unity3D, le processus de dévelopement a pris une nouvelle ampleur au sein de notre équipe. Le passage d’une série d’outils nécessitant un important travail “manuel” avant de pouvoir être utilisés à un moteur intégrant toutes les étapes pour nous, y compris l’import natif des modèles 3D, images et autres textures, a changé pas mal de choses.

Nous restons toujours à l’affut des nouveaux outils de dévelopement, mais à l’heure actuelle, Unity3D est sans conteste le meilleur environnement pour le type de jeux que nous sommes occupés à concevoir. Nous aurons mis un certain temps à trouver chaussure à notre pied, mais maintenant que c’est fait, qu’est-ce que c’est comfortable !

Pour en apprendre plus sur Unity3D : http://unity3D.com

1 comment » | 3D, Tools

Juin/Juillet

July 27th, 2013 — 9:10am

Houlà, on va dépoussiérer un peu.. Commençons par une review du dernier Ludum Dare !

Ludum Dare 26 : résultats

Les résultats sont disponibles depuis ! Pour rappel, seuls les participants du LD peuvent voter pour les autres jeux en piste. Les votes se font sur certains critères et, au final, on ne reçoit des points sur chaque critère que s’il y a eu assez de votes.

Le nombre de participants au LD26 a été de 2346. Pour la JAM (la catégorie à laquelle nous avons participé), nous étions 736.

Nos résultats ne sont pas trop mal :

#211 Graphics(Jam) 3.44

#236 Overall(Jam) 3.24

#307 Fun(Jam) 2.81

#355 Theme(Jam) 3.06

#409 Innovation(Jam) 2.50

#1775 Coolness 26%

Continue reading »

Comment » | 3D, Bloboy's journey, Ludum Dare

Mars

April 2nd, 2013 — 5:15pm

#GAM février et mars

Ce défi, commencé avec beaucoup de détermination, demande malheureusement un peu trop de temps pour que nos développeurs parviennent à s’y consacrer pleinement.

Cependant, les projets avancent !

Continue reading »

Comment » | #GAM, 3D, Alun Hevel, Bloboy's journey, Ludum Dare

Back to top

404