Un MLO funcional para FiveM es más que un modelo con forma de interior. Necesitas geometría, colisión adecuada, un arquetipo MLO con datos de habitaciones y portales, una colocación en el mundo y un recurso que entregue los assets exportados.
Esta guía usa un taller original de dos habitaciones como ejercicio controlado. No es un asset de juego prefabricado para descargar. Crearás la geometría tú mismo. Los nombres de ejemplo siguientes pertenecen al ejercicio; no son nombres especiales de archivos de CodeWalker ni ajustes garantizados para todos los interiores.
Qué vas a crear
Mantén pequeña la primera versión: una sala delantera, un taller al fondo, una puerta entre ambos y una entrada exterior. Deja las puertas móviles, la iluminación elaborada, los conjuntos de entidades y las sustituciones exteriores complejas para una revisión posterior.
El modelo ilustrado muestra la relación entre los espacios. Es un diagrama conceptual, no una prueba realizada en el juego. La validación consiste en comprobar que el interior realmente exportado funciona correctamente en tu servidor de destino.
Antes de empezar, completa el ciclo de exportación y reimportación Blender–Sollumz y primer ejercicio YMAP. Necesitas conocimientos básicos de modelado en Blender; CodeWalker no sustituye una aplicación de modelado.
1. Define la ubicación y el destino de compilación
Elige una ubicación de desarrollo donde puedas identificar la geometría original cercana y los recursos de mapa existentes. Registra la posición y orientación deseadas. Para el primer ejercicio, evita sustituir un edificio original complejo: la colisión existente puede bloquear la nueva entrada aunque tu modelo tenga una puerta.
Decide si producirás assets Legacy o Enhanced. Mantén carpetas de exportación separadas cuando trabajes con ambos. La guía de introducción a Enhanced de Cfx.re indica las herramientas de conversión aplicables y las diferencias de comportamiento. No supongas que la descarga dev46 enlazada aquí sea adecuada para ambos destinos.
Escribe un objetivo sencillo: dos habitaciones, una entrada exterior y ninguna interacción mediante scripts. Dibuja el plano antes de añadir detalles. Así, «terminado» será una condición verificable y no un objetivo cambiante.
2. Crea los volúmenes básicos del interior en Blender
Crea suelos, paredes, techo y aberturas despejadas. Elige un origen local coherente y registra la transformación prevista en el mundo. La guía de modelado de Sollumz muestra cómo conservar una referencia de colocación al mover la geometría editable al origen.
Usa colecciones separadas para geometría visible, colisión y referencias. Sus nombres sirven para organizarte, no son datos obligatorios del juego. Organízalas para evitar exportar por accidente un edificio de referencia.
Inspecciona el modelo desde dentro. Revisa la dirección de las caras, las intersecciones de paredes y la relación entre puerta y suelo. Un marco decorativo no debe reducir la abertura útil más de lo previsto. Mantén la escala y las transformaciones coherentes; no «corrijas» después una colocación incorrecta escalando al azar todo el interior en el mapa.
Guarda un punto de control en la etapa de volúmenes básicos. Una habitación sencilla y transitable es mejor base que una escena amueblada con un origen incierto.
3. Prepara drawables y materiales
Prepara las mallas visibles como drawables GTA con Sollumz y asigna los materiales de shader adecuados a tu flujo. Empieza con pocas superficies opacas normales. El vidrio complejo, los elementos emisivos y los efectos especiales añaden posibles fallos innecesarios para validar la estructura del interior.
Exporta e inspecciona una superficie representativa antes de texturizarlo todo. Comprueba que las referencias de texturas y la apariencia de materiales se conserven en CodeWalker. Reutilizar un conjunto pequeño y coherente de materiales facilita también las correcciones posteriores.
Mantén un inventario sencillo de assets. Un ejemplo puede incluir cw_workshop_shell para la estructura visible y cw_workshop_col para la colisión del interior. Los nombres distintos ayudan a reconocer qué archivo exportado estás inspeccionando.
4. Crea la colisión como una tarea independiente
Construye una estructura simplificada de colisión para las superficies que el jugador debe tocar. Debe conservar el suelo, las paredes y las aberturas reales sin copiar mecánicamente cada borde decorativo.
El guía de colisión de Sollumz cubre la conversión a un compuesto de colisión y la asignación de materiales. También explica los materiales de suelo específicos por habitación necesarios para asignar IDs. Sigue las convenciones de tu versión en lugar de suponer que un número de habitación visible es exactamente el valor interno de colisión.
Inspecciona la entrada exterior desde ambos lados. Si modificas un edificio existente, identifica todos los assets de colisión que bloquean la abertura. No borres colisión ajena del mundo solo para hacer transitable la puerta. Para este primer ejercicio original, una ubicación sin sustituciones superpuestas hace la prueba mucho más clara.
El lección de colisión ofrece un plan de prueba independiente para caminar y comprobar los límites.
5. Crea el YTYP y el arquetipo MLO
Las definiciones de arquetipos vinculan los nombres de tus assets con los datos que necesita el juego. La guía YTYP de Sollumz describe la creación de arquetipos base para drawables y de un arquetipo MLO a partir de la selección de colisión. Sigue esa estructura documentada en lugar de tratar la estructura visible como un interior completo por sí sola.
Para el ejercicio del taller, necesitas una definición MLO que referencie los assets previstos y contenga la organización interior. Anota el nombre exacto del arquetipo MLO; lo usarás después en un YMAP.
No renombres el arquetipo durante las pruebas sin actualizar todas las referencias. De lo contrario, un cambio cosmético de nombres puede parecer un fallo de renderizado.
6. Añade habitaciones, limbo y portales
Crea el limbo con la herramienta prevista y después define la sala delantera y el taller. Establece límites desde geometría que describa realmente cada espacio. No uses un límite enorme solo porque seleccionar geometría precisa lleve más tiempo.
En la puerta entre habitaciones, crea un portal con sus cuatro esquinas y conecta las habitaciones correctas. En la entrada exterior, conecta el interior al limbo según la convención de dirección documentada. Un portal es un dato de visibilidad, no la malla visible de la puerta, y no abre un hueco en la colisión.
Trátalo como un grafo pequeño: sala delantera ↔ taller y sala delantera ↔ exterior. Comprueba las asignaciones de extremos y la orientación en el editor. Después prueba las mismas transiciones en el juego. No te fíes del ángulo de vista que casualmente hace parecer correcto el interior.
Mantén las entidades internas asociadas a la estructura adecuada. Evita reproducir todo el interior como colocaciones mundiales independientes solo porque así resulta visible al principio. La lección de habitaciones y portales amplía la prueba de dos habitaciones en lugar de ofrecer valores universales de indicadores.
7. Exporta a una carpeta limpia
Selecciona los objetos que exportarás y confirma que los necesarios no estén ocultos. Usa una ruta de exportación coherente. El flujo XML documentado convierte la salida de intercambio mediante RPF Explorer de CodeWalker.
Abre los assets exportados al formato del juego antes de empaquetarlos. Comprueba los drawables, la colisión y las definiciones previstas en el YTYP. No mezcles el YTYP de hoy con la colisión de la semana pasada solo porque coincidan los nombres de archivo.
Mantén las fuentes, los archivos de intercambio y los archivos que desplegarás en carpetas distintas. Nunca conviertas .ydr.xml en .ydr cambiándole el nombre. Expórtalo o conviértelo correctamente.
8. Coloca el interior en CodeWalker
Carga los assets exportados en el proyecto. Añade un YMAP nuevo y una entidad con el nombre exacto del arquetipo MLO. Aplica una sola vez la transformación de colocación registrada. Si creaste la geometría en espacio local, no incorpores además la misma traslación mundial en cada componente.
Comprueba la entrada respecto al mundo circundante y calcula los indicadores y las extensiones del YMAP antes de guardar. La guía de colocación de Sollumz documenta esta etapa.
La generación de manifiestos de mapas del juego en CodeWalker y el archivo de FiveM fxmanifest.lua sirven a sistemas diferentes. Un archivo generado _manifest.ymf no sustituye el manifiesto de recurso siguiente.
9. Prepara el recurso FiveM
Este ejemplo supone un YTYP personalizado llamado cw_workshop.ytyp. Los nombres de tus exportaciones de drawable y colisión pueden diferir; conserva los generados por tu proyecto.
cw_workshop/
fxmanifest.lua
stream/
cw_workshop.ymap
cw_workshop.ytyp
cw_workshop_shell.ydr
cw_workshop_col.ybn
# Add texture dictionaries and other required exports.
Usa un manifiesto de recurso con el YTYP registrado expresamente:
fx_version 'cerulean'
game 'gta5'
this_is_a_map 'yes'
files {
'stream/cw_workshop.ytyp'
}
data_file 'DLC_ITYP_REQUEST' 'stream/cw_workshop.ytyp'
Las directivas y el tipo de archivo de datos se documentan en Cfx.re y su referencia de archivos de datos. Añade las demás dependencias reales de tu proyecto; este fragmento no es un manifiesto universal para todos los MLO.
10. Prueba el comportamiento, no solo la apariencia
Inicia el recurso en un servidor de desarrollo y visita la ubicación registrada. Camina desde la calle por la sala delantera hasta el taller y vuelve. Mira por cada puerta antes de cruzarla. Gira estando en el umbral y prueba ambos lados de cada límite de habitación.
Comprueba suelos sólidos, aberturas utilizables y barreras no deseadas. Repite con distinta iluminación, reconéctate y acércate desde lejos. Por último, prueba con los demás recursos de mapa que coexistirán en ese lugar.
Guarda observaciones con coordenadas, dirección de cámara y versión exacta utilizada. Cambia una cosa cada vez cuando falle una prueba. Una habitación que desaparece desde un ángulo requiere una investigación distinta de un jugador que atraviesa el suelo.
Las siguientes etapas son la optimización y una lista de comprobación repetible de publicación. No des por terminado el MLO porque una captura de CodeWalker parezca correcta.
Sigue la transferencia de fuentes del navegador a Blender
Hay dos puntos de partida: modela el ejercicio tú mismo como se describe arriba o usa el paquete fuente original de dos habitaciones para inspeccionar el flujo limitado del complemento. El paquete fuente no es un interior nativo terminado ni demuestra que el diagrama de esta página haya superado una prueba en el juego.
En Map Studio, limita el plano a una planta de habitaciones rectangulares y elige Legacy. Exporta el paquete fuente y abre CW Studio en un entorno Blender/Sollumz compatible. La base documentada es Blender 4.2.23 LTS, Sollumz 2.9.0 y szio 1.3.0.dev9. Son versiones fijadas para la integración, no afirmaciones de versiones «más recientes».
Usa Importar, elige el ZIP del paquete y después Validar. Inspecciona las estructuras generadas, las aberturas físicas, las asignaciones de habitaciones y los portales antes de Exportar a un directorio nuevo. Si editaste manualmente geometría generada, no autorices reemplazarla sin guardar una escena aparte. El complemento distingue los elementos generados; mantén tus modelos fuera de esa colección salvo que quieras reconstruirlos.

La imagen muestra la ayuda de transferencia del navegador, no una salida de Blender ni una escena de GTA. El complemento genera un informe legible por máquina y XML fuente. Inspecciona ambos; un mensaje amable no sustituye la revisión de las salidas reales.
Registra tres resultados de validación independientes
| Etapa | Evidencias que conservar | Qué no demuestra |
|---|---|---|
| Fuente | Proyecto guardado, escena Blender, salidas XML e informe de generación | Compilación de archivos nativos o compatibilidad con el juego |
| Nativo | YDR/YBN/YTYP/YMAP compilados y abiertos de nuevo en CodeWalker | Colisión, portales y streaming durante el juego |
| FiveM | Versión de destino, revisión del recurso y pruebas observadas de movimiento/visibilidad | Compatibilidad con otra edición o todos los demás recursos del servidor |
No cambies «sin verificar» por «aprobado» sin realizar esa etapa. El origen mundial del paquete fuente es ilustrativo: elige un lugar real de prueba y comprueba la geometría vecina. La guía termina con tu resultado registrado en el juego, no al descargar el ejemplo.