返回 Skill 列表
extension
分类: 开发与工程无需 API Key

3d-graphics

使用Three.js(WebGL/WebGPU)进行3D网页图形开发。功能包括:场景、相机、几何体、材质、光源、动画、模型加载(GLTF/FBX)、PBR材质、阴影、后期处理(辉光、SSAO、SSR)、自定义着色器、实例化、LOD、物理效果、VR/XR。操作:创建、构建、动画化、渲染3D场景/模型。关键词:Three.js, WebGL, WebGPU, 3D图形, 场景, 相机, 几何体, 材质, 光源, 动画, GLTF, FBX, OrbitControls, PBR, 阴影映射, 后期处理, 辉光, SSAO, 着色器, 实例化, LOD, WebXR, VR, AR, 产品配置器, 数据可视化, 建筑漫游, 交互式3D, canvas。适用情况:创建3D可视化、构建WebGL/WebGPU应用程序、加载3D模型、添加动画、实现VR/XR、创建交互式图形、构建产品配置器。

person作者: jakexiaohubgithub

Three.js Development

Build high-performance 3D web applications using Three.js - a cross-browser WebGL/WebGPU library.

When to Use This Skill

Use when working with:

  • 3D scenes, models, animations, or visualizations
  • WebGL/WebGPU rendering and graphics programming
  • Interactive 3D experiences (games, configurators, data viz)
  • Camera controls, lighting, materials, or shaders
  • Loading 3D assets (GLTF, FBX, OBJ) or textures
  • Post-processing effects (bloom, depth of field, SSAO)
  • Physics simulations, VR/XR experiences, or spatial audio
  • Performance optimization (instancing, LOD, frustum culling)

Progressive Learning Path

Level 1: Getting Started

Load references/01-getting-started.md - Scene setup, basic geometries, materials, lights, rendering loop

Level 2: Common Tasks

  • Asset Loading: references/02-loaders.md - GLTF, FBX, OBJ, texture loaders
  • Textures: references/03-textures.md - Types, mapping, wrapping, filtering
  • Cameras: references/04-cameras.md - Perspective, orthographic, controls
  • Lights: references/05-lights.md - Types, shadows, helpers
  • Animations: references/06-animations.md - Clips, mixer, keyframes
  • Math: references/07-math.md - Vectors, matrices, quaternions, curves

Level 3: Interactive & Effects

  • Interaction: references/08-interaction.md - Raycasting, picking, transforms
  • Post-Processing: references/09-postprocessing.md - Passes, bloom, SSAO, SSR
  • Controls (Addons): references/10-controls.md - Orbit, transform, first-person

Level 4: Advanced Rendering

  • Materials Advanced: references/11-materials-advanced.md - PBR, custom shaders
  • Performance: references/12-performance.md - Instancing, LOD, batching, culling
  • Node Materials (TSL): references/13-node-materials.md - Shader graphs, compute

Level 5: Specialized

  • Physics: references/14-physics-vr.md - Ammo, Rapier, Jolt, VR/XR
  • Advanced Loaders: references/15-specialized-loaders.md - SVG, VRML, domain-specific
  • WebGPU: references/16-webgpu.md - Modern backend, compute shaders

Quick Start Pattern

// 1. Scene, Camera, Renderer
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

// 2. Add Objects
const geometry = new THREE.BoxGeometry();
const material = new THREE.MeshStandardMaterial({ color: 0x00ff00 });
const cube = new THREE.Mesh(geometry, material);
scene.add(cube);

// 3. Add Lights
const light = new THREE.DirectionalLight(0xffffff, 1);
light.position.set(5, 5, 5);
scene.add(light);
scene.add(new THREE.AmbientLight(0x404040));

// 4. Animation Loop
function animate() {
  requestAnimationFrame(animate);
  cube.rotation.x += 0.01;
  cube.rotation.y += 0.01;
  renderer.render(scene, camera);
}
animate();

External Resources

  • Official Docs: https://threejs.org/docs/
  • Examples: https://threejs.org/examples/
  • Editor: https://threejs.org/editor/
  • Discord: https://discord.gg/56GBJwAnUS