mcpField
T
threejs-camera

threejs-camera

github.com/full-stack-skillsDevelopment10388 installsUpdated 4w ago
Repository

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

  1. 01Configure perspective and orthographic cameras
  2. 02Adjust field of view and clipping planes
  3. 03Use CubeCamera environment maps
  4. 04Understand ArrayCamera and StereoCamera
  5. 05Handle resizing and projection matrices

Use cases

  1. 01Choose perspective or orthographic projection for a scene
  2. 02Update camera aspect ratio after a resize
  3. 03Generate real-time environment reflections
  4. 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-camera

After installing, type/threejs-camerain Claude Code to confirm it loaded.

Bundled filesagents/openai.yamlexamples/workflow-perspective-resize.md

Details

From the project README

When to use this skill

ALWAYS use this skill when the user mentions:

  • Switching perspective vs orthographic, fov, aspect, zoom, near, far
  • CubeCamera for real-time environment maps or reflections (update rate caveats)
  • ArrayCamera/StereoCamera for multi-view or stereo off-axis projection (non-XR)

IMPORTANT: camera vs webxr vs post

TopicSkill
Standard desktop projectionthreejs-camera
XR reference spaces, IPDthreejs-webxr
Offscreen pass cameras inside composerthreejs-postprocessing

Trigger phrases include:

  • "PerspectiveCamera", "OrthographicCamera", "CubeCamera", "aspect", "near", "far"
  • "透视相机", "正交", "立方体相机"

How to use this skill

  1. Perspective: set aspect = width/height; update on resize (threejs-renderers example workflow).
  2. Orthographic: define left/right/top/bottom in world units for CAD/2.5D views.
  3. Near/far: balance depth precision vs containing scene bounds; relate to fog (threejs-scenes).
  4. CubeCamera: position at reflection probe; call update when scene static enough; use render target outputs per docs.
  5. Stereo/Array: advanced; cite docs for eye parameters; defer XR to threejs-webxr.
  6. Projection matrix: call updateProjectionMatrix() after parameter edits.
  7. Helpers: CameraHelper lives in threejs-helpers.

See examples/workflow-perspective-resize.md.

Doc map (official)

Docs sectionRepresentative links
Cameras (index)https://threejs.org/docs/#Cameras
Camerashttps://threejs.org/docs/Camera.html
Perspectivehttps://threejs.org/docs/PerspectiveCamera.html
Orthographichttps://threejs.org/docs/OrthographicCamera.html
Cubehttps://threejs.org/docs/CubeCamera.html
Multi-viewhttps://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 aspect after resize stretches image—always sync with canvas.
  • Too small near hurts depth precision in large worlds.
  • CubeCamera every 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:

  1. Link PerspectiveCamera, OrthographicCamera, or CubeCamera as relevant.
  2. Pair resize with threejs-renderers setSize / DPR patterns when relevant.
  3. Route XR/WebXRManager questions to threejs-webxr after one-line renderer mention.
  4. Mention updateProjectionMatrix() after intrinsic changes.
  5. Use threejs-helpers CameraHelper for shadow frustum debug when discussing lights.

References

Keywords

English: perspectivecamera, orthographiccamera, cubecamera, projection, aspect, near, far, three.js

中文: 相机、透视、正交、投影、近裁剪、远裁剪、CubeCamera、three.js

Comments

Markdown supported