Prop de FiveM sin colisión: la solución
Haces spawn de tu prop personalizado y lo atraviesas sin más. Solo hay tres causas realistas, y todas están en los metadatos, no en la malla. Revísalas en este orden.
Causa 1: physicsDictionary vacío en el ytyp
Esta es la que pilla a casi todo el mundo. Tu .ydr puede contener un bound de colisión incrustado perfectamente válido, pero si el archetype del .ytyp tiene <physicsDictionary/> vacío, el motor carga el modelo visual y nunca monta la colisión.
El campo tiene que nombrar el propio modelo, y los flags del archetype necesitan el bit de física activado:
<physicsDictionary>my_prop</physicsDictionary> y flags value="32"
Causa 2: no hay ytyp
Si no hay archetype, el modelo nunca se registra, así que no tienes un bug de colisión: tienes "model failed to load" o un prop invisible, porque RequestModel nunca se resuelve. El manifest también tiene que solicitar el archivo del archetype:
data_file 'DLC_ITYP_REQUEST' 'stream/my_prop.ytyp'
Causa 3: la colisión nunca se exportó
Si construiste el prop a mano en Blender con Sollumz, la colisión incrustada es opcional, y cuando se crea hereda el material visual, lo que provoca un aviso de "non-collision materials" y un bound que el juego ignora. La malla de colisión necesita un material de colisión propio asignado, no el visual.
Revisa también tu código de spawn
Un prop con colisión válida puede seguir comportándose de forma rara si se genera como un objeto no congelado. Para props estáticos del mundo:
SetEntityCollision(obj, true, true) y luego FreezeEntityPosition(obj, true), y protégelo con IsModelInCdimage antes de solicitarlo.
Preguntas frecuentes
¿Por qué atravieso mi prop personalizado de FiveM?
En casi todos los casos el archetype del .ytyp tiene un <physicsDictionary/> vacío. Tiene que nombrar el modelo, y los flags del archetype deben incluir el bit de física (32); si no, el motor carga la parte visual e ignora la colisión.
¿Qué significa "model failed to load"?
El archetype nunca se registró: normalmente falta el .ytyp, o el manifest no tiene la línea data_file DLC_ITYP_REQUEST. Entonces RequestModel nunca se resuelve.
¿Uso colisión de caja o de malla?
La colisión de caja es más barata y adecuada para cajas, señales y props cuadrados. La colisión de malla es precisa y merece la pena para props a los que los jugadores se suben o contra los que chocan con el coche. Usa ninguna solo para decoración pura.
¿Los props de FIVEFORGE vienen con colisión?
Sí. Eliges caja, malla o ninguna en el editor, y el archetype, la referencia al physics dictionary y los flags se escriben automáticamente.
Pruébalo gratis
Crea una cuenta gratis, únete al Discord para tus créditos, y construye tu primer asset en minutos.
