Skip to main content

Advanced Scene Authoring

View > Advanced Scene Authoring opens a dockable, layout-persistent panel for scene systems that need more context than a single component Inspector. The panel edits the active scene, participates in undo, marks the scene dirty, and becomes read-only while Play Mode or a build owns project state.

The window is divided into five tabs.

Rendering

Distance Fog

Distance Fog defines an enabled flag, RGB color, start distance, and end distance for the scene. A Mesh Renderer can opt out with Receive Fog.

The PS1 runtime calculates a Q12 fog factor from each submitted vertex's view depth and blends that vertex color toward the authored fog color between Start and End. A triangle or quad whose vertices receive different factors uses a Gouraud primitive so the GPU interpolates the color gradient across its surface. This is per-vertex distance fog, not modern per-pixel volumetric fog. Use it to soften a short far range, not to simulate dense atmospheric volumes.

Mesh Color Policy

For a selected Mesh Renderer, the panel exposes:

ModeRuntime use
MaterialUse normal material color and runtime lighting policy
Mesh Vertex ColorsUse imported mesh color data with Gouraud G3/GT3 primitives on the normal non-clipped path
GTE Vertex LightingEvaluate mesh normals through the PS1 GTE and submit per-vertex Gouraud G3/GT3 colors
Flat ColorReplace the renderer base color with the authored override

Imported OBJ and Assimp-supported model data can carry vertex colors into the compiled mesh. The runtime consumes that bounded color block when Mesh Vertex Colors is selected and uses native Gouraud primitives on the normal non-clipped path. Built-in primitives do not contain authored mesh colors.

GTE Vertex Lighting is evaluated at runtime from normals and the active scene-lighting state. Polygon Engine does not run an offline lightmap or baked vertex-light pipeline.

Loading and UI

The Loading Screen section controls the runtime transition display:

  • background, text, progress-background, and progress-fill colors;
  • label and optional imported image texture GUID;
  • bitmap font selection;
  • progress-bar and percentage visibility;
  • minimum display time and fade-out duration.

Scene changes remain explicit CD-ROM loads. The runtime pumps this display while scene data is read and keeps the configured minimum/fade timing at the end of the transition.

The same tab manages up to eight named UI canvases. A canvas has an enabled state, sort order, and its own reference width and height. Add canvases here, rename or reorder them, and remove any canvas except the required Main canvas. Removing a canvas moves its elements to Main, clears their parents, and clears Interactable prompt references that pointed at it.

This tab also manages up to three bitmap-font definitions and can create or edit authored UI ProgressBar elements. Bitmap text uses integer scale 1..4, runtime left/center/right alignment, and optional word wrapping. The build checks the declared glyph grid against the actual imported atlas dimensions in every staged scene. See UI Canvas for the canvas and element model and Scene Management for transition behavior.

Rooms and Navigation

This tab edits Room, Portal, NavMesh Surface, Navigation Modifier, and NavMesh Agent components on the selected GameObject. It also assigns a Mesh Renderer to a Room and runs Preview Navigation Bake, reporting the generated node/link count, warnings, and errors before a PS1 build. The preview draws the baked graph from above: links connect X/Z samples and node color represents height.

The Preset menu provides four starting configurations. Apply Preset replaces the surface's bake parameters; adjust Size and Offset separately for the level volume.

PresetCell Size / HeightAgent Radius / HeightMax Step / Slope / Drop
Balanced0.50 / 0.250.30 / 1.800.35 / 45 / 1.50
Tight Indoor0.25 / 0.1250.30 / 1.800.30 / 45 / 1.00
Large Outdoor1.00 / 0.500.45 / 2.000.50 / 42 / 2.00
Precision Platforming0.25 / 0.1250.25 / 1.600.20 / 40 / 4.00

Navigation bakes a height-aware, deterministic four-neighbour graph. Explicit Walkable and Platform box modifiers contribute rotated/sloped upper faces; Cell Height, Agent Height, Max Step, Max Slope, and Max Drop affect node and link generation. WalkOff trigger modifiers permit bounded one-way descents. NavMesh Surface and NavMesh Agent GameObjects remain root-authoring systems.

The room and navigation systems are deliberately fixed-capacity and are validated inline. See Rooms, Portals, and Navigation for their exact runtime model.

Cutscenes

The Cutscenes tab authors named clips, tracks, and timestamped keyframes. It supports Step, Linear, Ease In, Ease Out, and Ease In Out interpolation and validates targets, time ranges, event names, and runtime limits.

The visual timeline provides a ruler, zoom and fit controls, a playhead, double-click key creation, drag retiming, and Undo integration. Preview in Game View starts the selected clip through Play Mode. A clip can optionally block native player-controller updates while it is playing. See Cutscenes and Timelines.

Cutscene tracks include camera, GameObject, UI visibility/progress/color/position/ size, audio and script events, rumble, fog, and imported skeletal clip events.

Animations

The Animations tab authors reusable scene Animation clips that can run concurrently without taking over the cutscene timeline. Supported tracks cover GameObject transforms/enabled state; UI visibility, progress, color, anchored position, and size; rumble; and skeletal clip events.

The visual timeline uses the same ruler, zoom, playhead, double-click, drag, and Undo workflow as Cutscenes. Up to eight runtime instances can be active, and later slots win same-property conflicts. Use the editor preview for iteration and the packaged PS1 build for acceptance. See Standalone Animations.

Fixed Limits

ResourcePer-scene limit
Bitmap fonts3
UI canvases8
Rooms24
Portals48
NavMesh Surfaces4
NavMesh Agents16
Navigation nodes / links256 / 1,024
Cutscene clips8
Tracks per clip12
Keyframes per track48
Keyframes across the scene256
Standalone Animation clips12
Active standalone instances8
Tracks per standalone clip12
Keyframes per standalone track48
Standalone keyframes across the scene256

The editor and build validator reject broken references and content above these fixed PS1 runtime capacities.