Open 3D Skills

Восемь скиллов для 3D и анимированных сайтов: сцены three.js из кода, скролл-фильмы, прозрачное видео, разбор машин на детали

  • 353 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Расширенный доступ

Почему такой уровень

  • Скрипты запускают браузеры без окна, `ffmpeg` и Python на вашей машине и пишут файлы в папку проекта
  • Скиллы с генерацией медиа тратят деньги на внешнем сервисе, поэтому план и цену нужно подтверждать до запуска
Все причины и проверки

moh4696/open-3d-skills

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/open-3d-skills

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Скрипты запускают браузеры без окна, `ffmpeg` и Python на вашей машине и пишут файлы в папку проекта
  • Скиллы с генерацией медиа тратят деньги на внешнем сервисе, поэтому план и цену нужно подтверждать до запуска

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Open 3D Skills — набор из восьми скиллов, которые ведут агента через сборку 3D-сайтов от замысла до записи готового видео. `threejs-scene` собирает сцены three.js целиком из кода, без файлов моделей: здания, машины, ландшафт, свет, тени, постобработка и пролеты камеры. `scroll-film` превращает сгенерированные клипы в кино, которое листается прокруткой, `alpha-cutout` вырезает прозрачное видео с ключевого фона, `cursor-rig` собирает персонажа, чья голова следует за курсором. `exploded-view` делает интерактивные разборы устройств с подписями и срезами. `motion-assets` планирует генерацию картинок и клипов: список ресурсов с промптами и ценой ждет вашего согласия до первой траты. `site-check` проверяет страницу в Chromium и WebKit на трех размерах, а `frame-capture` записывает страницу в 60 кадров в секунду по виртуальным часам. Каждый скилл — отдельная папка с `SKILL.md`, поэтому их ставят и по одному. Нужны Node 22.20 или новее, Python 3.9 или новее и `ffmpeg`. Сервис генерации изображений и видео нужен четырем скиллам из восьми.

Для кого. Веб-разработчикам и дизайнерам, которые делают лендинги с 3D и анимацией по прокрутке и ведут работу с Claude Code, Codex, Cursor, Gemini CLI или OpenCode.

Подходит, если

  • Для лендинга нужна сцена three.js: здание на закате, машина или ландшафт, и она собирается кодом без скачивания моделей
  • Сайт машиностроительной компании объясняет устройство мотора разборкой на детали с подписями и срезом
  • Сгенерированные клипы надо склеить в ролик, который проигрывается по мере прокрутки страницы, с версией для телефона
  • Персонаж с прозрачным фоном должен играть в Safari, а для этого видео вырезается с ключевой подложки
  • Перед сдачей клиенту страницу гоняют по Chromium и WebKit, ловят пустые холсты и считают кадры

Не подходит, если

  • Страница статичная, без 3D и анимации: хватит обычных скиллов по верстке
  • Нужны готовые 3D-модели из Blender или GLB как основа сцены: скилл `threejs-scene` строит сцены кодом, а работа с загруженными моделями поддержана только в `exploded-view`
  • Нет Python 3.9, Node 22.20 и ffmpeg, а поставить их нельзя
  • Генерация изображений и видео запрещена правилами компании: четыре скилла опираются на внешний сервис

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

Собери сцену three.js с круглым павильоном на лужайке в золотой час и проверь ее через `site-check` на телефоне

Ограничения

  • Нужны Node 22.20 или новее, Python 3.9 или новее с пакетами из `requirements.txt` (Playwright, Pillow, NumPy, OpenCV), `python3 -m playwright install chromium webkit` и `ffmpeg`.
  • `motion-assets`, `alpha-cutout`, `cursor-rig` и `scroll-film` опираются на сервис генерации изображений и видео, за который платят отдельно. Автор называет Higgsfield, MiniMax, Kling, Seedance и Nano Banana, но привязки к одному сервису нет.
  • Скрипты запускают браузеры и `ffmpeg` на вашей машине, а ключей сервисов скиллы не хранят.

Как отключить. Команда `npx skills remove` или удаление папок из каталога скиллов агента снимает набор. Набор, поставленный скриптом, убирает `./install.sh --uninstall`, плагин Claude Code — `/plugin uninstall open-3d-skills`.

Частые вопросы

Как поставить Open 3D Skills в Claude Code?

Самый короткий путь — `npx skills add Moh4696/open-3d-skills`: установщик спросит, какие скиллы и для каких агентов ставить. Альтернатива для Claude Code — `/plugin marketplace add Moh4696/open-3d-skills` и `/plugin install open-3d-skills@open-3d-skills`, тогда скиллы получают префикс `open-3d-skills:`.

Можно ли поставить один скилл?

Да, например `npx skills add Moh4696/open-3d-skills --skill scroll-film`. Скиллы упоминают друг друга по имени, но каждый работает отдельно.

Нужен ли определенный сервис генерации видео?

Нет. Скиллы описывают, что должна уметь модель (кадры начала и конца, правку изображения с сохранением кадра) и как проверить результат. Автор собирал их на Higgsfield, MiniMax, Kling, Seedance и Nano Banana и отмечает, где поведение проверено.

Работает ли набор с React, Vue или Svelte?

Да. Модули написаны как обычные ES-модули без сборки, а приемы не привязаны к фреймворку.

Почему сцены собираются кодом, а не из моделей?

Такие сцены весят мало, остаются четкими при любом размере, не поднимают вопросов лицензий на модели и легко правятся агентом. Для загруженных GLB-файлов подходит `exploded-view`.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Десять справочных скиллов по Three.js: сцена, геометрия, материалы, свет, шейдеры, анимация и постобработка

СкиллМинимальный доступ4,1 тыс.Звезды репозитория

Три скилла для веб-3D: шейдеры GLSL, сцены Three.js с React Three Fiber и частицы на видеокарте.

ПлагинМинимальный доступ54Звезды репозитория

Three.js Architecture Effects

threejs-architecture-effects

Скилл собирает на Three.js облетаемое здание, которое строится само: кирпич, каркас, процедурные материалы. Результат — рабочий сайт на Vite и React

СкиллМинимальный доступ726Звезды репозитория

Three.js Awesome Graphics Skills

threejs-awesome-graphics-agent-skills

Пакет скиллов three.js для красивой графики сцен и игр: свет, PBR, шейдеры, TSL и WebGPU, постобработка, частицы

СкиллМинимальный доступ990Звезды репозитория

Три скилла для сайтов, которые запоминаются: скролл-сцены и 3D, аудит скролла и стратегия посадочной страницы.

СкиллРасширенный доступ51Звезды репозитория

Web Animation Skills

web-animation-skills

Скиллы веб-анимации: GSAP, SVG, Lottie, микровзаимодействия, переходы между страницами, 60 кадров в секунду. Установка npx skills или плагином

СкиллМинимальный доступ89Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
Open 3D Skills (эта карточка)нет353
Three.js Skillsнет4 143десять справочных скиллов по Three.js, у Open 3D Skills упор на сборку сцен кодом, прозрачное видео, запись и проверку страниц
scroll-craftнет4 997скилл премиальных скролл-сайтов с дизайн-стандартом, а здесь сцены, клипы по прокрутке и записи отдельными скиллами

Коротко о README

Страница показывает примеры сцен с павильоном и мотором, затем объясняет установку через `npx skills`, плагины Claude Code и Codex, расширение Gemini CLI и скрипт установки. Таблица описывает каждый из восьми скиллов и поставляемые с ним скрипты, а ниже разобраны порядок работы, требования, частые вопросы и родственные проекты.

Бейдж для README

Исходный SKILL.md

---
name: threejs-scene
description: Builds real-time 3D websites in three.js from code alone, with no model files. Covers buildings and landmarks, vehicles, machines, landscapes and product studies made of procedural geometry (profile sweeps, lathes, instancing), canvas textures, shader patches, a physically based sky and sun, soft shadows, ambient occlusion and bloom, light presets, camera vantages and flights, quality tiers, and a starter that runs at 60 fps. Use when someone asks for a 3D website, a three.js scene, a WebGL hero, an interactive 3D model of a real place or object, a "3D version" of something, or when an existing three.js page looks flat, plasticky, aliased, washed out or slow.
---

# three.js scene

A convincing 3D page is mostly light and proportion, not polygon count. The White House reads as the White House because its storeys, column spacing and cornice depth are right, and because a low sun throws long shadows across it, not because every window has a frame. This skill builds scenes the way an architect's model is made: from real dimensions, in code, with lighting done properly.

## Start from the starter

`assets/starter/` is a complete, working scene (a round pavilion on a lawn) with everything below already wired. Copy it, keep `env.js`, `kit.js` and `main.js`, and replace `scene.js` with your subject.

```bash
cp -r assets/starter my-scene && cd my-scene
python3 -m http.server 8000      # any static server; ES modules need http://, not file://
```

| File | Holds |
| --- | --- |
| `index.html` | Import map pinned to three r169 (`three@0.169.0`), canvas, title, light buttons, loader |
| `main.js` | Renderer, camera, post stack, quality tiers, vantages and flights, recording hooks, frame loop |
| `env.js` | Sky, sun, image-based light, fog, clouds, night sky; three presets that blend; shadow fitting |
| `kit.js` | Seeded RNG, canvas textures, instancing kit, lathe, arc, profile sweep with mitred corners |
| `scene.js` | The example subject and every pattern worth copying |

URL parameters work out of the box: `?view=front|corner|low|aerial`, `?light=morning|golden|night`, `?quality=high|balanced|fast`, and `?record=1` for a frame-exact recording with `frame-capture`.

## Workflow

1. **Collect references and dimensions before writing geometry.** Plans, elevations, a photo from each side, the real measurements (storey heights, bay spacing, column diameter, wheelbase). Write them as constants at the top of the scene file in metres. A building built from guessed proportions looks like a toy however detailed it is.
2. **Block it out in boxes** at the right size and check from the vantages a visitor will see. Fix proportions now; detail hides nothing.
3. **Detail by kind, not by instance.** Write one column, one window, one baluster as a function, then place hundreds through the `Kit` (one draw call per part). Mouldings, kerbs, steps and rails are profiles swept along paths (`sweep`); round things are lathes.
4. **Light it** with a preset from `env.js`, then tune exposure, sun elevation and fog for the mood. Most of the realism arrives in this step.
5. **Add life:** wind in trees, water, flags, people or traffic as instanced sprites, lamps that come on at night. Drive all of it from the shared uniforms (`U.uTime`, `U.uWind`, `U.uNight`) so recording and light changes stay in sync.
6. **Measure and check** with `site-check`: frame time, draw calls, every vantage at every light, a phone. Then record with `frame-capture`.

## Rendering setup that matters

These are set in `main.js`; keep them unless you know why not.

- **Tone mapping** `ACESFilmicToneMapping` with exposure per preset (0.6 to 1.0). Without tone mapping, bright skies clip and everything looks like a game from 2009.
- **Antialiasing in the composer, not the canvas:** `antialias: false` on the renderer, and a `HalfFloatType` render target with `samples: 4` for the effect composer. Canvas MSAA does nothing once post-processing is on.
- **Post stack:** `RenderPass` → `GTAOPass` (ambient occlusion: contact shadows under cornices, between columns, where walls meet ground) → `UnrealBloomPass` (strength about 0.12 by day, 0.5 at night) → `OutputPass` (tone mapping and sRGB last). The GTAO pass is subclassed to hide anything with `userData.noAO` (sky layers, particles, glass) because AO darkens whatever it sees.
- **Image-based light from the sky itself:** `env.js` renders a private copy of the sky into a PMREM environment map, so reflections and ambient light match the sky's colour at every preset. Regenerate it while presets blend (every sixth frame is enough: PMREM is expensive).

Сообщить о проблеме