SuperAPI AI 工具集

unity-data-driven

数据与分析

查看项目

更新于 10-16 01:37

技能介绍

用途:面向 Unity 项目的数据驱动设计决策模式集合,解决在 MonoBehaviour 中硬编码可调数值、使用魔法数字导致迭代与平衡困难的问题,目标是让游戏数据无需改代码即可由策划编辑。

主要能力:

  1. 配置数据存储选择:默认用 ScriptableObject 资产(Inspector 可编辑、类型安全、可重构、以 YAML 纳入版本控制);外部工具生成、需支持模组或批量编辑时用 JSON/CSV 运行时加载;真正固定的值用 static readonly 或 const。
  2. SO 继承与组合:继承适合 2-3 层结构,组合用 [Serializable] 结构体更利于广泛变体复用。
  3. JSON 数据管线:分构建期(Editor 脚本把 JSON/CSV 烘焙为 SO 资产)与运行时加载(StreamingAssets 或远程 URL)。
  4. 策划交接:SO + CreateAssetMenu 适合中小数据集,自定义 EditorWindow 适合 100+ 条目,外部表格导入适合策划偏好表格的场景。
  5. 数据版本与迁移:增量变更靠 Unity 序列化自动处理,重命名用 [FormerlySerializedAs],破坏性变更用显式 version 字段加迁移器。

必要用法:配置类用 [CreateAssetMenu] 标注,字段加 [Header]、[Tooltip]、[Range]、[Min] 等特性;MonoBehaviour 通过 [SerializeField] 引用配置资产并读取,不硬编码。运行时 JSON 加载示例中,Android 平台需用 UnityWebRequest 读取 StreamingAssets。

限制与注意:编辑器内运行时修改 SO 资产会写回磁盘,构建中运行时修改在退出后丢失,存档数据不可依赖 SO 运行时修改;JsonUtility 不支持字典、顶层数组、多态、null 与属性,需要时改用 Newtonsoft JSON;[FormerlySerializedAs] 仅适用于 Unity 序列化,不适用于 JSON;SO 继承会在 Inspector 显示全部基类字段。资料未提供具体收费、平台与效果信息。