Cómo hacer un vehículo de FiveM en Blender con Sollumz 2.9
Un modelo de vehículo de FiveM es un fragment (.yft): un armature cuyos bones son las piezas del coche, un drawable que contiene las mallas y un conjunto de bounds de colisión. En Blender con Sollumz construyes esas tres cosas, das a las mallas shaders de vehículo y exportas los archivos .yft, _hi.yft y .ytd. Esta guía sigue Sollumz 2.9.0 en Blender 5.2, con los nombres de paneles y botones tal como aparecen en el add-on.
¿Qué necesito?
| Herramienta | Versión | Para qué se usa |
|---|---|---|
| Blender | 4.2 o posterior (Sollumz 2.9.0 fija 4.2 como mínimo; nosotros usamos 5.2) | Modelado, rigging, exportación. |
| Sollumz | 2.9.0 | El add-on que lee y escribe los archivos de modelo de GTA V. |
| CodeWalker | Última versión | Explorar los archivos del juego y extraer un vehículo original para usarlo de referencia. |
| GTA V para PC | Origen del vehículo de referencia y de las texturas compartidas. |
Sollumz se instala como una extensión de Blender. En Blender ve a Preferences > Get Extensions > Repositories > +, elige Add Remote Repository e introduce https://repo.sollumz.org/; después busca Sollumz e instálalo. En el primer arranque el add-on pide instalar sus dependencias. Acepta: una de ellas, PyMateria, es la que permite a Sollumz escribir directamente los archivos binarios del juego. Para qué sirve cada herramienta se compara en CodeWalker vs Sollumz.
¿Dónde están las herramientas de Sollumz en Blender?
Las herramientas están en la barra lateral del viewport 3D (pulsa N), en la pestaña Sollumz Tools. Las propiedades de lo que tengas seleccionado están en el editor Properties, en paneles llamados Sollumz.
| Dónde | Panel | Qué haces ahí |
|---|---|---|
| Sollumz Tools | General | Import RAGE Assets y Export RAGE Assets. El subpanel View muestra u oculta las colisiones y cambia el nivel de LOD en pantalla. |
| Sollumz Tools | Drawables | Create Drawable Objects, Shader Tools, LOD Tools y Bone Tools. |
| Sollumz Tools | Collisions | Create Bounds y Create Collision Material. |
| Sollumz Tools | Fragments | Create Fragment Objects, Set Mass, Copy Bone Physics y Vehicle Tools (light IDs, vistas previas de ruedas y ventanas). |
| Properties > Object | Sollumz | El tipo de Sollumz del objeto y sus ajustes. |
| Properties > Bone | Sollumz | Tag del bone, flags del bone y el interruptor Fragment Physics. |
| Properties > Data (malla) | Sollumz LODs | Qué malla se usa en cada nivel de detalle. |
| Properties > Material | Sollumz | Shader, texturas y valores del shader. |
¿Cómo está estructurado un vehículo en Blender?
Cada objeto de una escena de Sollumz tiene un tipo de Sollumz. Un vehículo es este árbol:
mycar Armature, Sollumz type: Fragment (bones = the car's parts)
mycar.mesh Empty, Sollumz type: Drawable
chassis Mesh, Drawable Model (skinned to the bone "chassis")
bodyshell Mesh, Drawable Model
door_dside_f Mesh, Drawable Model
wheel_lf Mesh, Drawable Model, "Is Wheel Mesh" on
...
mycar.col Empty, Sollumz type: Bound Composite
chassis.col Bound Geometry, follows the bone "chassis"
wheel_lf.col Bound Disc, follows the bone "wheel_lf"
door_dside_f.col Bound Geometry, follows the bone "door_dside_f"
...
| Parte | Objeto de Blender | Tipo de Sollumz |
|---|---|---|
| El vehículo | Armature | Fragment |
| Modelo visible | Empty, hijo del armature | Drawable |
| Cada malla | Mesh, hijo del drawable | Drawable Model |
| Colisión | Empty, hijo del armature | Bound Composite |
| Cada forma de colisión | Hijo del composite | Bound Geometry, Bound Disc, Bound Box, etc. |
La raíz tiene que ser el armature. El juego no encuentra las puertas, las ruedas y los asientos por el nombre de la malla. Encuentra bones, y cada bone lleva un tag numérico que Sollumz deriva del nombre del bone. Por eso los nombres de los bones tienen que ser exactos.
¿Por qué partir de un vehículo original?
Importa el vehículo original más parecido al tuyo con Import RAGE Assets y mantenlo en la escena mientras trabajas. Selecciona el .yft; cuando el _hi.yft está al lado, Sollumz une los dos al importar. El vehículo original es la especificación: qué bones existen, cómo se llaman, qué formas de colisión usa, cuánto pesa cada pieza y qué shaders tiene.
Dos costumbres ahorran tiempo aquí:
- Renombra primero los objetos de referencia, por ejemplo con un prefijo
ref_. Blender mantiene únicos los nombres de objeto, así que si la referencia sigue teniendo el nombrechassis, tu propia malla pasa a llamarsechassis.001sin avisar. - Copia el armature de referencia en lugar de crear los bones a mano. La copia conserva los tags, los flags y los ajustes de física de los bones. Después mueve los bones para que encajen con tu modelo y borra los que no uses.
¿Qué bones necesita un vehículo?
Un coche usa un vocabulario fijo de nombres de bone. Estos son los habituales:
| Bone | Pieza |
|---|---|
chassis | Raíz del vehículo. |
bodyshell | Paneles de la carrocería que nunca se mueven. |
wheel_lf, wheel_rf, wheel_lr, wheel_rr | Ruedas: delantera izquierda, delantera derecha, trasera izquierda, trasera derecha. |
door_dside_f, door_pside_f, door_dside_r, door_pside_r | Puertas, lado del conductor y lado del pasajero, delante y detrás. |
bonnet, boot | Capó y tapa del maletero. |
bumper_f, bumper_r | Parachoques, que pueden desprenderse. |
seat_dside_f, seat_pside_f, seat_dside_r, seat_pside_r | Dónde se sienta cada ped. |
steeringwheel | El volante. |
windscreen, window_lf, window_rf | Cristales. |
headlight_l, headlight_r, taillight_l, taillight_r, indicator_lf, brakelight_l, reversinglight_l | Desde dónde alumbra cada luz. |
misc_a, misc_b, ... | Piezas extra móviles o desmontables, como un alerón. |
Los asientos y los puntos de entrada de vehiclelayouts.meta se refieren a estos mismos bones. Posiciones que medimos en el modelo en lugar de adivinarlas:
- Las puertas pivotan sobre el bone, así que el bone va en la línea de las bisagras: el borde delantero de una puerta normal.
- Capó: borde trasero. Maletero: borde delantero.
- Volante: el centro del aro, no el centro del objeto entero. Con la columna de dirección incluida, el centro de la caja envolvente quedaba desplazado 46 cm en un coche que convertimos.
- Bones de luces: el centro de las caras que brillan.
Cada malla tiene que seguir a su bone. Dale un grupo de vértices con exactamente el mismo nombre que el bone y peso 1 en todos los vértices, y añade un modificador armature. Bone Tools > Add Armature Modifier hace la segunda parte para los objetos seleccionados. Para ver o cambiar el tag de un bone, selecciona el bone y abre Properties > Bone > Sollumz.
¿Qué shaders usan los materiales de un vehículo?
Los materiales de Sollumz son shaders del juego. Crea uno en Drawables > Shader Tools con Create Shader Material, o convierte un material de Blender existente al shader seleccionado con los botones de conversión del mismo panel. Estos son los shaders de vehículo que usamos y para qué:
| Superficie | Shader | Nota |
|---|---|---|
| Pintura de carrocería que los jugadores pueden repintar | vehicle_paint1 y los demás shaders vehicle_paint | La capa de pintura (primaria, secundaria, perlada, ruedas, interior) se elige en el panel Fragment (Vehicle Paint) del material. |
| Piezas de color fijo o con textura: livery, plásticos, metal, interior | vehicle_mesh | Usa la textura diffuse tal cual. |
| Neumáticos y llantas | vehicle_tire | Úsalo para la rueda entera. En nuestras pruebas, las partes de una rueda con vehicle_mesh no se dibujaban en el juego. |
| Cristal | vehicle_vehglass, vehicle_vehglass_inner | Cara exterior e interior de cada cristal. |
| Lentes de faros, neón | vehicle_lightsemissive | Brilla cuando la luz correspondiente está encendida. |
| Pegatinas, redes, emblemas con transparencia | vehicle_decal |
Dos cosas que no se ven en Blender deciden cómo se ve el coche en el juego:
- Color de vértice. En los shaders mesh, el canal rojo del primer atributo de color multiplica la textura. Una malla con color de vértice negro sale negra en el juego por buena que sea su textura. Rellénala con un color cuyo rojo sea 255.
- Light ID. En
vehicle_lightsemissive, el canal alfa del color de vértice dice a qué luz pertenecen las caras. Se ajusta en Fragments > Vehicle Tools > Light IDs: entra en Edit Mode con selección de caras, selecciona las caras, elige la luz y pulsa Set Light ID.
| Light ID | Luz |
|---|---|
| 0 | Siempre encendida |
| 1, 2 | Faro izquierdo y derecho |
| 3, 4 | Luz trasera izquierda y derecha |
| 5, 6, 7, 8 | Intermitentes: delantero izquierdo, delantero derecho, trasero izquierdo, trasero derecho |
| 9, 10, 11 | Luces de freno: izquierda, derecha, central |
| 12, 13 | Luces de marcha atrás: izquierda y derecha |
| 14 a 17 | Luces extra |
En cuanto a las texturas, conserva la diffuse de tu modelo y, cuando puedas, toma los mapas specular, normal y de suciedad de las texturas de vehículo compartidas del juego. Los tamaños y formatos están en optimizar un vehículo de FiveM.
¿Cómo funcionan las ruedas?
El juego dibuja un solo modelo de rueda en todas las ruedas. Modela la rueda una vez como wheel_lf, centrada en su bone, y marca Is Wheel Mesh en Properties > Object > Sollumz. Sin ese interruptor la rueda se exporta como parte de la carrocería: el coche aparece con una rueda flotando en su sitio y ninguna en los demás bujes. Vehicle Tools > Preview Wheel Instances muestra la rueda en las cuatro posiciones dentro de Blender.
Cada rueda necesita además su propio disco de colisión para que el coche tenga algo sobre lo que rodar. Eso se explica en colisión de vehículos en Sollumz.
¿Cómo funcionan los LOD y el archivo _hi.yft en Sollumz?
Cada Drawable Model puede contener cinco mallas: Very High, High, Medium, Low y Very Low. Aparecen en Properties > Data > Sollumz LODs. Al exportar, Sollumz escribe las mallas Very High en <name>_hi.yft y las otras cuatro en <name>.yft. No hay nada que separar a mano: si algún modelo tiene una malla Very High, se crea el archivo _hi.
Cómo generar los niveles más bajos, y qué poner en lodDistances, está en optimizar un vehículo de FiveM.
¿Cómo exporto el .yft y el .ytd?
Selecciona el fragment (el armature) y pulsa Export RAGE Assets en Sollumz Tools > General. Los ajustes que importan para un vehículo:
| Ajuste | Valor | Por qué |
|---|---|---|
| Target Formats | Native | Escribe archivos binarios que el juego carga directamente. CW XML escribe XML de CodeWalker, una versión de texto legible que sirve para comprobar el resultado. |
| Target Game Versions | Gen8 | Gen8 es GTA V Legacy y Gen9 es GTA V Enhanced. Con los dos activados, los archivos van a las subcarpetas gen8/ y gen9/. |
| Limit to Selected | Activado | Exporta solo lo que está seleccionado y visible. |
| Texture Dictionaries | Activado, Include: Selected | Escribe el .ytd. Con All obtienes además el diccionario del vehículo de referencia. |
El resultado es mycar.yft, mycar_hi.yft y mycar.ytd. Un objeto oculto no se puede seleccionar, y Sollumz oculta mallas cuando cambias de nivel de LOD, así que si no se escribe nada o el log dice "No Sollumz objects selected for export!", vuelve a mostrar el vehículo y selecciónalo otra vez. Después de cada exportación, mira la hora del archivo en disco antes de probar.
¿Qué debo comprobar antes de probar en el juego?
- Todo bone con Fragment Physics activado tiene una colisión. Si alguno no la tiene, la exportación avisa: "Bone has physics enabled, but no associated collision!".
- Ninguna malla tiene color de vértice negro.
- Toda textura que usa un material está en el
.ytd, o sale a propósito de las texturas de vehículo compartidas del juego. - La malla de la rueda tiene Is Wheel Mesh activado.
- La escala está aplicada: no queda escala en el armature.
- Cada archivo pasa la comprobación de tamaño del servidor. Consulta el aviso de assets sobredimensionados.
¿Cómo meto el modelo en FiveM?
Pon los tres archivos en la carpeta stream de un resource. La primera prueba más rápida es darles el nombre de un vehículo original, por ejemplo sultan.yft, sultan_hi.yft y sultan.ytd: el juego dibuja entonces tu modelo allí donde aparezca un Sultan, con el handling y los asientos del Sultan, y todavía no necesitas ningún archivo meta.
Cuando el modelo se vea bien, dale su propio nombre y sus metas para que se cargue junto a los coches originales. Esa parte está en cómo añadir un vehículo add-on a un servidor FiveM.
Preguntas frecuentes
- ¿Qué versión de Blender necesita Sollumz 2.9?
- Sollumz 2.9.0 fija Blender 4.2 como versión mínima. Nosotros lo usamos en Blender 5.2.
- ¿Puede Sollumz exportar archivos .yft directamente?
- Sí. Con la opción Target Formats en Native, Sollumz escribe archivos binarios .yft, .ydr y .ytd que el juego carga directamente. Hace falta la dependencia PyMateria que el add-on ofrece instalar. La opción CW XML escribe en su lugar XML de CodeWalker.
- ¿Debo exportar Gen8 o Gen9 para FiveM?
- Gen8. En Sollumz, Gen8 significa GTA V Legacy y Gen9 significa GTA V Enhanced.
- ¿Cómo crea Sollumz el archivo _hi.yft?
- Automáticamente. Las mallas del hueco de LOD Very High se escriben en name_hi.yft y las mallas High, Medium, Low y Very Low en name.yft.
- ¿Por qué mi vehículo sale negro en el juego?
- Normalmente porque la malla tiene color de vértice negro. En los shaders mesh de vehículo, el canal rojo del color de vértice multiplica la textura, así que pinta la malla con un color cuyo rojo sea 255.
Fuentes
Productos de esta guía
- Coil S-Cooter: Patinete Eléctrico FiveM
- Hoverboard Pack: 3 Hoverboards FiveM
- Complete Bundle: Patinete + Hoverboards FiveM
Todas las guías
- Cómo instalar un resource FiveM de Cfx.re Escrow (Granted Assets)
- Cómo añadir un vehículo custom a un servidor ESX, QBCore o QBox
- ¿Qué son los LODs en los vehículos de FiveM?
- Cómo añadir un vehículo add-on a un servidor FiveM
- vehicles.meta explicado, campo por campo
- handling.meta explicado: campos, unidades y flags
- carvariations.meta y carcols.meta explicados
- vehiclelayouts.meta explicado: asientos, puntos de entrada y animaciones
- Referencia de data_file de fxmanifest para vehículos
- Archivos de modelo del vehículo (yft, _hi.yft, ytd) y el aviso de assets sobredimensionados
- Solución de problemas de vehículos add-on en FiveM: causas y soluciones
- Cómo arreglar "You lack the required entitlement" en un servidor FiveM
- Cómo convertir un mod de coche de un jugador de GTA 5 en un add-on de FiveM
- Cómo funciona un hoverboard de FiveM sin script
- Cómo optimizar un vehículo de FiveM: polígonos, LOD y presupuesto de texturas
- Cómo configurar la colisión de un vehículo en Sollumz
- Comprar vehículos FiveM: qué revisar antes de pagar
- Packs de coches FiveM vs vehículos sueltos
- Coches de marcas reales en FiveM: ¿se permiten?
- CodeWalker vs Sollumz: ¿qué herramienta usar para vehículos de FiveM?
