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:
| Mode | Runtime use |
|---|---|
| Material | Use normal material color and runtime lighting policy |
| Mesh Vertex Colors | Use imported mesh color data with Gouraud G3/GT3 primitives on the normal non-clipped path |
| GTE Vertex Lighting | Evaluate mesh normals through the PS1 GTE and submit per-vertex Gouraud G3/GT3 colors |
| Flat Color | Replace 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.
| Preset | Cell Size / Height | Agent Radius / Height | Max Step / Slope / Drop |
|---|---|---|---|
| Balanced | 0.50 / 0.25 | 0.30 / 1.80 | 0.35 / 45 / 1.50 |
| Tight Indoor | 0.25 / 0.125 | 0.30 / 1.80 | 0.30 / 45 / 1.00 |
| Large Outdoor | 1.00 / 0.50 | 0.45 / 2.00 | 0.50 / 42 / 2.00 |
| Precision Platforming | 0.25 / 0.125 | 0.25 / 1.60 | 0.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
| Resource | Per-scene limit |
|---|---|
| Bitmap fonts | 3 |
| UI canvases | 8 |
| Rooms | 24 |
| Portals | 48 |
| NavMesh Surfaces | 4 |
| NavMesh Agents | 16 |
| Navigation nodes / links | 256 / 1,024 |
| Cutscene clips | 8 |
| Tracks per clip | 12 |
| Keyframes per track | 48 |
| Keyframes across the scene | 256 |
| Standalone Animation clips | 12 |
| Active standalone instances | 8 |
| Tracks per standalone clip | 12 |
| Keyframes per standalone track | 48 |
| Standalone keyframes across the scene | 256 |
The editor and build validator reject broken references and content above these fixed PS1 runtime capacities.