Class: MultiCamera
Defined in: core/CameraExtensions.ts:547
MultiCamera - Manages multiple camera views for split-screen and picture-in-picture effects. Coordinates rendering from multiple cameras to different viewport regions.
Constructors
Constructor
new MultiCamera(
options):MultiCamera
Defined in: core/CameraExtensions.ts:555
Create a new MultiCamera.
Parameters
options
MultiCameraOptions = {}
Configuration options
Returns
MultiCamera
Accessors
activeCamera
Get Signature
get activeCamera():
CameraEntry
Defined in: core/CameraExtensions.ts:587
Get the active camera entry.
Returns
activeIndex
Get Signature
get activeIndex():
number
Defined in: core/CameraExtensions.ts:580
Get the active camera index.
Returns
number
cameras
Get Signature
get cameras(): readonly
CameraEntry[]
Defined in: core/CameraExtensions.ts:566
Get all camera entries.
Returns
readonly CameraEntry[]
count
Get Signature
get count():
number
Defined in: core/CameraExtensions.ts:573
Get the number of cameras.
Returns
number
Methods
addCamera()
addCamera(
camera,viewport,label?):number
Defined in: core/CameraExtensions.ts:598
Add a camera with its viewport.
Parameters
camera
Camera instance to add
Camera2D | Camera3D | MovingCamera | ThreeDCamera
viewport
Viewport rectangle for this camera
label?
string
Optional label for identification
Returns
number
Index of the added camera
clear()
clear():
this
Defined in: core/CameraExtensions.ts:859
Clear all cameras.
Returns
this
this for chaining
getCamera()
getCamera(
index):CameraEntry
Defined in: core/CameraExtensions.ts:673
Get a camera entry by index.
Parameters
index
number
Camera index
Returns
Camera entry or null if not found
getCameraByLabel()
getCameraByLabel(
label):CameraEntry
Defined in: core/CameraExtensions.ts:682
Find a camera by label.
Parameters
label
string
Camera label to find
Returns
Camera entry or null if not found
getEnabledCameras()
getEnabledCameras():
CameraEntry[]
Defined in: core/CameraExtensions.ts:690
Get all enabled cameras.
Returns
Array of enabled camera entries
removeCamera()
removeCamera(
index):boolean
Defined in: core/CameraExtensions.ts:618
Remove a camera by index.
Parameters
index
number
Index of camera to remove
Returns
boolean
true if camera was removed
render()
render(
renderer,scene,canvasWidth,canvasHeight):void
Defined in: core/CameraExtensions.ts:804
Render all enabled cameras to the given renderer. This method manages viewport scissoring for each camera.
Parameters
renderer
WebGLRenderer
Three.js WebGLRenderer
scene
Scene
Three.js Scene to render
canvasWidth
number
Canvas width in pixels
canvasHeight
number
Canvas height in pixels
Returns
void
setActiveCamera()
setActiveCamera(
index):this
Defined in: core/CameraExtensions.ts:635
Set the active camera by index.
Parameters
index
number
Index of camera to make active
Returns
this
this for chaining
setCameraEnabled()
setCameraEnabled(
index,enabled):this
Defined in: core/CameraExtensions.ts:648
Enable or disable a camera.
Parameters
index
number
Index of camera
enabled
boolean
Whether to enable the camera
Returns
this
this for chaining
setupHorizontalSplit()
setupHorizontalSplit(
leftCamera,rightCamera):this
Defined in: core/CameraExtensions.ts:700
Set up a horizontal split screen (two cameras side by side).
Parameters
leftCamera
Camera for left side
Camera2D | Camera3D | MovingCamera | ThreeDCamera
rightCamera
Camera for right side
Camera2D | Camera3D | MovingCamera | ThreeDCamera
Returns
this
this for chaining
setupPictureInPicture()
setupPictureInPicture(
mainCamera,pipCamera,pipPosition,pipSize):this
Defined in: core/CameraExtensions.ts:734
Set up a picture-in-picture layout.
Parameters
mainCamera
Main camera (full screen)
Camera2D | Camera3D | MovingCamera | ThreeDCamera
pipCamera
Picture-in-picture camera (small overlay)
Camera2D | Camera3D | MovingCamera | ThreeDCamera
pipPosition
Position of PiP: 'top-left', 'top-right', 'bottom-left', 'bottom-right'
"top-left" | "top-right" | "bottom-left" | "bottom-right"
pipSize
number = 0.25
Size of PiP as fraction of canvas (default 0.25)
Returns
this
this for chaining
setupQuadView()
setupQuadView(
cameras):this
Defined in: core/CameraExtensions.ts:780
Set up a quad view (four cameras in a grid).
Parameters
cameras
[Camera2D | Camera3D | MovingCamera | ThreeDCamera, Camera2D | Camera3D | MovingCamera | ThreeDCamera, Camera2D | Camera3D | MovingCamera | ThreeDCamera, Camera2D | Camera3D | MovingCamera | ThreeDCamera]
Array of four cameras [topLeft, topRight, bottomLeft, bottomRight]
Returns
this
this for chaining
setupVerticalSplit()
setupVerticalSplit(
topCamera,bottomCamera):this
Defined in: core/CameraExtensions.ts:716
Set up a vertical split screen (two cameras stacked).
Parameters
topCamera
Camera for top half
Camera2D | Camera3D | MovingCamera | ThreeDCamera
bottomCamera
Camera for bottom half
Camera2D | Camera3D | MovingCamera | ThreeDCamera
Returns
this
this for chaining
setViewport()
setViewport(
index,viewport):this
Defined in: core/CameraExtensions.ts:661
Update a camera's viewport.
Parameters
index
number
Index of camera
viewport
Partial<CameraViewport>
New viewport settings
Returns
this
this for chaining
update()
update(
dt):void
Defined in: core/CameraExtensions.ts:847
Update all cameras that support animation.
Parameters
dt
number
Delta time in seconds
Returns
void