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)); } }