Class ImmersiveCameraManager
Deals with construction and configuration setting of cameras. Creates a "Cameras" GameObject and adds sub-objects to hold UnityEngine.Camera components. Positions the new cameras appropriately and hands a reference to the camera on to the relevant ImmersiveSurface for use by UI components.
Inherited Members
Namespace: Immersive.Camera
Assembly: cs.temp.dll.dll
Syntax
public class ImmersiveCameraManager : SingletonBase<ImmersiveCameraManager>
Fields
audioMixerGroup
The Audio Mixer Group the Audio Source uses when created at run-time.
Declaration
public UnityEngine.Audio.AudioMixerGroup audioMixerGroup
Field Value
| Type | Description |
|---|---|
| UnityEngine.Audio.AudioMixerGroup |
Properties
CameraRotationManager
The CameraRotationManager for the current camera system.
Declaration
public CameraRotationManager CameraRotationManager { get; }
Property Value
| Type | Description |
|---|---|
| CameraRotationManager |
Cameras
Declaration
public UnityEngine.Camera[] Cameras { get; }
Property Value
| Type | Description |
|---|---|
| UnityEngine.Camera[] |
CamerasGameObject
Declaration
public GameObject CamerasGameObject { get; }
Property Value
| Type | Description |
|---|---|
| GameObject |
HasBeenCreatedAndConfigured
Declaration
public bool HasBeenCreatedAndConfigured { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
HaveCamerasBeenCreated
Have the cameras been created.
Declaration
public bool HaveCamerasBeenCreated { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Methods
FindRenderingCamera(GameObject)
Returns the camera that an object can be found in said camera's viewport.
Declaration
public UnityEngine.Camera FindRenderingCamera(GameObject obj)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | obj | The object to search for |
Returns
| Type | Description |
|---|---|
| UnityEngine.Camera |
FindRenderingCamera(Vector3)
Returns the camera that a position in the world can be found in said camera's viewport.
Declaration
public UnityEngine.Camera FindRenderingCamera(Vector3 worldPosition)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | worldPosition | The world position to search for |
Returns
| Type | Description |
|---|---|
| UnityEngine.Camera |
FindRenderingCameraIgnoreWallViewportY(Vector3)
Returns the camera that an object can be found in said camera's X viewport, including searching the floor camera. Modified to ignore the Y viewport coordinate of the Wall Cameras, so a camera can be found even if the object is outside of the wall camera's bounds.
Declaration
public UnityEngine.Camera FindRenderingCameraIgnoreWallViewportY(Vector3 worldPosition)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | worldPosition | The world position to search for |
Returns
| Type | Description |
|---|---|
| UnityEngine.Camera |
FindRenderingCanvas(GameObject)
Returns the canvas that an object can be found on that surface camera's viewport.
Declaration
public Canvas FindRenderingCanvas(GameObject obj)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | obj | The object to search for |
Returns
| Type | Description |
|---|---|
| Canvas |
FindRenderingSurfaceLocation(GameObject)
Returns the SurfaceLocation that an object can be found on that surface camera's viewport.
Declaration
public SurfaceLocation FindRenderingSurfaceLocation(GameObject obj)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | obj | The object to search for |
Returns
| Type | Description |
|---|---|
| SurfaceLocation |
FindRenderingWallCamera(GameObject)
Returns the wall camera that an object can be found in said camera's X viewport.
Declaration
public UnityEngine.Camera FindRenderingWallCamera(GameObject obj)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | obj | The object to search for |
Returns
| Type | Description |
|---|---|
| UnityEngine.Camera |
FindRenderingWallCamera(Vector3)
Returns the wall camera that a position in the world can be found in said camera's X viewport.
Declaration
public UnityEngine.Camera FindRenderingWallCamera(Vector3 worldPosition)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | worldPosition | The world position to search for |
Returns
| Type | Description |
|---|---|
| UnityEngine.Camera |
FindRenderingWallCanvas(GameObject)
Returns the wall canvas that an object can be found on that surface camera's X viewport.
Declaration
public Canvas FindRenderingWallCanvas(GameObject obj)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | obj | The object to search for |
Returns
| Type | Description |
|---|---|
| Canvas |
FindRenderingWallSurfaceLocation(GameObject)
Returns the wall SurfaceLocation that an object can be found on that surface camera's X viewport.
Declaration
public SurfaceLocation FindRenderingWallSurfaceLocation(GameObject obj)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | obj | The object to search for |
Returns
| Type | Description |
|---|---|
| SurfaceLocation |
GetCamera(GameObject)
Declaration
public (UnityEngine.Camera, int) GetCamera(GameObject hotspot)
Parameters
| Type | Name | Description |
|---|---|---|
| GameObject | hotspot |
Returns
| Type | Description |
|---|---|
| System.ValueTuple<UnityEngine.Camera, System.Int32> |
GetCamera(SurfaceLocation)
Declaration
public UnityEngine.Camera GetCamera(SurfaceLocation location)
Parameters
| Type | Name | Description |
|---|---|---|
| SurfaceLocation | location |
Returns
| Type | Description |
|---|---|
| UnityEngine.Camera |
GetCameraConfiguration(SurfaceLocation)
Utility function to get the current Camera.ImmersiveCameraConfiguration for the specified SurfaceLocation.
Declaration
public ImmersiveCameraConfiguration GetCameraConfiguration(SurfaceLocation surfaceLocation)
Parameters
| Type | Name | Description |
|---|---|---|
| SurfaceLocation | surfaceLocation | The SurfaceLocation to get the Camera.ImmersiveCameraConfiguration of. |
Returns
| Type | Description |
|---|---|
| ImmersiveCameraConfiguration | The appropriate Camera.ImmersiveCameraConfiguration, if present. Null otherwise. |
GetCameraGroupPosition()
Get the position of the camera group.
Declaration
public Vector3 GetCameraGroupPosition()
Returns
| Type | Description |
|---|---|
| Vector3 | The current position of the camera group. |
GetCameraGroupRotation()
Get the rotation of the camera group in Euler angles.
Declaration
public Vector3 GetCameraGroupRotation()
Returns
| Type | Description |
|---|---|
| Vector3 | The current rotation of the camera group in Euler angles. |
PlayAudio(AudioProperty, Boolean, Boolean)
Play an audio clip or audio one shot.
Declaration
public void PlayAudio(AudioProperty audioProperty, bool allowOverlappingAudio, bool loop = false)
Parameters
| Type | Name | Description |
|---|---|---|
| AudioProperty | audioProperty | |
| System.Boolean | allowOverlappingAudio | |
| System.Boolean | loop |
RotateCameraGroup(Vector3)
Rotate the camera group. Essentially, this will rotate the "Cameras" GameObject 90 degrees. DEPRECATED: Please use SetCameraGroupRotation with a float parameter instead.
Declaration
public void RotateCameraGroup(Vector3 targetEulerAngle)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | targetEulerAngle | Rotate the group left by 90 degrees if true. Right otherwise. |
SetCameraGroupPosition(Vector3)
Set the position of the camera group. Position is the centre point of the camera group.
Declaration
public void SetCameraGroupPosition(Vector3 targetPosition)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | targetPosition | The position to set the camera group to. |
SetCameraGroupRotation(Single)
Set the rotation of the camera group in the Y axis (Horizontal).
Declaration
public void SetCameraGroupRotation(float yRotation)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Single | yRotation | The Y rotation in degrees. |
SetCameraGroupRotation(Vector3)
Rotate the camera group to the specified Euler angles. Note: In most cases you will want to use SetCameraGroupRotation with a float parameter instead.
Declaration
public void SetCameraGroupRotation(Vector3 targetEulerAngle)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | targetEulerAngle | The target Euler angles to rotate the camera group to. |
StopAllAudio()
Stops any audio playing from the camera system. Note: Stops all audio including "overlapping audio".
Declaration
public void StopAllAudio()
StopAudio()
Stops any audio playing from the camera system. Note: Will not stop "overlapping audio".
Declaration
public void StopAudio()
StopAudio(AudioProperty)
Declaration
public void StopAudio(AudioProperty audioProperty)
Parameters
| Type | Name | Description |
|---|---|---|
| AudioProperty | audioProperty |
TranslateCameraGroup(Vector3)
Move the camera group. Essentially, this will move the "Cameras" GameObject by the specified amount. DEPRECATED: Please use SetCameraGroupPositiong instead.
Declaration
public void TranslateCameraGroup(Vector3 targetPosition)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | targetPosition | The translation to apply to the camera group. |
TurnOffDarkenBackground(Boolean)
De-activate the darken background scripts.
Declaration
public void TurnOffDarkenBackground(bool animate = true)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | animate |
TurnOnDarkenBackground(Single, Boolean)
Set the intensity of the darken background scripts and activate them. Note: If the darken scripts are not setup then we will wait until they are.
Declaration
public void TurnOnDarkenBackground(float intensity, bool animate = true)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Single | intensity | |
| System.Boolean | animate |
Events
OnCamerasCreated
Declaration
public static event Action OnCamerasCreated
Event Type
| Type | Description |
|---|---|
| Action |