Three.js 开发导航
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/kg-threejs。
技能介绍
解决什么问题
Three.js 的学习资料散落在官方文档、示例仓库和大量博客里,结果往往是两种浪费:要么照着 demo 抄了个旋转立方体,却说不清 Scene、Camera、Renderer 各自的职责边界;要么一上来就碰自定义着色器与后处理,却忽略了真正决定 Web 3D 页面能否在低端设备上跑起来的约束——draw call 预算、实例化、LOD 与几何精度。这个技能把从首个场景到进阶渲染的路径整理成可执行的分步流程,让输出不再是孤立代码片段,而是先确认目标平台与交互层级,再给出结构化的 SceneSpec。
核心能力
- 分级学习路径:L1 场景搭建、几何体、材质、灯光与渲染循环;L2 加载器、贴图、相机、动画与数学工具;L3 射线拾取、控制器与后处理;L4 PBR、TSL 节点材质与自定义着色器;L5 物理、VR/XR 与 WebGPU 计算。
- 起步骨架:
Scene+PerspectiveCamera+WebGLRenderer→ 加几何体与MeshStandardMaterial→ 加方向光与环境光 →requestAnimationFrame渲染循环,模板见references/template.md。 - 效果扩展:用
GLTFLoader加载模型,用OrbitControls控制相机,用EffectComposer串联 bloom、景深、SSAO;自定义效果走ShaderMaterial+uniforms。 - 性能优化:
InstancedMesh实例化、LOD、视锥剔除与合批,目标是压住draw call并控制几何精度。 - 结构化产出:
SceneSpec显式列出objects、lights、materials、postfx与perf_notes,可继续交给 ui-styling、web-frameworks 或 frontend-development 消费。
适用边界与注意点
不适用于纯 2D 界面排版,这类需求应走 ui-styling;也不适用于浏览器之外的 3D,例如需要桌面图形引擎的项目。另外,资料中的 references/template.md 是路径约定:若实际工作区没有该文件,技能仍按上述步骤讲清思路,但模板代码需要使用者自行补齐,不要默认它能直接读盘。
使用场景
- 产品官网需要一个可交互的3D产品配置器,用户能切换材质和颜色并实时预览。
- 数据看板要加入可旋转缩放的3D地理数据可视化模块,并添加方向光和环境光。
- 游戏主页需要一个带 Bloom 光晕和 SSAO 环境光遮蔽效果的 3D 场景展示。
- 需要加载大型 GLTF 模型并在低端移动设备上保持流畅,需应用实例化和 LOD 优化。
适合人员
- 前端工程师:正在接手 Three.js 项目,需要一套从场景搭建到性能优化的系统化代码骨架与学习路径。
- 技术美术:负责网页端的渲染效果,需要快速查阅 PBR 材质、自定义着色器及后处理管线的配置方案。
- 数据可视化开发者:准备将多维数据转换为 3D 图表,诉求是获得相机控制、射线拾取及数据映射的最佳实践。
- AI 应用开发者:正在构建能够生成 3D 网页内容的 Agent,需要理解 SceneSpec 规范以便与其他前端技能协同。