Version: 2023.2
言語: 日本語
public static bool IsSubAsset (Object obj);
public static bool IsSubAsset (int instanceID);

パラメーター

obj 検証されるアセットオブジェクト
instanceID 検証されるアセットオブジェクトのインスタンス ID

説明

このアセットが他のアセットの一部かどうか。

アセットの中には、他のアセットの一部になっているものがあります (例えば、プロシージャルマテリアルはマテリアルパッケージに含まれます)。この関数は、アセットがこのようなサブアセットかどうかを検証します。

using UnityEditor;
using UnityEngine;
public class Scriptable : ScriptableObject
{
}

public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Is Sub Asset Example")] static void IsSubAssetExample() { var materialAsset = new Material(Shader.Find("Standard")); //materialAsset is still in memory, therefore this will be False Debug.Log(AssetDatabase.IsSubAsset(materialAsset));

//Create a Scriptable object var scriptableAssetPath = "Assets/ScriptableObjects/NewObject.asset"; var mainAsset = ScriptableObject.CreateInstance<Scriptable>(); AssetDatabase.CreateAsset(mainAsset, scriptableAssetPath);

//Add the Material Asset 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 True because the Material asset has been added to the mainAsset and is now a Sub Asset Debug.Log(AssetDatabase.IsSubAsset(materialAsset)); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961