AssetDatabase.SetMainObject
Declaration
public static void SetMainObject(Object mainObject, string assetPath);Параметры
| Параметр | Описание |
|---|---|
| mainObject | Объект становится основным объектом. |
| assetPath | Путь к файлу ассета. |
Описание
Указывает, какой объект в файле ассетов должен стать основным объектом после следующей импортировки.
Все остальные объекты в ассете становятся дочерними объектами главного объекта. NOTE: Эта функция изменяет объект импортера, а не сам ассет. Следующий импорт отражает изменение в импортированном ассете.
using UnityEditor; using UnityEngine;
public class Scriptable : ScriptableObject { } public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Set Main Object Example")] public static void SetMainObjectExample() { //Create a Scriptable Object and a Material var materialAsset = new Material(Shader.Find("Standard")); var scriptableAssetPath = "Assets/ScriptableObjects/NewObject.asset"; var mainAsset = ScriptableObject.CreateInstance<Scriptable>(); AssetDatabase.CreateAsset(mainAsset, scriptableAssetPath);
//Add the Material to the Scriptable Object AssetDatabase.AddObjectToAsset(materialAsset, scriptableAssetPath); AssetDatabase.SaveAssets();
//Set the Material to be the main Object and import it AssetDatabase.SetMainObject(materialAsset, scriptableAssetPath); AssetDatabase.ImportAsset(scriptableAssetPath); } }