Gaitkit Sign in Open the lab
Security Camera, A CCTV security camera at real size (a 22 cm bullet): a bullet housing with a sun hood, a dome or a pan-tilt-zoom ball, on a wall plate with an angled arm, or on a 2.4 m pole with a base plate. The camera head pans in a slow sweep (rigged part head, rotate y; userData.tick + Loop clip, one sweep per loop) and its red status light and infrared ring glow at night. Front (the lens) faces +Z; the wall plate is at the back. No logos.
Prop · 1 moving part

Security Camera

A CCTV security camera at real size (a 22 cm bullet): a bullet housing with a sun hood, a dome or a pan-tilt-zoom ball, on a wall plate with an angled arm, or on a 2.4 m pole with a base plate. The camera head pans in a slow sweep (rigged part head, rotate y; userData.tick + Loop clip, one sweep per loop) and its red status light and infrared ring glow at night. Front (the lens) faces +Z; the wall plate is at the back. No logos.

Size
0.11 × 0.22 × 0.35 m
Triangles
606
Open in the lab

ProPro download.

Also as , a .zip with the .obj and its .mtl.

Ready for any engine. The download carries the knobs you set here.

Tune it

4 knobs: Style, Mount, Colourway, Sweep (deg).

Specs

Size
0.11 × 0.22 × 0.35 m
width × height × depth
Triangles
606
of 6,000
Draw calls
1
one vertex-colour material
Loop clip
1 m
of travel per cycle
Moving parts
1
head · rotate
Knobs
4
3 presets
Night lights
1
led

Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.

Use it

Code for the specimen as it is set up above; it follows your knobs.

JavaScript
import { createAsset } from 'https://gaitkit.com/cdn/security-camera.mjs';

const securityCamera = createAsset();
scene.add(securityCamera);                      // rests on y = 0, front faces +Z

// 'head' pivots on its hinge: -50° to 50° around y
securityCamera.getObjectByName('head').rotation.y = THREE.MathUtils.degToRad(-50);

More in the docs; agents can fetch all of this through MCP.

Knobs

KnobTypeValuesDefaultWhat it does
stylechoicebullet dome ptzbulletbullet (long box housing with a sun hood on an angled arm), dome (smoked half-dome hanging from a pendant arm), ptz (pan-tilt-zoom: a ball with a lens window under a round housing).
mountchoicewall polewallwall (a square wall plate at the back, rests on y = 0: lift it to about 2.5 m on a wall) or pole (stands on its own on a 2.4 m pole with a bolted base plate, for car parks and yards).
colorwaychoiceoffice black beige scifiofficeoffice (white-grey housing), black (black housing), beige (1990s retro beige CCTV), scifi (pale housing with a cyan ring round the lens).
sweeprange0 to 90, step 550How far the head pans to each side during its slow sweep, in degrees (0 = fixed camera, 90 = turns to face each side).

Presets: car park {"style":"ptz","mount":"pole","colorway":"black","sweep":80} · retro cctv {"style":"bullet","colorway":"beige","sweep":35} · sentry eye {"style":"dome","colorway":"scifi","sweep":70}

Files

FileWhat
security-camera.glb ProGLB, default look · 75 KB
security-camera.mjs ProES module, every knob live
security-camera.obj ProOBJ, static; colours in the .mtl
security-camera.mtlOBJ colours; keep it next to the .obj
security-camera-params.jsonknob schema, presets, night zones

Licence

Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.