Line2Soft
Community's Softs
Chargement de l'heure![]() | Créer un escalator avec BlenderPour : Blender< Retour |
| Informations | |
|---|---|
| Créé par | panierAvide |
| Licence | GNU FDL |
| Lu | 2152 fois |
Description
Aujourd'hui nous allons voir comment élaborer un escalator, notamment pour l'utilisation dans un jeu en temps réel ;) C'est sûr qu'il faut en avoir besoin de l'escalator, on s'en sert pas tous les jours, mais si vous regardez ce tuto c'est que vous en avez besoin donc allez hop' c'est parti =D
Prérequis
Pour mener à bien ce tuto, il vous faut :
-Blender (ici j'utilises la version 2.49b, si vous êtes sur une version antérieure pensez à faire une mise à niveau, le Game engine est plus performant dans cette version. Si vous avez une version au dessus de celle-ci, c'est que ce tuto commence à se faire vieux ^^)
-Un peu de maîtrise de celui-ci, meme si les manipulations seront (très) détaillées c'est plus simple quand on s'y connait un peu déjà ![]()
Commencez par ouvrir Blender, vous voyez son interface apparaitre :

Nous allons effacer la caméra et le cube (Nous gardons la lampe afin que l'escalator ne soit pas dans le noir complet lors des tests). Pour cela, sélectionnez le cube (clic-gauche de la souris sur le cube) puis la lampe (Appuyez sur la touche majuscule et cliquez gauche sur la lampe simultanément). Appuyez sur "X" pour les effacer.
Nous allons maintenant ajouter la "base" de l'escalator qui nous permettra d'avoir un repère pour le nombre de marches, la largeur... Appuyez sur la touche 7 (Dans la partie numérique du clavier) pour passer en vue de dessus, ajoutez un plan (Touche espace, puis "Add/Mesh/Plane"), puis passez en mode Edit (Touche tabulation). Déplacez les points du plan (Touche B puis souris pour sélectionner, Touche G pour déplacer) pour en faire un rectangle assez étendu, ce sera la future pente de l'escalator (ajustez donc à vos besoins, quitte à modifier par la suite).
Une fois la longueur et largeur de l'escalator determinée, passez en vue de coté (Touche 1 du clavier numérique), selectionnez tous les points (Touche A), puis faites tourner le plan (Touche R) de façon à ce qu'il fasse une pente d'environ 45° (une diagonale). Vous devez avoir quelque chose comme ceci :

L'inclinaison de l'escalator est bien évidemment changeable, mais pour votre premier escalator une pente à 45° faciliteras le travail par la suite (notamment pour le déplacement des marches).
Maintenant que nous avons fait l'inclinaison, on va faire une petite "entrée" des étages (afin que l'on ne tombe pas dans le vide en haut de l'escalator, ceci n'est pas obligatoire
La base de notre escalator doit ressembler à peu près à ça :

Nous allons commencer à faire la première marche (juste la première, les autres viendront ensuite
Placez le curseur en bas de l'escalator (clic gauche) puis ajoutez un Cube (Espace puis Add/Mesh/Cube). Passez en mode Edit (Tab). Sélectionnez tous les points (A), puis redimmensionnez le cube (Touche S) de façon à ce qu'il ait une hauteur correcte (la taille de la marche est aussi déterminante que la taille de la base pour la taille générale de l'escalator, des petites marches donneront l'impression d'un escalator très long et large, des grandes marches un escalator étroit et court). Sélectionnez ensuite les points situés sous l'escalator, puis supprimez-les. En effet dans les jeux en temps-réel, moins on a de points, plus les performances sont améliorées. Etant donné que ces points sont inutiles, hop' on vire
Une fois ceci fait, sortez du mode Edit et faites "Object/transform/Center New", puis déplacez la marche (touche G) juste en dessous du sol de l'étage inférieur (de façon à ce que le déroulement de l'escalator paraisse plus fluide.
Vous devez avoir pour l'instant ceci (la base et la marche) :

Maintenant on va passer à la partie plus "Programmation" de l'escalator
En mode objet, sélectionnez la marche. Appuyez sur F4 pour passer dans la partie Game logic.
Mais avant, repèrons les emplacements des boutons du game logic pour que vous ne soyez pas perdu :
1) Panneaux des attributs physiques (Physical attributes en anglais)
2) Ajouter un "Sensor" (C'est à dire un déclencheur)
3) Ajouter un Controlleur
4) Ajouter un "Actuator" (Bloc qui définit l'action à effectuer par l'objet)

Les parties "Sensors", "Controllers" et "Actuators" peuvent vous sembler obscures, mais leur fonctionnement est simple. C'est basé sur le système "Action : Réaction" (Oui comme dans les choristes ^^). Lorsque l'on appuie sur Add, on ajoute une "brique".
Dans les "Sensors", ces briques servent de déclencheurs, c'est à dire que si la condition inscrite dans la brique est remplie (par exemple, la colision avec un objet ayant une propriété "prop"), votre jeu effectuera les actions des "Actuators" (briques tout à droite) associées au Controller. Le sensor est relié à ce controlleur (qui permet de simplifier la liaison entre déclencheurs et actions) et les Actuators sont égalements reliés au controlleur. Les actuators sont eux les actions à effectuer lorsque c'est nécessaire, comme ici lorsque la marche atteindra le sommet de l'escalator, l'actuator "Constraint" lui dira de se positionner tout en bas.
La partie game logic étant plus compliquée que le reste, si vous avez besoin d'aide n'hésitez pas à posez vos questions sur le forum, j'y répondrait avec plaisir
Revenons à notre marche
Ajoutez un controller, le controller par défaut est le "AND" (c'est à dire que pour effectuer les actions, toutes les conditions qui y sont reliées doivent êtres vraies), reliez ensuite à l'aide de la souris le sensor always au controller.
Ajoutez un actuator, par défaut Motion (bloc qui fait bouger l'objet, la 1e ligne de chiffres correspond au mouvement, la 2e ligne à la rotation. La 1e colonne correspond au mouvement ou rotation sur l'axe X, 2e colonne sur Y et 3e sur Y). Reliez l'actuator au controller. Dans le bloc motion, changez la valeur du mouvement sur X en -0.01, puis la valeur de mouvement sur Z pour 0.01 (Ces valeurs correspondent pour un angle de 45° où le mouvement est en diagonale, si la pente est différente il faudra jouer sur la valeur de x ou z).
Si vous appuyez sur P (la touche qui sert à lancer un jeu, appuyez sur Echap pour en sortir), vous verrez la marche se déplacer le long de la base de l'escalator. Si elle s'enfonce ou s'élève de trop, modifiez les valeurs de x ou z comme indiqué si dessus.
Votre marche monte
Placez le curseur (Clic gauche) en haut de l'escalator, puis ajoutez un plan (Espace puis Add/Mesh/Plane). Tournez-le (R) de façon à ce qu'il soit à la verticale. Réduisez-le (S) à un taille assez petite, mais pas trop quand même. Il faut avoir quelque chose équivalent à ceci :

Notre déclencheur étant prêt, on retourne dans le game logic
Cliquez-droit sur le plan fraîchement créé, puis appuyez sur F4. Nous allons modifier ses attributs physiques (partie 1, voir image 5). Dans le menu déroulant, choisissez Dynamic (Dynamic permet qu'un objet soit soumis à la pesanteur, mais ici ce ne sera pas le cas), cochez Actor (intervient dans le game engine), ghost (ne subit pas les colisions) et invisible. Dans la case "Radius", indiquez 0.01. Pour Damp et Rotdamp, mettez la valeur 1 (Damp et rotdamp sont la résistance à l'air, ici la résistance étant au maximum, même si l'objet est en dynamic il ne bougera pas). Cochez également "Bounds" et dans le menu déroulant choisissez "Box" (C'est à dire que le game engine calculeras les colisions comme si l'objet était un cube ou un pavé). Pour finir avec le déclencheur, cliquez sur le bouton "Add Property", puis changez le nom de propriété "prop" par "stop" par exemple (qui est davantage explicite
Votre déclencheur doit avoir ces attributs physique ainsi :

Maintenant que notre déclencheur est fini, revenons à la marche, qui vas bientôt revenir en bas de l'escalator
Cliquez-droit sur la marche, puis sur F4. Dans le game logic nous allons indiquer à la marche quand et comment faire pour revenir en bas de l'escalator. Ajoutez un sensor "Colision", dans ce bloc, cochez la case ''' tout à gauche, et dans la case Property indiquez "stop" (ou le nom que vous aviez choisis tout à l'heure). Ajouter un controller. Reliez le sensor collision au 2e controller (celui que vous venez d'ajouter) avec la souris. Ajouter ensuite un Actuator "Constraint". Reliez-le au 2e controller.
Avant, nous avons besoin des coordonées de la première marche, pour savoir où elle devra revenir. Sélectionnez la marche puis appuyez sur la touche N. Vous verrez un petit panneau apparaître :

Notez les valeur de Loc X, Loc Y et Loc Z quelque part. Revenons à notre bloc constraint : Indiquez dans le menu déroulant en bas à gauche "Loc X", puis dans Min et Max indiquez la valeur de Loc X que vous venez de noter. Ajouter un autre actuator constraint, reliez-le au 2e controller, indiquez Loc Y et sa valeur dans Min et Max.
Renouvellez la manoeuvre pour Loc Z. Vérfiez que les valeurs que vous avez notés pour ces 3 blocs sont bien restées, car des fois les valeurs s'effacent (c'est un petit bug de Blender, personne n'est parfait

Notre marche est fonctionelle, nous allons la dupliquer en plusieurs exemplaires. Pour plus de précision, nous n'allons pas la copier directement (via Maj+D), mais en utilisant un "Modifier Array". Appuyez sur F9 pour passer dans le panneau edit. Tout à droite, vous avez un onglet "modifiers". Cliquez sur "Add modifiers" puis choisissez "Array". Ce modifier va dupliquer la marche en un certain nombre d'exemplaires, selon les besoins de l'escalator.
Mais avant de choisir un nombre, on va dire au modifier où doit il placer les nouvelles marches par rapport à la première, c'est le "relative offset". Ici nous devons mettre sous relative offset comme valeur pour x -1, pour y 0 et pour z +1. Bien sûr adaptez ces valeurs à votre escalator. Ensuite, changez la valeur de "Count" (Nombre de duplication) pour une valeur où votre escalator sera recouvert de marches. Vous devez avoir quelque chose semblable à ceci :
[img]fichiers/contenus/tb1_10.jpg[/img]
Pour appliquer ces modifications, cliquez sur "Apply". Si vous appuyez sur P, vos marches ne bougeront pas car elles sont "fixées" entre elles. Nous allons les désouder
Sortez du mode Edit, puis séléctionnez toutes les marches (En restant appuyé sur la touche majuscule et en cliquant droit sur chaque marche). Une fois les marches sélectionnées, cliquez sur Object/Transform/Center New. Ceci fera que le centre de gravité de chaque marche sera bien placé, au lieu d'être à l'endroit de la marche de base. Pour finir, sélectionnez la marche tout en haut de l'escalator (clic droit), puis supprimez tout les blocs dans le panneau Game Logic (F4), puis passez là en "Ghost" dans les attributs physiques. Ceci permettra d'améliorer légèrement l'arrivée de l'escalator, mais bien sûr il y a moyen de faire quelque chose de plus propre
Si vous lancez le jeu, votre escalator fonctionnera
J'avais par exemple fait y a un petit bout de temps ceci, un escalator assez réussi je trouve (téléchargeable ci-dessous), avec le Ragdoll qui va bien ^^ :
[img]fichiers/contenus/tb1_12.jpg[/img]
[url=fichiers/contenus/escalator.zip]Fichier blender fini du tutoriel[/url]
[url=fichiers/contenus/escalator2.zip]Fichier blender d'exemple (Ragdoll inside
[/parag]
[parag=Conclusion]
Voilà, vous avez appris à faire un escalator simple. Maintenant que vous avez la technique, vous pouvez aller plus loin en faisant un escalator qui descend, voir même un escalator réversible
[/parag]
Besoin d'aide ?
Une question ? Quelque chose qui n'est pas clair ? Si vous avez besoin d'aide, vous pouvez soit contacter l'auteur du tutoriel via la messagerie privé (vous devez être connecté), soit envoyer un message sur le forum.
A l'affiche : Condamned
Condamned est un jeu de shoot peu ordinaire... En effet, vous ne tirez pas avec du fusil à gros calibre mais avec des objets du quotidien, comme par exemple une lampe, des canettes, un minitel (et pleins d'autres) sur un personnage accroché en cage. De quoi se détendre après une dure journée...
