00:00 / 00:00

Persona

Lighting

Applies toVRM3D Object

When a scene contains 3D content, such as a VRM avatar or a 3D object layer, the Stage detail pane shows three sections for framing and lighting: Camera, Lighting, and Environment. This page covers lighting; camera controls are on Camera, and the scene's world settings are on Environment.

Full-frame post-processing is set up separately, in the effect layers above the layer list and the Look rows at the end of Environment. See Effects.

Live2D-only scenes do not display Camera or Lighting sections, as both belong exclusively to the 3D rendering pipeline. Their Environment section retains only the color grading rows. Post-processing effects can be added to any scene type.

All camera and lighting settings belong to the active scene, allowing different scenes to illuminate and frame the same avatar in completely distinct ways.

Camera

See Camera for these controls.

Lighting

A new scene includes two default lights: a soft ambient fill light and a shadow-casting point key light positioned slightly in front of the avatar. Click Add Light… to introduce additional lights, or delete all lights to leave the stage completely unlit.

TypeBehavior
DirectionalParallel rays simulating distant directional light (such as sunlight); supports positioning and aim; casts shadows by default
PointRadiates omnidirectionally from a fixed position; falls off with distance via inverse-square attenuation
AmbientOmnidirectional, shadowless diffuse light providing uniform scene fill without a specific spatial position
AreaRectangular emissive surface with position and aim; illuminates PBR surfaces and MToon avatars without casting shadows
SpotConical beam projecting outward from a position; supports aiming and attenuates with distance

All lights support custom colors and intensities. Directional and ambient lights cap at an intensity of 2; point, spot, and area lights support intensities up to 20 to compensate for physical inverse-square (1/d²) attenuation over distance.

ControlApplies toDescription
Color · IntensityAllMaximum 20 for point, spot, and area lights; maximum 2 for directional and ambient lights
Follow CameraAll except ambientLocks the light relative to the camera viewport; see below
PositionAll except ambientX · Y · Z coordinates with 3D transform handle; directional lights move handle and shadow bounds only
RotationDirectional, spot, areaAzimuth and Elevation in degrees; area lights include Roll; interactive rotation sphere
Width · HeightAreaDimensions of the rectangular light surface, 0.01 – 20 m
RangePoint, spotCutoff distance for light attenuation, up to 20 m
Cone AngleSpotHalf-angle from beam axis to cone boundary, 1° – 89°
Edge SoftnessSpotGradient softness along cone boundary, 0 – 1
Volumetric HazePoint, spot, areaActivates atmospheric haze scattering for this light; see below
ShadowsDirectional, point, spotShadow quality tier or Off; see below
Shadow FilterShadow-casting lightsPCF or PCSS filtering algorithm; see below
SoftnessShadow-casting lightsPCF blur radius; maximum 16 on directional and spot lights, maximum 32 on point lights
Light DiameterShadow-casting lightsPhysical light size for PCSS shadows; labeled Angular Diameter on directional lights; see below

Each light appears as a collapsible card with its type badge, on-stage handle toggle, power switch, and delete button in the header. Expanding a card displays the detailed controls above. Newly added lights expand automatically for immediate adjustment. Toggling a light off extinguishes its illumination and shadows while preserving all configured parameters for quick A/B comparisons.

Clicking the pointer button on a light card reveals its 3D transform gizmo in the stage window, allowing direct spatial positioning without entering numeric coordinates. Ambient lights lack spatial positions, so this button remains disabled. Under Stream Mode, gizmo buttons on all lights are disabled, while remaining properties remain editable.

Shadows

Shadow quality is configured independently per light, offering Off, Low, Medium, High, and Ultra. Higher tiers allocate higher-resolution shadow maps, producing sharper contact edges at the cost of VRAM and GPU fill rate.

New directional lights default to High quality. New point lights default to Off, as omnidirectional point shadows require rendering six cube faces, incurring significantly higher overhead than a single 2D shadow map. For the same reason, point light shadow maps allocate lower per-face resolutions than directional lights at identical tiers. New spot lights also default to Off, though their single-frustum map matches directional light dimensions.

Ambient lights provide diffuse illumination and do not cast shadows. Area lights do not cast shadows and omit shadow options.

Softness uses different filtering techniques depending on light type: directional and spot lights employ a 5-tap dithered kernel, where values above 16 can reveal grain; point lights use a 32-tap Poisson disk filter that preserves dense sampling across wide penumbras, allowing softness settings up to 32.

Shadow Filter selects between two shadow filtering algorithms:

  • PCF (Percentage Closer Filtering, default): Softens shadow contours evenly across the entire projection based on the configured Softness radius.
  • PCSS (Percentage Closer Soft Shadows): Dynamically widens the penumbra as the distance between occluder and receiver increases, producing realistic contact-hardening shadows (sharp near contact points, softer further away). PCSS incurs higher rendering overhead and replaces fixed softness with physical emitter dimensions: Angular Diameter in degrees for directional lights, and Light Diameter in meters for point and spot lights (range 0 – 10, default 0.1; setting 0 produces hard edges). Switching to PCSS preserves existing PCF softness values, and multiple lights in the same scene can use different filtering modes.

Both filtering methods rotate sample points using fixed screen-space per-pixel noise, producing a static, fine-grained stipple along soft edges rather than repetitive moiré artifacts.

Follow Camera

Follow Camera anchors a light's spatial transform to the camera's local coordinate space. Lighting tuned for a specific camera angle remains locked to the viewport as the camera orbits, pans, or zooms, whether driven manually by the user or automatically by a camera motion track. Every light except ambient supports this feature.

Enabling Follow Camera reveals three granular constraint switches (all enabled by default):

SwitchFollows
Follow DistanceCamera distance scaling, dollying, and zoom
Follow PositionCamera panning and look-at point translation
Follow RotationCamera orbital rotation, pitch, and roll

Toggling Follow Camera or its sub-switches preserves the light's current absolute stage position without sudden jumps. Disabling a specific dimension freezes the light's relative offset along that axis at the moment of toggling. Adjusting field of view alone never alters light positions. While in Follow Camera mode, Position and Rotation are measured relative to the camera, and on-stage gizmos remain functional for adjustments.

Lights Inside 3D Objects

Imported .glb models can bundle custom lights. These appear below scene lights under the heading Built into [Object Name]. Each bundled light provides a collapsible card with a power switch and an intensity slider. Light positions are defined by the model file; Persona exposes toggle and intensity overrides.

Volumetric Lighting

Volumetric Lighting simulates atmospheric haze and Tyndall light shafts, allowing point, spot, and area lights to project visible light cones and ambient scattering through space. Haze scattering is toggled per light: fog appears around a light only when its Volumetric Haze toggle is enabled (disabled by default on new lights). When at least one active light has volumetric haze enabled, a Volumetric Lighting parameter group appears at the bottom of the lighting pane:

ControlDescription
DensityAtmospheric medium density, 0 – 10
IntensityScattering brightness of light within haze, 0 – 10
RangeMaximum projection distance from camera, 1 – 100
Motion SpeedAtmospheric drift velocity, 0 – 5 (0 is completely static)
QualityLow, Medium, or High; higher settings reduce grain at the cost of GPU power

3D objects and avatars naturally occlude haze behind them. Unlit medium remains completely transparent, ensuring only illuminated light beams render over transparent backgrounds. When any scene light has volumetric haze enabled, active lights inside 3D objects and environment model lights contribute to the scattering. Volumetric haze renders only through perspective cameras (orthographic cameras retain settings without drawing haze); directional and ambient lights do not produce local volumetric cones. Live2D models do not occlude volumetric haze.

Legacy scenes saved with the older global haze switch automatically enable Volumetric Haze on all compatible lights upon loading, preserving visual fidelity.

Clustered Lighting

Clustered Lighting accelerates shading in complex scenes containing multiple point lights. It applies specifically to point lights with shadows set to Off, activating when the stage renders with WebGPU through a perspective camera with between 1 and 64 unshadowed point lights active. When more than 64 qualifying lights are present, or when any light lacks a defined cutoff range (as with certain model-embedded lights), the pipeline reverts to standard forward rendering. This optimization minimizes fragment-stage light looping overhead without altering shadow map or volumetric haze costs.

Effects

Full-frame post-processing (including tone mapping, color grading, bloom, depth of field, and transient visual effects) is documented across dedicated pages:

Last updated on November 3, 2026

Tech otakus destroy the world