版本:Unity 6 (6000.0)
语言英语
  • C#

AssetDatabase.IsForeignAsset

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有意见,但我们会阅读用户建议的每一处更改,并在适用的情况下进行更新。

关闭

发送失败

由于某些原因,您的建议更改未能提交。请在几分钟后<a>重试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static bool IsForeignAsset(Object obj);

声明

public static bool IsForeignAsset(int instanceID);

描述

确定该资产是否是外部资产。

外部资产是您导入到 Unity 项目中的外部文件(例如,.png 纹理文件是外部资产)。
在导入外部资产后,Unity 将在项目的库文件夹中生成数据的序列化表示。当首次将该资产添加到项目中以及在 Unity 外部更新外部资产时会执行此操作。

其他资源:AssetDatabase.IsNativeAsset

using UnityEditor;
using UnityEngine;

public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Find Foreign Assets")] static void FindForeignAssets() { //Find all foreign assets foreach (var guid in AssetDatabase.FindAssets("",new []{"Assets"})) { var path = AssetDatabase.GUIDToAssetPath(guid); var asset = AssetDatabase.LoadMainAssetAtPath(path); var assetIsForeign = AssetDatabase.IsForeignAsset(asset); if(assetIsForeign) Debug.Log(asset); } } }