К основному содержанию
скилл CX Codex

threejs · mengto — скилл для Claude Code: 3D-сцены на Three.js

Помогает агенту собирать и отлаживать интерактивные 3D-сцены на Three.js: сцена, камера, свет, загрузка glTF, контролы и производительность.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add MengTo/Skills --skill threejs -a claude-code
Открыть на GitHub

Что делает threejs

Скилл включается, когда вы делаете на веб-странице настоящую 3D-графику, а не фоновые эффекты: вращающийся товар, интерактивную hero-сцену, шейдеры, визуализацию данных. Агент держит в голове базовую модель Three.js — Scene, Camera, WebGLRenderer, Mesh из геометрии и материала, источники света — и цикл отрисовки через requestAnimationFrame.

Внутри есть готовые рецепты. Минимальный вращающийся куб: создание рендерера с antialias и alpha, перспективная камера, MeshStandardMaterial, AmbientLight и DirectionalLight, обработчик resize с setPixelRatio(Math.min(window.devicePixelRatio, 2)) и updateProjectionMatrix(). Отдельный пункт — уважать prefers-reduced-motion: reduce и рисовать статичный кадр без цикла.

Скилл отдельно предупреждает про утечки: в SPA после смены маршрута нужно звать geometry.dispose(), material.dispose(), texture.dispose() и renderer.dispose(), снимать слушатели и отменять RAF. Иначе вкладка падает. Ещё он советует не задирать pixel ratio на мобильных и не грузить тяжёлые текстуры — отсюда тормоза на старте. Перед работой агент спросит, декоративная это сцена или функциональный просмотрщик, какие целевые устройства и в каком формате лежат ассеты.

Какие задачи решает

  • собрать интерактивную 3D-сцену с нуля без копания в документации
  • починить растянутый рендер после изменения размера окна
  • найти утечку WebGL-ресурсов после перехода между маршрутами в SPA
  • загрузить модель в glTF и подключить OrbitControls
  • уложиться в бюджет по производительности на мобильных GPU

Примеры запросов агенту

  • Сделай вращающийся куб на Three.js в canvas #c, с обработкой resize и prefers-reduced-motion
  • Загрузи модель через GLTFLoader, добавь OrbitControls и dispose при размонтировании компонента
  • Почему после смены роута падает вкладка? Проверь dispose геометрий, материалов и рендерера

Как установить threejs

1Через Skills CLI (Vercel)

npx skills add MengTo/Skills --skill threejs -a claude-code

2Вручную: положить файлы

~/.claude/skills/threejs/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/threejs/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора148

build-awwwards-quality-sites Задаёт правила арт-дирекшна и вёрстки интерактивных сайтов уровня Awwwards. Помогает внедрить анимации на GSAP, плавный скролл и WebGL-шейдеры без шаблонов. CX Codex +1 3 100установок cinematic-gsap-lenis-motion-system Настраивает кинематографичную анимацию интерфейса на GSAP, ScrollTrigger и Lenis. Пригодится для премиальных сайтов, портфолио, плавного скролла и параллакса. CX Codex +1 2 400установок beautiful-shadows Скилл подставляет точные arbitrary-классы теней Tailwind для карточек, панелей и поповеров. Пригодится, когда стандартные shadow-sm и shadow-lg выглядят грубо. CX Codex +1 2 200установок cinematic-scroll-storytelling Настраивает плавную прокрутку и сценарную анимацию страниц через Lenis и GSAP ScrollTrigger. Пригодится при сборке редакционных лендингов, стопок карточек и кинетической типографики. CX Codex +1 2 100установок landing-page Скилл помогает спроектировать или переписать целевую страницу под одно предложение для веб-сервисов и SaaS. Задаёт структуру секций, тексты выгод и обработку возражений. CX Codex +1 2 000установок animation-on-scroll Скилл добавляет элементам появление при входе во вьюпорт: IntersectionObserver плюс классы и кейфреймы под Tailwind. CX Codex +1 2 000установок animation-systems Инструкции для агента по созданию сдержанной веб-анимации в стиле Stripe, Linear и Apple. Пригодится при вёрстке интерфейсов, модальных окон и карточек. CX Codex +1 1 900установок gsap Скилл для ИИ-агента, который помогает писать и отлаживать веб-анимации на GSAP: таймлайны, ScrollTrigger, stagger, трансформации. CX Codex +1 1 800установок

Другие версии threejs

Похожие

threejs-loaders CloudAI-X Скилл обучает ИИ загружать 3D-модели glTF, текстуры и HDR-карты в three.js r186. Пригодится при настройке ассетов, цветовых пространств и шкалы прогресса для WebGL или WebGPU. CX Codex +1 12 900установок threejs-webgl freshtechbro Скилл учит агента настраивать сцены Three.js, рендереры WebGL и WebGPU, свет, материалы и загрузку glTF-моделей. Пригодится для 3D-визуализаций и конфигураторов. CX Codex +1 4 600установок threejs-gltf-loading gamedev-skills Загружает glTF и GLB в three.js и проигрывает запечённые клипы через AnimationMixer, включая сжатые DRACO, Meshopt и KTX2. Пригодится, когда модель вроде загрузилась, а на экране пусто. CX Codex +1 5 600установок threejs-animation iart-ai Скилл для ИИ-кодинга, который помогает писать анимацию Three.js и React Three Fiber: сцены, GLTF-клипы, камера по скроллу, инстансинг. CX Codex +1 1 400установок threejs-asset-pipeline CloudAI-X Скилл для сжатия и проверки glTF-моделей перед загрузкой в three.js: команды gltf-transform, Draco, meshopt, KTX2 и gltfjsx. CX Codex +1 1 300установок threejs-materials-lighting gamedev-skills Скилл для three.js: подбирает материал, ставит источники света, включает тени и подключает HDR-окружение, когда модель выглядит чёрной или плоской. CX Codex +1 5 500установок

Рядом в теме «Фронтенд и UI»

Всё по теме «Фронтенд и UI» →

Вопросы о threejs

Как установить threejs в Claude?

Выполните npx skills add MengTo/Skills --skill threejs -a claude-code. Скилл окажется в ~/.claude/skills/threejs/SKILL.md.

Что делает скилл threejs?

Подсказывает агенту, как строить и отлаживать 3D-сцены на Three.js: сцена, камера, рендерер, свет и материалы, загрузка glTF, контролы, очистка ресурсов.

С какими платформами работает threejs?

Claude, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode. Для каждой свой способ установки, например npx skills add MengTo/Skills --skill threejs -a cursor.

Исходный текст

SKILL.md · MIT
---
name: threejs
description: Use when building or debugging interactive 3D scenes on the web with Three.js (scene/camera/renderer, lights/materials, GLTF loading, controls, performance). Helpful for designers shipping 3D UI moments.
---

# Three.js — WebGL 3D Scenes Skill

## When to use
- Real 3D: product spins, interactive hero scenes, shaders/material effects, 3D data viz
- You need full control beyond “background effects”
- You can budget time for asset pipeline + performance tuning

## Core mental model
- Create:
  - `Scene` (root graph)
  - `Camera` (Perspective/Orthographic)
  - `Renderer` (`WebGLRenderer`)
  - `Mesh` = `Geometry` + `Material`
  - Lights (if using non-unlit materials)
- Render loop:
  - `requestAnimationFrame(animate)`
  - Update time-based animations, controls, mixers, then `renderer.render(scene, camera)`

## Key APIs/patterns
- Setup:
  - `const renderer = new THREE.WebGLRenderer({ canvas, antialias, alpha })`
  - `renderer.setSize(width, height, false)`
  - `renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2))`
- Camera:
  - `camera.aspect = width / height; camera.updateProjectionMatrix()`
- Scene graph:
  - `scene.add(object)` / `object.position/rotation/scale`
- Loading assets:
  - `GLTFLoader` (models), `TextureLoader` (images), `DRACOLoader` (compressed glTF)
- Controls (common):
  - `OrbitControls` (debug/product), `PointerLockControls` (FPS), custom pointer handlers
- Cleanup (important in SPAs):
  - `geometry.dispose()`, `material.dispose()`, `texture.dispose()`, `renderer.dispose()`
  - Remove event listeners; cancel RAF.

## Common pitfalls
- Not handling resize → stretched/cropped rendering
- Too high devicePixelRatio → mobile GPU meltdown
- Leaking WebGL resources (not disposing) → crashes after route changes
- Loading huge textures/models → slow start; use compressed textures, Draco/KTX2, smaller maps
- Using too many lights/shadows → expensive; fake lighting with baked textures when possible

## Quick recipes

### 1) Minimal spinning cube
```js
import * as THREE from "three";

const canvas = document.querySelector("#c");
const renderer = new THREE.WebGLRenderer({ canvas, antialias: true, alpha: true });

const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(45, 1, 0.1, 100);
camera.position.set(0, 0, 4);

const geom = new THREE.BoxGeometry(1, 1, 1);
const mat = new THREE.MeshStandardMaterial({ color: 0x7c3aed });
const mesh = new THREE.Mesh(geom, mat);
scene.add(mesh);

scene.add(new THREE.AmbientLight(0xffffff, 0.8));
const dir = new THREE.DirectionalLight(0xffffff, 0.8);
dir.position.set(2, 2, 2);
scene.add(dir);

function resize() {
  const w = canvas.clientWidth;
  const h = canvas.clientHeight;
  renderer.setSize(w, h, false);
  renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
  camera.aspect = w / h;
  camera.updateProjectionMatrix();
}
window.addEventListener("resize", resize);
resize();

function animate(t) {
  mesh.rotation.y = t * 0.0006;
  renderer.render(scene, camera);
  requestAnimationFrame(animate);
}
requestAnimationFrame(animate);
```

### 2) Respect reduced motion
- If `prefers-reduced-motion: reduce`, render a still frame (no RAF) or slow updates.

## What to ask the user
- Is this decorative (hero) or functional 3D (product viewer)?
- Target devices: mobile? older iPhones?
- Asset format availability (glTF, HDRI, textures) and file size constraints
- Accessibility/reduced motion requirements

© MengTo · MIT · MengTo/Skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой