Gamasutra Iwan Gabovitch Blog de - Utiliser Blender 3D comme un éditeur de carte 3D, plutôt que la programmation de votre
En utilisant Blender 3D comme un éditeur de carte 3D, plutôt que la programmation de votre propre à partir de zéro
Le billet de blog suivant, sauf indication contraire, a été écrit par un membre de la communauté de Gamasutra.
Les pensées et les opinions exprimées sont celles de l'auteur et non Gamasutra ou sa société mère.
Une question qui doit être résolu au cours du développement du jeu est de savoir comment obtenir l'art de l'outil de modélisation dans le jeu.
La réponse peut sembler trivial: « exporter juste le modèle dans un format de fichier qui peut être lu par le moteur graphique! » Malheureusement, ce n'est pas aussi simple, même lorsque les deux logiciels de modélisation et de vos graphiques de support du moteur le même format de fichier.
Contenu, le contenu, les métadonnées
De nombreuses pièces non graphiques d'information (métadonnées) doivent être fournis. Dans notre jeu de course SuperTuxKart (STK), par exemple, les modèles de carte doivent plus en détail:
- les positions de départ Kart.
- Maillage de l'allée.
- Position des boîtes éléments (powerups) et les bananes (pièges).
- Type de piste (arène ou course).
- Nom du concepteur de la carte.
- La carte peut être entraînée dans le sens inverse?
- Qu'est-ce que la musique doit être joué?
- Comment manipuler des objets animés?
- Quels sont les effets graphiques (particules, textures animées, neige) et quels sons doivent être utilisés et où?
- Optimisations comme backface culling.
Réinventer la roue. ne pas!
Usualy, la réponse à ces questions est de créer un éditeur séparé qui permet la modélisation 3D et exporte les données supplémentaires nécessaires pour utiliser effectivement un niveau ou un objet (ou kart) dans le jeu.
La création et le maintien d'un tel morceau de contenu nécessite des ressources construction de ce pipeline et peut ralentir ou même stopper le développement d'autres, en fonction de la taille de l'équipe. Avec les trois programmeurs temps libre sur notre équipe, nous ne pouvions pas se permettre cet investissement.
Un éditeur de piste a été développé par il y a quelques années membre de la communauté, mais il n'a même jamais été proche d'être en mesure de concevoir une trace de qualité suffisante et a finalement été abandonnée. Au lieu de redémarrer un tel effort, nous avons choisi une approche légèrement différente.
L'extension de l'outil de modélisation
Nous avons étendu l'outil de modélisation existant couramment utilisé pour la création de pistes: Blender (un outil utilisé par exemple par le jeu indie célèbre creatorsWolfire), de sorte que les options nécessaires peuvent être définies dans l'interface de Blender. Nos scripts pour l'exportation des pistes et des karts font de ces options disponibles dans le jeu.
Cette méthode réduit le temps de développement et a permis un outil, qui est déjà connu de nombreux artistes là-bas et a des tonnes de documentation disponible, pour créer du contenu qui est parfaitement adapté à quatre notre jeu. Nous avons seulement besoin de documenter nos extensions spécifiques.
La magie derrière la scène qui permet de prendre une carte dans Blender et l'exécuter dans SuperTuxKart est composé de plusieurs plugins Python. Le premier plug-in, qui peut être vu dans la capture d'écran, est le plug-in « Panel ». Une fois que ce plug-in est ajouté à Blender, quelques panneaux spécifiques au jeu apparaissent dans les propriétés voir (un pour les propriétés d'objet, une pour les propriétés de la scène, un pour les propriétés des matériaux).
En quelques clics dans le panneau de propriétés, vous pouvez modifier le ciel, faire la neige ou la pluie, le brouillard ajouter, faire une surface d'eau ou d'animation précise que les particules ou les effets sonores sont émis à partir d'un point!
Il y a d'abord le script d'exportation de la piste, qui lit ces propriétés et les exporte vers des fichiers XML pour le noyau de jeu à lire (qui inclut le support pour déplacer / objets animés). Le script « B3D » exporte également le maillage au format de fichier B3D (qui prend également en charge l'animation du squelette, ainsi que les couleurs de vertex et de multiples cartes UV pour lightmaps et des cartes normales).
Le panneau des matériaux répertorie automatiquement toutes les textures dans le fichier de mélange, et permet de spécifier plusieurs propriétés, par exemple:
Powerups et les pièges (sucreries et les méchants)
Il est agréable d'avoir le modèle statique, mais après tout cela est un jeu si nous devons donner au joueur quelques goodies et les méchants! Heureusement, il existe un moyen facile de les ajouter. nos plugins étendent le menu global « Ajouter » du mélangeur avec de nouveaux types d'objets spécifiques à SuperTuxKart, comme des boîtes-cadeaux, nitro ou bananes.
Drivelines et checklines
Ces mailles simples sont ensuite traitées par l'exportateur dans quelque chose qui est facile à importer dans le jeu et à suivre par EAE. Checklines sont ajoutés en plus de cela pour éviter la tricherie.
Conclusion
Alors que la documentation de l'API Python est pas toujours optimale, et alors que quelques modifications de l'API ont tout cassé et nous fait jurer haut et fort dans le passé, l'API Python de Blender est très flexible et puissant et une partie essentielle de notre flux de travail de développement de jeux, qui nous l'espérons inspirer d'autres de concevoir leurs outils avec elle.
Toujours à l'affût des créateurs de contenu
Nous sommes toujours à la recherche modélisateurs pour nous aider à améliorer nos anciens, mondes moins impressionnants. ) Si vous avez une expérience dans la modélisation et vous vous sentez comme aider, vous serez chaleureusement accueillis sur notre forum. liste de diffusion et le canal IRC!
De plus amples détails sur notre processus de carte se trouvent dans le Guide de la piste Maker.
emplois connexes

Sanzaru Games Inc. - Foster City, Californie, États-Unis
[21/07/17]
Artiste environnement
