Unity PolySpatial Lighting Support
Because visionOS itself supplies only image based lighting, PolySpatial includes a lighting solution available to shader graphs that provides a subset of the lighting features available in Unity. The PolySpatial Lighting Node supports directional lightmaps, light probes, and up to four dynamic lights (point, spot, or directional).
Only static directional lightmaps with dLDR encoding are supported.
PolySpatial Lighting Node
To add PolySpatial lighting to a shader graph, create an instance of the
PolySpatial Lighting Node using the
Create Node command in the shader graph editor.
The inputs to the lighting node are largely the same as the inputs to the
Lit shader graph target--
Base Color (albedo),
Normal (in tangent space),
Ambient Occlusion--with the additional of a
Lightmap UV input for lightmap texture coordinates.
The output (
Out) of the lighting node is a single color result. Depending on your application, you may wish to supply this output directly to the
Base Color input of an
Unlit target (if you wish to use only PolySpatial lighting) or to the
Emission input of a
Lit target (if you wish to combine PolySpatial lighting with visionOS's image based lighting).
Baked Lighting setting has three options:
None to omit baked lighting entirely,
Lightmap to apply baked lightmaps, and
LightProbes to obtain baked lighting from light probes. Typically, static objects use lightmaps and dynamic objects use light probes.
Reflection Probes setting has three options:
None to omit contribution from reflection probes,
Simple to use a single reflection probe, and
Blended to blend the contributions of up to two reflection probes.
Dynamic Lighting toggle determines whether dynamic point/spot/directional lights (that is, lights represented by non-baked Light components) affect the output.
The Render Mode property of Light components may be used to control which dynamic lights are applied. Lights marked Not Important will never be included in the four lights used by the PolySpatial Lighting Node. Lights marked Important will be prioritized over lights marked Auto (the default).