SaveGameFree 保存位置与旋转:5 分钟让角色记住上次的位置
【免费下载链接】SaveGameFreeSave Game Free is a free and simple but powerful solution for saving and loading game data in unity.项目地址: https://gitcode.com/gh_mirrors/sa/SaveGameFree
在 Unity 游戏开发中,"角色退出游戏后,下次启动还能回到上次的位置"是玩家体验的基本需求。SaveGameFree 正是一款免费、简单却功能强大的 Unity 游戏存档插件,它用两行代码就能完成位置与旋转的保存和读取。本文带你用 5 分钟实现角色位置记忆功能,让你轻松掌握 Unity 存档插件的核心用法。
SaveGameFree 游戏存档插件功能宣传图
为什么选择 SaveGameFree 保存位置与旋转?
SaveGameFree 是专为 Unity 游戏引擎设计的存档解决方案,它在处理角色位置保存这类需求时有三大明显优势:
- 跨平台:Windows、macOS、Android、iOS、WebGL 全平台可用,无需改动代码
- 简单快速:保存位置只需一行
SaveGame.Save,读取也只需一行SaveGame.Load - 内置类型支持:官方提供了
Vector3Save和QuaternionSave可序列化类型,专为位置和旋转设计
保存位置与旋转的核心类型
在动手之前,先认识两个关键类型,它们位于项目源码的 Types 目录:
| 类型 | 用途 | 对应 Unity 类型 |
|---|---|---|
| Vector3Save.cs | 保存物体位置(x, y, z) | Vector3 |
| QuaternionSave.cs | 保存物体旋转(x, y, z, w) | Quaternion |
它们都支持与 Unity 原生类型隐式转换,所以你可以直接把transform.position传给Vector3Save,读取后直接赋给位置属性,完全无感。
3 步完成角色位置保存
参考官方示例 ExampleSavePosition.cs,实现位置记忆只需三步:
第一步:定义标识符
给存档起一个唯一名称,例如"exampleSavePosition.dat",用于区分不同的存档数据。
第二步:保存位置
SaveGame.Save<Vector3Save>(identifier, target.position);第三步:读取位置
target.position = SaveGame.Load<Vector3Save>(identifier, Vector3.zero);默认值Vector3.zero用于首次启动(还没有存档)时兜底,非常实用。
让角色记住旋转角度的快速方法
旋转的保存和位置完全对称,参考示例 ExampleSaveRotation.cs:
// 保存旋转 SaveGame.Save<QuaternionSave>(identifier, target.rotation); // 读取旋转,默认值使用 Quaternion.identity target.rotation = SaveGame.Load<QuaternionSave>(identifier, Quaternion.identity);把保存逻辑放在OnApplicationQuit()(退出时保存),读取放在Start()(启动时加载),一个完整的"角色记住上次姿态"功能就完成了。
零代码的自动保存方案
如果你连代码都不想写,SaveGameFree 还提供了 SaveGameAuto.cs 自动存档组件:
- 在场景中给物体挂载Auto Save组件
- 在 Inspector 中填写位置、旋转、缩放的标识符
- 勾选想保存的属性,保存格式可选 XML、JSON 或 Binary
运行游戏后,物体的 Transform 会被自动记录,重启场景即可恢复,适合原型开发和快速迭代。
更安全的存档技巧
位置和旋转数据虽然不敏感,但 SaveGameFree 依然为你准备了进阶能力:
- 加密存储:设置
SaveGame.EncodePassword并开启Encode,防止玩家篡改存档文件 - 多种序列化:默认 JSON 可读性强,二进制格式(如示例中使用的
SaveGameBinarySerializer)体积更小、加载更快 - 异步 API:大存档建议使用
SaveGame.SaveAsync和SaveGame.LoadAsync,避免阻塞主线程
结语
SaveGameFree 让 Unity 中的位置与旋转保存变得异常简单,5 分钟即可为你的游戏加入"记住上次位置"的能力。官方示例场景 Save Position 和 Save Rotation 可以直接在 Unity 中打开体验。赶紧动手,让你的角色在下次启动时回到玩家离开的地方吧!
【免费下载链接】SaveGameFreeSave Game Free is a free and simple but powerful solution for saving and loading game data in unity.项目地址: https://gitcode.com/gh_mirrors/sa/SaveGameFree
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考