Comment créer un MLO pour FiveM

Créez un petit intérieur à deux pièces avec Blender, Sollumz et CodeWalker, puis préparez et testez le paquet comme ressource FiveM.

Dans ce guide

Un intérieur original à deux pièces, exporté et vérifié dans une ressource de test FiveM.

Avant de commencerModélisation de base dans Blender · Export et réimportation d’un asset vérifiés · Serveur de test FiveM local
Atelier conceptuel à deux pièces : pièce avant, atelier, portail intérieur et portail extérieur
Notre schéma original d’atelier. Une géométrie illustrative, pas un asset testé dans le jeu.

Un MLO FiveM fonctionnel ne se limite pas à un modèle en forme d’intérieur. Il faut de la géométrie, des collisions adaptées, un archétype MLO avec les données de pièces et de portails, un placement dans le monde et une ressource livrant les assets exportés.

Ce tutoriel utilise un atelier original à deux pièces comme exercice contrôlé. Ce n’est pas un asset de jeu préfabriqué à télécharger. Vous créerez vous-même la géométrie. Les noms d’exemple ci-dessous appartiennent à l’exercice ; ce ne sont ni des noms de fichiers spéciaux de CodeWalker ni des réglages garantis pour tout intérieur.

Ce que vous allez créer

Gardez la première version volontairement petite : une pièce avant, un atelier à l’arrière, une ouverture entre les deux et une entrée extérieure. Réservez les portes mobiles, l’éclairage élaboré, les ensembles d’entités et les remplacements extérieurs complexes à une révision ultérieure.

Le modèle illustré ici montre les relations entre les espaces. C’est un schéma conceptuel, pas la preuve d’un test en jeu. La validation consiste à vérifier que l’intérieur réellement exporté fonctionne correctement sur votre serveur cible.

Avant de commencer, terminez le cycle d’export et de réimportation Blender–Sollumz et premier exercice YMAP. Des bases de modélisation dans Blender sont nécessaires ; CodeWalker ne remplace pas une application de modélisation.

1. Définissez le lieu et la cible de compilation

Choisissez un lieu de développement où vous pouvez identifier la géométrie d’origine voisine et les ressources de carte existantes. Notez la position et l’orientation souhaitées dans le monde. Pour le premier exercice, évitez un remplacement complexe de bâtiment : une collision existante peut bloquer votre nouvelle entrée même si votre modèle possède une ouverture.

Décidez si vous produisez des assets Legacy ou Enhanced. Gardez des dossiers d’export séparés si vous travaillez sur les deux. Le guide de prise en main Enhanced de Cfx.re renvoie vers les outils de conversion appropriés et les différences de comportement. Ne supposez pas que le téléchargement dev46 lié ici convient aux deux cibles.

Rédigez un objectif limité : deux pièces, une entrée extérieure, aucune interaction scriptée. Dessinez le plan avant les détails. « Terminé » devient ainsi une condition vérifiable plutôt qu’un objectif mouvant.

2. Créez les volumes de base de l’intérieur dans Blender

Créez sols, murs, plafond et ouvertures dégagées. Choisissez une origine locale cohérente et conservez la transformation mondiale prévue. Le tutoriel de modélisation de Sollumz montre comment conserver une référence de placement tout en déplaçant la géométrie modifiable vers l’origine.

Utilisez des collections distinctes pour la géométrie visible, les collisions et les références. Leurs noms servent à votre organisation, pas à des données obligatoires du jeu. Organisez-les pour éviter d’exporter accidentellement un bâtiment de référence.

Inspectez le modèle de l’intérieur. Vérifiez l’orientation des faces, les intersections des murs et le rapport entre l’ouverture et le sol. Un cadre décoratif ne doit pas réduire le passage plus que prévu. Gardez des échelles et transformations cohérentes ; ne « corrigez » pas ensuite un mauvais placement en redimensionnant tout l’intérieur au hasard sur la carte.

Enregistrez un état à l’étape des volumes de base. Une pièce simple mais praticable est une meilleure base qu’une scène meublée à l’origine incertaine.

3. Préparez les drawables et les matériaux

Préparez les maillages visibles comme drawables GTA avec Sollumz et affectez les matériaux de shader adaptés à votre flux. Commencez avec peu de surfaces opaques ordinaires. Verre complexe, éléments émissifs et effets spéciaux ajoutent des risques d’échec inutiles pour valider la structure intérieure.

Exportez et inspectez une surface représentative avant de tout texturer. Vérifiez que les références de textures et l’apparence des matériaux sont conservées dans CodeWalker. Réutiliser un petit ensemble cohérent de matériaux facilite aussi les corrections ultérieures.

Tenez un inventaire simple des assets. Un exemple peut comprendre cw_workshop_shell pour la structure visible et cw_workshop_col pour les collisions intérieures. Des noms distincts permettent de reconnaître le fichier exporté que vous inspectez.

4. Traitez la création des collisions séparément

Construisez une structure de collision simplifiée pour les surfaces que le joueur doit toucher. Elle doit conserver les sols, murs et ouvertures réels sans recopier mécaniquement chaque arête décorative.

Le tutoriel des collisions de Sollumz couvre la conversion en composite de collision et l’affectation des matériaux. Il explique aussi les matériaux de sol propres à chaque pièce permettant d’affecter les identifiants. Suivez les conventions de votre version plutôt que de supposer qu’un numéro de pièce affiché correspond exactement à la valeur de collision interne.

Inspectez l’entrée extérieure des deux côtés. Si vous modifiez un bâtiment existant, identifiez tous les assets de collision qui bloquent l’ouverture. Ne supprimez pas des collisions du monde sans rapport pour rendre la porte praticable. Pour ce premier exercice original, un lieu sans remplacements superposés rend le test bien plus clair.

Le leçon sur les collisions propose un plan de test distinct pour les déplacements et les limites.

5. Créez le YTYP et l’archétype MLO

Les définitions d’archétypes relient les noms de vos assets aux données nécessaires au jeu. Le tutoriel YTYP de Sollumz décrit la création d’archétypes de base pour les drawables et d’un archétype MLO à partir de la sélection de collision. Suivez cette structure documentée plutôt que de considérer la structure visible comme un intérieur complet à elle seule.

Pour l’atelier, l’essentiel est une définition MLO référençant les assets prévus et contenant l’organisation intérieure. Notez le nom exact de l’archétype MLO ; vous l’utiliserez ensuite dans un YMAP.

Ne renommez pas l’archétype pendant les tests sans mettre à jour toutes les références. Sinon, une simple modification de noms peut sembler être une panne de rendu.

6. Ajoutez les pièces, le limbo et les portails

Créez le limbo avec l’outil prévu, puis définissez la pièce avant et l’atelier. Établissez les limites à partir d’une géométrie décrivant réellement chaque espace. N’utilisez pas une limite immense simplement parce qu’une sélection précise prend plus de temps.

À l’ouverture entre les pièces, créez un portail depuis ses quatre sommets et reliez les bonnes pièces. À l’entrée extérieure, reliez l’intérieur au limbo selon la convention de direction documentée. Un portail est une donnée de visibilité, pas le maillage visible de la porte ; il ne crée pas de trou dans les collisions.

Considérez un petit graphe : pièce avant ↔ atelier et pièce avant ↔ extérieur. Vérifiez l’affectation des extrémités et l’orientation dans l’éditeur, puis testez les mêmes transitions dans le jeu. Ne vous fiez pas au seul angle de vue qui donne un résultat correct.

Gardez les entités internes associées à la bonne structure intérieure. Ne reproduisez pas tout l’intérieur comme des placements mondiaux sans lien simplement pour le rendre visible au début. La leçon sur les pièces et portails approfondit le test à deux pièces plutôt que de proposer des valeurs universelles d’indicateurs.

7. Exportez dans un dossier propre

Sélectionnez les objets à exporter et vérifiez que ceux requis ne sont pas masqués. Utilisez une méthode d’export cohérente. Le flux XML documenté convertit la sortie d’échange via RPF Explorer de CodeWalker.

Ouvrez les assets exportés au format du jeu avant de les empaqueter. Vérifiez les drawables, les collisions et les définitions attendues dans le YTYP. Ne mélangez pas le YTYP d’aujourd’hui avec les collisions de la semaine dernière parce que les noms de fichiers coïncident.

Séparez les sources, les fichiers d’échange et les fichiers à déployer. Ne transformez jamais .ydr.xml en .ydr en le renommant. Exportez-le ou convertissez-le correctement.

8. Placez l’intérieur dans CodeWalker

Chargez les assets exportés dans le projet. Ajoutez un YMAP et une entité utilisant le nom exact de l’archétype MLO. Appliquez une seule fois la transformation de placement notée. Si la géométrie a été créée en espace local, n’intégrez pas également la même translation mondiale dans chaque composant.

Vérifiez l’entrée par rapport au monde environnant et calculez les indicateurs et étendues du YMAP avant de l’enregistrer. Le guide de placement de Sollumz documente cette étape.

La génération des manifestes de carte du jeu dans CodeWalker et le fichier FiveM fxmanifest.lua servent à des systèmes différents. Un fichier généré _manifest.ymf ne remplace pas le manifeste de ressource ci-dessous.

9. Préparez la ressource FiveM

Cet exemple suppose un YTYP personnalisé nommé cw_workshop.ytyp. Les noms de vos exports de drawables et de collisions peuvent différer ; conservez ceux générés par votre projet.

cw_workshop/
  fxmanifest.lua
  stream/
    cw_workshop.ymap
    cw_workshop.ytyp
    cw_workshop_shell.ydr
    cw_workshop_col.ybn
    # Add texture dictionaries and other required exports.

Utilisez un manifeste de ressource enregistrant explicitement le YTYP :

fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'

files {
    'stream/cw_workshop.ytyp'
}

data_file 'DLC_ITYP_REQUEST' 'stream/cw_workshop.ytyp'

Les directives et le type de fichier de données sont documentés par Cfx.re et sa référence des fichiers de données. Ajoutez les autres dépendances réelles de votre projet ; cet extrait n’est pas un manifeste universel pour tout MLO.

10. Testez le comportement, pas seulement l’apparence

Démarrez la ressource sur un serveur de développement et visitez le lieu noté. Marchez depuis la rue à travers la pièce avant jusqu’à l’atelier, puis revenez. Regardez à travers chaque ouverture avant de la franchir. Tournez-vous au seuil et testez les deux côtés de chaque limite de pièce.

Vérifiez les sols solides, ouvertures praticables et obstacles indésirables. Répétez sous différents éclairages, reconnectez-vous et approchez depuis une certaine distance. Testez enfin avec les autres ressources de carte qui coexisteront sur ce lieu.

Conservez les observations avec les coordonnées, la direction de caméra et la version exacte utilisée. Ne changez qu’un élément à la fois lorsqu’un test échoue. Une pièce qui disparaît sous un angle demande une enquête différente d’une chute à travers le sol.

Les étapes suivantes sont l’optimisation et une liste de contrôle de publication reproductible. Ne déclarez pas le MLO terminé parce qu’une capture CodeWalker semble correcte.

Suivez le transfert des sources du navigateur vers Blender

Deux approches sont possibles : modéliser l’exercice vous-même comme ci-dessus ou utiliser le paquet source original à deux pièces pour examiner le flux limité du module compagnon. Le paquet source n’est pas un intérieur natif terminé et ne prouve pas que le schéma de cette page a réussi un test en jeu.

Dans Map Studio, limitez le plan à un niveau de pièces rectangulaires et choisissez Legacy. Exportez le paquet source, puis ouvrez CW Studio dans un environnement Blender/Sollumz compatible. La base documentée est Blender 4.2.23 LTS, Sollumz 2.9.0 et szio 1.3.0.dev9. Ce sont des versions d’intégration fixées, pas des affirmations de versions « les plus récentes ».

Utilisez Importer, choisissez le ZIP du paquet, puis Valider. Inspectez les structures générées, les ouvertures physiques, les affectations de pièces et les portails avant de Exporter vers un nouveau dossier. Si vous avez modifié manuellement la géométrie générée, n’autorisez pas son remplacement sans scène sauvegardée séparément. Le module distingue les éléments générés ; gardez vos modèles hors de cette collection sauf si vous comptez les reconstruire.

Interface réelle d’aide au module compagnon dans Map Studio

Cette image montre l’aide au transfert dans le navigateur, pas une sortie Blender ni une scène GTA. Le module produit un rapport lisible par machine et du XML source. Inspectez les deux ; un message rassurant ne remplace pas l’examen des sorties réelles.

Consignez trois résultats de validation distincts

Étape Preuves à conserver Ce que cela ne prouve pas
Sources Projet enregistré, scène Blender, sorties XML et rapport de génération Compilation native ou compatibilité avec le jeu
Natif YDR/YBN/YTYP/YMAP compilés et nouvel examen dans CodeWalker Collisions, portails et streaming en jeu
FiveM Version cible, révision de ressource et tests observés de déplacement/visibilité Compatibilité avec une autre édition ou toutes les autres ressources serveur

Ne passez pas de « non vérifié » à « réussi » sans effectuer l’étape concernée. L’origine mondiale du paquet source est illustrative : choisissez un vrai lieu de test et vérifiez la géométrie voisine. Le tutoriel se termine par votre résultat en jeu consigné, pas par le téléchargement de cet exemple.

Vérifiez votre travail.

La progression de la liste de contrôle reste dans ce navigateur lorsque JavaScript est activé.

Sources et lectures complémentaires

Le comportement des outils suit la documentation primaire liée. Les exercices, noms d’exemples et plans de test sont des conseils éditoriaux, pas une affirmation de vérification dans le jeu.

Conservez votre progression. Aucun compte nécessaire.
Faites fonctionner les pièces et les portails

Rechercher dans le guide pratique

Commencez à saisir pour trouver un outil ou un guide.

    Recherche dans les outils, les titres et les articles. Vos requêtes restent dans votre navigateur.esc pour fermer