发布网友 发布时间:2024-10-24 01:00
共1个回答
热心网友 时间:2024-11-08 04:15
Unity 2018.2
.Net 4.x Equivalent
在Unity 2017中引入了新类型ScriptableObject,有不少文章提及它可以作为容器保存序列化后的数据,且可以实时修改,实时保存。本次尝试探究该类型在实际生产中的可行性与定位。
官方 文档 上有一段话值得细细研读下。
笔者的理解是: ScriptableObjects这个类型并不推荐在正式的(交付后)运行中保存实时数据,我们可以更多地用它在开发过程中实时地保存调试数据 。
如果真的想利用ScriptableObjects在正式运行中保存数据,笔者能想到的一个方式是将该ScriptableObjects Asset打入AB包。初始运行时,将该AB包拷贝入可写目录PersistentDataPath中,后续通过加载AB的形式加载该Asset。笔者没有尝试该方法,是觉得这样加载一个ScriptableObjects Asset的形式已经不如直接在PersistentDataPath读写一个自定义的文件来得简单明了了。当然,如果你定义的ScriptableObjects Asset中有相当多的初始数值,那还是值得一试。