---
title: Gestion des tracks
description: Créer, configurer et éditer des chemins de circulation (tracks) dans Blender.
---

import { Aside, Steps, Tabs, TabItem } from '@astrojs/starlight/components';

Les **tracks** sont des chemins de circulation utilisés par le moteur GS Framework pour guider le déplacement de véhicules (routes) ou d'animaux (sentiers). Ils sont définis par une série de points avec des métadonnées (vitesse, type de route, état animal).

---

## Concept

Un track est une **courbe Blender** (objet Curve) enrichie de métadonnées :

- **Points** : positions 3D définissant le chemin
- **Vitesse** : vitesse de déplacement sur le track (en km/h pour les routes)
- **Type de route** : classification du segment (route, autoroute, ville)
- **Mode** : route (véhicules) ou animal
- **État** : pour les tracks animaux, le comportement de l'animal (idle, walk, run, graze)

Chaque point du track stocke ses propres métadonnées, permettant de varier la vitesse ou le type le long du parcours.

---

## Créer un track

Les points de contrôle de la courbe définissent le chemin.

<Steps>

1. **Créez une courbe** dans Blender (Add → Curve → Path, Bezier, ou NURBS).

2. **Modifiez la courbe** en Edit Mode pour placer les points de contrôle le long du chemin souhaité.

3. Repassez en **Object Mode** et sélectionnez la courbe.

4. Dans l'onglet **GS Object**, dépliez le panneau **Track**.

5. Cliquez sur **Convertir en Track**.

6. Une fenêtre de configuration apparaît :
   - **Vitesse par défaut** : vitesse initiale pour tous les points (0–500 km/h, défaut : 50)
   - **Type de route** : 0 = Route, 1 = Autoroute, 2 = Ville

7. Confirmez — la courbe est maintenant un track avec toutes ses métadonnées.

</Steps>

{/* ![Track créé depuis une courbe Bézier](../../../assets/placeholder-track-created.png) */}

---

## Configurer un track

Une fois le track créé, le panneau **Track** (onglet GS Object) affiche ses réglages quand la courbe est sélectionnée. Deux modes sont disponibles, choisis via le sélecteur **Mode** :

### Mode Route

Pour les tracks de circulation routière (véhicules).

#### Type de route

Trois types disponibles via des boutons :

| Type | Valeur | Usage |
|---|---|---|
| **Route** | 0 | Route standard, urbaine ou de campagne |
| **Autoroute** | 1 | Axe rapide, voie express |
| **Ville** | 2 | Zone urbaine dense |

Le type de route influence le comportement de la circulation dans le moteur (densité, règles de priorité, etc.).

#### Vitesse

Des presets rapides sont disponibles :

| Preset | Description |
|---|---|
| **30 km/h** | Zone résidentielle, zone scolaire |
| **50 km/h** | Ville standard |
| **70 km/h** | Route départementale |
| **90 km/h** | Route nationale |
| **110 km/h** | Voie rapide |
| **130 km/h** | Autoroute |

Un bouton de saisie personnalisée permet de définir n'importe quelle vitesse entre 0 et 300 km/h.

### Mode Animal

Pour les tracks de déplacement d'animaux.

---

## Mettre à jour un track

Si vous modifiez la géométrie de la courbe après avoir créé le track (ajout de points, déplacement) :

<Steps>

1. Sélectionnez la courbe du track.

2. Dans le panneau **Track** (onglet GS Object), cliquez sur **Rafraîchir les données**.

3. Les points sont ré-extraits depuis la géométrie de la courbe. Les métadonnées existantes (vitesses, types de route) sont **préservées** tant que le nombre de points n'a pas changé.

</Steps>

<Aside type="caution">
Si le nombre de points a changé (ajout ou suppression de points de contrôle), les métadonnées par point sont réinitialisées — l'addon ne peut pas deviner quelle métadonnée correspond à quel nouveau point.
</Aside>

<Aside type="tip">
Pour rafraîchir **tous** les tracks de la scène d'un coup (y compris dans les `.blend` liés), utilisez le bouton **Refresh All Tracks** du panneau *Export de Scène* (onglet GS Scene).
</Aside>

---

## Données stockées

Chaque track porte ces propriétés custom sur l'objet courbe :

| Propriété | Description |
|---|---|
| `track_id` | Identifiant unique du track |
| `track_points` | Nombre de points |
| `track_default_speed` | Vitesse par défaut (km/h) |
| `track_default_road_type` | Type de route par défaut |
| `track_mode` | Mode : 0 = Route, 1 = Animal |
| `track_points_data` | Données complètes de chaque point (JSON) |

Les données par point contiennent : index, positions de début/fin pour l'interpolation, temps, vitesse, type de route, et voie de péage.

---

## Bonnes pratiques

<Aside type="tip">

- **Utilisez des courbes de type Path** pour les routes droites et les autoroutes
- **Utilisez des courbes Bézier** pour les routes sinueuses et les sentiers animaux
- **Nommez vos tracks** clairement (ex: `track_RueHauteVitesse`, `track_SentierCerf`) grâce au [système de nommage](/blender/tutoriels/nommage/)
- **Vérifiez le sens** de la courbe : le premier point de contrôle est le début du track, le dernier est la fin
- **Adaptez la vitesse** aux segments : utilisez une vitesse plus basse dans les virages, plus haute sur les lignes droites

</Aside>
