Last updated: 6 months ago • 2 versions | Visibility: Public
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.
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.
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.
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.
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)
(Work in progress)