Files
2025-10-18 23:41:07 +08:00

2.7 KiB
Raw Permalink Blame History

Satisfactory 蓝图编辑器文档

项目概述

这个项目是一个用于《Satisfactory》游戏的蓝图编辑器允许玩家上传、编辑和导出游戏蓝图文件(.sbp/.sbpcfg)。编辑器提供了JSON编辑和图形化编辑两种方式让玩家可以轻松修改蓝图的各种属性。

功能特点

1. 蓝图文件导入

  • 支持拖放上传或点击上传
  • 支持.sbp主蓝图文件和.sbpcfg配置文件
  • 显示上传文件的基本信息

2. JSON编辑器

  • 将蓝图文件解析为可编辑的JSON格式
  • 支持格式化JSON
  • 可刷新和更新JSON数据
  • 可选择是否显示Objects段包含大量实体数据

3. 图形化编辑器

  • 基础编辑

    • 蓝图基本信息(名称、尺寸)
    • 配置信息(版本、图标、描述、颜色等)
    • 头部信息(版本号)
    • 物品消耗管理
    • 配方引用管理
  • 进阶编辑

    • 实体列表浏览
    • 实体位置编辑(旋转、平移、缩放)
    • 属性编辑(添加/删除/修改属性)
    • 组件编辑
    • 附属组件编辑

4. 蓝图导出

  • 将编辑后的JSON导出为.sbp和.sbpcfg文件
  • 显示导出状态

技术栈

安装与使用

安装依赖

npm install

开发模式

npm run dev

生产构建

npm run build

项目结构

src/
├── components
├── App.vue (主组件)
└── main.js

主要组件说明

BlueprintEditor.vue

这是应用的核心组件,包含所有蓝图编辑功能:

状态管理

  • uploadedFiles: 存储上传的文件
  • blueprintData: 存储解析后的蓝图数据
  • rawObjects/newObjects: 存储蓝图中的实体对象
  • isParsing/isExporting: 处理状态标志

主要方法

  • parseBlueprint(): 解析上传的蓝图文件
  • exportBlueprint(): 导出编辑后的蓝图
  • formatJson(): 格式化JSON显示
  • updateDataFromJson(): 从JSON更新数据

实体编辑功能

  • selectEntity(): 选择要编辑的实体
  • updateEntityFromJson(): 更新实体数据
  • addProperty(): 添加新属性
  • deleteProperty(): 删除属性

注意事项

  1. Objects段警告Objects段包含大量实体数据对于大型蓝图开启此选项可能导致性能问题。

  2. 文件格式仅支持Satisfactory U8+版本的蓝图文件。

  3. 数据安全:编辑蓝图时建议备份原始文件,以防意外修改导致蓝图损坏。