Version: 5.5
public static void AddObjectToAsset (Object objectToAdd, string path);

パラメーター

objectToAdd 既存のアセットに追加するオブジェクト
path アセットのファイルシステム上のパス

説明

path に存在するアセットに objectToAdd を追加

すべてのパスは、例えば "Assets/MyTextures/hello.png" のような Project フォルダーに対する相対パスです。

注意:

GameObject を加えることはできません。代わりに、 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)); } }

public static void AddObjectToAsset (Object objectToAdd, Object assetObject);

説明

assetObject によって指定される既存のアセットに objectToAdd を追加

注意:

GameObject を加えることはできません。代わりに、 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)); } }