--- generated_by: gdlink-build generated_at: 2026-06-23T12:34:28Z do_not_edit: true title: Camera brick_type: executor tier: Plus generated: true --- # Camera **Category:** Executor **Tier:** Plus ## Purpose Controls camera switching, camera properties, and cinematic camera movements. ## Visual Reference ```{raw} html
As added to your scene
Camera brick as it appears in the GDLink editor
``` ## When To Use - Cutscene cameras (switch to cinematic camera) - Security cameras (cycle through multiple cameras) - Death cam (switch to overview camera) - Zoom effects (change FOV) - Hit feedback (camera shake) - Follow cam (follow player or vehicle) - Third-person/first-person toggle - Splitscreen (activate player 2 camera) ## Runtime Behavior **Executes**: When activated, performs camera control operations ```{raw} html
Generated UI Mockup — showing expanded properties
Camera
-
x
Name:
Label this brick...
Mode:
Set Active
Camera Name:
v
Zoom:X
1
v
Y
1
v
Offset:X
0
v
Y
0
v
Trans (s)
0.0
v
FOV
75.0
v
Verbose
``` ## Properties | Property | Type | Default | Notes | |---|---|---|---| | Mode | option | Set Active | Shared 2D/3D camera surface. FOV is 3D-only. Zoom and Offset are 2D-only. | | Camera Name | string | | Name/path of Camera2D or Camera3D node | | Trans (s) | float | 0.0 | Smooth transition duration (0 = instant) | | FOV | float | 75.0 | [Set FOV] Field of view (3D only) | | Zoom | vector2 | [1, 1] | [Set Zoom] Zoom level (2D only). (1,1)=Normal | | Offset | vector2 | [0, 0] | [Set Offset] Camera offset in pixels (2D only) | | Verbose | bool | False | Log camera operation to console for debugging | ## Example Use Cases **Cutscene Camera**: ``` Property(cutscene_start) -> AND -> Camera(mode=Set Active, target=CutsceneCamera, transition=2.0) Delay(300) -> AND -> Camera(mode=Set Active, target=PlayerCamera, transition=1.0) // Switch to cutscene camera for 5 seconds, then back to player camera ``` **Death Camera**: ``` Property(HP, Less or Equal, 0) -> AND -> Camera(mode=Set Active, target=DeathCam, transition=1.5) // Switch to death camera when player dies ``` **Zoom Scope (FOV)**: ``` Mouse(Right Button, hold=true) -> AND -> Camera(mode=Set FOV, target=PlayerCamera, fov=30.0, transition=0.2) Mouse(Right Button, release=true) -> AND -> Camera(mode=Set FOV, target=PlayerCamera, fov=75.0, transition=0.2) // Zoom in when right-clicking (aim down sights) ``` **Explosion Shake**: ``` Collision(Explosion) -> AND -> Camera(mode=Shake, target=PlayerCamera, intensity=2.0, duration=0.5) // Shake camera when explosion nearby ``` **Follow Vehicle**: ``` Property(in_vehicle, Equal, true) -> AND -> Camera(mode=Follow Object, follow_target=Car, transition=1.0) Property(in_vehicle, Equal, false) -> AND -> Camera(mode=Follow Object, follow_target=Player, transition=1.0) // Camera follows car when inside, player when outside ``` **Security Camera Cycle**: ``` Delay(180, repeat=true) -> AND -> Math(cam_index, Add, 1) Property(cam_index, Equal, 0) -> AND -> Camera(Set Active, SecurityCam1) Property(cam_index, Equal, 1) -> AND -> Camera(Set Active, SecurityCam2) Property(cam_index, Equal, 2) -> AND -> Camera(Set Active, SecurityCam3) // Cycle through 3 security cameras every 3 seconds ```