- 创建脚本CreateAsset > 继承ScriptableObject > 添加CreateAssetMenu特性;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu]
public class CreateAsset : ScriptableObject
{
public int age;
public string usename;
public string password;
}

2. 在Editor文件夹下创建CreateAssetEditor脚本 > 添加MenuItem特性
using UnityEditor;
using UnityEngine;
public class CreateAssetEditor
{
[MenuItem("Assets/Create ScriptObject")]
static void CreateScriptObject()
{
CreateAsset createAsset = ScriptableObject.CreateInstance<CreateAsset>();
createAsset.age = 18;
createAsset.usename = "lisi";
createAsset.password = "111111";
AssetDatabase.CreateAsset(createAsset, "Assets/Resources/NewCreateAsset.asset");
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
}
}
使用[MenuItem(“Assets/Create ScriptObject”)] 特性来扩展编辑器, 作用是在 Assets菜单栏中添加了一个Create ScriptObject 的下拉菜单选项;

点击CreateScriptObject就会出现下图中新建的Asset配置文件;

**注意:**用来加载Asset配置中的数据;
CreateAsset createAsset = Resources.Load<CreateAsset>("CreateAsset");
本文详细介绍如何在Unity中通过创建脚本CreateAsset并利用CreateAssetMenu特性自动生成ScriptableObject资源,以及如何在Editor文件夹下创建CreateAssetEditor脚本来扩展编辑器功能,实现自定义资产的快速创建。
954

被折叠的 条评论
为什么被折叠?



