Props · 4 min de lecture

Comment convertir un GLB en prop FiveM sans Blender

Lire en: English · Español · Deutsch · Português · Italiano · Polski · Türkçe · Русский

GLB to Prop avec un modèle de remorque chargé : la vue 3D avec sa taille en mètres, et les panneaux de transformation, de dimensions et d'origine

Vous avez trouvé le modèle parfait sur Sketchfab, vous l'avez fait dans Blender ou généré avec un outil d'IA, et vous voulez l'avoir sur votre serveur FiveM sous forme de prop que vous pouvez faire apparaître. La voie habituelle passe par Blender, le plugin Sollumz et CodeWalker, et beaucoup d'apprentissage. Vous pouvez aussi le faire en ligne en quelques minutes.

De quoi est fait un prop FiveM

Un prop que le jeu peut faire apparaître par son nom est formé de trois fichiers dans le dossier stream d'une ressource, plus une ligne dans son fxmanifest :

  • .ydr : le modèle lui-même, avec ses shaders et sa collision.
  • .ytd : ses textures (elles peuvent aussi être dans le .ydr).
  • .ytyp : son archetype, l'entrée qui en fait un objet plaçable : son nom, sa taille, sa distance d'affichage, son dictionnaire de textures et sa physique. (En savoir plus sur le .ytyp.)
lua
data_file 'DLC_ITYP_REQUEST' 'stream/my_prop.ytyp'

Un .glb contient le modèle et ses textures dans un seul fichier, ce qui en fait le format le plus simple pour commencer. Exportez-le depuis Blender en glTF Binary (.glb) ; un .gltf avec des fichiers séparés ne convient pas.

Vérifiez la licence du modèle avant de l'utiliser. CC Attribution impose de citer l'auteur, et certaines licences interdisent l'usage commercial.

Convertir pas à pas

Ouvrez GLB to Prop et déposez votre .glb (ou cliquez sur Try a 1 m test cube pour voir d'abord le fonctionnement). Les GLB compressés (textures Draco, meshopt, KTX2 ou WebP) sont décompressés dans votre navigateur avant tout envoi.

  1. Réglez la taille. Le ped freemode se tient à côté de votre modèle. Si le modèle est en centimètres ou en millimètres, réglez File units (unités du fichier) ; ou tapez directement la taille souhaitée en mètres.
  2. Tournez-le. Un modèle couché sur le côté a besoin d'un quart de tour : X +90°. Drop (G) le pose sur le sol.
  3. Réglez son origine. Bottom centre (centre bas) est la valeur par défaut : CreateObject place ce point aux coordonnées que vous donnez, donc le prop repose sur le sol à l'endroit où vous le faites apparaître.
  4. Nommez-le en minuscules, chiffres et _. Utilisez un préfixe à vous : les noms qui commencent comme ceux du jeu (prop_, v_, p_…) déclenchent un avertissement, car ils pourraient entrer en conflit avec les modèles de GTA.
  5. Choisissez sa collision : Fitted (convex hull) (enveloppe convexe ajustée) convient à la plupart des props, Its own triangles (ses propres triangles) pour les props et sols où l'on marche, Box around it (boîte autour) pour les caisses et blocs, None (aucune) pour les décors. Choisissez aussi sa Surface (matière : béton, métal, bois…) pour des sons et des impacts de balles corrects.
  6. Cliquez sur Download the FiveM resource (.zip) (télécharger la ressource FiveM).

Dans Advanced, vous pouvez aussi garder les textures dans le .ydr, rendre les faces double face, régler la taille maximale de texture (1024 px par défaut) et la distance d'affichage du prop (Seen up to, 100 m par défaut). Cochez Static (can't be pushed) (statique, ne peut pas être poussé) pour les props qui ne doivent jamais bouger.

Le mettre sur votre serveur

Le zip contient un dossier portant le nom de votre prop, avec son fxmanifest.lua et les .ydr, .ytd et .ytyp dans stream/. Placez ce dossier dans votre resources, ajoutez ensure my_prop à votre server.cfg et redémarrez. La page affiche alors le code pour le faire apparaître devant vous :

lua
local model = `my_prop`
RequestModel(model)
while not HasModelLoaded(model) do Wait(0) end
local c = GetEntityCoords(PlayerPedId())
local obj = CreateObject(model, c.x, c.y + 1.0, c.z - 1.0, true, true, false)

Le tutoriel vidéo réalise toute la procédure avec un modèle Sketchfab gratuit, du téléchargement au prop en jeu.

Ce qu'il ne fait pas (encore)

  • Un seul niveau de détail. Le prop est dessiné en entier tant qu'il est affiché. Ajoutez-lui des LOD plus légers ensuite avec le Prop LOD Builder.
  • Une seule surface par prop. Pour un prop métallique d'un côté et en bois de l'autre, ou une collision dessinée à la main, ouvrez le résultat dans le Prop Collision Editor.
  • Ni pièces mobiles ni lumières. YDR Animation crée des props qui bougent seuls ; Prop Lights met de vraies lumières sur l'un d'eux.

Les modèles très lourds (plus de 150 000 triangles) déclenchent un avertissement : les joueurs le ressentiront. Les modèles générés par IA sont souvent bien plus lourds que nécessaire.

Questions

Puis-je convertir un FBX ou un OBJ ?
Ouvrez-le dans Blender (ou tout autre logiciel 3D) et exportez-le d'abord en .glb. GLB to Prop n'accepte que le .glb.
Cela fonctionne-t-il avec ESX, QBCore et QBox ?
Oui. Un prop est un asset diffusé, pas un script : n'importe quel framework le fait apparaître par son nom.
Pourquoi mon prop converti flotte-t-il ou s'enfonce-t-il ?
Son origine n'est pas où vous le pensez. Avec Bottom centre, l'origine est le bas du modèle, donc le prop repose sur le point où vous le faites apparaître. Plus d'infos dans le guide sur les collisions.

L'outil pour cela

GLB to Prop

Déposez votre .glb, réglez sa taille à côté du ped freemode, choisissez sa collision et téléchargez une ressource FiveM avec le .ydr, le .ytd et le .ytyp.

Ouvrir GLB to Prop

Aussi utile ici: Prop LOD Builder · Prop Collision Editor

Plus de guides

Tous les guides →

Tous les outils sont gratuits à essayer, avec 5 exports par jour. Connectez-vous avec Discord pour les utiliser.