About threejs-camera
A camera skill for three.js developers and agents, covering standard projection cameras as well as cube, multi-view, and stereo cameras. It guides parameter setup, resize handling, and performance considerations.
Key features
- 01Configure perspective and orthographic cameras
- 02Adjust field of view and clipping planes
- 03Use CubeCamera environment maps
- 04Understand ArrayCamera and StereoCamera
- 05Handle resizing and projection matrices
Use cases
- 01Choose perspective or orthographic projection for a scene
- 02Update camera aspect ratio after a resize
- 03Generate real-time environment reflections
- 04Set up non-XR stereo or multi-view rendering
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ full-stack-skills/ threejs-skills --skill threejs-cameraAfter installing, type/threejs-camerain Claude Code to confirm it loaded.
Bundled filesagents/openai.yamlexamples/workflow-perspective-resize.md
Details
From the project READMEWhen to use this skill
ALWAYS use this skill when the user mentions:
- Switching perspective vs orthographic,
fov,aspect,zoom,near,far CubeCamerafor real-time environment maps or reflections (update rate caveats)ArrayCamera/StereoCamerafor multi-view or stereo off-axis projection (non-XR)
IMPORTANT: camera vs webxr vs post
| Topic | Skill |
|---|---|
| Standard desktop projection | threejs-camera |
| XR reference spaces, IPD | threejs-webxr |
| Offscreen pass cameras inside composer | threejs-postprocessing |
Trigger phrases include:
- "PerspectiveCamera", "OrthographicCamera", "CubeCamera", "aspect", "near", "far"
- "透视相机", "正交", "立方体相机"
How to use this skill
- Perspective: set
aspect= width/height; update on resize (threejs-renderers example workflow). - Orthographic: define
left/right/top/bottomin world units for CAD/2.5D views. - Near/far: balance depth precision vs containing scene bounds; relate to fog (threejs-scenes).
- CubeCamera: position at reflection probe; call
updatewhen scene static enough; use render target outputs per docs. - Stereo/Array: advanced; cite docs for eye parameters; defer XR to threejs-webxr.
- Projection matrix: call
updateProjectionMatrix()after parameter edits. - Helpers:
CameraHelperlives in threejs-helpers.
See examples/workflow-perspective-resize.md.
Doc map (official)
| Docs section | Representative links |
|---|---|
| Cameras (index) | https://threejs.org/docs/#Cameras |
| Cameras | https://threejs.org/docs/Camera.html |
| Perspective | https://threejs.org/docs/PerspectiveCamera.html |
| Orthographic | https://threejs.org/docs/OrthographicCamera.html |
| Cube | https://threejs.org/docs/CubeCamera.html |
| Multi-view | https://threejs.org/docs/ArrayCamera.html |
| Stereo (non-XR) | https://threejs.org/docs/StereoCamera.html |
Scope
- In scope: Core camera classes and parameters; cube/array/stereo overview.
- Out of scope: WebXR reference spaces, eye matrices, session lifecycle (threejs-webxr); shadow map camera tuning (threejs-lights); pass-internal cameras in composer (threejs-postprocessing).
Common pitfalls and best practices
- Wrong
aspectafter resize stretches image—always sync with canvas. - Too small
nearhurts depth precision in large worlds. CubeCameraevery frame is expensive—throttle for performance.
Documentation and version
Camera parameters and CubeCamera update behavior follow the Cameras section of three.js docs. WebXR uses different projection paths—hand off to threejs-webxr when the user mentions headsets or reference spaces.
Agent response checklist
When answering under this skill, prefer responses that:
- Link
PerspectiveCamera,OrthographicCamera, orCubeCameraas relevant. - Pair resize with threejs-renderers
setSize/ DPR patterns when relevant. - Route
XR/WebXRManagerquestions to threejs-webxr after one-line renderer mention. - Mention
updateProjectionMatrix()after intrinsic changes. - Use threejs-helpers
CameraHelperfor shadow frustum debug when discussing lights.
References
- https://threejs.org/docs/#Cameras
- https://threejs.org/docs/PerspectiveCamera.html
- https://threejs.org/docs/CubeCamera.html
Keywords
English: perspectivecamera, orthographiccamera, cubecamera, projection, aspect, near, far, three.js
中文: 相机、透视、正交、投影、近裁剪、远裁剪、CubeCamera、three.js