blender-edutech-tutoriels/labyrinthe/README.md

4.0 KiB

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) de Grégory Gossellin De Bénicourt.

Il se décompose en 5 parties :

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

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 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

Tutoriel 7 : Commander le labyrinthe par machine learning (en cours d'écriture)

  • Installer la bibliothèque scikit-learn
  • Mettre en place l'apprentissage
  • Fichiers résultats : 2-labyrinthe.blend, 2-labyrinthe.py
  • Fichiers résultats : 7-labyrinthe.blend, 7-labyrinthe.py