Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

AssetDatabase.IsMainAsset

Объявление

public static bool IsMainAsset(Object obj);

public static bool IsMainAsset(int instanceID);

Описание

Является ли ресурс основным в окне проекта?

Например, импортированная модель имеет игровой объект в качестве корня, а также несколько мешей и дочерних игровых объектов. в развернутом состоянии. Корневой игровой объект в этом случае является основным активом.

using UnityEditor; using UnityEngine; public class Scriptable : ScriptableObject { } public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Is Main Asset Example")] static void IsMainAssetExample() { var materialAsset = new Material(Shader.Find("Standard")); //materialAsset все еще находится в памяти, поэтому это будет False Debug.Log(AssetDatabase.IsMainAsset(materialAsset)); //Создать скриптовый объект var scriptableAssetPath = "Assets/ScriptableObjects/NewObject.asset"; var mainAsset = ScriptableObject.CreateInstance(); AssetDatabase.CreateAsset(mainAsset, scriptableAssetPath); //Add the MaterialAsset to the Scriptable object, so that the Material becomes a Sub Asset of the Scriptable object AssetDatabase.AddObjectToAsset(materialAsset, scriptableAssetPath); AssetDatabase.SaveAssets(); //This will be false because material asset has been added to the main Asset and is now a Sub AssetDebug.Log(AssetDatabase.IsMainAsset(materialAsset)); //Remove the subAsset from the Scriptable object and create it as an AssetAssetDatabase.RemoveObjectFromAsset(materialAsset); AssetDatabase.CreateAsset(materialAsset, "Assets/Materials/New Mat0.mat"); //This will be True because the material is now the main AssetDebug.Log(AssetDatabase.IsMainAsset(materialAsset)); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3