Class: MultiCamera
Defined in: core/CameraExtensions.ts:554
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:562
Create a new MultiCamera.
Parameters
options
MultiCameraOptions = {}
Configuration options
Returns
MultiCamera
Accessors
activeCamera
Get Signature
get activeCamera():
CameraEntry
Defined in: core/CameraExtensions.ts:594
Get the active camera entry.
Returns
activeIndex
Get Signature
get activeIndex():
number
Defined in: core/CameraExtensions.ts:587
Get the active camera index.
Returns
number
cameras
Get Signature
get cameras(): readonly
CameraEntry[]
Defined in: core/CameraExtensions.ts:573
Get all camera entries.
Returns
readonly CameraEntry[]
count
Get Signature
get count():
number
Defined in: core/CameraExtensions.ts:580
Get the number of cameras.
Returns
number
Methods
addCamera()
addCamera(
camera,viewport,label?):number
Defined in: core/CameraExtensions.ts:605
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:866
Clear all cameras.
Returns
this
this for chaining
getCamera()
getCamera(
index):CameraEntry
Defined in: core/CameraExtensions.ts:680
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:689
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:697
Get all enabled cameras.
Returns
Array of enabled camera entries
removeCamera()
removeCamera(
index):boolean
Defined in: core/CameraExtensions.ts:625
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:811
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:642
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:655
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:707
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:741
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:787
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:723
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:668
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:854
Update all cameras that support animation.
Parameters
dt
number
Delta time in seconds
Returns
void