Props · 4 min de lectura

¿Un prop de FiveM sin colisión? Por qué los jugadores lo atraviesan

Leer en: English · Français · Deutsch · Português · Italiano · Polski · Türkçe · Русский

Prop Collision Editor con el banco del juego prop_bench_05: sus seis cajas de colisión dibujadas sobre el modelo, cada una listada con su superficie

Spawneas tu prop personalizado y lo atraviesas caminando. O los coches lo atraviesan, las balas pasan de largo o queda flotando a una mano del suelo. Todo esto se reduce a la colisión del prop: la forma invisible que usa el juego para la física, separada del modelo que ves.

Dónde vive la colisión de un prop

Un prop que spawneas con CreateObject lleva su colisión dentro de su propio modelo, el .ydr (o .yft). Así lo hacen los props del juego: de los 11.410 props del juego cuyo archetype nombra un diccionario de físicas, 11.352 tienen su colisión dentro del modelo. Un .ybn es otra cosa: así es como los mapas y los MLO llevan su colisión fija, la de un mapa en coordenadas del mundo y la de un interior donde se coloca el interior.

Así que cuando un prop personalizado no tiene colisión, suele ser una de estas causas:

  • El modelo no tiene. Se exportó sin ella (es habitual en modelos convertidos desde otros juegos o directamente desde Blender).
  • El .ytyp no la nombra. El archetype tiene un physicsDictionary; sin él el juego dibuja el prop pero no usa su colisión.
  • No para lo que esperas. Cada parte de colisión indica con qué choca. En 8.000 props del juego que revisamos, 7.176 partes de colisión están configuradas para detener solo disparos y la cámara. Según sus flags, una colisión hecha solo de partes así deja pasar a jugadores y coches.
  • Es la forma equivocada. Una envolvente convexa no puede tener huecos: rellena el espacio bajo una mesa o dentro de un arco.

Por qué un prop flota o se hunde

CreateObject coloca el origen del prop en las coordenadas que le das. Si el origen está en medio del modelo, la mitad queda bajo el suelo; si la colisión llega por debajo del modelo, el prop apoya sobre ella y parece flotar. Un prop sin colisión en absoluto cae a través del suelo si no está congelado.

Mira primero la colisión

Arrastra el .ydr (o .yft) con su .ytd al Model Inspector y activa Collision (colisión): se dibuja sobre el modelo, coloreada por superficie, junto al ped freemode. La sección del modelo indica qué colisión tiene, o "none inside" (ninguna dentro), y dónde está su origen: abajo, arriba o a unos metros por encima de la base. Es gratis y no cambia nada.

Añádela o arréglala

Abre el prop en el Prop Collision Editor: arrastra su .ydr o .yft, con su .ytd para ver las texturas y su .ytyp si lo tienes. O elige uno de los props del juego por nombre para partir de él.

  1. Fit to the model (ajustar al modelo) para un ajuste rápido, o añade partes a mano: + Box (caja), + Sphere (esfera), + Capsule (cápsula), + Cylinder (cilindro). Mueve, gira y ajusta el tamaño de cada una sobre el modelo.
  2. Para una parte solo del modelo (la tapa de una mesa, una pata), usa Pick triangles (elegir triángulos) y luego Fit to the picked triangles (ajustar a los triángulos elegidos).
  3. Asigna a cada parte una Surface (superficie: su sonido, sus marcas y su polvo al golpearla) y define What hits it (qué la golpea): Everything (todo) para un prop sólido, o Shots and camera only (solo disparos y cámara), Not vehicles (no vehículos) y los demás si quieres menos.
  4. Descarga. Si también arrastras su .ytyp, obtienes un .zip con el modelo y el .ytyp, cuya caja crece para cubrir la colisión si sobresale.

Las partes que no tocaste vuelven exactamente como estaban. En un .yft (un prop rompible o una pieza de vehículo) puedes mover y redimensionar las piezas que tiene, pero no añadir ni quitar ninguna, ni cambiar con qué chocan.

¿Haces el prop tú mismo?

Si el prop viene de un .glb, define la colisión al crearlo: GLB to Prop tiene Fitted (convex hull), Its own triangles para props y suelos por los que se camina, Box around it y None, y escribe el .ytyp con su diccionario de físicas. (La conversión completa.)

Preguntas

¿Puedo simplemente añadir un .ybn junto a mi prop?
Un .ybn es una colisión fija para un mapa o un interior, colocada donde está el mapa. Un prop que spawneas se mueve con su propia colisión, que vive dentro de su .ydr o .yft.
Mi prop tiene colisión, pero los coches lo atraviesan. ¿Por qué?
Lo más probable es que sus partes estén configuradas para no chocar con vehículos. En el Prop Collision Editor, pon What hits it en Everything.
¿Por qué no puedo pasar por debajo de mi mesa?
Una envolvente convexa es una sola forma cerrada sin huecos. Usa cajas separadas para la tapa y las patas, o Its own triangles en GLB to Prop.

La herramienta para esto

Prop Collision Editor

Arrastra tu prop y da forma a su colisión sobre el modelo: cajas, esferas, cápsulas y cilindros, cada uno con su superficie y lo que detiene.

Abrir Prop Collision Editor

También útil aquí: Model Inspector · GLB to Prop

Todas las herramientas son gratis para probar, con 5 exportaciones al día. Inicia sesión con Discord para usarlas.