技能 threejs-skills
📦

threejs-skills

安全

使用 Three.js 创建 3D 图形和交互式场景

构建 3D Web 体验需要了解场景设置、光照和渲染模式。本技能提供系统的 Three.js 模式,用于创建高性能的交互式 3D 内容。

支持: Claude Codex Code(CC)
🥉 75 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“threejs-skills”。 创建一个 3D 场景,包含一个旋转的球体,点击时改变颜色

预期结果:

  • 完整的 HTML 文件,包含 Three.js r128 CDN 导入
  • 场景初始化,相机定位在 z=5
  • SphereGeometry 使用 32 段以获得平滑外观
  • MeshStandardMaterial 带初始颜色
  • 环境光和方向光设置
  • 动画循环使球体绕 x 轴和 y 轴旋转
  • 射线检测实现点击检测
  • 事件监听器在相交时更改材质颜色
  • 响应式画布的窗口大小调整处理程序

正在使用“threejs-skills”。 构建一个流向相机的粒子场

预期结果:

  • 使用 Float32Array 的 BufferGeometry 包含 2000 个粒子
  • 随机初始位置分布在 3D 空间中
  • PointsMaterial 使用白色和大小 0.02
  • 动画循环每帧更新 z 位置
  • 当粒子穿过相机阈值时重置位置
  • 用于清理的正确 dispose 模式
  • 流畅的 60fps 性能优化

安全审计

安全
v1 • 2/25/2026

This skill contains documentation-only content (SKILL.md) teaching Three.js 3D graphics development. All 82 static analysis findings are false positives: backtick characters are Markdown code block delimiters, not shell execution; URLs are CDN resource references for the Three.js library; cryptographic warnings are pattern mismatches on version numbers and documentation text. No executable code, no network calls, no command injection vectors exist in this educational content.

1
已扫描文件
655
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
96
规范符合性

你能构建什么

交互式产品展示

创建 3D 产品展示,用户可以直接在浏览器中旋转、缩放和探索产品。

数据可视化仪表盘

将复杂数据集转换为沉浸式 3D 图表、图形和空间表示。

教育 3D 内容

构建交互式模型,用于教授解剖学、天文学、建筑学或工程学概念。

试试这些提示

基础 3D 场景设置
Create a basic Three.js scene with a rotating cube. Include scene setup, camera, renderer with antialiasing, a colored cube geometry, lighting, and an animation loop. Add window resize handling.
带鼠标控制的交互式球体
Build an interactive 3D sphere that responds to mouse movement. Implement custom camera controls (drag to rotate, scroll to zoom) without OrbitControls. Use MeshStandardMaterial with proper lighting.
粒子系统动画
Generate a particle system with 1000+ particles using BufferGeometry. Add animation so particles move or rotate over time. Include proper performance practices like geometry and material disposal.
射线检测对象选择
Implement raycasting to detect mouse clicks and hovers on 3D objects. When hovering, scale the object and change cursor style. When clicking, change the object color. Include an array of clickable objects.

最佳实践

  • 始终使用 Three.js r128 CDN 以确保工件兼容性,并验证功能可用性
  • 添加窗口大小调整处理程序以更新相机宽高比和渲染器尺寸
  • 移除对象时 disposing 几何体、材质和纹理以防止内存泄漏

避免

  • 使用 OrbitControls 或 addon 导入,这些在 r128 CDN 上不可用
  • 使用 CapsuleGeometry,这需要 r142 或更高版本
  • 使用 MeshStandardMaterial 等光照材质时忘记添加灯光

常见问题

为什么本技能专门使用 Three.js r128?
r128 版本是与工件环境兼容的最稳定的 CDN 版本。新功能需要 npm 构建工具。
我可以在此设置中使用 OrbitControls 吗?
不可以,OrbitControls 需要从 examples 文件夹导入,而 CDN 上不可用。本技能改为教授自定义相机控制实现。
如何添加自定义 3D 模型(如 GLTF 文件)?
GLTF 加载需要从 npm 导入 GLTFLoader 插件。对于仅 CDN 的项目,使用 BufferGeometry 或基本形状以编程方式创建几何体。
为什么我的 3D 场景显示黑屏?
常见原因包括:对象未添加到场景、相机定位不正确、缺少 renderer.render() 调用,或使用光照材质时没有灯光。
我应该使用的最大粒子数量是多少?
从 1000-5000 个粒子开始以获得流畅的 60fps 性能。在目标设备上测试,如果帧率下降则减少数量。
如何使我的 3D 对象看起来更逼真?
使用 MeshStandardMaterial 与适当的光照设置,启用渲染器 antialiasing,使用 shadowMap.enabled 添加阴影,并应用适当的色调映射。

开发者详情

文件结构

📄 SKILL.md