Importación de modelos
Polygon Engine importa modelos de origen en recursos .msh compactos que el editor y el tiempo de ejecución de PS1 pueden cargar mediante GUID.
Formatos soportados
- OBJ (
.obj) para mallas estáticas simples. - FBX (
.fbx) para mallas estáticas y el flujo de animación con skinning rígido.
Los archivos de proyecto de Blender, glTF/GLB y los paquetes o prefabs de Unity no son formatos de importación de modelos. Exporta la malla como OBJ o FBX e importa sus texturas por separado. Consulta Formatos de archivo compatibles para saber qué debes convertir.
Ambos formatos se convierten a datos de malla para el juego y se registran en Library/asset_db.json.
Durante la conversión, el importador también repara los bordes de unión T: cuando un vértice se encuentra en el borde de otro triángulo, el borde se divide y el nuevo vértice recibe datos interpolados normales y UV. Esto reduce las grietas de trama de PS1 sin requerir que la aplicación de origen usa la subdivisión exacta de Polygon Engine.
El importador conserva el orden de las caras OBJ/FBX, incluidos interiores y superficies abiertas, con o sin normales. Recalculate solo recalcula las normales de sombreado. El editor y PS1 usan cross(B-A, C-A) para la cara visible; invertir la Y de pantalla o convertir el origen V de la textura son pasos independientes. Solo una transformación reflejada invierte los vértices para conservar esa cara. Las cachés obsoletas se reimportan cuando cambia la revisión del importador.
Last Exit incluye Authoring/LastExit.blend, las habitaciones armadas, los atlas
originales y scripts de creación de assets. El flujo normal de OBJ conserva los
metros, UV, pivotes de puertas, manijas y tapas, y las referencias GUID. No
importes .blend directamente. Consulta Authoring/README.md en una copia editable.
Ajustes de importación
| Configuración | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| Scale | float | 1.0 | Factor de escala uniforme aplicado a la importación |
| Axis | enum | YUp | Convención del eje vertical del archivo fuente |
| Apply Unit Scale | bool | true | Aplicar escalado de unidad de archivo de origen |
| Triangulate | bool | true | Convertir polígonos en triángulos |
| Weld Vertices | bool | true | Combinar vértices duplicados |
| Weld Threshold | float | 0.0001 | Umbral de fusión de vértices |
| Normals | enum | Recalculate | Importar o recalcular valores normales |
| Single Material | bool | true | Combina los materiales de origen en uno; desactívalo para conservar ranuras de material editables en mallas estáticas. La salida con skinning sigue requiriendo un material |
| PS1 optimization recipe | ventana del optimizador | desactivada | Generar una copia en tiempo de ejecución con menos polígonos dentro de los límites establecidos; Generate Optimized Output habilita la receta |
Las fuentes de FBX también exponen Import Hard-Skinned Animation y un FPS objetivo 1..30 cuando los datos esqueléticos están presentes. Consulta Animación esquelética antes de habilitarlo; la salida animada tiene límites separados de material, hueso, geometría y matriz.
Formato de malla en tiempo de ejecución
Las mallas importadas y Level Builder usan la magia de malla en tiempo de ejecución PGMSH1.
El archivo almacena:
- encabezado con versión, recuento de vértices, recuento de índices, banderas, escala de posición y límites,
- vértices con datos de posición de punto fijo, normales opcionales y UV,
- ▁indicesndices triangulares de 16 bits.
El tiempo de ejecución valida la magia, los recuentos, el rango de índice y el tamaño de los datos antes de usar la malla.
Restricciones de PS1
- El rango máximo de índice de vértice duro es 65.535.
- El rango máximo de ordenación del tiempo de ejecución es de 2.048 triángulos por malla.
- El importador de fuentes utiliza una representación de trabajo más amplia, por lo que se puede simplificar una fuente densa antes de que se aplica el límite de tiempo de ejecución de 65.535 vértices.
- El límite suave recomendado es de 2,000 triángulos por malla individual.
- El límite suave recomendado es de 4,000 triángulos de escena a menos que la escena se optimice cuidadosamente.
- Los triángulos largos y las superficies gigantes son más frágiles en la tabla de ordenamiento de PS1.
- Divide los pisos y paredes grandes en fragmentos de tamaño adecuado.
- La reparación de uniones en T puede aumentar los recuentos finales de vértices/índices; inspecciona las estadísticas importadas en lugar de asumir que los recuentos de DCC no cambian.
- Los objetos coplanarios o que se cruzan profundamente siguen siendo sensibles al orden de dibujo incluso cuando cada malla individual es válida.
Geometría rechazada y precisión de PS1
Para caras duplicadas, conexiones inválidas, orientación inconsistente, caras colapsadas por la unión de vértices, datos de vértices dañados, skinning o simetría forzada, consulta la guía de diagnóstico y reparación de modelos. Explica cómo inspeccionar cada caso en el modelo original y verificar una reimportación correcta. Los planos abiertos y las habitaciones con orientación consistente hacia dentro son válidos.
Si la importación o la exportación de Level Builder muestra
collapses at PS1 vertex precision, un triángulo con área en el modelo original
se convierte en una línea o un punto al pasar sus coordenadas al formato de
PS1. Esto puede ocurrir incluso con pocos triángulos si la malla combina
detalles diminutos con dimensiones muy grandes, o si sus vértices están lejos
de su propio origen.
- Centra los vértices alrededor del origen local del modelo en tu herramienta de modelado; usa el Transform del GameObject para colocarlo en el nivel.
- Divide los entornos grandes en mallas más pequeñas con sus propios orígenes.
- Amplía o simplifica los detalles demasiado delgados, vuelve a importar y revisa el resultado en el juego. Agregar subdivisiones no recupera por sí solo la precisión perdida.
- Corrige los índices inválidos y los valores no finitos de posición, normales o UV en el modelo original antes de exportarlo otra vez.
Si la conversión se rechaza, se conserva el último recurso importado con éxito. Resuelve el error y completa la importación antes de compilar; que la vista previa anterior siga visible no significa que se hayan aceptado los últimos cambios del modelo. Las recomendaciones de triángulos anteriores sirven para planear el contenido, no para garantizar una tasa de cuadros específica.
Flujo de trabajo
- Coloca los archivos
.objo.fbxenAssets/Models/. - Selecciona el modelo en el panel Project.
- Ajusta la configuración de importación en el Inspector.
- Para una malla estática densa, haz clic en Open PS1 Asset Optimizer, elige el uso del recurso, compara los conteos originales, recomendados y generados, y genera el resultado.
- Selecciona Apply & Import al cambiar los ajustes, o Reimport después de corregir el archivo fuente.
- Revisa los recuentos de vértices/triángulos reparados y cualquier advertencia de PS1.
- Crea un GameObject a partir del modelo o asígnalo a un Mesh Renderer.
- Agrega un Collider si el modelo debe bloquear el paso del jugador o detectar contactos.
Para obtener información sobre el flujo de trabajo de reducción completo, las restricciones y la solución de problemas, consulta PS1 Asset Optimizer. Para la creación de malla en el editor, véase Level Builder. Para la configuración de FBX animada, consulta Animación esquelética.
Visibilidad al girar la cámara
El renderer comprueba en 3D la orientación de las caras cuando el redondeo a píxeles vuelve ambiguo su resultado, y recorta las partes visibles contra el volumen de la cámara. Esta corrección no requiere invertir caras, activar materiales de doble cara ni ajustar la profundidad por objeto: vuelve a compilar el proyecto con el engine actual. Las vistas del editor conservan las mismas intersecciones en aristas compartidas y no desplazan vértices para simular las texturas afines.
El movimiento por píxeles enteros y la distorsión de texturas afines siguen siendo características de PS1. Esto no elimina las restricciones de geometría y precisión anteriores ni agrega un buffer de profundidad al hardware.
Fidelidad de UV y correcciones en el origen
La importación normal de OBJ/FBX conserva las islas UV y sus costuras. La conversión adapta el origen V a la convención del engine y almacena las coordenadas con la precisión de PS1; no hace unwrap ni reorganiza el atlas automáticamente. Los vértices nuevos de las divisiones interpolan el mapeo existente. Mantén los UV fuente dentro de 0..1: los valores fuera del rango se limitan, no repiten mosaicos. La advertencia UVs outside [0,1] will be clamped indica que el modelo necesita un atlas u otra distribución dentro de ese rango.
Si un marco, repisa o pared también se ve estirado en Blender, corrige allí sus proporciones UV y densidad de texeles, vuelve a exportar y reimporta. Aumentar solo la resolución no corrige una isla estrecha extendida sobre una cara grande. Si un objeto se ve al revés, revisa la orientación de sus caras: recalcular normales de sombreado no invierte el orden de los vértices. Usa materiales de doble cara solo cuando el diseño requiera mostrar ambos lados.
El renderer aplica subdivisión adaptativa limitada según la cámara a la geometría con textura sin editar el asset importado. Reduce la deformación por perspectiva; no repara UV, no crea detalle de imagen ni elimina intersecciones arbitrarias. Consulta Renderizado y creación de niveles e Importación de texturas.