Skip to main content

Materials

Materials define how a mesh or baked primitive is drawn on PS1.

They are intentionally simple so they map cleanly to the PlayStation GPU: base color, optional texture, transparency mode, double-sided rendering, vertex color multiply, and dithering.

Material Properties​

PropertyDescription
Base ColorRGB tint applied to the draw packet
Main TextureOptional imported texture GUID
Render ModeOpaque or SemiTransparent
Double SidedDisable backface culling for thin surfaces
Vertex Color MultiplyMultiply mesh vertex color by material color
DitherEnable PS1-style color dithering

Render Modes​

Opaque​

Default path for most world geometry and UI panels.

SemiTransparent​

Uses PS1 semi-transparency blending. This is useful for selected effects, but it should be used carefully because PS1 ordering and transparency both depend on draw order.

  • Use opaque materials for most level geometry.
  • Use double-sided only when the surface is truly meant to be visible from both sides.
  • Use dither for gradients or soft transitions that benefit from the PS1 look.
  • Keep textured surfaces relatively small and coherent; giant textured quads near the camera are much more fragile than chunked or authored geometry.

Mesh Color and Runtime Lighting​

Mesh Renderer color policy is authored per GameObject in Advanced Scene Authoring:

  • Mesh Vertex Colors reads compiled mesh color data and uses Gouraud G3/GT3 primitives on the normal non-clipped path.
  • GTE Vertex Lighting evaluates mesh normals against active runtime lights and submits per-vertex Gouraud colors.
  • Flat Color applies a single renderer override.

These paths still combine with the material's base color and Vertex Color Multiply policy. GTE Vertex Lighting is runtime lighting, not an offline baked lightmap or vertex-light authoring process.

Built-in Primitive Authoring​

Materials also apply to built-in Plane, Cube, and Capsule primitives. During PS1 export, compatible static Plane and Cube geometry can be converted into baked mesh chunks. The material assignment is preserved, so the correct workflow is:

  1. author the scene with primitives and materials in the editor,
  2. let the PS1 build bake/chunk compatible static geometry,
  3. keep the material as the stable artistic layer.

File Format​

Materials are stored as JSON files:

{
"baseColor": { "r": 196, "g": 196, "b": 196 },
"flags": {
"opaque": true,
"doubleSided": false,
"vertexColorMultiply": true,
"dither": false
},
"mainTextureGuid": "",
"renderMode": "Opaque"
}

Demo Guidance​

Last Exit reuses four indexed texture atlases for architecture, inspection surfaces, props and secondary industrial details. Its material assignments are ordinary project assets. When replacing the artwork:

  • reuse a small set of materials where practical,
  • keep texel density consistent on adjacent surfaces,
  • preserve the authored UV layout or update it in the source model,
  • and review texture-page usage and the exported game after reimporting.