当前位置: 首页 > news >正文

【Unity】 HTFramework框架(六十四)SaveDataRuntime运行时保存组件参数、预制体

更新日期:2025年4月1日。
Github 仓库:https://github.com/SaiTingHu/HTFramework
Gitee 仓库:https://gitee.com/SaiTingHu/HTFramework

索引

  • 一、SaveDataRuntime运行时保存组件参数、预制体
  • 二、使用SaveDataRuntime
    • 1.启用设置项
    • 2.运行时保存组件
    • 3.停止运行后,保存组件确认
    • 4.保存所有组件

一、SaveDataRuntime运行时保存组件参数、预制体

众所周知,Unity编辑器在运行时对游戏物体的组件参数的修改是无法保存的,停止运行后会全部还原为编辑时的数据,这是因为Unity编辑器为运行时单独创建了一份数据,运行时数据与编辑时数据是两份独立的数据,所以针对运行时数据的修改,是无法存储到编辑时数据的。

不过,借助于一些插件以及本框架的SaveDataRuntime工具,能够实现将运行时数据存储为编辑时数据,且SaveDataRuntime提供了极其简单和友好的操作流程。

二、使用SaveDataRuntime

1.启用设置项

要使用SaveDataRuntime工具,首先需要确保在全局启用了该功能(也即是说,如果不需要该功能,可以全局禁用,以避免多余的开销):

在这里插入图片描述

2.运行时保存组件

只要全局启用了SaveDataRuntime,下一步即可在运行时保存组件了。

在运行时,所有组件的标题栏均会显示一个保存按钮:

在这里插入图片描述

当我们修改了此组件的任何参数,想要保存时,点击一下保存按钮即可(已保存的组件按钮颜色会切换为绿色,再次点击则取消保存,颜色切换为白色)。

比如,有如下Player组件:

在这里插入图片描述

我们在运行时修改了其参数值,然后点击保存按钮:

在这里插入图片描述

Tips:点击保存按钮后,组件并未立即保存,而是标记为保存状态,将在编辑器退出运行时才会保存,在此期间可以继续修改该组件的参数。

3.停止运行后,保存组件确认

停止运行后,将会弹出保存组件确认框

Tips:保存组件确认框的作用是让你清晰的知道哪些组件即将被保存下来,不需要(误保存)的可以移除,由于运行时的数据千变万化,此过程可以避免误操作引起的数据覆盖。

在这里插入图片描述

其上会罗列出我们即将保存的所有组件。

Prefab Asset:为即将保存组件的目标预制体。
Changed Component:记录一个即将被保存的组件,点击Remove按钮移除此组件,点击Apply按钮应用组件的参数到目标预制体(也即是保存)。

此处的Apply按钮为禁用状态,因为我们必须打开其所属的预制体,才可应用保存,所以我们点击预制体最右面的Open按钮,打开该预制体。

预制体打开后,我们点击某一个组件名称,将在场景中定位到该组件所属的游戏物体:

在这里插入图片描述

此时,点击Player组件的Apply按钮,此组件的运行时参数将会全部保存(覆盖)到目标预制体:

在这里插入图片描述

Tips:Apply过程是支持撤销的,Ctrl + Z即可撤销已保存的组件。

4.保存所有组件

如果你不需要一个个组件的Apply以防止错误覆盖,且已明确知晓即将保存的所有组件中没有误操作、误保存的组件,也可以点击Apply All按钮,一键将所有组件保存,然后Ctrl + S保存预制体即可:

在这里插入图片描述

经过以上简单的流程,便可完成将运行时组件参数保存到编辑时的操作。

相关文章:

  • Python WebSockets 库详解:从基础到实战
  • MySQL 5.7 Online DDL 技术深度解析
  • C++和C#接口对应关系
  • 【运维】Centos硬盘满导致开机时处于加载状态无法开机解决办法
  • Docker基础详解
  • Linux 高级路由策略控制配置:两个不同路由子网间通信
  • 沉浸式体验测评|AI Ville:我在Web3小镇“生活”了一周
  • 基于MODIS观测的全球格点数据处理与GeoTIFF栅格化存储
  • 新闻发布管理系统带万字文档新闻管理系统java项目java课程设计java毕业设计
  • ES5内容之String接口
  • python-leetcode 62.搜索插入位置
  • 阻止上传可执行程序
  • 实现Excel导入和导出
  • 服务器自动备份到本地,服务器自动备份到本地的方法有哪些?
  • [250401] OpenAI 向免费用户开放 GPT-4o 图像生成功能 | Neovim 0.11 新特性解读
  • MySQL和Oracle批量插入SQL差异详解
  • 青少年编程与数学 02-014 高中数学知识点 06课题、数学建模与探究活动
  • 第十一届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
  • Java面试黄金宝典28
  • 单例模式(懒汉模式/饿汉模式)
  • 这座古村,藏着多少赣韵风华
  • 巴总理召开国家指挥当局紧急会议
  • 上报集团社长李芸:发挥媒体优势,让中非民心在数字时代更深层互联互通
  • 47本笔记、2341场讲座,一位普通上海老人的阅读史
  • 纽约大学朗格尼医学中心的转型带来哪些启示?
  • 光大华夏:近代中国私立大学遥不可及的梦想