react-three-fiber-game

작성자: openai

React에서 호스팅되는 3D 브라우저 게임을 React Three Fiber로 구축합니다. 사용자가 pmndrs 기반 장면 구성, 공유 React 상태, 3D HUD 통합을 원할 때 사용하세요…

npx skills add https://github.com/openai/plugins --skill react-three-fiber-game

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의 다른 스킬

release
openai
커밋된 버전을 올리고, 이를 반영하고, 병합된 커밋에 태그를 단 후, Burrito 릴리스 워크플로우를 검증하여 Symphony 릴리스를 진행합니다. 다음과 같이 요청받았을 때 사용합니다…
signing-entitlements
openai
macOS 앱의 서명, 자격, 강화된 런타임 및 Gatekeeper 문제를 검사합니다. 코드 서명 실패, 누락된 자격 등을 진단하라는 요청을 받을 때 사용하세요.
building-ai-agent-on-cloudflare
openai
Cloudflare에서 Agents SDK를 사용하여 상태 관리, 실시간 WebSockets, 예약 작업, 도구 통합, 채팅을 통해 AI 에이전트를 구축합니다…
epigraphdb-skill
openai
온톨로지, 문헌, MR, 유전자-약물 및 지원 경로 증거에 대한 간결한 EpiGraphDB API 요청을 제출합니다. 사용자가 간결한 EpiGraphDB 요약을 원할 때 사용하세요.
runtime-behavior-probe
openai
런타임 동작 조사를 계획하고 실행하며, 임시 프로브 스크립트, 검증 매트릭스, 상태 제어, 결과 우선 보고서를 사용합니다. 다음 경우에만 사용하세요…
deep-security-scan
openai
사용자가 심층적이고, 철저하며, 다중 패스 또는 변동성을 줄이는 저장소 전체 또는 범위가 지정된 경로의 Codex Security 스캔을 요청할 때 사용합니다. 반복적으로 독립적인…
define-security-policy
openai
저장소 또는 구성 요소에 대한 SECURITY.md 지침을 정의, 검토 또는 업데이트합니다. 사용자가 Codex Security가 검토해야 할 대상과 범위를 벗어나는 항목을 명확히 하려 할 때 사용합니다…
validation
openai
Codex가 보안 스캔의 검증 단계에 이미 있거나 사용자가 하나 이상의 후보 보안 결과를 판별하도록 명시적으로 요청할 때 사용합니다…