在Unity编辑器中修改ScriptableObject中的数据,并保存场景或项目。 重启Unity编辑器,检查之前修改的数据是否已经正确保存并恢复。 通过以上步骤,你可以在Unity中成功保存和加载ScriptableObject实例的数据。如果你需要在游戏运行时动态创建和保存ScriptableObject,可以使用ScriptableObject.CreateInstance<T>()方法创建实例,并...
scriptableObject更不能做数据存档了,它不支持实机序列化保存,官方也明确提到它仅用于配置文件。其文件一...
在类的上方加入一行,得到 [CreateAssetMenu(menuName="右键菜单下的目录",fileName="创建出来的文件名",order=排序的优先级)]publicclassMyScriptableObject:ScriptableObject{//你的内容(变量,方法等)} 右键菜单下的目录例如:myScriptableObject/Enemy/Create Boss 文件名如:new Boss 排序优先级写0就行 保存代码打开...
使用[CreateAssetMenu], 在Unity中右键指定的菜单即可创建ScriptableObject类型的资源. 如图: 然后手动填写对应的值, 就能持久化下来, 最后加载资源进行实例化即可得到对象. public static void Deserialize(string filePath) { ScriptableObjectTest test = AssetDatabase.LoadAssetAtPath<ScriptableObjectTest>(filePath); } ...
如果你在unity编辑器里制作了很多ScriptableObject资源,想通过代码自动化管理,可以使用AssetDataBase API和json序列化做到 以卡牌游戏为例: 1 private void LoadAllCards() 2 { 3 if (File.Exists(PATH)) 4
【Unity小技巧】使用ScriptableObject保存数据,优化内存占用, 视频播放量 6521、弹幕量 63、点赞数 215、投硬币枚数 76、收藏人数 388、转发人数 17, 视频作者 机智Witty, 作者简介 独立游戏开发者,相关视频:学习Interface接口,开发人员必不可少的技能!!,2分钟用Unit
public class PlayerDataScriptableObject : ScriptableObject { [Header("玩家 ID")] public int playerId; [Header("玩家 分数")] public float playerScore; [Header("玩家 名称")] public string playerName; [Header("玩家 地址")] public string playerAddress; ...
什么是ScriptableObject: 查阅Unity官方手册解释成为ScriptableObject是一个数据容器,可用于保存大量数据,而与类实例无关。ScriptableObject的主要用例之一是通过避免复制值来减少项目的内存使用量 就像MonoBehaviour一样,ScriptableObject派生自基本Unity对象,但与MonoBehaviour不同,不能将ScriptableObject附加到游戏对象,只能将他们保存...
3.ScriptableObject除了可以存储数据外,我们还可以在ScriptableObject中定义一些方法。。这类似于插槽设计模式,ScriptableObject提供一些槽,MonoBehaviour可以把自己插进去。适用于AI类型、回血的buff或debuffs等(回血例子见结尾) 如何实现? step1.创建你用于共享数据的类(例如EnemyData) ...