Hieu-ccsetup threejs
Build immersive 3D web experiences with Three.js - WebGL/WebGPU library for scenes, cameras, geometries, materials, lights, animations, loaders, post-processing, shaders (including node-based TSL), compute, physics, VR/XR, and advanced rendering. Use when creating 3D visualizations, games, interactive graphics, data viz, product configurators, architectural walkthroughs, or WebGL/WebGPU applications. Covers OrbitControls, GLTF/FBX loading, PBR materials, shadow mapping, post-processing effects (bloom, SSAO, SSR), custom shaders, instancing, LOD, animation systems, and WebXR.
install
source · Clone the upstream repo
git clone https://github.com/dige04/hieu-ccsetup
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/dige04/hieu-ccsetup "$T" && mkdir -p ~/.claude/skills && cp -r "$T/config/skills/threejs" ~/.claude/skills/dige04-hieu-ccsetup-threejs && rm -rf "$T"
manifest:
config/skills/threejs/SKILL.mdsource content
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:
- GLTF, FBX, OBJ, texture loadersreferences/02-loaders.md - Textures:
- Types, mapping, wrapping, filteringreferences/03-textures.md - Cameras:
- Perspective, orthographic, controlsreferences/04-cameras.md - Lights:
- Types, shadows, helpersreferences/05-lights.md - Animations:
- Clips, mixer, keyframesreferences/06-animations.md - Math:
- Vectors, matrices, quaternions, curvesreferences/07-math.md
Level 3: Interactive & Effects
- Interaction:
- Raycasting, picking, transformsreferences/08-interaction.md - Post-Processing:
- Passes, bloom, SSAO, SSRreferences/09-postprocessing.md - Controls (Addons):
- Orbit, transform, first-personreferences/10-controls.md
Level 4: Advanced Rendering
- Materials Advanced:
- PBR, custom shadersreferences/11-materials-advanced.md - Performance:
- Instancing, LOD, batching, cullingreferences/12-performance.md - Node Materials (TSL):
- Shader graphs, computereferences/13-node-materials.md
Level 5: Specialized
- Physics:
- Ammo, Rapier, Jolt, VR/XRreferences/14-physics-vr.md - Advanced Loaders:
- SVG, VRML, domain-specificreferences/15-specialized-loaders.md - WebGPU:
- Modern backend, compute shadersreferences/16-webgpu.md
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