unity五种数据储存方法——ScriptableObject

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity五种数据储存方法——ScriptableObject相关的知识,希望对你有一定的参考价值。

参考技术A

优点:
1.unity内置的一种储存容器(不用作为组件挂载在物体上,也可以被序列化)
2.可以以asset形式储存(不需要其他额外的文件解析转换之类的,同时可跨项目使用)
3.可以在PlayMode储存数据更改(再也不怕更改数据没保存了)
4.可以储存大量数据(其他对象都可以调用,有效避免产生冗余数据,这一点太有用了)
5.可以添加引用到脚本中
缺点:
1.需要扩展Editor
2.不可以在unity外操作
3.这是用来储存开发数据的,而不是储存玩家数据的。

什么时候用?
1.就如优点所展示的那样,当有一些数据被同时大量使用,为了避免数据冗余,可以使用。同时应该注意,因物而异的变量不应该声明在此处。
2.作为唯一的资源交给版本控制器。例如,本地化数据、清单目录、表格、敌人配置等
3.ScriptableObject除了可以存储数据外,我们还可以在ScriptableObject中定义一些方法。。这类似于插槽设计模式,ScriptableObject提供一些槽,MonoBehaviour可以把自己插进去。适用于AI类型、回血的buff或debuffs等(回血例子见结尾)

如何实现?
step1.创建你用于共享数据的类(例如EnemyData)

step2.新建一个脚本扩展Editor,使编辑器能够创建自定义的ScriptableObject对象

step3. 在需要引用的脚本中引用

另外注意:每次新建项名称都相同,这意味着不及时改名就会被覆盖。请及时归类或重命名
到第三步为止,是 ScriptableObject最基础的用法,或许它的优点还不明显,接下来再举例第四步

further step. 创建区域化控制脚本(可以是GameManager这种)

回血buff例子

图书馆搜索引擎软件;iOS14桌面Scriptable精美脚本


1、图书馆搜索引擎软件。

全球100多个国家的公共图书馆、高校图书馆,聚合搜索网站和图书网站图书


https://bbs.zsxwz.com/thread-3373.htm


2、iOS14桌面组件神器Scriptable开发教程、精美脚本。

https://bbs.zsxwz.com/thread-3375.htm


使用方法:

  • 升级系统到 iOS 14;

  • 安装 Scriptable;

  • 新建一个 Script,复制 GitHub 中的代码;

  • 在桌面上添加 Scriptable 小组件,选择刚刚创建的 Script。




3、淘宝低价礼品卡卖家大部分获取渠道。

请自备代理。。。

https://bbs.zsxwz.com/thread-3374.htm




上一期:



以上是关于unity五种数据储存方法——ScriptableObject的主要内容,如果未能解决你的问题,请参考以下文章

Unity零基础到进阶 | Unity中Scriptable Object介绍学习

Unity Scriptable Render Pipeline (SRP) - 1.基本概念

Unity3D 场景切换与持久化简单数据储存(PlayerPrefs类)

AmplifyShaderEditor和Scriptable Render Pipline冲突解决方法

Unity学习使用Json长久储存ScriptableObject数据

Unity学习使用Json长久储存ScriptableObject数据