SRDisplayManager Prefab is a core prefab of the UnityPugin.
Unity Spatial Reality Display(SR Display) applications needs SRDisplayManager Prefab basically.
|SRDisplayManager||Has SRDManager component that handles SR Display Settings|
|└─WatcherAnchor||Has no components. This shows the user's head position at runtime.|
|├─WatcherCamera||Has a camera component that will be disable at runtime. This is for raycasting from the user, UICamera, or something other than rendering.|
|├─LeftEyeAnchor||Has no components. This shows the user's left eye position at runtime.|
|│ └─LeftEyeCamera||Has a camera component that will render a scene for the user's left eye.|
|└─RightEyeAnchor||Has no components. This shows the user's right eye position at runtime.|
|└─RightEyeCamera||Has a camera component that will render a scene for the user's right eye.|
There are three cameras: WatcherAnchor, LeftEyeAnchor and RightEyeAnchor
WatcherAnchor, LeftEyeAnchor, and RightEyeAnchor indicate the position of the user's head, left eye, and right eye, respectively.
You can use these anchors for interactions with the user. In SRDisplayLookAtSample sample, WatcherAnchor is used as the target to look at.
Recognition technology is not always perfect and there are generally some errors. Also, these anchors do not always indicate correct positions of the user's head, left eye, and right eye.
There are three camera components in WatcherCamera, LeftEyeCamera and RightEyeCamera
The camera component in WatcherCamera will be disable at runtime. This should be used for raycasting from the user (e.g. UI camera or something).
If you want to change camera settings(e.g. Clear Flags, Background, etc.), the left and right camera settings MUST be the same for user's comfort.
Also, If you want to add some scripts to camera component, you MUST add them to both LeftEyeCamera and RightEyeCamera. In SRDPostProcessingSampleApp sample, both LeftEyeCamera and RightEyeCamera have Post-process Layer script.
There is no MainCamera in this prefab. If you need it, we recommend to add MainCamera tag to the camera component in LeftEyeCamera. You should not add MainCamera tag to the camera component in WatcherCamera. This is because WatcherCamera will be disable at runtime automatically to reduce the processing load and you cannot get the component with Camera.main.
SRDManager is a core component that handles SR Display Settings. And it has fundamental parameters for SR Display that application developers should set.
SRDManager must be only one in the scene at a time.
Is SR Rendering Active
You can turn on and off SR Rendering with the flag. When this is false, the image rendered from the camera in LeftEyeCamera will be displayed.
Is Spatial Clipping Active
You can turn on and off Spatial Clipping with the flag. See for the details: Spatial Clipping
Is Crosstalk Correction Active
You can turn on and off Crosstalk Correction with the flag. See for the details: Crosstalk Correction
You can create Applications for both ELF-SR1 and ELF-SR2. They have different panel sizes, so the following two display methods can be selected.
ELF-SR2 is enlarged and the same area as ELF-SR1 is displayed.
The size of objects displayed in ELF-SR1 and ELF-SR2 will be the same. In other words, ELF-SR2 displays a larger area than ELF-SR1. At this time, you can select the size of GIZMO to check the area displayed in ELF-SR1 and ELF-SR2.
SRD View Space Scale
You can change SR Display View Space Scale with the value. See for the details: View Space Scaling
See Manual UnityEvent for the way to use UnityEvent
On SRD View Space Scale Changed Event
You can set your callback that is called with SRDisplay View Space Scale value when the value is changed.
On Face Track State Event
You can set your callback that is called with the flag that shows face recognition is successful or not in this frame.