关于 threejs-camera
面向 three.js 开发者与 Agent 的相机技能,涵盖标准投影相机及立方体、多视图和立体相机。提供参数配置、窗口缩放适配和性能注意事项。
主要功能
- 01配置透视与正交相机
- 02调整视野及裁剪范围
- 03使用 CubeCamera 环境映射
- 04了解 ArrayCamera 与 StereoCamera
- 05处理窗口尺寸变化与投影矩阵
适用场景
- 01为场景选择透视或正交投影
- 02窗口缩放后更新相机宽高比
- 03生成实时环境反射
- 04设置非 XR 的立体或多视图
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ full-stack-skills/ threejs-skills --skill threejs-camera安装后在 Claude Code 中输入/threejs-camera确认已加载。
附带文件agents/openai.yamlexamples/workflow-perspective-resize.md
详细介绍
何时使用此技能
当用户提到以下内容时,始终使用此技能:
- 切换透视与正交投影、
fov、aspect、zoom、near、far - 使用
CubeCamera创建实时环境贴图或反射(注意更新频率方面的限制) - 使用
ArrayCamera/StereoCamera实现多视图或立体离轴投影(非 XR)
重要:相机、webxr 与 post 的区别
| 主题 | 技能 |
|---|---|
| 标准桌面投影 | threejs-camera |
| XR 参考空间、IPD | threejs-webxr |
| composer 内部的离屏通道相机 | threejs-postprocessing |
触发短语包括:
- “PerspectiveCamera”、“OrthographicCamera”、“CubeCamera”、“aspect”、“near”、“far”
- “透视相机”、“正交”、“立方体相机”
如何使用此技能
- 透视投影:设置
aspect= 宽度/高度;调整大小时更新(参见 threejs-renderers 示例工作流)。 - 正交投影:以世界单位定义
left/right/top/bottom,用于 CAD/2.5D 视图。 - Near/far:在深度精度与包含整个场景边界之间取得平衡;联系雾效进行说明(参见 threejs-scenes)。
- CubeCamera:将其放置在反射探针处;仅在场景足够静止时调用
update;按照文档使用渲染目标输出。 - 立体/阵列相机:属于高级用法;引用文档中的眼睛参数;XR 问题转交给 threejs-webxr。
- 投影矩阵:修改参数后调用
updateProjectionMatrix()。 - 辅助工具:
CameraHelper属于 threejs-helpers。
参见 examples/workflow-perspective-resize.md。
文档索引(官方)
范围
- **涵盖内容:**核心相机类及参数;立方体/阵列/立体相机概述。
- **不涵盖内容:**WebXR 参考空间、眼睛矩阵、会话生命周期(threejs-webxr);阴影贴图相机调优(threejs-lights);composer 内部的通道相机(threejs-postprocessing)。
常见问题与最佳实践
- 调整大小后
aspect不正确会导致图像变形——务必与画布同步。 - 在大型世界中,
near过小会降低深度精度。 - 每帧都更新
CubeCamera开销很大——应限制更新频率以提升性能。
文档与版本
相机参数和 CubeCamera 更新行为遵循 three.js 文档中的 Cameras 部分。WebXR 使用不同的投影路径——用户提到头戴设备或参考空间时,应将问题转交给 threejs-webxr。
Agent 回复检查清单
使用此技能回答时,优先采用以下做法:
- 根据相关性链接到
PerspectiveCamera、OrthographicCamera或CubeCamera。 - 如有相关性,将调整大小与 threejs-renderers 的
setSize/ DPR 模式搭配说明。 - 用户询问
XR/WebXRManager时,在简要提及渲染器后将问题转交给 threejs-webxr。 - 修改内在参数后,提醒调用
updateProjectionMatrix()。 - 讨论灯光时,使用 threejs-helpers 的
CameraHelper调试阴影视锥。
参考资料
- https://threejs.org/docs/#Cameras
- https://threejs.org/docs/PerspectiveCamera.html
- https://threejs.org/docs/CubeCamera.html
关键词
English: perspectivecamera、orthographiccamera、cubecamera、projection、aspect、near、far、three.js
中文: 相机、透视、正交、投影、近裁剪、远裁剪、CubeCamera、three.js
评论
支持 Markdown