Vue à la première personne
Bonjour,
Dans ce tutoriel vous allez apprendre à créer un mouvement de caméra comparable à celui des FPS grâce à un script python :

Je vous conseille fortement de regarder les tutoriels vidéo d’Aerodark sur Game Blender avant de commencer celui-ci : http://www.tuto-blender.com/tuto-video.php
Avant de commencer procurez vous aussi python : http://python.org/download/ (choisissez en fonction de votre OS).
En premier créer une nouvelle scène avec Ctrl + X -> Erase all. Votre scène doit à présent contenir un cube, une caméra et une lampe, ne les effacez pas, ils nous seront utile plus tard.
Ensuite mettez vous en vue de dessus (view->Top ou bien NumPad 7), ajoutez un plan (Space->Add->Mesh->Plane). Ce plan nous servira de sol, agrandissez le 9 fois (S->9). Ensuite sortez la partie du cube sous le sol en vous mettant en vue de face (NumPad 1) et en le remontant de 1.

Il nous faut maintenant positionner la caméra, pour cela retournez en vue de dessus, sélectionnez la caméra et déplacez la approximativement dessus le cube.

Le script utilise l’axe de la caméra et l’axe du cube pour les faire tourner, nous allons donc rendre visible ces axes. Pour cela rendez vous dans le panneau Object (F7), dans le panneau Draw cochez Axis.

Maintenant faites pivoter la caméra pour faire correspondre l’axe des X, profitez en aussi pour la recentrer.

Le cube sera le joueur, et donc la caméra devra suivre le joueur, pour cela nous allons parenter la caméra au cube. Lorsque vous parentez deux objets, le dernier sélectionner sera le parent. Tous ce qui arrivera au parent, arrivera au(x) child (=enfant en anglais), ex : bougez la taille du parent, la taille du/des enfant(s) changera, modifiez son emplacement, celui du/des enfant(s) changera aussi etc, par contre ce qui arrive aux enfants n’affecte pas les parents.
Pour parenter la caméra, sélectionnez donc celle-ci en premier puis le cube (Shift+Clic gauche), ensuite parentez-les en appuyant sur Ctrl+P-> Add parent. Pour supprimer un parentage il suffit de sélectionner les objets concernés et d’appuyer sur Alt+P->Clear Parent.

Une ligne en pointillées relie maintenant notre caméra à notre cube.
La mise en place de notre scène est maintenant terminée. Le reste s’effectuera dans les réglages.
C’est là que les tutoriels d’Aerodark vous seront utiles, bien que sans eux ce soit tout à fait faisable.
Commençons par nous rendre dans le panneau Logic (F4) de Blender, sélectionnez la caméra et le cube.

Ajoutez un sensor à la caméra, de type Mouse, nommez le Mouse puis sélectionnez Mouvement dans le panneau juste dessous. Ensuite ajoutez lui un controller de type python, nommez le Mouse Look, nous entrerons le nom du script plus tard.
Le script fera pivoter la caméra vers le haut ou vers le bas, ajoutez donc un actuator de type motion (laissez tous les paramètres vident, le script se chargera de les modifier en fonction des mouvements de la souris), nommez le LookUpDown.
ATTENTION : Le nom de l’actuator est très très important, en effet le script fait référence à un actuator LookUpDown, s’il ne le trouve pas, le script ne sera pas exécuter et donc le jeu ne marchera pas!
Ajoutons ensuite un Actuator à notre cube, de type motion, comme le précedent, ne touchez aucun paramètres et nommez le LookLeftRight (très très important !). Ensuite relier le sensor au controller, le controller au deux actutors. Vous pouvez toujours effacer une liaison faite par erreur en positionnant votre souris sur un connecteur pour qu’il devienne blanc et en pressant X.
Maintenant nous devons intégrer le script dans Blender. Pour ce faire, partager la fenêtre 3d en deux en cliquant avec la molette de la souris sur la bordure entre la vue 3d et la fenêtre des boutons, puis en faisant split area.

Une fois la nouvelle fenêtre créée, changez la pour Text Editor. Ensuite cliquez sur les deux petites flèches et fait OPEN NEW.

Cherchez maintenant le fichier VueSouris.py, il est normalement accompagné d’un carré orange, sélectionnez le et faite OPEN TEXT FILE. Le script est maintenant chargé par Blender. Il ne nous reste plus qu’à l’intégrer dans le jeu. Pour cela retourné dans les logic et remplissez le nom du script que nous avons laissé vide par VueSouris.py (n’oubliez pas l’extension .py).

Voilà la dernière étape, à ce stade le script devrait déjà fonctionner, vous pouvez même l’essayé tout de suite! Vous remarquerez que la vue est inversée mais pas de panique, nous allons régler ça.
Tout en restant dans le panneau logic, cochez Actor et Dynamic tout à gauche, grâce à ces boutons, votre cube créera des collisions et ne passera pas à travers les murs (c’est quand même mieux!).
Maintenant nous allons le faire avancer, pour cela, créez un sensor de type keyboard et entrez la touche que vous voulez (moi je mets flèche du haut) nommez le avancer, ajoutez un controller qu’on laisse par défaut et un actuator où l’on va changer la valeur dLoc de l’axe y a 0.50.

Vous pouvez maintenant tester le résultat final.
Voila ce tutorial ce termine là j’espère qu’il vous sera utile et qu’il vous aidera à la réalisation de vos jeux.
Fichier d'exemple à télécharger.
© jonaga - Vue à la première personne
Dans ce tutoriel vous allez apprendre à créer un mouvement de caméra comparable à celui des FPS grâce à un script python :
Je vous conseille fortement de regarder les tutoriels vidéo d’Aerodark sur Game Blender avant de commencer celui-ci : http://www.tuto-blender.com/tuto-video.php
Avant de commencer procurez vous aussi python : http://python.org/download/ (choisissez en fonction de votre OS).
1) Création de la scène.
En premier créer une nouvelle scène avec Ctrl + X -> Erase all. Votre scène doit à présent contenir un cube, une caméra et une lampe, ne les effacez pas, ils nous seront utile plus tard.
Ensuite mettez vous en vue de dessus (view->Top ou bien NumPad 7), ajoutez un plan (Space->Add->Mesh->Plane). Ce plan nous servira de sol, agrandissez le 9 fois (S->9). Ensuite sortez la partie du cube sous le sol en vous mettant en vue de face (NumPad 1) et en le remontant de 1.
Il nous faut maintenant positionner la caméra, pour cela retournez en vue de dessus, sélectionnez la caméra et déplacez la approximativement dessus le cube.
Le script utilise l’axe de la caméra et l’axe du cube pour les faire tourner, nous allons donc rendre visible ces axes. Pour cela rendez vous dans le panneau Object (F7), dans le panneau Draw cochez Axis.
Maintenant faites pivoter la caméra pour faire correspondre l’axe des X, profitez en aussi pour la recentrer.
Le cube sera le joueur, et donc la caméra devra suivre le joueur, pour cela nous allons parenter la caméra au cube. Lorsque vous parentez deux objets, le dernier sélectionner sera le parent. Tous ce qui arrivera au parent, arrivera au(x) child (=enfant en anglais), ex : bougez la taille du parent, la taille du/des enfant(s) changera, modifiez son emplacement, celui du/des enfant(s) changera aussi etc, par contre ce qui arrive aux enfants n’affecte pas les parents.
Pour parenter la caméra, sélectionnez donc celle-ci en premier puis le cube (Shift+Clic gauche), ensuite parentez-les en appuyant sur Ctrl+P-> Add parent. Pour supprimer un parentage il suffit de sélectionner les objets concernés et d’appuyer sur Alt+P->Clear Parent.
Une ligne en pointillées relie maintenant notre caméra à notre cube.
La mise en place de notre scène est maintenant terminée. Le reste s’effectuera dans les réglages.
2) Mise en place des briques logiques.
C’est là que les tutoriels d’Aerodark vous seront utiles, bien que sans eux ce soit tout à fait faisable.
Commençons par nous rendre dans le panneau Logic (F4) de Blender, sélectionnez la caméra et le cube.
Ajoutez un sensor à la caméra, de type Mouse, nommez le Mouse puis sélectionnez Mouvement dans le panneau juste dessous. Ensuite ajoutez lui un controller de type python, nommez le Mouse Look, nous entrerons le nom du script plus tard.
Le script fera pivoter la caméra vers le haut ou vers le bas, ajoutez donc un actuator de type motion (laissez tous les paramètres vident, le script se chargera de les modifier en fonction des mouvements de la souris), nommez le LookUpDown.
ATTENTION : Le nom de l’actuator est très très important, en effet le script fait référence à un actuator LookUpDown, s’il ne le trouve pas, le script ne sera pas exécuter et donc le jeu ne marchera pas!
Ajoutons ensuite un Actuator à notre cube, de type motion, comme le précedent, ne touchez aucun paramètres et nommez le LookLeftRight (très très important !). Ensuite relier le sensor au controller, le controller au deux actutors. Vous pouvez toujours effacer une liaison faite par erreur en positionnant votre souris sur un connecteur pour qu’il devienne blanc et en pressant X.
3) Chargement du script dans Blender.
Maintenant nous devons intégrer le script dans Blender. Pour ce faire, partager la fenêtre 3d en deux en cliquant avec la molette de la souris sur la bordure entre la vue 3d et la fenêtre des boutons, puis en faisant split area.
Une fois la nouvelle fenêtre créée, changez la pour Text Editor. Ensuite cliquez sur les deux petites flèches et fait OPEN NEW.
Cherchez maintenant le fichier VueSouris.py, il est normalement accompagné d’un carré orange, sélectionnez le et faite OPEN TEXT FILE. Le script est maintenant chargé par Blender. Il ne nous reste plus qu’à l’intégrer dans le jeu. Pour cela retourné dans les logic et remplissez le nom du script que nous avons laissé vide par VueSouris.py (n’oubliez pas l’extension .py).
4) Quelques derniers réglages.
Voilà la dernière étape, à ce stade le script devrait déjà fonctionner, vous pouvez même l’essayé tout de suite! Vous remarquerez que la vue est inversée mais pas de panique, nous allons régler ça.
Tout en restant dans le panneau logic, cochez Actor et Dynamic tout à gauche, grâce à ces boutons, votre cube créera des collisions et ne passera pas à travers les murs (c’est quand même mieux!).
Maintenant nous allons le faire avancer, pour cela, créez un sensor de type keyboard et entrez la touche que vous voulez (moi je mets flèche du haut) nommez le avancer, ajoutez un controller qu’on laisse par défaut et un actuator où l’on va changer la valeur dLoc de l’axe y a 0.50.
Vous pouvez maintenant tester le résultat final.
Voila ce tutorial ce termine là j’espère qu’il vous sera utile et qu’il vous aidera à la réalisation de vos jeux.
Fichier d'exemple à télécharger.
© jonaga - Vue à la première personne