SCameraManager
Index
Functions Index
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
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)