Creates a new SpectateCamera instance
Unique identifier
VYLO Diob object
Reference to the CameraManager
ProtectedboundsCamera position bounds (Infinity = no limit)
ProtectedcachedCached camera position to avoid object churn
ProtectedcachedCached gizmo position to avoid object churn
ProtectedcachedCached transition position to avoid object churn
VYLO Diob object representing the camera
ReadonlygizmoColor used for gizmo visualization (hex value)
The length of the gizmo line
ReadonlyidUnique identifier for this camera instance
Whether this camera is currently the active view eye
Reference to the CameraManager that owns this camera
ProtectedoperationIf true, this action ignores all time scale (global and camera)
ProtectedoperationPer-action override time scale (temporary), null when not set
The owner/target this camera belongs to (GameInstance or Vector2D) This represents who the camera is attached to or following
Current position of the camera in world space
Previous position of the camera in world space (used for velocity tracking)
The random angle for the gizmo
ProtectedtimeCamera-specific time scale multiplier (1.0 = normal)
Whether to track the target's Z position and subtract it from the Y position. Enabled by default. Useful for 2.5D isometric-style games where height (Z) affects screen Y.
ProtectedtransitionTransition duration for X axis in milliseconds
ProtectedtransitionTransition duration for Y axis in milliseconds
ProtectedtransitionEasing function for X axis transitions
ProtectedtransitionEasing function for Y axis transitions
ProtectedtransitioningWhether this camera is currently transitioning to become the view eye
ProtectedtransitionTransition progress (0-1) when becoming view eye
ProtectedtransitionStarting position for transitions
ProtectedtransitionTarget position for transitions
ProtectedtransitionElapsed time for current transition
ReadonlytypeCamera type identifier
Current velocity of the camera in pixels per second
Getter for gizmoEnabled property
Setter for gizmoEnabled property that notifies CameraManager
Getter for isActive property
Setter for isActive property that notifies CameraManager
Whether to track the view eye's Z position (alias for trackTargetZ)
ProtectedapplyAttaches this camera to always follow the player when not spectating.
This ensures the camera is always positioned at the player's center and on the same map, ready for seamless transitions when spectating.
The player GameInstance to follow
ProtectedclampGets the owner/target this camera belongs to
The owner or null if not attached to anyone
Gets the current target being spectated or followed
The target or null if not spectating and no player target
ProtectedgetGets the Z value of a target if trackTargetZ is enabled, else returns 0. Used to subtract target height from Y position for 2.5D depth effects.
The target to get Z from
The target's z value, or 0 if tracking is disabled or target has no z
ProtectedgetProtectedgetGets the true camera position for a target (GameInstance or Vector2D) For GameInstance: returns center position (where camera should be) For Vector2D: returns the position directly Reuses cached object to avoid churn
ProtectedisChecks if a target is a Vector2D (has x, y properties but no mapName)
Target to check
True if target is Vector2D, false if GameInstance
Sets this camera as the active view eye.
Automatically performs a smooth seamless transition from the current view eye
using the manager's default transition settings (or custom options if provided).
Pass { duration: 0 } to force an immediate instant cut.
OptionalpOptions: TransitionCameraOptionsOptional transition options (duration, ease, matchVelocity, spring, etc.)
Sets camera position bounds (Infinity = no limit in that direction)
Minimum X position (use -Infinity for no limit)
Maximum X position (use Infinity for no limit)
Minimum Y position (use -Infinity for no limit)
Maximum Y position (use Infinity for no limit)
Sets the owner/target this camera belongs to
The owner to attach to
SpectateCamera has its own movement API - setSettings should not be used Use spectate() method with options instead
Starts spectating a target with optional configuration.
Only one SpectateCamera can spectate a given target at a time. If another SpectateCamera is already spectating the target, this camera will take over spectating duties.
GameInstance or Vector2D to spectate
OptionalpOptions: SpectateCameraOptionsOptional spectate configuration
Protectedupdate
SpectateCamera provides smooth or instant transitions to observe targets.
Only one SpectateCamera can exist per target (GameInstance or Vector2D). Supports both instant positioning and eased transitions to targets.
When spectating with easing, the camera smoothly transitions to the target position and follows it. When spectating with instant positioning, the camera immediately jumps to the target and follows it from there.
Example