Skip to main content

SCameraManager

Index

Functions Index

Function Name
void LockCamera (SGameObject owner)
void ReleaseCamera ()
void SetCameraPositionOrientation (SVector position, SQuaternion orientation)
SRay ScreenCoordinatesToRay (SVector screenCoordinates)
SVector ScreenCoordinatesToWorld (SVector screenCoordinates)
SVector WorldCoordinatesToScreen (SVector coordinates)

void ShakeCamera (float magnitude, float time)
void ShakeCamera (float amplitude, float frequency, float time)

Properties Index

Property
bool IsLocked get
SGameObject MainCamera get
SGameObject ActiveVirtualCamera get

Properties

IsLocked

bool IsLocked get

Is the Camera locked?

isCameraLocked = Space.Camera.IsLocked

MainCamera

SGameObject MainCamera get

Note, this property is generally read-only. It's position is driven by internal code.

mainCamera = Space.Camera.MainCamera

ActiveVirtualCamera

SGameObject ActiveVirtualCamera get

The currently active Cinemachine Virtual Camera game object.

currentCamera = Space.Camera.ActiveVirtualCamera

Functions

LockCamera

void LockCamera ()

Calling this function stops the Camera from being controlled by the viewer, and allows us to control it until ReleaseCamera() is called.

Space.Camera.LockCamera()

ReleaseCamera

void ReleaseCamera ()

Calling this function reverses the LockCamera() call and returns control of the Camera to the viewer.

Space.Camera.ReleaseCamera()

SetCameraPositionOrientation

void SetCameraPositionOrientation (SVector position, SQuaternion orientation)

Sets the Camera's position and rotation. This function requires the camera to be locked.

ParameterTypeDescription
positionSVectorThe World Postion of the camera GameObject.
orientationSQuaternionThe World Rotation of the camera GameObject.
Space.Camera.SetCameraPositionOrientation (Vector.New(0,0,0),Quaternion.Euler(-60,0,0));

ScreenCoordinatesToRay

SRay ScreenCoordinatesToRay (SVector screenCoordinates)

Returns a ray going from camera through a screen point.

ParameterTypeDescription
cameraRay = Space.Camera.ScreenCoordinatesToRay (Vector.New(0,50,0))
--this script will make this object jump to wherever you right click
--(Example: moving objects with right click )

thisGameObject = Space.Host.ExecutingObject


OnUpdate = function()
if Space.Input.GetMouseDown(1) then
clickRay = Space.Camera.ScreenCoordinatesToRay(Space.Input.MousePosition)
rayCastHit = Space.Physics.RayCastSingle(clickRay.Origin, clickRay.Direction, 50.0)
thisGameObject.WorldPosition = rayCastHit.Position
end
end

thisGameObject.SubscribeToEvents()
thisGameObject.OnUpdate(OnUpdate)

ScreenCoordinatesToWorld

SVector ScreenCoordinatesToWorld (SVector screenCoordinates)

Transforms a point from screen space into world space.

ParameterTypeDescription
obj = Space.Host.ExecutingObject;
Space.Log(Space.Camera.ScreenCoordinatesToWorld(Vector.New(0.5,0.5,0)).ToString());

-- Print 3 worldspace vectors created by screen space point to the console.

WorldCoordinatesToScreen

SVector WorldCoordinatesToScreen (SVector coordinates)

Function Description

ParameterTypeDescription
local trans = Space.Host.ExecutingObject;
Space.Log(Space.Camera.WorldCoordinatesToScreen(trans.WorldPosition).ToString());

-- Print the position created by world space point to the console.

ShakeCamera

void ShakeCamera (float magnitude, float time)
void ShakeCamera (float amplitude, float frequency, float time)

Function Description

ParameterTypeDescription
Space.Camera.ShakeCamera(1, 1.0)
--or
Space.Camera.ShakeCamera(2, 1, 1.0)