对ScriptableObject 派生类型进行标记,使其自动列在 Assets/Create 子菜单中,以便能够轻松创建该类型的实例并将其作为“.asset”文件存储在项目中。 变量 fileName此类型的新建实例使用的默认文件名。 menuNameAssets/Create 菜单中显示的此类型的显示名称。
类上面添加一行 [CreateAssetMenu(fileName = "Bullet", menuName = "New Bullet", order = 1)] 作用在 Assets 文件夹下,鼠标右键,菜单栏中添加一个按钮项,菜单名为 menuName,并执行生成名为 fileName 的脚本,order 为按钮显示顺序 创建ScriptableObject类文件: using System.Collections; using System.Collectio...
类上面添加一行 [CreateAssetMenu(fileName = "Bullet", menuName = "New Bullet", order = 1)] 作用在 Assets 文件夹下,鼠标右键,菜单栏中添加一个按钮项,菜单名为 menuName,并执行生成名为 fileName 的脚本,order 为按钮显示顺序 创建ScriptableObject类文件: using System.Collections; using System.Collectio...
2、创建ScriptableObject类 using UnityEngine; [CreateAssetMenu(menuName = "装备/物品")] public class ItemSO : ScriptableObject { public Sprite itemSprite;//物品图片public EquipType equipType;//物品类型public string itemName;//物品名称[TextArea(4,4)]//Text的特性,可以自定义书写范围的大小public st...
这会在 Asset/Create 菜单中新增一个条目,让我们将其放在 Rendering 子菜单中以保持菜单栏的清晰,方法就是将 menuName 属性设置为 Rendering/Custom Render Pipeline ,此属性可以直接在特性类型之后设置,放在圆括号内。 [CreateAssetMenu(menuName = "Rendering/Custom Render Pipeline")] ...
ContextMenuItemAttribute -> 给字段添加右键方法 使用该属性可将上下文菜单添加到调用命名方法的字段。 代码 右键菜单新增按钮 点击方法 CreateAssetMenuAttribute-> 在右键菜单中快速添加创建Scriptableobject 对ScriptableObject 派生类型进行标记,使其自动列在 Assets/Create 子菜单中,以便能够轻松创建该类型的实例并将其作...
本篇介绍物品类数据的记录方式,首先我们想到的是ScriptableObject(下简称“SO”)来解决储存问题, 一般想来我们会直接在SO文件中直接定义需要用到的字段。 我们以创建一个菜品的物品为例,我们定义两个字段做说明。 usingUnityEngine;[CreateAssetMenu(fileName="DishesData",menuName="Inventory/DishesData")]publicclass...
使用CreateAssetMenu的Attribute的作用是使得其可以在Project窗口中右键生成: ScriptObject与System.Serializable的差别 初学者可能会对这两个比较困扰(我一开始就比较困扰),一开始我把ScriptObject拖拽到Monobehaviour上面发现其不会显示出ScriptObject的属性 然后我在ScriptObject上面加上[System.Serializable],也是没用: ...
首先得有一个继承ScriptableObject的类,这是进行序列化为.asset文件必不可少的部分 ForExample: publicclassTestAsset:ScriptableObject{[SerializeField]stringname;} 接下来就是创建.asset文件了,有2种方式 Way 1: [MenuItem("CreateAsset/Test")]staticvoidCreate(){ScriptableObjectasset=ScriptableObject.CreateInstance<...
using UnityEngine;[CreateAssetMenu(fileName="TestScriptableObject")]publicclassTestScriptableObject:ScriptableObject{publicAudioClip[]audioClips;publicvoidPlayAudioClip(int i){AudioSource.PlayClipAtPoint(audioClips[i],Vector3.zero);}} 接下来,在项目视图中选择Create→TestScriptableObject。这将创建一个资产文件...