blender-edutech-tutoriels/labyrinthe/README.md
2023-08-23 01:28:17 +02:00

68 lines
3.9 KiB
Markdown

## Labyrinthe à bille : **Créer une scène 3D interactive**
L'objectif de ce tutoriel est de créer une scène animée et interactive. Le support est le labyrinthe à bille ; le principe est faire tourner le plateau sur 2 axes afin d'amener la bille du départ à l'arrivée.
Ce tutoriel est une déclinaison pour UPBGE du projet n°1 du livre ["Créez vos propres jeux 3D comme les pros" (Éditions Graziel)](https://graziel.com/fr/livres/8-creez-vos-propres-jeux-3d-comme-les-pros-avec-le-blender-game-engine-9791093846002.html) de Grégory Gossellin De Bénicourt.
La version de Blender/UPBGE utilisée lors du développement de ce tutoriel est la version 0.36.1 (20 août 2023).
Il se décompose en 6 parties :
![titres](img/labyrinthe-titres.png)
### Tutoriel 1 : Ma première scène
- Installer Blender/UPBGE
- Modéliser les objets 3D et définir leurs materiaux et leur physique
- Gérer la scène avec la lumière et la caméra
- Programmer le comportement des objets et le gameplay les briques logiques
- Créer une zone cliquable
- Créer une animation par images-clé
- Produire un exécutable (GNU/Linux, Windows, macOS)
- **Fichier résultat : 1-labyrinthe.blend**
### Tutoriel 2 : Passage au Python
- Installer un éditeur de code (Emacs, Spyder)
- Sustituer la programmation par briques logiques avec des modules codés en Python
- Créer un bouton cliquable à partir une icône SVG
- Inclure les scripts Python avec l'exécutable
- **Fichier de départ : 2-labyrinthe-debut.blend**
- **Fichier ressource : asset/icon_close.svg**
- **Fichiers résultats : 2-labyrinthe.blend, 2-labyrinthe.py**
### Tutoriel 3 : Interfacer la scène 3D avec une carte Arduino par pyFirmata
- Installer la bibliothèque pyFirmata
- Déplacer le plateau avec une manette : 4 boutons binaires et/ou un joystick analogique
- Allumer une led quand le plateau est en mouvement
- Inclure la bibliothèque pyFirmata avec l'exécutable
- **Fichiers de départ : 2-labyrinthe.blend, 2-labyrinthe.py**
- **Documents techniques : Carte de référence pyFirmata et interface Grove pour Arduino**
- **Fichiers résultats : 3-labyrinthe.blend, 3-labyrinthe.py, labyrinthe_carte.py**
### Tutoriel 4 : Interfacer la scène 3D avec une carte Arduino par pySerial
- Installer la bibliothèque pySerial
- Déplacer le plateau avec une centrale inertielle (capteur IMU sur broche I2C)
- Afficher la position de la bille sur une matrice de leds (broche I2C)
- Inclure la bibliothèque pySerial avec l'exécutable
- **Fichiers de départ : 2-labyrinthe.blend, 2-labyrinthe.py**
- **Document technique : Interface Grove pour Arduino**
- **Fichiers résultats : 4-labyrinthe.blend, 4-labyrinthe.py, 4-labyrinthe-imu.ino, labyrinthe_carte.py**
<!-- - Déplacer le plateau avec un détecteur de geste ; fichiers résultats : 3-labyrinthe-gest.blend, 3-labyrinthe-gest.py, 3-labyrinthe-gest.ino -->
### Tutoriel 5 : Interfacer la scène 3D avec une carte micro:bit
- Installer la bibliothèque pySerial
- Déplacer le plateau avec la centrale inertielle de la carte microbit
- Afficher la position de la bille sur la matrice de leds
- Inclure la bibliothèque pySerial avec l'exécutable
- **Fichiers de départ : 2-labyrinthe.blend, 2-labyrinthe.py**
- **Document technique : Carte de référence carte micro:bit**
- **Fichiers résultats : 5-labyrinthe.blend, 5-labyrinthe.py, 5-labyrinthe-microbit.py, labyrinthe_carte.py**
### Tutoriel 6 : Développer le jumeau numérique du labyrinthe (en cours d'écriture)
- Imprimer et assembler le labyrinthe
- Commander manuellemet le labyrinthe physique
- Suivre la bille réelle par OpenCV (par vision)
- Caler le moteur physique Bullet avec le labyrinthe physique
- Commander le labyrinthe physique par pathfinding + vision le labyrinthe physique
- **Fichiers de départ : 4-labyrinthe.blend, 4-labyrinthe.py, 4-labyrinthe-imu.ino, labyrinthe_carte.py**
- **Fichiers résultats : 6-labyrinthe.blend, 6-labyrinthe.py, 6-labyrinthe-arduino.ino, labyrinthe_carte.py**