feat: Initial commit

This commit is contained in:
2026-03-23 15:04:05 +01:00
commit aca81c616c
36 changed files with 9462 additions and 0 deletions

View File

@ -0,0 +1,161 @@
---
title: Matériaux et shaders
description: Comprendre et gérer les matériaux GS Framework dans Blender.
---
import { Aside, Steps, Tabs, TabItem } from '@astrojs/starlight/components';
L'addon gère les matériaux GS Framework à deux niveaux : l'**import** (conversion des fichiers NMM en matériaux Blender) et l'**édition** (configuration des shaders et textures via le panneau GS Edit pour l'export).
---
## Comment les matériaux NMM sont convertis
Lors de l'import d'un fichier NMM, l'addon crée un matériau Blender utilisant le shader **Principled BSDF** et configure ses paramètres :
| Donnée NMM | Résultat dans Blender |
|---|---|
| Couleur diffuse | Base Color |
| Couleur spéculaire | Specular |
| Glossiness | Roughness (inversé : glossiness haute = roughness basse) |
| Self-illumination | Emission Color + Strength |
| Opacité | Alpha |
| Texture diffuse | Connectée à Base Color |
| Texture normal | Connectée via un nœud Normal Map |
| Texture AO | Multipliée avec Base Color |
| Texture metallic | Connectée à Metallic |
| Double-sided | Backface culling désactivé |
| Shadeless | Matériau en émissif pur |
| Alpha blend | Mode blend Alpha activé |
Toutes les données originales restent accessibles dans les **propriétés custom** du matériau (préfixe `nmm_`), permettant un export fidèle.
---
## Le panneau GS Edit (Shader Editor)
Le panneau de gestion des matériaux se trouve dans la **sidebar du Shader Editor**, onglet **GS Edit**. Voir la [présentation complète du panneau](/interface/shader-panel/).
Il permet de :
- Associer un **shader NSA** au matériau
- Définir les **canaux de texture** et leurs fichiers
- **Sauvegarder / charger** ces données dans les propriétés custom du matériau
---
## Canaux de texture disponibles
L'addon reconnaît 13 types de canaux de texture :
| Canal | Usage |
|---|---|
| `diffuse` | Couleur de base / albedo |
| `normal` | Carte de normales pour le relief |
| `specular` | Intensité de la réflexion spéculaire |
| `glossiness` | Brillance de la surface |
| `roughness` | Rugosité de la surface (inverse de glossiness) |
| `opacity` | Transparence |
| `reflection` | Réflexion environnementale |
| `selfillum` | Auto-illumination / émission |
| `light` | Lightmap (éclairage précalculé) |
| `ao` | Occlusion ambiante |
| `metallic` | Caractère métallique |
| `colormask` | Masque de couleur |
| `custom` | Canal personnalisé (vous choisissez le nom) |
---
## Assigner un shader et des textures manuellement
<Steps>
1. **Sélectionnez** un objet avec un matériau dans le viewport.
2. **Ouvrez le Shader Editor** (passez un éditeur en mode Shader Editor, ou utilisez le layout Shading).
3. Ouvrez la **sidebar** du Shader Editor (touche `N`) et allez dans l'onglet **GS Edit**.
4. Dans la section **NSA Shader**, cliquez sur **Select NSA Shader** et naviguez jusqu'au fichier `.nsa` souhaité.
{/* ![Sélection d'un shader NSA](../../../assets/placeholder-select-nsa.png) */}
5. Dans la section **Texture Channels**, cliquez sur **Add Channel** pour ajouter un canal.
6. Sélectionnez le canal ajouté dans la liste. Dans le détail :
- Choisissez le **type** (ex: `diffuse`)
- Cliquez sur le bouton de parcours pour sélectionner le **fichier texture**
7. Répétez pour chaque canal nécessaire (normal, specular, etc.).
8. Cliquez sur **Save** pour enregistrer la configuration dans les propriétés du matériau.
</Steps>
<Aside type="caution">
Les modifications dans la liste des canaux ne sont **pas automatiquement sauvegardées**. Cliquez toujours sur **Save** après vos modifications, sinon elles seront perdues en fermant le fichier.
</Aside>
---
## Workflow Save / Load
<Tabs>
<TabItem label="Save">
**Save** lit la configuration actuelle de la liste des canaux de texture dans le panneau et l'écrit dans les propriétés custom du matériau sous forme d'un dictionnaire JSON (propriété `nmm_textures`).
**Quand l'utiliser** : après chaque modification des canaux de texture.
</TabItem>
<TabItem label="Load">
**Load** lit les propriétés custom du matériau (`nmm_textures`) et remplit la liste des canaux dans le panneau.
**Quand l'utiliser** :
- Après avoir ouvert un fichier contenant des matériaux importés
- Pour restaurer la configuration après avoir fait des changements non sauvegardés
- Pour synchroniser le panneau avec les données stockées
</TabItem>
</Tabs>
---
## Supprimer les données GS
Le bouton **Clear All GS Data** supprime :
- La référence au shader NSA (`nmm_shader_path`)
- Tous les canaux de texture (`nmm_textures`)
Le matériau retrouve un comportement GLTF standard. Cette action est utile si vous voulez exporter le matériau en GLTF pur sans les métadonnées GS Framework.
<Aside type="caution">
Cette suppression est irréversible. Les données GS originales seront perdues.
</Aside>
---
## Formats de texture supportés
Le sélecteur de fichiers textures accepte les formats suivants :
- **PNG** (.png)
- **JPEG** (.jpg, .jpeg)
- **TGA** (.tga)
- **BMP** (.bmp)
- **TIFF** (.tif, .tiff)
- **DDS** (.dds)
---
## Bonnes pratiques
<Aside type="tip">
- **Importez d'abord**, éditez ensuite : les matériaux NMM importés ont déjà leurs canaux correctement configurés dans les propriétés custom. Utilisez **Load** pour les voir dans le panneau.
- **Un canal par type** : évitez de mettre deux canaux du même type (ex: deux `diffuse`). Le dernier écrasera le premier lors de l'export.
- **Chemins relatifs** : configurez le [dossier projet](/getting-started/configuration/) pour que les chemins de textures soient stockés de manière relative et portable.
- **Vérifiez dans le Shader Editor** : les nœuds Principled BSDF de Blender vous montrent le résultat visuel des textures connectées, indépendamment des données GS stockées.
</Aside>