react-three-fiber-game — скилл для Codex: что делает и как установить
Помогает собирать 3D-игры и интерактивные сцены прямо в интерфейсе на React с помощью экосистемы pmndrs.
npx skills add openai/plugins --skill react-three-fiber-game -a codexЧто делает react-three-fiber-game
Скилл задаёт архитектурные правила для браузерных 3D-сцен на базе @react-three/fiber, three и библиотек pmndrs. Он разделяет высокочастотную симуляцию и дерево рендера. Меню, HUD и настройки остаются в обычном DOM, а физика подключается через @react-three/rapier.
Главная ценность — защита от просадок кадров. Скилл запрещает хранить игровое состояние прямо в компонентах React и гонять покадровые мутации через глобальный стейт. Drei используется для примитивов и управления камерой, а @react-three/a11y подключается для доступности интерфейса.
Ставьте его, если делаете 3D-конфигуратор или мини-игру внутри готового React-приложения. Если проекту нужен чистый императивный цикл без связки с React, лучше обойтись без него.
Какие задачи решает
- изолировать физику и игровой цикл от перерендеров React
- вынести интерфейс, карту и настройки в стандартный DOM-слой
- подключить физику Rapier и эффекты Drei без избыточного бойлерплейта
- разделить стейт приложения и внутреннее состояние 3D-сцены
Примеры запросов агенту
- Добавь 3D-сцену с физикой Rapier и отобрази здоровье персонажа в обычном DOM-слое.
- Сделай 3D-конфигуратор на React Three Fiber с камерой из Drei и раздельным стейтом.
- Настрой игровой цикл в Canvas так, чтобы обновления кадров не вызывали рендер карточек интерфейса.
Как установить react-three-fiber-game
1Через Skills CLI (Vercel)
npx skills add openai/plugins --skill react-three-fiber-game -a codex2Вручную: положить файлы
.agents/skills/react-three-fiber-game/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add openai/plugins --skill react-three-fiber-game -a claude-code2Вручную: положить файлы
~/.claude/skills/react-three-fiber-game/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/react-three-fiber-game/
Вручную: положить файлы
.cursor/skills/react-three-fiber-game/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install openai/plugins react-three-fiber-game2Вручную: положить файлы
.github/skills/react-three-fiber-game/SKILL.mdКомандой платформы
gemini skills install https://github.com/openai/plugins --path plugins/game-studio/skills/react-three-fiber-gameВручную: положить файлы
.devin/skills/react-three-fiber-game/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора201
Весь набор →Похожие
Вопросы о react-three-fiber-game
Как установить react-three-fiber-game в Codex?
Выполните команду npx skills add openai/plugins --skill react-three-fiber-game или скопируйте файл в .agents/skills/react-three-fiber-game/SKILL.md.
Что делает скилл react-three-fiber-game?
Он направляет разработку браузерных игр на @react-three/fiber, разделяя декларативный рендер сцены, высокочастотную логику и DOM-интерфейс.
Почему нельзя хранить игровой стейт в компонентах React?
Частые покадровые изменения перегружают дерево React постоянными рендерами, поэтому скилл требует держать физику и правила симуляции отдельно.
Исходный текст
SKILL.md · MIT
--- name: react-three-fiber-game description: Build React-hosted 3D browser games with React Three Fiber. Use when the user wants pmndrs-based scene composition, shared React state, and 3D HUD integration inside a React app. --- # React Three Fiber Game ## Overview Use this skill when the 3D runtime lives inside a React application. This is the default React-native 3D path in the plugin and should be preferred over vanilla Three.js when the app shell, settings, storefront, editor surface, or surrounding product already uses React. Recommended stack: - `@react-three/fiber` - `three` - `@react-three/drei` - `@react-three/rapier` - `@react-three/postprocessing` - `@react-three/a11y` when accessibility-sensitive interaction matters - DOM overlays in the normal React tree ## Use This Skill When - the project already uses React - the 3D scene must share state with the rest of the app - declarative scene composition is a net gain - the team wants pmndrs helpers instead of building every helper layer by hand ## Do Not Use This Skill When - the app is not React-based - the project wants a cleaner imperative runtime with minimal React coordination - the problem is asset packaging rather than runtime composition ## Best Fit Scenarios - 3D configurators and tool-rich browser products - React apps with embedded game or scene surfaces - 3D menus, editors, or world maps in an existing React app - 3D game UIs that depend on shared app state and non-canvas shells ## Core Rules 1. Keep simulation state outside render components. - React components should describe scene composition, not become the source of truth for gameplay rules. 2. Use React state and scene state deliberately. - Shared UI state can live in app state. - High-frequency simulation should not force the whole app through unnecessary React churn. 3. Use pmndrs helpers intentionally. - Drei for controls, loaders, helpers, environments, and common scene primitives. - `@react-three/rapier` for physics integration. - `@react-three/postprocessing` for optional effects. - `@react-three/a11y` when the interaction model benefits from accessible scene semantics. 4. Keep HUD, settings, and menus in DOM by default. 5. Keep starter scaffolds visually restrained. - Start with one compact objective or status surface and transient prompts. - Keep notes, maps, and multi-step checklists collapsed until opened. - Do not surround the `Canvas` with equally weighted glass cards. ## Architectural Guidance - Use a dedicated scene root component that owns the `Canvas`. - Keep camera rigs and control components isolated from gameplay systems. - Keep loader and asset wrappers predictable. - Keep DOM overlays and the 3D scene coordinated through explicit state boundaries. - If a system needs tight imperative control, isolate it rather than forcing everything into declarative patterns. - If the scene is immediately playable, keep the initial overlay budget low and let the world do more of the onboarding. ## Anti-Patterns - Treating React components as the gameplay state store - Pushing heavy per-frame mutation through broad app state - Using R3F only because React is available, even when the project needs a cleaner imperative runtime - Building HUD or inventory UI inside the 3D scene by default - Shipping an initial scaffold with large cards occupying every side of the viewport ## References - Shared architecture: `../web-game-foundations/SKILL.md` - Frontend direction: `../game-ui-frontend/SKILL.md` - 3D HUD layout patterns: `../../references/three-hud-layout-patterns.md` - React Three Fiber stack: `../../references/react-three-fiber-stack.md` - React starter: `../../references/react-three-fiber-starter.md` - GLB loader starter: `../../references/gltf-loading-starter.md` - Rapier starter: `../../references/rapier-integration-starter.md` - 3D asset pipeline: `../../references/web-3d-asset-pipeline.md` - WebGL debugging and perf: `../../references/webgl-debugging-and-performance.md`
© OpenAI · MIT · openai/plugins