通常我们的脚本会继承MonoBehaviour,SO与其不同的是继承自ScriptableObject。 你不能直接在GameObject上使用它。上述代码中 CreateAssetMenu 属性会在Unity引擎的右键菜单中新提供一个操作选项。 点击Assets -> Create -> MyScriptableObject ,或者右键点击Project窗口,就可以从上述代码定义的SO类来实例化一个自定义资产。(...
parent.child = ScriptableObject.CreateInstance<ChildScriptableObject>(); AssetDatabase.CreateAsset(parent, Path); AssetDatabase.ImportAsset(Path); } } 将ParentScriptableObject保存为资源后,这个时候如果我们查看Inspector,会发现child的属性Type不匹配。 如果双击Type mismatch,那么ChildScriptableObject的信息将显示在...
ScriptableObject是Unity编辑器的基础,在Unity编辑器中随处可见。例如,从ScriptableObject派⽣类⽣成的诸如场景视图和游戏视图之类的编辑器窗⼝,还有从ScriptableObject派⽣类⽣成的⽤于在Inspector中显⽰GUI的Editor对象。毫不夸张地说,Unity编辑器是使⽤ScriptableObject创建的。从上图可以看出来,编辑器窗...
name = "New ChildScriptableObject"; } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 再次创建Asset。 如上图,ParentScriptableObject保存成Asset后,它的Inspector面板中,字段child变成了Type mismatch。 试着双击一下显示着Type mismatch的地方,Inspector面板便会切换为ChildScriptableObject的信息。
2、ScriptableObject基本使用 生成特性:[CreateAssetMenu(fileName = "GameObject",menuName = "GameConfig/设置"] 用处:用来在编辑器模式下保存和存储数据到本地Asset下的,数据保存以后是可以共享的,就像纹理、shader等资源一样,是可以共享于当前整个工程和其他工程的;这个ScriptableObject在真机上不可以修改,就像我们不...
usingSystem.Collections.Generic;usingUnityEngine;publicabstractclassFlockBehavior:ScriptableObject{// 当前行为群体对单体产生的力publicabstractVector2Force(FlockItemitem,List<Transform>neighbors);} 5.3.2 聚拢行为类(CohesionBehavior.cs) 定义聚拢行为类CohesionBehavior.cs,使用CreateAssetMenu方法自定义ScriptObject的...
[DeclareTabGroup("tabs")] public class TabGroupSample : ScriptableObject { [Group("tabs"), Tab("One")] public int a; [Group("tabs"), Tab("Two")] public float b; [Group("tabs"), Tab("Three")] public bool c; } Horizontal Group [DeclareHorizontalGroup("vars")] public class Horizo...
[CreateAssetMenu(menuName = “Mars/_Name_ ReasoningAPI”)] public class _Name_ReasoningAPI : ScriptableObject, IReasoningAPI { static readonly TraitDefinition[] k_ProvidedTraits; static readonly TraitRequirement[] k_RequiredTraits; public float processSceneInterval { get; } public TraitDefinition[...
A feature is an ScriptableObject that can be drag-n-dropped in the renderer and adds one or more ScriptableRenderPass to the renderer. ScriptableRenderer now exposes interface to configure lights. To do so, implement SetupLights when you create a new renderer. ScriptableRender...
SerializedObject 类的构造函数显示传入 UnityEngine.Object 对象就可以创建,但是使用时发现自己直接继承自 UnityEngine.Object 的类会创建失败,内置的几个类可以正常使用 MonoBehaviour ,ScriptableObject , Editor ,EditorWindow,而一般情况下需要序列化的类我会继承 ScriptableObject 。