步骤一:创建ScriptableObject脚本 打开Unity编辑器并创建一个新的项目(如果尚未有项目)。 在项目的Assets文件夹中,右键点击空白区域,选择Create > C# Script。 将新创建的脚本命名为例如MyScriptableObject,然后双击打开该脚本进行编辑。 删除继承自MonoBehaviour的部分,改为继承自ScriptableObject。 csharp using UnityEng...
第一种,手动遍历ScriptableObject 首先,我们需要创建ScriptableObject对象,然后构建一个SerializedObject,接着遍历绘制SerializedObject的每一个Property。 publicclassEditorWindows:EditorWindow{privateSerializedObjectserializedObject;[MenuItem("ExtendingEditor/ShowObject Window")]publicstaticvoidShowObjectWindow(){varwindow=Editor...
ScriptableObject是一个Unity中的object,不是GameObject的实例。你可以使用它来创建一个具有自己的变量和方法的类,其开销会比MonoBehaviour更小。 Unity的GameObject会默认包含一个Transform组件,体现为:1、在Inspector中可以看到Transform组件;2、继承了MonoBehaviour的类中可以直接调用transform参数。 SO不包含Transform并且存在...
当使用编辑器运行游戏的时候,可以将数据保存到ScriptableObject里(当创建一个脚本化对象实例后使用AssetDatabase.CreateAsset()保存该资源),退出之后也不会丢失,因为它是作为Assets下的资源存在的;它是仅在编辑器中才可以保存修改的数据(因为ScriptableObject对象虽然声明在UnityEngine中,但是它的Scriptable是通过UnityEditor命...
使用[CreateAssetMenu] 属性可以创建自定义菜单项,用于在编辑器中创建 ScriptableObject 对象。 警告:不建议在游戏运行时通过代码修改 ScriptableObject 中的字段,可能会导致编辑器中出现奇怪的行为。 2.3 创建对象数据:Scriptable Object Item.cs 脚本 ItemData 类继承自 ScriptableObject,并定义了四个属性:id、displayName...
一,创建一个模板来定义每个对象包含的信息: 注意:此技能类是需要继承ScriptableObject,不需要挂载在任何gameobject上。因为是保存在文件夹当中,也可以利用此特性做到数据的储存。 using UnityEngine; [CreateAssetMenu(fileName ="New Skill",menuName ="Skills/Minion")] ...
“ScriptableObject 是一个可独立于类实例来保存大量数据的数据容器。ScriptableObject 的一个主要用例是通过避免重复值来减少项目的内存使用量。如果项目有一个预制件在附加的 MonoBehaviour 脚本中存储不变的数据,这将非常有用。 每次实例化预制件时,都会产生单独的数据副本。这种情况下可以不使用该方法并且不存储重复数据...
创建脚本MyScriptableObject usingSystem.Collections.Generic;usingUnityEngine;//ScriptableObject好像不能存储字典类型//可以直接在Project右键创建[CreateAssetMenu]publicclassMyScriptableObject:ScriptableObject{publicstringmyName="";privatevoidOnEnable(){}privatevoidOnDisable(){}privatevoidOnDestroy(){}} ...
ScriptableObjects 可以帮助您加快Unity工作流程、减少内存使用量并简化代码。 本指南提供了专业开发人员在生产中部署 ScriptableObjects 的技巧和窍门。其中包括展示如何将它们应用于特定设计模式以及如何避免常见陷阱的示例。 ScriptableObjects 可以通过将数据与逻辑分离来帮助促进干净的编码实践。这意味着更容易进行更改而不会...
1、通过Menu创建可配置的ScriptObject 2、创建一个ScriptObject对象 3、开始我们的配置工作 4、写一个测试脚本 5、创建 TestScriptableObject对象 6、运行效果 三、 ScriptableObject相应的文档 1、ScriptableObject API 文档 2、CreateInstance 总结 前言 通过本文的学习你可以快速了解SctiptableObject,本文看完只需要...