react-three-fiber-game

作者: openai

使用 React Three Fiber 構建 React 託管的 3D 瀏覽器遊戲。適用於用戶需要基於 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 的更多技能

user-context
openai
載入或管理資料分析插件的持久性來源路由偏好設定、入門邏輯、設定進度以及語義層註冊表。
official
notion-research-documentation
openai
研究Notion內容,並將其整合為結構化的簡報、報告或附有引用的比較分析。透過精準查詢搜尋並擷取Notion頁面,然後按主題組織發現,並附上內文來源引用及參考文獻章節。根據範圍與使用者目標,從四種輸出格式(快速簡報、研究摘要、比較分析、綜合報告)中選擇。使用內建範本建立與更新Notion頁面;直接連結來源,並在新資訊到來時追蹤變更。
official
rcsb-pdb-skill
openai
提交精簡的RCSB PDB請求以獲取核心元數據、Search API查詢及FASTA下載。當用戶需要簡潔的RCSB摘要時使用;保存原始JSON或…
official
pdf
openai
PDF 讀取、建立與驗證,支援視覺化渲染與程式化生成。使用 Poppler(pdftoppm)將 PDF 頁面渲染為 PNG,以便在交付前檢查版面、間距與排版。透過 reportlab 程式化生成 PDF,確保格式可靠;使用 pdfplumber 或 pypdf 提取文字與元資料。執行品質標準:無文字裁切、元素重疊、表格破損或渲染瑕疵;僅使用 ASCII 連字號,引用格式需具可讀性。使用...
official
test-coverage-improver
openai
Improve test coverage in the OpenAI Agents JS monorepo: run `pnpm test:coverage`, inspect coverage artifacts, identify low-coverage files and branches, propose…
official
playwright
openai
終端驅動的瀏覽器自動化,具備元素快照與互動式UI工作流程。透過playwright-cli包裝腳本運作(需npx),支援無頭模式與有頭模式以進行視覺化除錯。核心流程:開啟頁面、擷取快照以取得穩定元素參照、使用參照進行互動、在導航或DOM變更後重新擷取快照。包含表單填寫、點擊、輸入、多分頁管理、螢幕截圖/PDF擷取,以及流程除錯的軌跡記錄。元素參照(例如e3、e15)...
official
ukb-topmed-phewas-skill
openai
接受rsID、GRCh37或GRCh38輸入,解析為所需的GRCh38查詢,以獲取單一變異的簡潔UKB-TOPMed PheWAS摘要。當需要…時使用。
official
code-review-context
openai
模型可見上下文
official