asset | 创建资源所使用的对象。 |
path | 新资源的文件系统路径。 |
在此路径下创建一个新资源。
您必须确保路径使用的是支持的扩展名(材质是 '.mat'、立方体贴图是 '.cubemap'、
皮肤是 '.GUISkin'、动画是 '.anim'、其他任意资源是 '.asset')。
您可以在创建资源后,使用 AssetDatabase.AddObjectToAsset 向文件添加更多资源。
如果 path
下已存在资源,那么在创建新资源前需将其删除。
所有路径均是相对于项目文件夹的路径,例如:"Assets/MyStuff/hello.mat"。
请注意,如果向资源添加多个对象,添加对象的顺序并不重要。
换言之,asset
在资源中并不具有特殊性也不会是之后所添加对象的任何形式的 "root"
。在项目视图中显示为资源主要对象的对象是
对象集合中被视为最重要的对象(具有由类型决定)。
注意:
您不能从游戏对象创建资源,请改用 PrefabUtility 类。
using UnityEngine;
using UnityEditor;
public class CreateMaterialExample : MonoBehaviour
{
[MenuItem("GameObject/Create Material")]
static void CreateMaterial()
{
// Create a simple material asset
Material material = new Material(Shader.Find("Specular"));
AssetDatabase.CreateAsset(material, "Assets/MyMaterial.mat");
// Print the path of the created asset
Debug.Log(AssetDatabase.GetAssetPath(material));
}
}