Una guía paso a paso para construir, exportar, empaquetar, probar, optimizar y enviar FiveM MLOs con Blender, Sollumz, CodeWalker y OpenIV, además de solución de problemas, control de calidad y presupuestos de rendimiento.
En resumen: configurarás herramientas (Blender + Sollumz, CodeWalker, OpenIV), modelarás un interior con topología adecuada y densidad de texel, crearás colisiones (YBN), portales/habitaciones/oclusión (YTYP), exportarás con Sollumz, empaquetarás un recurso con un fxmanifest.lua, validarás en el juego y alcanzarás los presupuestos de rendimiento usando Resmon.
Para quién es esta guía
Dueños de Servidores FiveM y Creadores de Activos
Antes de empezar: herramientas y descargas
Requerido
- Licuadora (3.x o más reciente): https://www.blender.org/download/
- Sollumz (Complemento de Blender para formatos RDR2/GTAV): https://github.com/Skylumz/Sollumz
- CodeWalker (editor de mapas / herramientas YTYP / portal): Hilo de GTAForums → https://github.com/dexyfex/CodeWalker
- OpenIV (exploración de activos, rutas de texturas):
- Documentación de FiveM (manifiesto de recursos, streaming): https://docs.fivem.net/
Bueno tener
- Código de Visual Studio para editar manifiestos.
- Editor de imágenes (Photoshop, Affinity, GIMP) para texturas.
Nota de licencia: Respeta las políticas de Rockstar/Cfx y las licencias de terceros. No redistribuyas activos de juego propietarios más allá de lo permitido.
Inicio rápido (resumen de 10 minutos)
- Instalar Blender + Sollumz y activa el complemento.
- Crea una nueva escena en metros (1 unidad de Blender = 1 metro). Importa mallas de referencia si es necesario.
- Modela tu interior de forma modular; mantén una densidad de texel consistente; evita caras ocultas.
- Crear mallas de colisión (primitivas simples) y márcalas para exportación YBN.
- En CodeWalker, define habitaciones/portales/ocluidores y genera YTYP entradas.
- Exporta con Sollumz → YDR/YDD/YBN/YTYP según corresponda.
- Construir una carpeta de recursos con
streamy unfxmanifest.lua. - Añade el recurso a
server.cfg, inicia el servidor, valida en el juego. - Perfil con Resmon; corrige fugas, sobredibujado y materiales pesados.
Mira, yo he estado ahí.
Estás caminando por tu servidor, ves un edificio que sería el perfecto lugar perfecto para un taller mecánico o un escondite de cártel, y te acercas a la puerta… y nada. Solo una textura plana. Una puerta falsa. Te vuelve loco, ¿verdad?
Esa sensación es exactamente por la que empecé a hacer MLOs (Objetos Cargadores de Mapas). Solo quería abrir la maldita puerta.
Pero entonces abrí los tutoriales, y de repente la gente gritaba sobre “vertex paints” y “ytyps” y “portales”, y honestamente casi lo dejo ahí. Sentía que necesitaba un título en arquitectura solo para poner una caja en un videojuego.
Así que, respira hondo. Toma un café (o un Red Bull, no juzgo). Voy a explicarte esto de la forma en que me hubiera gustado que me lo explicaran a mí—desordenado, imperfecto, pero comprensible.
Así es como realmente empiezas a crear interiores para FiveM.
El Kit de Herramientas (No te saltes esto)
No puedes construir una casa sin un martillo. Para los interiores de GTA V, necesitas un conjunto específico de herramientas. Es molesto de configurar, lo sé, pero solo tienes que hacerlo una vez.
- Blender: El estándar de la industria para el modelado 3D. Es gratuito. Puede ser intimidante al principio, pero solo necesitamos una fracción de lo que puede hacer.
- Sollumz: Este es un complemento para Blender. Piénsalo como el traductor. Blender habla “3D”, pero GTA V habla “Rage Engine”. Sollumz traduce tu modelo para que el juego lo entienda.
- Caminante de códigos: El editor de mapas. Lo usarás para colocar tu edificio en el mundo y decirle al juego: “Oye, esto es un interior”.”
- OpenIV: Probablemente ya tengas esto. Es el administrador/visor de archivos.
Breve aparte: Si aún no has instalado Sollumz, ve a hacerlo primero. Hay millones de videos en YouTube sobre cómo instalarlo. Te esperaré aquí.
Paso 1: El “Caparazón” (Construyendo la caja)
Bien, entonces un MLO no es solo una habitación. Es un caparazón.
Imagina que estás construyendo una casa de muñecas. Tienes las paredes exteriores (el edificio que ves desde la calle) y el interior (las habitaciones).
- Abra Blender. Elimina ese cubo por defecto. (Es tradición. Lo siento, cubo.)
- Importa el modelo original: Si estás modificando un edificio GTA existente, necesitas importar ese edificio usando Sollumz para saber dónde cortar el agujero para la puerta.
- Corta el agujero: Literalmente, elimina las caras donde debería estar la puerta.
- Modela la habitación: Crea una caja simple detrás de ese agujero. No te vuelvas loco con los detalles todavía. Solo haz un piso, paredes y un techo.
El problema de la camiseta “Del revés”
Aquí hay algo que me hizo arrancarme el cabello durante una semana: las normales.
En 3D, una pared solo tiene un lado. Si la “Normal” (la cara frontal) apunta hacia afuera y estás parado dentro de la habitación, la pared será invisible. Necesitas asegurarte de que las líneas azules (normales) miren hacia la habitación.
Si cargas el juego y tus paredes son invisibles, es por las normales. Siempre son las normales.
Paso 2: Texturizado (Pintar las paredes)
No puedes dejarlo gris. GTA odia los modelos sin textura.
En Blender/Sollumz, aplicas shaders. Usualmente usarás shaders estándar de GTA (como gta_default). Asignas una textura —como una pared de ladrillos o un piso de concreto— a tu malla.
Consejo profesional: Mantén tus texturas en “Potencias de Dos”. $512 por 512$, $1024 por 1024$, etc. Si intentas usar una imagen de $500 por 500$, el juego se quejará y se bloqueará. Lo aprendí por las malas.
Paso 3: La Parte Aterradora (Portales)
Esta es la parte que le explota la cabeza a todos.
A Portal es básicamente una cortina invisible. Le dice al motor del juego: “Cuando el jugador mire a través de esta puerta, comienza a renderizar el interior de la habitación. Cuando se vaya, deja de renderizarlo para ahorrar memoria.”
Sin portales, obtienes el “vacío”. ¿Sabes? Cuando miras a través de la puerta y parece que estás mirando al Infierno Azul debajo del mapa? Sí.
En Sollumz, crear un portal implica:
- Seleccionar los vértices de tu puerta.
- Creando un “ID de Sala” para el exterior (Limbo) y un “ID de Sala” para el interior (Sala 1).
- Conectándolos.
Piénsalo como una esclusa de aire en una nave espacial. Necesitas sellar la transición entre el “Mundo Exterior” y la “Sala Interior”.”
Paso 4: La Exportación y el “YTYP”
Una vez que tu modelo esté listo, lo exportas como un .ydr (drawable) y un .ybn (collision). Pero el juego aún no sabe que existe.
Necesitas un archivo .ytyp . Esto es básicamente un manifiesto, una lista, que le dice a GTA: “Tengo un nuevo objeto, aquí está su nombre y aquí están sus propiedades”.”
- Abre CodeWalker.
- Crea un nuevo YTYP.
- Añade tu nuevo modelo a través de la definición de Arquetipo MLO.
- Aquí es donde defines los flags MLO.
¿Honestamente? La primera vez que hagas esto, no funcionará. Simplemente no funcionará. Cargarás, caminarás hacia tu edificio y caerás a través del suelo. Es un rito de iniciación.
Generalmente, significa que tu Collision (.ybn) no está alineado con tu modelo visual. O, olvidaste marcar “Embedded Collision” en la configuración de exportación en Sollumz. Marca esa casilla.
Paso 5: Colocarlo en el Mundo (YMAP)
Último paso. Tienes el objeto. Ahora necesitas colocarlo.
En CodeWalker:
- Abre el proyecto.
- Crear uno nuevo .ymap.
- Coloca tu nuevo objeto MLO exactamente donde encaje en el mapa.
- Guarda todo.
Un Pensamiento Final
Estoy haciendo que esto suene lineal, pero en realidad es muy desordenado. Pasarás horas arreglando una textura de luz parpadeante o tratando de descubrir por qué la lluvia está cayendo dentro de tu sala de estar (eso es un problema de “Oclusión”, pero dejemos eso para otro día).
Empieza con algo pequeño. En serio. No intentes construir una comisaría para tu primer proyecto. Construye una caja literal con una puerta. Una vez que puedas entrar en esa caja sin caerte al vacío, oficialmente eres un desarrollador MLO.
La sensación de entrar en una habitación tú construida, ¿ver a tus amigos interpretar en un espacio que no existía ayer? Esa es la mejor sensación del mundo. Vale la pena el dolor de cabeza.
¿Qué deberías hacer ahora?
Necesitas ensuciarte las manos.
¿Te gustaría que te guíe a través de los ajustes de instalación específicos para el plugin Sollumz en Blender, o deberíamos enfocarnos en solucionar un error específico que ya estás viendo?
Consejos para crear MLOs
- Escala: Trabaja en metros. Puertas ~2.0–2.2m de alto; encimeras ~0.9m; escaleras suben ~0.17m.
- Colecciones:
INT_MLO,COLLISIONS,LIGHTS,PROPS_STATIC,PROPS_INSTANCED. - Nomenclatura:
int_shop_main_wall_A,coll_floor_A,door_backroom_A. Prefijos consistentes te ahorrarán horas después. - Pivote/origen: Establece orígenes significativos (bisagras para puertas), aplica transformaciones (Ctrl‑A) antes de exportar.
Modelado y mejores prácticas de topología
- Modular: Construye paredes/pisos/techos como módulos para reutilizar y mantener.
- Topología: Favorece los quads, mantén el flujo de bordes limpio, evita bucles superfluos.
- Densidad de texel: Objetivo ~512–1024 px/m para superficies principales; 256–512 px/m para fondo.
- Hojas de recorte y atlas: Reduce el número de materiales; agrupa props en atlas.
- Elimina caras ocultasEliminar geometría no visible (detrás de paredes, debajo de pisos) para reducir el sobredibujado.
Materiales, texturas e iluminación
- PBRUsar BaseColor/Roughness/Metallic/Normal. Mantener pocos materiales (≤ 8 para interiores pequeños).
- Tamaños de texturaPreferir 1k–2k; evitar 4k masivo a menos que sea absolutamente necesario. Usar BC7 o DXT donde se aplica.
- EmisivosPara letreros/LEDs; mantener intensidad razonable para evitar problemas de blooming.
- Iluminación horneadaMapas de luz opcionales pueden estabilizar el aspecto del interior a lo largo del día.
- Reutilizar vanillaCon OpenIV, referenciar texturas/shaders existentes cuando la licencia lo permita.
Colisiones (YBN)
- Usar primitivas de bajo polígono (cajas/cilindros) para aproximar superficies transitables y obstáculos.
- Colección de colisiones separada (
COLLISIONS) y mantener nombres alineados (ej.,coll_wall_A). - Puertas/ventanas que no deben atravesarse: asegurar que la colisión cubra la abertura o se alterne con la lógica de puerta.
- Error común: la colisión de alto detalle causa problemas físicos—simplify.
Salas, portales, oclusión y YTYP
- SalasEspacios lógicos (tienda, trastienda, pasillo) con portales en las entradas.
- Portales: Puertas de visibilidad; evitan renderizar salas que no puedes ver.
- Oclusores: Superficies grandes que bloquean el renderizado detrás de ellas (ej., paredes sólidas).
- YTYP: Define arquetipos, distancias LOD, enlaces sala/portal.
- En CodeWalker: asignar salas, colocar portales, añadir oclusores, generar YTYP. Validar con las herramientas de visualización de CW (colores de sala, líneas de portal).
Exportar con Sollumz
- Instalar desde GitHub, habilitar el add‑on en las preferencias de Blender.
- Asignar Shaders de Sollumz y banderas de exportación según sea necesario.
- Controlar Escala y rotaciones se aplican (Ctrl‑A) antes de exportar.
- Destino(s) de exportación:
- YDR/YDD para modelos dibujables / dibujables con esqueletos.
- YBN para colisiones.
- YTYP para definiciones de arquetipo/sala/portal (a menudo finalizadas mediante CodeWalker).
Empaquetar el recurso (manifiesto fx)
Estructura de carpetas
[mlo-yourinterior] ├─ fxmanifest.lua └─ stream/ ├─ mlo_shop.ydr ├─ mlo_shop.ybn ├─ mlo_shop.ytyp └─ props/ └─ ...
Mínimo fxmanifest.lua
fx_version 'cerulean'
game 'gta5'
name 'mlo-yourinterior'
description 'Custom MLO: YourInterior'
version '1.0.0'
files {
'stream/*.ytd',
'stream/*.ydr',
'stream/*.ydd',
'stream/*.ybn',
'stream/*.yft',
'stream/*.ytyp',
'stream/props/*'
}
-- Ensure YTYPs are loaded
this_is_a_map 'yes'
Configuración del servidor
Añadir a tu server.cfg:
ensure mlo-yourinterior
Consulta la documentación oficial para manifiestos y streaming: https://docs.fivem.net/docs/scripting-reference/resource-manifest/resource-manifest/
Lista de verificación de validación en el juego
- ☐ Teletranspórtate al interior; verifica la altura de aparición y que no caigas a través de los pisos.
- ☐ Camina por cada habitación; revisa los pasajes de puertas; sin paredes invisibles.
- ☐ Mira a través de cada portal; confirma que el recorte de renderizado funcione.
- ☐ Revisa Z‑fighting en intersecciones de pared/moldura.
- ☐ Ciclo hora del día; confirmar que la iluminación/emisiones luzcan naturales.
- ☐ Párate en cada habitación; gira la cámara 360°; observa Resmon picos.
- ☐ Prueba con 3–10 jugadores; observa el rendimiento de red y cliente.
Presupuestos de rendimiento y Resmon
Objetivos típicos para un MLO pequeño/mediano:
- Materiales: ≤ 8–12 materiales únicos.
- Draw calls: mantener bajos mediante instanciación y atlas.
- Texturas: principalmente 1k–2k; usar atlas cuando sea posible.
- Tamaño de stream: apuntar ≤ 30–80 MB por MLO (depende del contexto).
- Portales: agregar suficientes para aislar habitaciones pero sin exceso.
Elaboración de perfiles
- Usar Resmon (
F8 → resmon 1) para verificar CPU/MS y memoria. - Alternar interiores, ocultar props para inspeccionar.
- Si aparecen picos al mirar hacia una puerta, revisa portales/oclusores.
Para un manual de ajuste más amplio para todo el servidor, consulta Optimizar el rendimiento en FiveMX → /fivem-server-optimization/.
Solución de problemas
| Síntoma | Causa probable | Arreglar |
|---|---|---|
| Caer a través del suelo | Faltante/desplazado YBN | Alinear colisión con malla de render; aplicar transformaciones; reexportar YBN |
| Ver otras habitaciones a través de paredes | Faltante/incorrecto portal/oclusor | Definir habitaciones correctamente en CodeWalker; agregar oclusores; actualizar YTYP |
| Mallas negras/invisibles | Problema de ruta de shader/textura | Usar shader correcto de Sollumz; verificar rutas de textura; asegurar que YTDs estén presentes |
| Parpadeo (Z‑fighting) | Caras coplanares | Desplazar o fusionar caras; ajustar grosor de recorte |
| Caída de FPS al mirar hacia la puerta | Sobredibujado debido a espacio del portal | Redimensionar/realinear portal; agregar oclusores; simplificar materiales |
| Puertas bloquean al jugador | Colisión superpuesta | Editar YBN para despejar el paso; separar colisionador de puerta |
| Emisivos demasiado brillantes | Intensidad/mapeo de tonos | Valores de emisividad más bajos; evita el spam de blanco puro/emisivo |
Preguntas frecuentes
¿Necesito una colisión (YBN) para cada malla?
No. Solo para superficies transitables o interactuables . Los elementos decorativos pueden permanecer sin colisión.
¿Cuántos portales debe tener un interior?
Suficiente para dividir habitaciones/pasillos lógicos y bloquear el renderizado entre habitaciones—normalmente uno por puerta/abertura.
¿Puedo reutilizar texturas GTA V?
A menudo sí para uso en el juego, pero no redistribuyas activos más allá de los términos permitidos. Verifica las rutas y licencias de OpenIV.
Mi YTYP no carga.
Revisa el listado del archivo manifest, los nombres de archivo y asegúrate de que this_is_a_map 'yes' esté configurado.
¿Qué versión de Blender funciona mejor con Sollumz?
Las versiones actuales 3.x se usan comúnmente; confirma la compatibilidad en el GitHub de Sollumz.
Recursos y lecturas adicionales
- Documentación de FiveM (manifiestos de recursos, streaming): https://docs.fivem.net/
- Sollumz (GitHub): https://github.com/Skylumz/Sollumz
- CodeWalker (hilo y compilaciones de GTAForums): https://github.com/dexyfex/CodeWalker
- OpenIV:
- GTAV Modding (wiki general): https://gtamods.com/wiki/Main_Page
¿Qué sigue? (Enlaces internos y CTAs)
- Explorar MLO → /fivem-mlos/ (Ejemplos, inspiración y mapas listos para usar.)
- Mejor guía de MLOs → /mlos-fivem-gratis/ (Selecciones curadas, pros/contras, notas de rendimiento.)
- Optimiza tu servidor → /fivem-server-optimization/ (Uso de Resmon, consejos de streaming de assets.)
- ¿Necesitas ayuda con el mapeo? → Contacta a FiveMX (interiores personalizados, revisiones de optimización).
Assets de copiar y pegar (inicio opcional)
Coloca estos en tu proyecto como base y personaliza.
Inicio fxmanifest.lua (extendido)
fx_version 'cerulean'
game 'gta5'
name 'mlo-yourinterior'
author 'YourName @ FiveMX'
version '1.0.0'
this_is_a_map 'yes'
files {
'stream/**.ytd',
'stream/**.ydr',
'stream/**.ydd',
'stream/**.ybn',
'stream/**.yft',
'stream/**.ytyp'
}
Colecciones recomendadas (Blender)
INT_MLO ├─ STRUCTURE ├─ PROPS_STATIC ├─ PROPS_INSTANCED ├─ LIGHTS └─ COLLISIONS
Créditos: Gracias a los mantenedores de Sollumz, CodeWalker y la documentación de Cfx.re por sus excelentes herramientas y documentación.
Recursos relacionados con FiveMX
Utilice estas secciones de FiveMX para comparar productos relacionados, categorías y guías de configuración antes de elegir un recurso.
