(一)ScriptableObject 是什么?
继承自UnityEngine.Object且字段能被序列化的类(Unity中用于处理序列化的,能够生成单独Asset结构的资源文件;)
Unity内部的Asset (Material 或者 AnimationClip 等) 都是从 UnityEngine.Object 衍生出来的。为了制作单独的Asset,需要制作 UnityEngine.Object 的子类。不过对于用户而言是不允许制作UnityEngine.Object 的子类。所以用户如果要利用Unity中的序列化结构、生成单独的Asset,就必须借助 ScriptableObject;
(二)SciptableObject & MonoBehaviour
相同点:支持序列化,能在Inspector面板中显示数据;
不同点:
MonoBehaviour | ScriptableObject |
运行时修改的数据不会在退出运行时保存下来; |