The Camera Controller module allows a standard Unity camera to move around the scene into several preset locations. These preset locations are known as Camera Targets and are stored in a list that is synchronized across users.
This has the benefit of giving non-VR participants a simplified control of how they view the scene, as well as allowing an elevated user to control the camera of other participants in order to direct attention to different contexts.
The most obvious demonstration of this feature can be seen for WebGL users. The WebGL user front-end displays a selectable list of Camera Targets, allowing a user to switch between them.
The Camera Controller module is comprised of three primary components.
One or more Camera Target components can be added to a scene. Camera Targets use the Transform component of the attached GameObject to represent the position and rotation of the camera when that Camera Target is selected by the Camera Controller.
The CameraController component is responsible for animating Unity's main camera into position, by selecting a Camera Target. It also is responsible for keeping track of all existing Camera Targets. Its lifetime is handled automatically by the SDK, and is normally accessed through the Camera Service.
The Camera Service serves as a static entry point for all scripts that use the Camera Controller module. As well as providing references to other related components, it also handles multiplayer synchronization via messages.
Updated 11 months ago