Aller au contenu

Prop FiveM sans collision : la solution

Vous faites spawner votre prop custom et vous passez droit à travers. Il n'y a que trois causes réalistes, et elles sont toutes dans les métadonnées plutôt que dans le mesh. Passez-les en revue dans cet ordre.

Cause 1 : physicsDictionary vide dans le ytyp

C'est celle qui piège presque tout le monde. Votre .ydr peut contenir un collision bound intégré parfaitement correct, mais si l'archetype dans le .ytyp a un <physicsDictionary/> vide, le moteur charge le modèle visuel et ne monte jamais la collision.

Le champ doit nommer le modèle lui-même, et les flags de l'archetype doivent avoir le bit de physique activé :

<physicsDictionary>my_prop</physicsDictionary> et flags value="32"

Vérification du symptôme : le prop est visible, correctement texturé, et totalement non solide. Cette combinaison, c'est ce bug, pas un problème de mesh.

Cause 2 : pas de ytyp du tout

Sans archetype, le modèle ne s'enregistre jamais : vous n'avez pas un bug de collision, vous avez « model failed to load » ou un prop invisible, car RequestModel n'aboutit jamais. Le manifest doit aussi demander le fichier d'archetype :

data_file 'DLC_ITYP_REQUEST' 'stream/my_prop.ytyp'

Cause 3 : la collision n’a jamais été exportée

Si vous avez construit le prop à la main dans Blender avec Sollumz, la collision intégrée est optionnelle, et quand elle est créée elle hérite du matériau visuel, ce qui produit un avertissement « non-collision materials » et un bound que le jeu ignore. Le mesh de collision doit avoir un vrai matériau de collision, pas le matériau visuel.

Vérifiez aussi votre code de spawn

Un prop avec une collision valide peut encore se comporter bizarrement s'il est spawné comme objet non figé. Pour les props statiques du monde :

SetEntityCollision(obj, true, true) puis FreezeEntityPosition(obj, true), et vérifiez avec IsModelInCdimage avant de faire la requête.

Les props exportés depuis FIVEFORGE livrent l'archetype, la référence au physics dictionary, les flags et une commande de spawn fonctionnelle déjà en place.

Questions fréquentes

Pourquoi je passe à travers mon prop FiveM custom ?

Dans presque tous les cas, l'archetype .ytyp a un <physicsDictionary/> vide. Il doit nommer le modèle, et les flags de l'archetype doivent inclure le bit de physique (32), sinon le moteur charge le visuel et ignore la collision.

Que signifie « model failed to load » ?

L'archetype n'a jamais été enregistré : en général un .ytyp manquant, ou un manifest sans la ligne data_file DLC_ITYP_REQUEST. RequestModel n'aboutit alors jamais.

Collision box ou mesh ?

La collision box est moins coûteuse et convient aux caisses, panneaux et props cubiques. La collision mesh est précise et vaut le coup pour les props sur lesquels les joueurs grimpent ou qu'ils percutent en voiture. N'utilisez aucune collision que pour la pure décoration.

Les props FIVEFORGE ont-ils une collision ?

Oui. Vous choisissez box, mesh ou aucune dans l'éditeur, et l'archetype, la référence au physics dictionary et les flags sont écrits automatiquement.

Essayez gratuitement

Créez un compte gratuit, rejoignez le Discord pour vos crédits et créez votre premier asset en quelques minutes.