Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
supertuxkart [2024/02/01 21:30] minimisupertuxkart [2025/02/16 10:07] (Version actuelle) minimi
Ligne 1: Ligne 1:
 Créer un circuit supertuxkart simple Créer un circuit supertuxkart simple
  
-https://www.wikidebrouillard.org/wiki/Tutoriel_de_course_SuperTuxKart_depuis_minetest+=== Ressources  === 
 +  * STK Blender : https://github.com/supertuxkart/stk-blender 
 +  * Tuto Blender 15 min pour le minimum utile : 
 +     * [[https://www.youtube.com/watch?v=qWknC446f2Q&list=PLHEWVw93kqsVjxQNjtO4VrA-gVGjGpevj&index=2 | Transformations]] 
 +     * [[https://www.youtube.com/watch?v=YtEOBsCX8Qg&list=PLHEWVw93kqsVjxQNjtO4VrA-gVGjGpevj&index=3 | Modélisation]] 
 +     * [[https://www.youtube.com/watch?v=7hq92JvHq2g | Projection d'un modèle sur Surface]] 
 +  * Tuto STK Minetest : https://www.wikidebrouillard.org/wiki/Tutoriel_de_course_SuperTuxKart_depuis_minetest 
 +  * Données 3D Strasbourg  :  
 +      * https://3d.strasbourg.eu/ 
 +      * https://data.strasbourg.eu 
 +      * Photomaillage 3d 2022 (bâtiment + sol en un seul maillage) : https://data.strasbourg.eu/explore/dataset/pm3d_2022/custom/ 
 +      * Maquette 3d 2022 (bâtiment et sol séparés) https://data.strasbourg.eu/explore/dataset/odata3d_maquette_2022/custom/ 
 +   * JOSM 
 +       * https://josm.openstreetmap.de/ 
 +   * OSM2World 
 +       * https://osm2world.org/download/ 
 +   * Import OBJ en masse 
 +       * https://github.com/p2or/blender-batch-import-wavefront-obj 
 + 
 + 
 +=== Environnement  === 
 + 
 +=== Utiliser Blender === 
 +  * Prendre quelques minutes pour comprendre comment déplacer les objets, orienter la visualisation, bouger/créer/supprimer des éléments de maillages 
 +      * pavé numérique pour différentes vues 
 +      * **.** mettre l'objet sélectionné en origine pour les déplacements de la vue 
 +      * **e** extruder 
 +      * **g** bouger selon les axes 
 +      * **r** tourner selon les axes 
 +      * **s** ajuster la taille 
 +  * Projeter un modèle sur une surface ( [[https://www.youtube.com/watch?v=7hq92JvHq2g | Projection d'un modèle sur Surface]] ) 
 +      * Objectif, adapter le tracé 2D de la logique du circuit au terrain 3D et ainsi éviter le blocage de la circulation des Kart IA si le tracé est positionné trop haut ou trop bas par rapport au terrain. 
 +     
 +=== Préparer Blender pour SuperTuxKart === 
 +  * Télécharger l'extension https://github.com/supertuxkart/stk-blender 
 +  * Décompresser les fichiers dans le dossier de configuration ~/.config/blender/**VERSION DE BLENDER**/scripts/addons 
 +  * Activer les scripts dans Blender 
 +      * Éditer > Préférences > Addons 
 +      * Chercher "Supertuxkart" et activer "Import-Export: Supertuxkart Exporter Tools" 
 +      * Chercher "SPM" et activer " et activer "Import-Export: SPM (Space partioned mesh) format" 
 + 
 +=== Importer des données obj === 
 + 
 +L'Eurométropole de Strasbourg propose des scans 3D disponibles au format obj importable directement et facilement dans blender. Pour une première utilisation se familialiser avec un photomaillage, pour aller plus loin utiliser les maquettes 3d 
 + 
 +  * Télécharger la ou les tuiles à travailler 
 +  * Importer les fichiers .obj dans blender, avec l'extension batch import pour de multiples objets (bien sélectionner batch import dans le menu importer!) 
 +  * Déplacer et ajuster le modèle importé à l'origine du projet. 
 +     * Sélectionner le modèle importé dans la liste des éléments en mode objet 
 +      Layout (Onglet) > Objet (Menu) > Définir Origine > Géométrie vers Origine (ou l'inverse si plusieurs fichiers importés 
  
 === Créer un circuit simple === === Créer un circuit simple ===
 +
 Tuto créer un circuit simple avec blender : https://www.youtube.com/watch?v=drri9yAlxYQ Tuto créer un circuit simple avec blender : https://www.youtube.com/watch?v=drri9yAlxYQ
      * Ajouter une ligne & Ajouter un plan      * Ajouter une ligne & Ajouter un plan
-     * Les déplacer / tourner à l'endroit souhaité pour le départ dans l'axe de la route +     * Les déplacer / tourner à l'endroit souhaité pour le départ dans l'axe de la route et les surélever légèrement par rapport à la route
      * Extruder la ligne (E) afin de créer le tracé du circuit      * Extruder la ligne (E) afin de créer le tracé du circuit
      * Sélectionner le plan       * Sélectionner le plan 
Ligne 15: Ligne 66:
  
 Modifications finales pour supertuxkart Modifications finales pour supertuxkart
-     Une fois le tracé effectué, en mode "Edit" sélectionner tous les points "A" et fusionner les points (vertices) au plus proche +     Pour un circuit de test tout simple, dupliquer le circuit créé. Un sera le circuit physiquel'autre la logique. 
 +     * Sélectionner le circuit "logique" et en mode "Edit" sélectionner tous les points (vertices) "A" et les fusionner (clic droit > merge) au plus proche 
      * Créer les "Antennes" nécessaires à la logique du circuit STK en supprimant 3 arrêtes (edge) au niveau du départ souhaité      * Créer les "Antennes" nécessaires à la logique du circuit STK en supprimant 3 arrêtes (edge) au niveau du départ souhaité
      * Dans l'option de la scène indiquer que le projet est un circuit STK      * Dans l'option de la scène indiquer que le projet est un circuit STK
 +     * Ajouter des lignes pour les checkpoints traversant le circuit et les définir en tant que "checkline" dans le menu de droite STK
  
-      +Exporter le circuit et le placer dans        
 +  
 +/usr/share/games/supertuxkart/data/tracks
        
 +Tester
 +
 +=== Détails urbains avec les données d'OpenStreetMap ===
 +OpenStreetMap est une base de données libre permettant de cartographier le monde.
 +  * Télécharger les données utiles de la zone au format .osm avec le logiciel JOSM
 +  * Générer la 3d des éléments urbains utiles avec OSM2World
 +      * Pour un rendu 3d des arbres adapter le fichier de configuration modifier le paramètre **useBillboards = false**
 +  * Intégrer les données
 +
 +=== Modèles 3d ===
 +   * Ajouter d'autres modèles 3d pour peupler le circuit