public static void CreateAsset (Object asset, string path);

Parameters

asset创建资源所使用的对象。
path新资源的文件系统路径。

Description

在此路径下创建一个新资源。

您必须确保路径使用的是支持的扩展名(材质是 '.mat'、立方体贴图是 '.cubemap'、 皮肤是 '.GUISkin'、动画是 '.anim'、其他任意资源是 '.asset')。

You can add more assets to the file using AssetDatabase.AddObjectToAsset after the asset has been created. If an asset already exists at path it will be deleted prior to creating a new asset. All paths are relative to the project folder, for example: "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)); } }