Blender est une suite graphique 3D complète. Ses usages vont de l'impression 3D aux films à effets spéciaux ou d'animation. Une utilisation pour le Game Engine implique donc des spécificités.
L'interface par défaut est adaptée au moteur de rendu Blender Internal destiné à du film d'animation.
Il faut changer Blender Renderdans le menu de la barreInfo et opter pour le choix Blender Gameafin de travailler avec l'interface du moteur de jeu.
Un changement immédiatement visible est la modification de l'onglet Render.
Les panneauxRender et Dimensions (qui permettent de lancer le rendu d'une image à une certaine dimension) ont été remplacés par des panneaux Embedded Player et Standalone Player (destinés à définir l'emplacement, la taille de la fenêtre dans laquelle va s’exécuter le jeu).
Les différentes options de ces nouveaux panneaux seront précisées dans le chapitre Bien préparer son projet, à la fin de cette section.
Nous utilisons prioritairement certaines fenêtres (ou éditeurs) en fonction du type de travail à réaliser. Bien souvent, un utilisateur confirmé aura défini son propre agencement de fenêtre, et Blender permet facilement de faire apparaitre une fenêtre ou une autre en fonction des besoins. Néanmoins, Blender propose par défaut un agencement appelé Game Logic. C'est celui-ci que nous préfèrerons parce qu'il positionne de manière claire les fenêtres les plus importantes lorsque l'on pratique de la création de jeu vidéo.
Ces fenêtres sont (en allant de gauche à droite et de haut en bas):
Les capacités de l'affichage 3D des ordinateurs ont évolué au cours du temps, ce qui se traduit actuellement par deux méthodes de rendu.
Dans le panneau Shading, le choix Multitextureest actif par défaut. Il correspond simplement à la possibilité d'afficher des matériaux utilisant plusieurs textures.
Le choix GLSL est une option plus intéressante graphiquement car elle permet de nombreux effets avec les éclairages, les matériaux, les effets de texture, et d'autres améliorations graphiques.
La plupart des ordinateurs récents supportent les capacités GLSL. Néanmoins, si vous destinez votre jeu à une large diffusion et que la qualité graphique du jeu est mineure (ou par nécessité d'optimisation), vous pourrez opter pour le choix Multitexture.
L'interface de l'onglet des matériaux dans le Blender Game est dérivée de celle du Blender Render, avec quelques subtilités. Puisque le moteur de rendu Cycles est désormais souvent le premier moteur de rendu appris par un graphiste utilisant Blender, un petit récapitulatif s'impose sur l'ongletMatériauxet ses différents panneaux étant donné que les matériaux et les textures doivent être gérés différemment.
Sur cette image, les cases cochées correspondent aux options supportées par le Game Engine.
Les particules des moteurs de rendu Blender Render ou Cycles ne sont pas accessibles dans l'interface Blender Game car leur physique complexe n'est pas supportée. Par des effets de textures animées, il est possible de générer en temps réel le même genre d'effets créés avec des particules (feu, fumée) ou pourquoi pas en utilisant un générateur automatique d'objets sur lequel nous aurons un chapitre spécifique.
Un add-on appelé Easy Emit permet de gérer la génération de plans texturés, avec une interface semblable à celle du système standard des particules. Voir http://blenderartists.org/forum/showthread.php?241656-easyEmit-*Update*-13-06-2013
Pour animer des éléments dans Blender, certains ont peut-être l'habitude d'utiliser des fonctionnalités avancées comme les contraintes d'objet (Object Constraints) pour conserver ou changer les propriétés ou le maillage de leur modèle, pour s'aider dans l'animation de l'une ou l'autre partie de leur personnage ou tout simplement pour lui faire suivre un objet particulier de la scène. Malheureusement, certaines de ces aides et méthodes ne sont pas disponibles dans le Game Engine. Il faudra utiliser des alternatives pour arriver à un résultat identique ou approchant.
Les techniques utilisant les contraintes d'os (Bone constraints) sont heureusement bien supportées, mais ne sont pas toutes disponibles.
Et pour finir, la règle générale pour l'utilisation des modificateurs(modifiers), c'est que seuls les modificateurs s'appliquant sur des maillages (mesh) et qui ne dépendent pas d'un facteur temps sont supportés. Quoi qu'il en soit, on préfèrera appliquer les effets de tous les modificateurs avant la publication du jeu de manière à alléger les calculs autant que possible.
Il est important de savoir que la plupart des contraintes d'objet ne sont pas supportées par le Game Engine. L'unique contrainte d'objet supportée est le Rigid Body Joint, à l'exception du joint de type Ball. La contrainte de type Rigid Body Joint ne fonctionne que pour les objets de type mesh, pour autant que l'objet ait un modèle physique (voir le chapitre Le comportement des objets de notre monde dans la section Comportement des objets et personnages).
Les joints sont créés automatiquement au démarrage du jeu, mais ne peuvent être détruits ou créés au cours du jeu que par une des commandes Python spécialisées.
L'absence de presque toutes les contraintes dans le BGE peut sembler rédhibitoire mais il est souvent possible de compenser cette perte par diverses techniques :En dernier recours, on peut toujours tenter de reproduire l'effet d'une contrainte par du code Python.
Pour les armatures, un certain nombre de contraintes d'os (Bone Constraint) sont supportées. En voici la liste exhaustive:
Davantage de modificateurs (modifiers) sont supportés dans le BGE. En premier lieu, le modifier Armature qui permet l'animation par armature d'un objet. Pour le reste, les modifiers qui n'agissent que sur le mesh de l'objet et qui ne dépendent pas du temps sont supportés. Voici une liste de modifiers qui dépendent du temps et donc ne sont pas supportés :
En cas d'hésitation, le plus simple est de tester directement dans le BGE si un modifier est supporté avec le Standalone Player. En général, l'effet du modifier est supporté mais pas son animation.
Toutes ces remarques sur les modifiersne valent que pour ceux non appliqués avant le lancement du jeu. L'application d'un modificateur (en appuyant sur le boutton Apply) transforme de manière permanente le maillage de l'objet (lemodifierdisparait d'ailleurs de l'interface). Et donc la question du support de ce modifier dans le BGE ne se pose plus, puisque le maillage a subi des transformations irréversibles et maintenant visibles dans le Game Engine.
Si vous avez l'habitude d'animer directement un modifier (en ajoutant des clés d'animation sur ses paramètres) ou indirectement (par le biais de l'animation d'un objet référence ou de celles de weight groups), la parade à adopter sera d'appliquer le modifier en tant que ShapeKey (avec le bouton Apply as Shape Key). Le BGE supporte les animations de ShapeKeys.
L'utilisation de modifiers dans le jeu ne se justifie que pendant la phase de développement. Une fois en production, il est généralement préférable d'appliquer le modifier pour améliorer les performances à l'exception de l'armature.Sans rentrer dans des détails qui seront approfondis plus tard, il faut retenir que l'optimisation est au cœur de la conception d'application en temps réel. Voici quelques points de repères et de bonnes pratiques.
Le fait de produire une création qui sera vue en temps réel, et donc constamment calculée pour le rendu, a un impact sur différents aspects de la création 3D tant du point de vue de la modélisation, de la texture ou de l'animation que du rendu global des éléments du jeu. Cela peut être déroutant pour une personne ayant l'habitude des mode Blender Render ou Cycles. Mais comme dans tout acte créatif, ses limitations sont non seulement imposées par le médium (le temps réel, les capacités du Game Engine et les capacités de l'ordinateur qui le fait tourner), mais elles peuvent aussi être vues comme autant de défis créatifs à relever ou à contourner.
Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.
Vous devriez rafraîchir la page.