React Three Game 是面向 Web 的游戏创建工具箱,基于 WebGPU 渲染与 React Three Fiber 组合。核心概念是预制体(prefab):一种 JSON 场景文档,节点描述对象,组件赋予其设置与行为。
使用方式有三种路径:通过运行中的编辑器 API 调整可见场景;直接编辑保存的预制体 JSON 生成内容或审查差异;在应用源码中新增可复用行为、hooks 或渲染特性。还可将小脚本随场景存储(Runtime 组件),或在应用自身画布中渲染 JSON(嵌入 PrefabRoot)。这些路径可组合使用。
编辑器 API 通过 window.scene 操作,例如 scene.find、scene.get、scene.search、scene.components 查找对象,写入需进入 edit 模式(scene.setMode),支持 scene.update、scene.capture、scene.undo、scene.reset、scene.save、scene.exportJSON。可用 scene.help() 列出方法。单次更新为一步撤销;validate() 与 batch() 需 expectedRevision;写入冲突应重读并重新规划。
直接编辑 JSON 时需保持节点 ID、组件键与无关字段不变,检查组件 schema、JSON 语法与 ID 唯一性;文件编辑不会更新已打开编辑器的内存文档,需重新加载。
场景 JSON 中,节点 ID 在预制体内唯一,组件实例键可与注册类型名不同。Transform、Geometry、Material、Model、PrefabRef 等为常见组件。脚本行为使用 Runtime 组件,含 data、setup、update 字段。自定义组件通过 registerComponent 注册,可仅含设置或加入 View 使用 React hooks;可用 modifyGeometry 修改几何体,用 dependencies 声明资源。
资源方面,模型保留内嵌材质;远程资源需 CORS;每场景保持一个活动 Camera 与 Fog。PrefabInstance 用于按 URL 加载并激活分块。上述操作无需编辑器或 window API,但编辑器需通过 react-three-game/editor 挂载。文档中部分具体细节(如收费、平台、价格)暂未提供。