# 03 — Améliorer ta salle

Ajoute des textures, des assets 3D externes, des marqueurs de butin et des détails décoratifs.

Prérequis : une salle fonctionnelle de [02-simple-room.md](02-simple-room.md).

---

## Matériaux et textures

### Créer un matériau

1. Dans le dossier **Project**, clic droit → **Create → Material**
2. Donne-lui un nom descriptif : `Pierre`, `ParquetBois`, `MetalRouillé`
3. Glisse-le sur n'importe quel objet dans la Hierarchy ou la Scene View

### Couleur plate

- Clique sur le rectangle à côté d'**Albedo** → sélecteur de couleur
- Règle **Metallic** `0`, **Smoothness** `0.1` pour un aspect pierre mat

### Texture image

1. Glisse un fichier `.png` ou `.jpg` dans le dossier **Project**
2. Sélectionne l'image importée → règle **Wrap Mode** sur `Repeat` → **Apply**
3. Sélectionne ton matériau → glisse la texture sur le slot **Albedo** (ou clique sur le cercle à gauche d'Albedo)

> Textures gratuites : cherche "ambientcg pierre" ou "poly haven stone" pour des textures PBR CC0 gratuites.

### Tiling

Sans tiling, une texture de 1m étirée sur un mur de 20m est déformée.

1. Sélectionne le matériau
2. Sous **Albedo**, règle **Tiling X / Y** selon la taille de la surface :
   - Un mur de 20m × 5m avec une texture de 1m → `X = 20, Y = 5`
   - En cas de doute, essaie `X = 8, Y = 8` et ajuste

### Normal map (relief de surface)

1. Importe un fichier `*_Normal.png`
2. Sélectionne-le → règle **Texture Type** sur `Normal map` → **Apply**
3. Dans le matériau, assigne-le au slot **Normal Map**
4. Ajuste l'intensité (1 = standard, 2 = plus prononcé)

### Référence Metallic / Smoothness

| Surface | Metallic | Smoothness |
|---|---|---|
| Pierre rugueuse | 0 | 0.05 |
| Bois usé | 0 | 0.1 |
| Pierre mouillée | 0 | 0.4 |
| Métal poli | 0.9 | 0.7 |
| Métal rouillé | 0.5 | 0.1 |

> **Les textures sont intégrées automatiquement.** Toute texture assignée à un matériau utilisé sur des objets dans ton bundle est packagée dans le bundle — pas besoin de label manuel.

---

## Importer des assets 3D externes

Unity 2018 n'est pas compatible avec la plupart des packages de l'Asset Store Unity (ils nécessitent Unity 2019+). Utilise l'**export FBX de Blender** ou des assets `.fbx`/`.obj` gratuits à la place.

### Workflow FBX Blender

**Dans Blender :**

1. Modélise ton asset (caisse, tonneau, pilier, arche…)
2. **File → Export → FBX (.fbx)**
3. Paramètres :
   - **Apply Transform** ✓ (sous Geometry)
   - **Forward** : `-Z Forward`
   - **Up** : `Y Up`
   - Scale : `1.00`

**Dans Unity :**

1. Glisse le `.fbx` dans le dossier **Project**
2. Il apparaît comme un asset de modèle — glisse-le dans la scène
3. Assigne un matériau en le glissant sur le mesh

### Sources d'assets gratuits

- Cherche des props de donjon `.fbx` gratuits : tonneaux, caisses, piliers, torches
- **Kenney.nl** propose des assets 3D gratuits CC0 prêts pour le jeu

### Vérification d'échelle

Blender utilise les mètres par défaut ; Unity 2018 avec import FBX aussi. Un joueur mesure environ 1.8m. Si un asset importé est gigantesque ou minuscule, ajuste le champ **Scale** dans les paramètres d'import FBX (Inspector quand le `.fbx` est sélectionné) et clique sur **Apply**.

---

## Marqueurs de butin

Place des objets vides `LootSpawner` aux endroits où du butin peut tomber (pièces d'or, livres XP) :

1. Clic droit sur la racine → **Create Empty** → renomme `LootSpawner`
2. Place 5–10 répartis dans la salle, au sol
3. Le jeu décide aléatoirement si du butin apparaît à chaque point (~1 chance sur 50 par marqueur par partie)

---

## Idées de décoration

| Objet | Comment le faire |
|---|---|
| Colonne en pierre | Cube fin et haut : Scale `(0.6, 5, 0.6)` |
| Alcôve murale | Deux Cubes fins formant un renfoncement dans le mur |
| Caisse | Cube ~`(0.8, 0.8, 0.8)` avec un matériau bois |
| Amas de gravats | Plusieurs petits Cubes irréguliers à la base d'un mur |
| Support de torche | Cube fin + enfant Point Light avec couleur orange |

> **Conseil performances** : évite plus de ~200 objets dans un seul prefab de salle. Chaque objet ajoute un draw call.

---

## Suite

→ [04-enemies.md](04-enemies.md) — ajouter des spawns d'ennemis et le NavMesh
