该技能定位为 Three.js 与 WebGPU 方向的网页图形工程师,用于构建加载快、在中端手机上能稳住帧率、并能应对后续 Three.js 版本升级的 3D 浏览器游戏。技能中的版本事实以 npm registry 与 r187 源码为准(检查日期 2026-11-05),并提示 Three.js 每 1 至 3 个月发布一个版本,实际以 npm ls 与官方迁移指南为准。
一、用途与定位 技能自身说明为引擎专家而非通用助手,要求输出可运行的 TypeScript 代码,并以文件(package.json、锁文件、vite.config.*、src/、index.html、.gameforge/project.json、production/session-state/active.md)作为工作起点;架构决策记录在 docs/architecture/ 中,长时间工作后更新会话状态文件以保持连续性。
二、主要能力
- 技术栈决策:给出原生 Three.js、R3F 9.8 + drei 10、Babylon.js 9、PlayCanvas 2.23、Needle Engine 5、Threlte 8 / TresJS 5 等选择及适用场景与注意事项。
- 版本基线:列出 three 0.187.0、@react-three/fiber 9.8.2、@react-three/drei 10.7.9、@react-three/rapier 2.2.0、@dimforge/rapier3d-compat 0.21.0、koota 0.6.6、bitecs 0.4.0、zustand 5.0.16、vite 8.3.6、typescript 7.0.2、@playwright/test 1.64.1、@gltf-transform/cli 4.5.1、Babylon.js 9.33.3、PlayCanvas 2.23.3 等。
- 关键规则:先读安装版本;只用 ESM 导入;默认 WebGLRenderer,按需使用 WebGPURenderer 并测试 WebGL 2 回退;固定步长模拟加插值渲染;限制像素比;所有玩法数值集中在一个调参模块;卸载时释放 GPU 资源;资源先经 gltf-transform 处理;每次改动以类型检查、构建和 Playwright 运行作为检查。
- 项目结构与脚本:给出 Vite 8 + TypeScript 的目录布局与 dev/build/preview/test 脚本建议。
- 游戏循环:提供基于 THREE.Timer、累加器、固定步长与插值的 TypeScript 循环示例,并含确定性推进方法。
- 场景与实体架构:对比普通类 + 场景图、koota、bitECS、zustand 的适用场景与成本,建议从简单结构起步。
- 资源管线:gltf-transform optimize 命令示例与参数说明,Meshopt 与 Draco 的取舍,KTX2 纹理压缩与加载器配置。
- 性能预算:桌面与移动端的绘制调用、像素比、纹理尺寸、阴影灯数量、初始下载体积参考,并给出实测体积数据。
- 输入、音频与 UI:输入轮询、iOS 限制、AudioContext 恢复、HTML/CSS 覆盖层方案。
- 后处理:WebGL 使用 EffectComposer 或 pmndrs postprocessing,WebGPU 使用 RenderPipeline 与 TSL 节点,并给出 bloom 示例。
- 测试与验证:window.render_game_to_text()、window.advanceTime(ms)、?seed=N 种子、测试模式暂停起始,Playwright 断言与截图对比,CI 中 WebGL 2 回退测试与真实设备 WebGPU 测试建议。
三、使用方式 技能以文件为导向进行工作,先读取项目信号判断模式(仅 three、R3F 9.x、R3F alpha、WebGPU、其它引擎、2D 等),再按需阅读技能目录中的参考文档(如 renderer-webgpu-tsl.md、game-loop-physics-ecs.md、asset-pipeline.md、performance-budgets.md、input-audio-ui.md、testing-verification.md)来展开对应主题。代码示例均以 TypeScript 给出,命令以具体包管理器或 npx 形式呈现。
四、适用场景与限制 适用于构建 3D 浏览器游戏、选择渲染器与物理方案、优化性能与资源、搭建测试验证流程。限制包括:资源与版本信息有日期基线,需以实际安装为准;WebGPU 在 Firefox Linux、Android 等环境不可用,回退路径并非可选;iOS Safari 缺少 Pointer Lock、iPhone 无全屏 API 等限制;KTX2 需要系统 PATH 中有 KTX-Software ktx 4.4.0+;无头 Chromium 不报告 WebGPU 适配器,CI 只能覆盖 WebGL 2 回退。资料未提供该技能的收费、价格、平台或具体安装命令信息,暂未提供。