Features


Last updated: 9 months ago • 2 versions | Visibility: Public

Context

This article describes the features provided with the Lynx SDK.

Features are coming progressively as soon as we are able to integrate them in our SDK.


AR/VR

The SDK allows you to enable or disable AR easily with a simple script.

AR mode displays the color camera in your scene as a background to see the real world.

Starting AR

At first, you can decide if you want your app to start in AR mode.

Under Project Settings > OpenXR > Lynx-R1, you can access the custom settings.

Enable or disable "Is Starting AR" parameter.

Enable or disable from script

To enable or disable AR/VR at runtime, you can directly call LynxAPI methods.

LynxAPI.IsAR(); // Check if the application is currenlty in AR mode
LynxAPI.IsVR(); // Check if the application is currenlty in VR mode
LynxAPI.SetAR(); // Enable AR mode.
LynxAPI.SetVR(); // Disable AR mode.
LynxAPI.ToogleAR(); // Switch between AR and VR modes.


WARNING

You need to switch your camera clear flags to solid color with alpha channel to 0 to have the AR working. Otherwise, AR will be displayed behind your skybox.

Select your main XR camera, on "Clear Flags", choose "Solid Color", and set color alpha channel to 0.0.


How does it work?

The AR is rendered on background for each pixel with an alpha channel < 1.

As the default skybox does not have an alpha channel (used to have nothing to display behind), the camera rendering can't be displayed. It requires at least a skybox with alpha blending enabled on it, or a solid color. So you can play with the channel to see the real world behind.


Current limitations

Skybox

Currently, using a skybox is blocking AR display.

To use AR, the best way is to use SolidColor on main camera.

If you want to combine Skybox and AR, you can create custom skybox with AR and playing with the alpha channel.

Otherwise, you can also switch camera flags at runtime:

savedClearFlags = Camera.main.clearFlags; // Store previous clearFlags (ex. skybox) to restore it when needed
Color backgroundCameraColor = Camera.main.backgroundColor; // Get the camera color to change
backgroundCameraColor.a = 0; // Use 0 opacity to see the AR
Camera.main.backgroundColor = backgroundCameraColor; // Apply new color to camera


HDR (URP) and post processing

Currently, using HDR with URP or post processing are not working.

There are some conflicts with AR layer we are working on.


Cameras image recovery

(Work in progress)

Environment mesh

(Work in progress)