---
title: Propriétés custom
description: Référence complète des propriétés custom stockées sur les objets Blender par l'addon.
---

import { Aside } from '@astrojs/starlight/components';

Lors de l'import, l'addon stocke des métadonnées sur les objets Blender sous forme de **propriétés custom** (Custom Properties), visibles dans le panneau Properties → Object → Custom Properties. Ces propriétés préservent les informations nécessaires pour l'export et la traçabilité.

<Aside>
Ces propriétés sont destinées à la référence. Vous n'avez généralement pas besoin de les modifier manuellement — l'addon les gère via ses panneaux dédiés.
</Aside>

---

## Propriétés communes (tous les objets importés)

| Propriété | Type | Description |
|---|---|---|
| `asset_type` | Texte | Type d'asset : `NMG`, `NMS`, `Material`, `Camera`, `Light`, `Instance`, `CollisionShape`, `Trigger`, `Track` |
| `asset_file` | Texte | Chemin absolu vers le fichier source |
| `asset_name` | Texte | Nom du fichier source (sans chemin) |
| `asset_rel_path` | Texte | Chemin relatif depuis le dossier projet |
| `asset_timestamp` | Texte | Date/heure d'import (format ISO) |
| `object_type` | Texte | Type d'objet pour le nommage (`tree`, `building`, etc.) |

---

## Propriétés NMG (géométrie) — préfixe `nmg_`

Présentes sur les objets mesh importés depuis un fichier NMG.

| Propriété | Type | Description |
|---|---|---|
| `nmg_materials` | JSON (liste) | Liste des chemins de fichiers matériaux (.nmm) référencés |
| `nmg_vertices` | Entier | Nombre de vertices du mesh |
| `nmg_polygons` | Entier | Nombre de polygones |
| `nmg_uv_channels` | Entier | Nombre de layers UV |
| `nmg_has_normals` | Booléen | Indique si les normales sont incluses dans le fichier |

---

## Propriétés NMS (scène) — préfixe `nms_`

Présentes sur les objets importés depuis un fichier NMS.

| Propriété | Type | Description |
|---|---|---|
| `nms_id` | Texte | Identifiant de l'item dans la scène NMS |
| `nms_uid` | Texte | Identifiant unique (UID) |
| `nms_active` | Booléen | L'item est actif dans la scène d'origine |
| `nms_static` | Booléen | L'item est statique |
| `nms_priority` | Entier | Priorité de l'item (uniquement si ≠ 0) |
| `nms_rotation_order` | Texte | Ordre de rotation (uniquement si ≠ "ZYX") |
| `nms_position` | Texte | Position originale dans le format NMS |
| `nms_rotation` | Texte | Rotation originale dans le format NMS |
| `nms_scale` | Texte | Échelle originale dans le format NMS |
| `nms_geometry_path` | Texte | Chemin du fichier .nmg référencé |
| `nms_template_path` | Texte | Chemin du template .nms (pour les instances) |

---

## Propriétés NMM (matériau) — préfixe `nmm_`

Présentes sur les **matériaux Blender** (pas sur les objets) importés depuis un fichier NMM.

### Couleurs et paramètres

| Propriété | Type | Description |
|---|---|---|
| `nmm_diffuse` | Texte | Couleur diffuse originale |
| `nmm_specular` | Texte | Couleur spéculaire |
| `nmm_ambient` | Texte | Couleur ambiante |
| `nmm_self_illum` | Texte | Couleur d'auto-illumination (émission) |
| `nmm_glossiness` | Flottant | Brillance (uniquement si ≠ 0.5) |
| `nmm_opacity` | Flottant | Opacité (uniquement si ≠ 1.0) |
| `nmm_alpha_threshold` | Flottant | Seuil de transparence |
| `nmm_reflection` | Flottant | Intensité de la réflexion |

### Flags de rendu

| Propriété | Type | Description |
|---|---|---|
| `nmm_smoothing` | Booléen | Lissage des normales |
| `nmm_double_sided` | Booléen | Rendu double-face |
| `nmm_shadeless` | Booléen | Matériau non affecté par l'éclairage |
| `nmm_use_vertex_color` | Booléen | Utilise les couleurs de vertex |
| `nmm_alpha_blend` | Booléen | Mode de mélange alpha |
| `nmm_render_mask` | Entier | Masque de rendu (bits) |
| `nmm_blend_op` | Texte | Opération de mélange |

### Références

| Propriété | Type | Description |
|---|---|---|
| `nmm_shader_path` | Texte | Chemin relatif du shader .nsa |
| `nmm_physic_material` | Texte | Référence au matériau physique |
| `nmm_textures` | JSON (dict) | Dictionnaire des canaux de texture : `{"canal": {"path": "...", "index": N}}` |

---

## Propriétés physiques — préfixe `physic_`

Présentes sur les objets avec un mode physique assigné.

| Propriété | Type | Description |
|---|---|---|
| `physic_mode` | Texte | Mode : `None`, `Static`, `Dynamic`, `Kinematic`, `Character`, `Vehicle` |
| `physic_self_mask` | Entier | Masque de collision propre |
| `physic_mask` | Entier | Masque de collision cible |
| `physic_linear_damping` | Flottant | Amortissement linéaire (0.0–1.0) |
| `physic_angular_damping` | Flottant | Amortissement angulaire (0.0–1.0) |
| `physic_char_radius` | Flottant | Rayon du contrôleur de personnage |
| `physic_char_height` | Flottant | Hauteur du contrôleur de personnage |
| `physic_char_max_step` | Flottant | Hauteur de marche max du personnage |

### Collision shapes

| Propriété | Type | Description |
|---|---|---|
| `collision_shape_type` | Texte | Type de shape : `Box`, `Sphere`, `Capsule`, `Cylinder`, `Mesh` |

---

## Propriétés Track — préfixe `track_`

Présentes sur les courbes converties en tracks.

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

### Structure de `track_points_data`

Chaque point est un objet JSON :

```json
{
  "index": 0,
  "position_start": [x, y, z],
  "position_end": [x, y, z],
  "time": 0.0,
  "speed": 90,
  "road_type": 0,
  "toll_lane": 0
}
```

---

## Propriétés LOD — préfixe `lod_`

Présentes sur les objets marqués comme niveau de détail.

| Propriété | Type | Description |
|---|---|---|
| `asset_type` | Texte | Vaut `LOD` pour un objet LOD |
| `lod_distance` | Flottant | Distance d'affichage du LOD, en mètres |

---

## ScriptedObject — sans préfixe

Présentes sur les objets **ou** sur la scène quand un script Squirrel y est attaché.

| Propriété | Type | Description |
|---|---|---|
| `scripted_path` | Texte | Chemin relatif du script `.nut` |
| `scripted_class` | Texte | Nom de la classe Squirrel à instancier |
| `nms_scripted_params` | JSON | Paramètres passés au script (sur l'objet) |

---

## Propriétés d'interface — sans préfixe

Utilisées par les panneaux de l'addon pour l'état de l'interface.

| Propriété | Type | Description |
|---|---|---|
| `item_active` | Booléen | Objet actif/inactif (synchronisé avec la visibilité viewport) |
| `custom_name` | Texte | Nom personnalisé pour le nommage automatique |
| `name_override` | Booléen | Mode Nommage Libre activé/désactivé |
| `block_fixe_mode` | Booléen | Mode Block Fixe (stocké sur la **scène**) : auto-typage des assets déposés |
