objectToAdd | 要添加到现有资源的对象。 |
path | 资源的文件系统路径。 |
将 objectToAdd
添加到 path
下的现有资源中。
请注意,您只应将资源添加到 '.asset' 资源中,导入模型或纹理资源之类的资源将丢失其数据。
所有路径均是相对于项目文件夹的路径,例如:"Assets/MyTextures/hello.png"。
注意:
您不能添加游戏对象;请改用 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");
// Add an animation clip to it
AnimationClip animationClip = new AnimationClip();
animationClip.name = "My Clip";
AssetDatabase.AddObjectToAsset(animationClip, material);
// Reimport the asset after adding an object.
// Otherwise the change only shows up when saving the project
AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(animationClip));
// Print the path of the created asset
Debug.Log(AssetDatabase.GetAssetPath(material));
}
}
将 objectToAdd
添加到由 assetObject
标识的现有资源中。
注意:
您不能添加游戏对象;请改用 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");
// Add an animation clip to it
AnimationClip animationClip = new AnimationClip();
animationClip.name = "My Clip";
AssetDatabase.AddObjectToAsset(animationClip, material);
// Reimport the asset after adding an object.
// Otherwise the change only shows up when saving the project
AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath(animationClip));
// Print the path of the created asset
Debug.Log(AssetDatabase.GetAssetPath(material));
}
}