Restricciones y presupuestos del hardware de PS1
Polygon Engine se dirige al modelo de memoria y renderizado PlayStation 1 real:
- sin tampón z,
- visibilidad basada en tabla de ordenamiento,
- Transformaciones GTE de punto fijo,
- 1 MB VRAM,
- 2 MB de RAM principal,
- RAM SPU de 512 KB.
Debido a eso, la salida estable de PS1 depende de la disciplina de budget y authoring disciplina.
Lea primero Arquitectura del hardware de PS1 si desea la explicación a nivel de sistema detrás de estos límites.
Snapshot de hardware
| Recursos | Total | Nota práctica |
|---|---|---|
| RAM principal | 2 MB | Compartido por código de tiempo de ejecución, búferes, datos de escena, Lua, estado de audio |
| VRAM | 1 MB | Compartido por framebuffers, texturas, CLUTs |
| RAM SPU | 512 KB | Almacenamiento de muestras Audio |
| CPU | 33 MHz R3000A | Sin hardware FPU |
| GTE | Coprocesador de geometría de punto fijo | Transform, iluminación, perspectiva |
| GPU | Rasterizador 2D | Dibuja primitivas 2D ordenadas, no una tubería 3D con búfer z |
Presupuestos predeterminados de Project
Configurado en Project Settings > PS1 Budgets:
| Presupuesto | Default |
|---|---|
| VRAM Presupuesto | 1,048,576 octetos |
| Presupuesto RAM | 786.432 octetos |
| Presupuesto de la SPU | 491,520 octetos |
| Tamaño máximo de textura | 256 |
| Texturas únicas máximas | 64 |
| Triángulos máximos recomendados por malla | 2,000 |
| Límite estricto de ordenamiento por malla | 2,048 triángulos |
| Triángulos de escena Max | 4,000 |
Límites de tiempo de ejecución que importan en la creación
Estos son los límites que afectan más directamente al diseño de la escena:
| Zona | Límite de tiempo de ejecución |
|---|---|
| Canvas de UI por escena | 8 |
| Elementos de interfaz de usuario por escena | 32 |
| Fuentes de mapa de bits por escena | 3 |
| Habitaciones / Portales | 24 / 48 |
| Nodos de navegación / enlaces dirigidos | 256 / 1,024 |
| Clips de cinemáticas / cuadros clave totales | 8 / 256 |
| Clips Animation independientes / instancias activas | 12 / 8 |
| Transform Animator componentes / estados por componente | 32 / 4 |
| Mallas con skinning por escena | 16 |
| Luces direccionales de escena | 3 |
| Recursos de textura cargados en tiempo de ejecución | 64 |
| Escenas de manifiesto | 32 |
| Scripts manifiestos | 64 |
Panel PS1 Budget
El editor incluye View > Show PS1 Budget y Build > Tools & Diagnostics > Export PS1 Budget Report. Usa este panel antes de cada pase de compilación, especialmente cuando cambia la geometría de nivel, los materiales, los scripts o el audio.
El panel de control rastrea:
- Conteo en tiempo de ejecución de GameObjects, interfaz de usuario, scripts, mallas, materiales, texturas, páginas de texturas y clips de audio,
- RAM de malla estimada, VRAM de textura, audio SPU, heap Lua, uso de búfer de paquetes y triángulos de escena,
- Colocación de la página de textura VRAM y colocación de la fila CLUT,
- un mapa interactivo de VRAM con conflictos de framebuffer, página, huella y CLUT,
- Señales de flujo de trabajo en primera y tercera persona, como controladores de jugadores, plataformas Camera, interacibles y zonas Camera.
La exportación del editor escribe Build/ps1/logs/ps1_budget_current_scene.json como una estimación de autoría. Una compilación PS1 sobrescribe ese archivo de escena activa con datos de tiempo de ejecución posteriores al preprocesamiento y también escribe un ps1_runtime_budget_<scene>_<hash>.json por escena construida más ps1_build_performance_report.json.
La gran restricción de renderizado: No Z-Buffer
El tiempo de ejecución de PS1 ordena la geometría ordenando cubos de profundidad de tabla, no por profundidad por píxel.
Eso significa que el siguiente contenido es frágil a menos que sea escrito o preprocesamiento cuidadosamente:
- pisos coplanares enormes,
- muy largo de la pared quads,
- geometría interpenetrada,
- polígonos grandes que cruzan el plano cercano,
- primitivas redondeadas de alto poli utilizados como geometría de héroe.
Estrategia Polygon Engine
Para que el contenido de autor editor funcione en PS1, el proceso de compilación aplica el procesamiento específico de PS1:
- La geometría estática incorporada
PlaneyCubese puede preprocesar, - grandes primitivas pueden ser fragmentadas en mallas escalonadas más pequeñas,
- mallas escalonadas preservan los materiales al tiempo que reducen los conflictos de OT,
- validación advierte cuando el contenido excede los límites de tiempo de ejecución,
- release construye mallas de rechazo que exceden el límite de clasificación en tiempo de ejecución,
- Las salidas de audio y textura obsoletas se detectan desde la fuente y los hashes de configuración antes de la puesta en escena.
- las superficies de navegación se cuecen en gráficos de enlace/nodo de capacidad fija acotados,
- la animación FBX con skinning rígido se preprocesa en geometría y datos de matrices con capacidad fija,
- Las fuentes de OBJ y FBX estáticas densas pueden ser reducidas por el PS1 Asset Optimizer no destructivo antes de que se apliquen los límites del índice de tiempo de ejecución y los diagnósticos de topología costosos,
- Las animaciones de escena independientes utilizan grupos fijos de clip, ranura, pista y cuadros clave,
- Los datos de escena
.BSNutilizan renderizado dimensionado, carga/UI, mundo, navegación, animación y fragmentos de línea de tiempo para que cada sección de tiempo de ejecución permanezca limitada.
Reglas prácticas de autoría
Sigue estas reglas al crear escenas de PS1:
- Preferir trozos modulares sobre primitivas gigantes a escala.
- No confíe en las superposiciones coplanarias para ocultar las costuras.
- Evita usar cápsulas densas incorporadas como héroes props en escenas enfrentadas a PS1.
- Usa interfaz de usuario de autor para el envío de HUD y los flujos de menú.
- Mantén la geometría del nivel estático simple, alineada con los ejes y apta para preprocesar siempre que sea posible.
Para obtener una explicación detallada de por qué estas reglas importan, consulta Creación de contenido para PS1. Para ver una única tabla de límites de tiempo de ejecución, consulta Límites de ejecución.