SCameraManager

Index

Functions Index

Properties Index

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.

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.

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.

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

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

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

Last updated

Sinespace® is a registered trademark of Sine Wave Entertainment Ltd, All Rights Reserved.