Modélisation

## Robin DR-400 - Exemple d'avion

Dans le SDK, nous avons inclus un projet d'avion complet, le Robin DR-400, y compris son modèle 3D et ses textures. En suivant les étapes du tutoriel avion, les programmes de développement nécessaires seront installés et à la fin du tutoriel le DR-400 sera installé comme avion supplémentaire dans le simulateur.

> Veuillez noter que le modèle 3D du Robin DR-400 fourni est protégé par le droit d'auteur et ne peut être utilisé à aucune autre fin que celle de démontrer comment créer un avion pour l'Aerofly FS 2.
>
>

## Préparer un modèle 3D personnalisé

Après avoir installé le SDK, nous allons maintenant passer par les étapes de conversion d'un modèle 3D personnalisé de 3Ds Max vers Aerofly FS 2 Flight Simulator.

Pour réaliser une exportation sans erreur, une certaine préparation est nécessaire au préalable. Pour l'avion exemple DR400, toutes ces étapes ont déjà été réalisées afin que cet avion puisse être utilisé comme référence.

### Aperçu

Cet aperçu montre les étapes nécessaires pour obtenir un modèle d'avion à partir d'un logiciel de conception 3D comme 3D Studio Max ou Cinema4D dans Aerofly FS 2. Les étapes sont décrites plus en détail plus loin dans ce chapitre.

Les étapes 1. à 6. ont déjà été effectuées pour l'exemple d'avion fourni avec ce SDK afin que vous puissiez commencer immédiatement par l'étape 7. et utiliser l'exemple d'avion comme référence pour vos projets.

1. Créez un nouveau dossier en utilisant les lettres minuscules az, les chiffres 0 à 9 et le trait de soulignement uniquement (comme c172, b747, f4u,…). Ce dossier sera appelé dossier intermédiaire. Le nom de ce dossier sera le nom interne de l'avion (le nom affiché dans le menu avion pourra être paramétré ultérieurement) et déterminera les noms de plusieurs fichiers. Dans ce qui suit, nous choisirons le nom xxxx.
2. Copiez et/ou exportez tous les fichiers de texture et de son source nécessaires vers le dossier intermédiaire. Les fichiers doivent être dans un format pris en charge par Aircraft Converter (.bmp/.tif/.png/.wav).
3. Préparez le modèle 3D comme décrit ci-dessous.
4. Exportez le modèle 3D vers le dossier intermédiaire en utilisant le nom de fichier xxxx (cela crée le fichier 'xxxx.tgi') comme décrit plus bas.
5. Créez les fichiers de définition et de configuration de l'avion. Vous pouvez créer ces fichiers à partir de zéro en utilisant la section « Définition de l'avion » de ce document comme référence, ou vous pouvez copier et modifier les fichiers d'un avion existant. Si vous souhaitez simplement importer le modèle 3D dans le simulateur pour vérifier les graphiques, copiez simplement les fichiers « template.tmc » et « template.tmd » du dossier « template » du SDK et renommez-les en « xxxx.tmc » et « xxxx.tmd' respectivement. Modifiez le nom et la description dans le fichier .tmc et remplacez l'entrée 'Box' dans le paramètre GeometryList à la fin du fichier .tmd par les noms de toutes vos géométries.
6. Ajoutez le fichier 'model.tmc'. Pour commencer, vous pouvez copier le "model.tmc" du dossier "template" du SDK et affiner les tailles de texture plus tard.
7. Exécutez le convertisseur d'avion. Faites un clic droit sur le dossier intermédiaire « xxxx » et choisissez Aerofly FS 2 Aircraft Converter dans le menu contextuel et lancez la conversion.
8. Votre nouvel avion est maintenant disponible dans Aerofly FS 2. Testez et affinez la dynamique, les graphiques et les sons comme vous le souhaitez.

### Modèle 3D unique

Aerofly FS 2 fonctionne avec une seule 3D pour un avion entier ; il n'est pas nécessaire de fournir séparément un modèle externe et un modèle interne. Le moteur Aerofly FS 2 est optimisé pour dessiner uniquement les objets visibles par la caméra.

### Unités de modélisation génériques

Les unités du modèle d'avion doivent être définies sur « Unités génériques ».

### Système d'alignement et de coordonnées

L'avion doit être aligné sur l'axe x comme direction de vol vers l'avant, l'axe y positif vers la gauche et l'axe z positif pointant vers le haut. L'origine du système de coordonnées du modèle doit être placée à proximité du centre de gravité.

Les objets animés doivent avoir leur axe et leurs pivots de rotation définis à un emplacement plausible. Les objets articulés doivent avoir leur origine locale à l'emplacement de leur charnière. Les pivots et axes définis dans 3D Studio Max seront exportés vers les fichiers journaux qui seront utilisés ultérieurement pour animer les objets dans la section graphique du fichier .tmd.

Les objets animés doivent être positionnés dans les positions neutres suivantes avant l'exportation :

* gouvernes neutres, volets relevés
* train sorti et comprimé comme si l'avion restait au sol
* portes de train fermées pour assurer un alignement parfait lorsque le train est rentré en vol
* portes et fenêtres de la cabine fermées
* les boutons et interrupteurs qui ne sont pas prévus pour être animés doivent être en position de vol
* il est préférable d'exporter les commutateurs et les boutons qui seront animés dans leur état éteint
* les aiguilles des instruments pointent vers zéro ou neutre selon l'instrument
* le compas magnétique pointe vers 090 degrés (Est). Cela est nécessaire car l'axe x du système de coordonnées global de l'Aerofly FS 2 pointe également vers l'est.

### Objets individuels

Tous les objets animés tels que les gouvernes (gouvernail, aileron, profondeur) et les gouvernes de trim, les interrupteurs et boutons, les pièces d'engrenage, etc. doivent être des objets individuels dans le modèle 3D afin qu'ils puissent être animés indépendamment les uns des autres. Le moteur de rendu Aerofly FS 2 est optimisé pour fusionner des objets dans la même GeometryList lorsque l'avion est chargé, il n'y a donc aucun réel avantage à combiner des objets. L'expérience a montré que le temps de développement peut être réduit si tous les commutateurs et boutons sont immédiatement disponibles en tant qu'objets individuels et que le modèle n'a pas besoin d'être modifié à chaque fois qu'un développeur décide d'animer un certain commutateur.

Les écrans d'affichage doivent être des objets séparés afin que vous puissiez régler ultérieurement la luminosité de l'écran indépendamment de l'éclairage de fond.

### Conventions de dénomination des objets

Les objets 3D seront référencés par leur nom pour l'affichage et les animations, il est donc essentiel que chaque objet ait un nom unique. Les objets doivent être nommés logiquement et le nom ne doit pas contenir d'espaces ni de caractères spéciaux (il est recommandé d'utiliser uniquement AZ, az, 0-9). Bien que les noms d'objets n'aient aucune signification pour la simulation, il est plus facile pour toutes les personnes travaillant sur le projet d'utiliser des noms standardisés. Nous utilisons la convention 'UpperCamelCase', c'est-à-dire que nous mettons en majuscule la première lettre de chaque mot pour obtenir des noms d'objets courts mais lisibles.

Les noms conseillés sont par exemple :

Fuselage, LeftWing, LeftAileron, LeftFlapInner, LeftSlat1, LeftSpoiler1, LeftSpoiler1LinkUpper, LeftStabilizer, LeftElevator, VerticalStabilizer, Rudder, LeftGearUpper, LeftGearLower, LeftFrontWheel, LeftPropeller, LeftBlade1, LeftBlade2, VirtualCockpitStatic, SwitchBatteryMaster, MCDUPushButtonA, CanopyFrame, Canopy Verre, COM1FrequencyKnobSmall, NAV1FrequencySwap, LeftEngineFan, LeftEngineExhaust, LeftEngineRevererFlap0, PrimaryFlightDisplayPilot, NavigationDisplayCopilot,…

### Matériaux

Les matériaux sont définis par l'ensemble de textures qu'ils utilisent et par des balises ou des astuces qui décrivent l'utilisation prévue. Un matériau simple a juste besoin d'une texture diffuse, mais Aerofly FS 2 prend également en charge les textures ambiantes, spéculaires, bump/normal, de réflexion, d'(auto)luminance et d'éclairage pour définir les paramètres du matériau à chaque texel. Utilisez le matériau standard du logiciel 3D et les emplacements de texture suivants :

* Diffus : couleur diffuse. Une texture facultative '\_alpha' en niveaux de gris peut être fournie pour ajouter des informations de transparence (le noir est entièrement transparent).
* Ambiante : couleur ambiante. Il s'agit d'une carte RVB en niveaux de gris distincte.
* Bump : bump map si le nom de la texture se termine par '\_bump', normal map si le nom se termine par '\_normal'. Les bump maps d'un modèle seront converties en maps normales par le convertisseur de l'avion.
* Spéculaire : couleur et force des reflets spéculaires. La couleur et la force sont données par les valeurs RVB de la texture, la largeur des reflets spéculaires est contrôlée par le canal alpha.
* Réflexion : force de réflexion nette. Le canal de couleur rouge contrôle la force de la réflexion de l'environnement. N'utilisez pas les canaux vert et bleu car ils sont réservés à d'autres fins.
* Auto-éclairage : carte de luminance des couleurs.
* Couleur du filtre : éclairage. Les canaux RVB codent la force d'éclairage/la carte lumineuse pour l'interaction de la couleur diffuse avec trois sources de lumière indépendantes. (Cet emplacement est utilisé uniquement dans 3D Studio Max. Dans la plupart des cas, nous n'attribuons pas explicitement ces textures, mais utilisons le suffixe « \_illumination » et laissons le convertisseur ajouter la texture au matériau.

Nous utilisons les suffixes '\_color', '\_ambient', '\_bump', … pour distinguer les différentes textures qui composent un matériau. Ces suffixes ne sont pas obligatoires mais permettent au convertisseur d'avion d'ajouter automatiquement des textures à un matériau s'ils ont le même nom de base, et le logiciel de modélisation 3D ne prend pas en charge un emplacement de texture particulier.

### Textures

Toutes les textures doivent être des images carrées puissance de deux avec une profondeur de pixels de fichiers .bmp RVB 24 bits, .png ou .tif 24/32 bits. Les reliefs peuvent être des textures en niveaux de gris 16 bits. Il n'y a pas de support pour les fichiers .psd dans le convertisseur, les différentes couches pour diffus, ambient, .. doivent d'abord être exportées vers le dossier intermédiaire. Vous pouvez conserver un fichier .psd attribué à un emplacement de texture dans le logiciel 3D s'il porte le même nom que le fichier bitmap, à l'exception du suffixe.

Il est recommandé de créer toutes les textures à une résolution de 4 096 × 4 096 ou même de 8 192 × 8 192 pixels, et d'utiliser le paramètre de convertisseur approprié pour réduire la taille réelle utilisée dans le simulateur. La plus petite taille recommandée est de 32×32 pixels, la résolution de texture maximale prise en charge par le moteur est actuellement de 4096x4096px. La quantité totale de texture compressée doit être de l’ordre de 150 Mo pour garantir la compatibilité avec toutes les plates-formes. La résolution finale de la texture peut être définie dans le fichier 'model.tmc'.

### Actualiser les affectations de texture

Si nécessaire, actualisez les affectations de textures dans le logiciel de modélisation 3D pour utiliser les textures exportées dans le dossier intermédiaire. Encore une fois, vous pouvez conserver un fichier .psd attribué à un emplacement de texture dans le logiciel 3D s'il porte le même nom que le fichier bitmap, à l'exception du suffixe. Le convertisseur ignore le suffixe de texture, vous pouvez donc passer de .bmp à .tif sans modifier ni exporter à nouveau le modèle 3D.

### Étiquettes ou astuces matérielles

Chaque matériau peut définir des balises ou des indices de shader pour prendre en charge la sélection du meilleur shader lorsque l'avion est chargé. Les indices de shader peuvent être combinés pour décrire les propriétés du matériau aussi précisément que possible. Actuellement, les astuces de shader suivantes sont prises en charge :

 intérieur
 défaut

L'indice peut être ajouté à un matériau dans 3D Studio Max comme suit :

1. Sélectionnez un objet qui utilise le matériau sélectionné
2. Ouvrez 'Animations' → 'Éditeur de paramètres'
3. Sélectionnez « Ajouter au type » → « Matériau de l'objet sélectionné »
4. Sélectionnez 'Type de paramètre' → 'Chaîne' et 'Type d'interface utilisateur' → 'Modifier le texte'
5. Entrez « shader » dans la zone de texte « Nom »
6. Cliquez sur le bouton « Ajouter »

* Le matériau possède désormais un « attribut personnalisé » dans lequel vous pouvez saisir les balises souhaitées.

### Hélice

Aerofly FS 2 a besoin de deux modèles pour l'hélice. Le premier est le modèle statique/solide comprenant le cône/moyeu et les pales en tant qu'objets séparés. Deuxièmement, le disque de l'hélice, c'est la coque floue de l'hélice en rotation. Le disque d'hélice doit avoir une cartographie planaire depuis l'avant de telle sorte que le disque remplisse le carré de l'unité UV. La texture correspondante est appliquée sur le disque accessoire de telle sorte que le bas soit au centre et le haut aux extrémités, le côté gauche soit tourné vers l'avant et le côté droit soit appliqué sur le dos. Reportez-vous à l'exemple d'avion DR-400 et au « prop\_color.bmp » pour un exemple.

## Exportation depuis 3D Studio Max

Si vous ne l'avez pas encore fait, installez le plugin d'exportation comme décrit ci-dessus. Chargez l'avion dans 3D Studio Max et sélectionnez 'Exporter' → 'Exporter' et sélectionnez le dossier intermédiaire de l'avion. Sélectionnez « IPACS TGI Exporter (\*.TGI) » et enregistrez-le dans « xxxx.tgi ». Sélectionnez l'option de sortie « Modèle d'avion » dans le menu de l'exportateur et définissez le facteur d'échelle sur

* 10 si l'unité générique dans 3D Studio Max correspond à 1 mm
* 100 si l'unité générique dans 3D Studio Max correspond à 1 cm
* 10000 si l'unité générique dans 3D Studio Max correspond à 1 m

Une fois tous les paramètres saisis, un clic sur le bouton « Exporter » lancera le processus d'exportation. Le résumé de l'exportation informera l'utilisateur de toute erreur survenue dans le processus d'exportation et résumera le nombre total de polygones et de sommets ainsi que d'autres statistiques.

## Conversion d'un modèle 3D au format moteur

Lorsque vous avez collecté tous les fichiers requis pour un avion dans le dossier intermédiaire, exécutez le convertisseur d'avion : faites un clic droit sur le dossier intermédiaire 'xxxx' et choisissez Aerofly FS 2 Aircraft Converter dans le menu contextuel. Cela ouvre la fenêtre du convertisseur et le nom interne de l'avion xxxx devrait être affiché. Démarrez la conversion. S'il est exécuté pour la première fois, le convertisseur convertira et compressera toutes les textures et restituera les aperçus. Cela peut prendre un certain temps en fonction de votre matériel.

La prochaine fois que vous convertirez l'avion, le convertisseur traitera uniquement les textures qui ont été modifiées. Vous pouvez toujours forcer la conversion d'une texture ou d'un aperçu en supprimant le fichier généré.

Si vous souhaitez modifier le dossier de sortie, vous pouvez le définir dans le fichier « config.tmc » situé dans votre dossier « Documents/Aerofly FS 2 Aircraft Converter ». Modifiez l'entrée « DesktopFolder » pour qu'elle corresponde à votre dossier.

Le même dossier contient le fichier journal du convertisseur « tm\_aircraft\_converter.log », qui est parfois utile pour le dépannage, ainsi que le « report.txt » dans le dossier intermédiaire de l'avion.

## Aircraft 3D Modeling Guidelines

Nous utilisons les directives de modélisation 3D suivantes pour l'avion dans Aerofly FS 2 et les fournissons à titre de référence. Ces exigences ne sont pas obligatoires et vous pouvez faire entrer un avion dans Aerofly FS 2 sans adhérer à chaque exigence (aucun de nos modèles n'adhère à toutes). Cependant, l’expérience a montré que ces bonnes pratiques facilitent la tâche de toutes les personnes impliquées dans le projet et créent des modèles qui fonctionnent correctement sur toutes les plateformes. Si jamais vous envisagez de commercialiser votre avion sur différentes plates-formes, il est fortement recommandé de remplir autant d'exigences que possible.

### Résumé

Un modèle d'avion pour Aerofly FS 2 comprend l'extérieur et l'intérieur dans un seul modèle. Le budget global du polygone est de 400 000 triangles et 200 000 sommets. La quantité totale de texture compressée est de l'ordre de 150 Mo  ; cela permet jusqu'à 2 Go de textures non compressées à une résolution de 4069×4096. Un mappage de texture unique, non partagé et non dégénéré est requis pour l'occlusion ambiante, l'éclairage et la cuisson de texture. Le maillage a une topologie propre sans jonctions en T ni longs triangles. Les dimensions sont correctes et le modèle est configuré en utilisant des unités génériques, où une unité générique correspond à une unité métrique.

Les directives suivantes devraient clarifier ce que nous considérons comme un modèle propre et devraient aider à intégrer un modèle dans Aerofly FS 2. Aucun de nos modèles d'avion n'adhère entièrement à tous les éléments, mais c'est ce qu'il faut viser pour avoir les meilleurs avions dans Aerofly FS. 2.

### Engrener

* Modèle unique contenant à la fois l'extérieur et l'intérieur (il n'y a pas de cockpit virtuel séparé)
* Budget global des polygones : 400 000 triangles (pas de polygones !) / 200 000 sommets pour tout.
* L'axe +X est vers l'avant, l'axe +Y pointe vers la gauche, +Z est vers le haut
* Le centre du système de coordonnées est approximativement au centre de gravité (ne pas avoir les roues à Z = 0)
* L'avion doit être modélisé dans la configuration propre : volets relevés, gouvernes au point mort, portes de train fermées, aile déchargée (pas de flexion d'aile dans le modèle 3D, cela sera fait par la simulation). Le train d'atterrissage nécessite un traitement particulier : il est modélisé en position sortie et chargée.
* Switchs, boutons, pointeurs, … : modèle dans une position qui correspond à sa position en configuration de vol normale, c'est à dire interrupteurs moteur, aiguilles de température et pression d'huile en arc vert, interrupteurs systèmes auto/on, transpondeur on et encodage, carburant et packs sur, …
* Planifiez à l'avance et faites un budget de polygones pour différentes sections (fuselage/équipement/ailes/cockpit/…) ne commencez pas par un petit détail, puis travaillez au même niveau de détail et finissez avec trop de triangles
* Aucun objet de plus de 50 000 triangles / 50 000 sommets.
* Obtenez les dimensions dès le début, c'est très difficile à corriger plus tard. Ne commencez pas par un petit détail et continuez à partir de là.
* Utilisez des unités génériques dans 3ds max. Une unité générique correspond à une taille réelle de 1 mm, 1 cm, 10 cm ou 1 m (toutes les autres unités au maximum dépendent de la langue et changeront si elles sont ouvertes sur un autre ordinateur avec des paramètres différents)
* Depending on the dimensions of the real aircraft, use one of the scalings given above that fits your workflow best (consider near/far clipping in max, camera movement, displayed coordinates, enough precision for small details, …)
* Check pilot's seat and controls position and dimensions using a pilot's model at an early stage.
* Conventions de dénomination des objets : - Name starts with an uppercase letter, followed by a-z, A-Z, 0-9 only. - No spaces, no underscores, no minus/hyphen '-', no special characters whatsoever. - Capitalize the first letter of a word (camelback): LeftWingLight2, FrontGearDamper, … - Use expressive names, don't use abbreviations in object names like LtLtKnb, use LeftLightKnob - Each object has to have a unique name.
* Tout ce qui sera animé séparément doit être un objet distinct. En cas de doute, utilisez davantage d’objets et donnez-leur des noms raisonnables.
* Nettoyer les mailles : - Pas de jonctions en T - Pas de longs triangles
* Il n'y a pas de bords durs en réalité : utilisez des biseaux à 45 degrés de 0,5 à 1,0 mm dans le cockpit si nécessaire. Appliquez les groupes de lissage 31 ou 32 au biseau et utilisez des bords durs, Aerofly créera des normales lisses et laissera intactes les normales des faces adjacentes (ou utilisez votre plugin préféré pour y parvenir, parfois ceci si préférable pour le rendu des cartes d'occlusion ambiantes)
* Soutenez la flexion de l'aile : utilisez des divisions/coupes allant du bord d'attaque au bord de fuite à travers l'aile et les volets/ailerons.
* Le skinning est pris en charge par l’application de poids de sommet. Utilisez un système osseux avec Bone 0 et Bone 1 pour appliquer les poids.
* Utilisez des animations pour les gouvernes, les volets, le train d'atterrissage, les leviers, les boutons,… pour vérifier le modèle et aider à configurer l'avion dans Aerofly. L'image clé 0 est l'image qui sera exportée, assurez-vous que les positions et les orientations des objets sont telles que définies ci-dessus.
* Gardez à l'esprit les versions futures : par exemple différentes versions avec différentes longueurs de fuselage.

### Textures

* Utilisez uniquement la puissance de deux textures carrées : 32×32, … , 256×256, … , 4096×4096
* Types de fichiers de texture pris en charge : BMP (24 bits), TIF / PNG (24/32/16/48 bits)
* Quantité totale de texture : - textures compressées 35 Mo pour mobile (principalement 1024×1024) - 150 Mo pour le bureau (principalement 2048×2048) cela correspond à environ 2 Go de textures totales pour des bmps/tiffs non compressés en 4096×4096 (environ 40 textures 4096×4096 ou six matériaux principaux) - certains matériaux n'ont pas besoin de grandes cartes, vous vous retrouverez généralement avec 20 à 30 matériaux
* La taille par défaut de la texture doit être de 4 096 × 4 096 pour les cartes principales. Cependant, gardez à l’esprit que le texte doit être lisible en 1024×1024 pour les appareils mobiles (cf. directives de cartographie UV ci-dessous)
* Valeurs de couleur RVB 0 .. 255 : utilisez des valeurs comprises entre 8 et 16 pour les surfaces noires, des valeurs inférieures à 8 uniquement pour les trous 232 correspondent à un blanc pur, des valeurs supérieures à 232 (dans n'importe quel canal) ajouteront un aspect fluorescent/néon au matériau.
* Utilisez des valeurs de couleur compatibles avec la compression pour les grandes zones uniformes.
* Le bruit de compression peut être supprimé en ajoutant du bruit (à utiliser avec précaution).
* Utilisez le bruit, la saleté, les rayures aux endroits où cela a du sens, ne les appliquez pas partout
* N'utilisez pas de parties de photos comme textures.
* N'intègrez pas l'éclairage/les reflets dans les textures.
* Gardez les textures compatibles avec le mipmap : pas d'objets clairs sur un fond sombre et vice versa, laissez de la place pour une petite bordure, ajustez l'arrière-plan à la couleur de l'objet.
* Les Bumpmaps sont des œuvres d'art à part entière, ne les créez pas simplement à partir d'une image ou d'un calque de couleur.
* Il en va de même pour le spéculaire (couleur + alpha) : ce ne sont pas seulement des versions noir et blanc de la couche de couleur.
* Toutes les cartes d'un matériau sont regroupées dans un seul psd, utilisez des groupes pour spéculaire, ambiant, couleur,…
* Exemple de regroupement dans un fichier psd : Modèles UVW Damier Éclairage Lumière/Luminosité Réflexion Spéculaire Ambiant Bosse Alpha Saleté Marquages Éclairage intégré Non éclairé Details Paint Airlines Repeint l'arrière-plan (patches de couleurs différentes pour prendre en charge le mipmapping)
* Keep rendered layers (ambient/illumination) in psd, don't edit these layers (re-render if necessary)
* Use 16 bit bump maps where necessary to avoid terracing.
* If you prefer to work with bmp files, you can use \_alpha to add an alpha channel to a rgb bmp: xxx\_color.bmp and xxx\_color\_alpha.bmp will be combined into a four-channel texture

### UV Mapping

* Plan ahead: use your texture budget reasonably.
* Unique mapping is required for ambient occlusion and illumination.
* UV sharing: - only for identical geometries exactly at the same UV location (clone objects after UV mapping) - only if these objects never need different ambient occlusion or illumination
* Cartographie uniforme : - minimiser l'étirement/la distorsion - utiliser la même résolution/densité de pixels dans l'espace mondial pour les objets proches les uns des autres, utiliser des textures en damier pour vérifier
* Faites attention à la vue du pilote : résolution pour le tableau de bord et les objets en vue du pilote : 4-6 pix/mm pour des textures 4096×4096.
* Cartographie UV extérieure : le fuselage doit être cartographié de manière contiguë sur une texture pour les avions jusqu'à la taille d'un A320, coupé en deux parties pour les avions plus gros. Ceci définit la résolution pour les autres pièces extérieures comme les ailes, les stabilisateurs, les moteurs,…
* Gardez la repeinture de cartographie UV conviviale. Utilisez une petite texture pour les pièces du cockpit qui peuvent changer avec une repeinture (par exemple le numéro d'immatriculation).
* Utilisez le regroupement d’objets similaires pour un meilleur mipmapping.
* Regroupez les objets de manière raisonnable : ne placez pas de petits objets sur une autre texture simplement parce qu'il reste de l'espace.
* Laissez une bordure autour des objets pour un meilleur mipmapping.
* Mappez de préférence toutes les parties visibles depuis la vue principale vers l'avant sur la même texture, nous pouvons augmenter la taille de cette texture importante si tout dans la vue principale devient plus net.
* Cartographie propre : - pas de visages UV dégénérés - minimiser les coupures
* Utilisez une texture distincte pour les affichages (display\_luminance) et les éléments qui seront animés.
* Utilisez le carrelage pour certains matériaux/couches afin d'économiser la mémoire de texture sans sacrifier la résolution (le mappage sous-jacent doit toujours être unique pour l'occlusion ambiante).
* N'en mettez pas trop dans une seule texture, laissez de la place pour le mipmapping, la cuisson et les modifications/ajouts futurs.

### Décalcomanies

* Utilisez des autocollants pour les petits détails uniquement. N'utilisez pas d'autocollants pour les grands logos.
* Placez 0,2 à 1,0 mm devant le treillis.
* Le maillage sous-jacent doit toujours être fermé et mappé de manière unique (afin que nous puissions restituer le décalque dans la carte de base si nécessaire)
* Une version plus petite et de résolution inférieure de l'autocollant peut être incluse dans la texture de base (pour éviter d'éclater si l'autocollant est retiré à une certaine distance ou lors d'un combat en Z)
* Ne coupez pas l'autocollant dans le maillage sous-jacent.

### Matériaux

* Le matériel standard prend en charge :

* Les matériaux peuvent être étiquetés pour sélectionner le meilleur shader : extérieur intérieur verre standard défaut assombrir canopée instrument fenêtre
* Les multi-matériaux sont obsolètes : inutile de les utiliser.
* Chaque matériau doit correspondre exactement à une boule de matériau dans l'éditeur de matériaux de max, tous les matériaux doivent être visibles dans l'éditeur.
* Utilisez le bump mapping (les cartes normales sont prises en charge, le bump mapping est plus flexible et mieux adapté aux futurs gadgets). Les normales de l'espace objet ne sont pas prises en charge.

### Noms de fichiers

* Noms de fichiers et de dossiers : les caractères autorisés sont les lettres minuscules az, les chiffres 0 à 9 et le trait de soulignement uniquement.
* N'utilisez jamais de majuscules, d'espaces et de caractères spéciaux dans les noms de fichiers.
* N'incluez pas le nom de l'avion dans les noms de texture (n'utilisez pas 'f15\_xxxx\_color.bmp').
* Le fichier maximum actuel est nommé « f15\_2015-06-18\_56.max ».