Unity API(五) ------ AssetDatabase

一.描述

用于访问资产和对资产执行操作的接口。

官网 : https://docs.unity3d.com/ScriptReference/AssetDatabase.html

二.API

1.静态方法

AddObjectToAsset将objectToAdd添加到路径中的现有资产。
AssetPathToGUID获取路径资产的GUID。
ClearLabels删除附加到资产的所有标签。
Contains对象是资产吗?
CopyAsset在路径上复制资产并将其存储在newPath中。
CreateAsset在路径上创建新资产。
CreateFolder新建一个文件夹。
DeleteAsset删除路径中的资产文件。
ExportPackage将assetPathNames标识的资产导出到fileName中的unitypackage文件。
ExtractAsset通过从导入的资源(例如FBX文件)中提取外部资产,从对象(例如材质)创建外部资产。
FindAssets使用搜索过滤器字符串搜索资产数据库。
ForceReserializeAssets强制加载并重新序列化给定资产,将任何未完成的数据更改刷新到磁盘。
GenerateUniqueAssetPath为资产创建新的唯一路径。
GetAllAssetBundleNames返回资产数据库中的所有AssetBundle名称。
GetAssetBundleDependencies给定assetBundleName,返回它依赖的AssetBundle列表。
GetAssetDependencyHash返回资产的所有依赖项的哈希值。
GetAssetOrScenePath返回相对于存储资产的项目文件夹的路径名。
GetAssetPath返回相对于存储资产的项目文件夹的路径名。
GetAssetPathFromTextMetaFilePath获取与文本.meta文件关联的资产文件的路径。
GetAssetPathsFromAssetBundle获取已使用给定assetBundle名称标记的资产的路径。
GetAssetPathsFromAssetBundleAndAssetName获取标有assetBundleName且命名为assetName的所有资产的资产路径。
GetCachedIcon在给定资产路径中检索资产的图标。
GetCurrentCacheServerIp获取编辑器当前正在使用的缓存服务器的IP地址。
GetDependencies给定pathName,返回它依赖的所有资产的列表。
GetImplicitAssetBundleName返回给定资产所属的AssetBundle的名称。
GetImplicitAssetBundleVariantName返回给定资产所属的AssetBundle Variant的名称。
GetLabels返回附加到给定资产的所有标签。
GetMainAssetTypeAtPath返回assetPath处的主资产对象的类型。
GetSubFolders给定Assets文件夹中目录的路径,相对于项目文件夹,此方法将返回其所有子目录的数组。
GetTextMetaFilePathFromAssetPath获取与资产关联的文本.meta文件的路径。
GetUnusedAssetBundleNames返回资产数据库中所有未使用的assetBundle名称。
GUIDToAssetPath将GUID转换为其当前资产路径。
ImportAsset在路径导入资产。
ImportPackage将packagePath中的包导入当前项目。
IsForeignAsset确定资产是否为外国资产。
IsMainAsset资产是项目窗口中的主要资产吗?
IsMainAssetAtPathLoaded如果assetPath中的主资产对象已加载到内存中,则返回true。
IsMetaFileOpenForEdit查询资产的元数据(.meta)文件是否在版本控制中打开以进行编辑。
IsNativeAsset确定资产是否为本机资产。
IsOpenForEdit查询资产文件是否在版本控制中打开以进行编辑。
IsSubAsset资产是否构成另一项资产的一部分?
IsValidFolder给定文件夹的路径,如果存在则返回true,否则返回false。
LoadAllAssetRepresentationsAtPath返回assetPath处的所有子资产。
LoadAllAssetsAtPath返回assetPath上所有Assets的数组。
LoadAssetAtPath返回给定路径assetPath处的类型类型的第一个资产对象。
LoadMainAssetAtPath返回assetPath的主资产对象。
MoveAsset将资产文件(或文件夹)从一个文件夹移动到另一个文件夹。
MoveAssetToTrash将资产在路径上移动到垃圾箱。
OpenAsset打开具有关联应用程序的资产。
Refresh导入任何已更改的资产
ReleaseCachedFileHandles调用此函数将释放Unity内部缓存的文件句柄。这允许安全地修改资产或元文件,从而避免潜在的文件共享IO错误。
RemoveAssetBundleName从资产数据库中删除assetBundle名称。forceRemove标志用于指示您是否要删除它,即使它正在使用中。
RemoveUnusedAssetBundleNames删除资产数据库中所有未使用的assetBundle名称。
RenameAsset重命名资产文件。
SaveAssets将所有未保存的资产更改写入磁盘。
SetLabels替换资产上的标签列表。
SetMainObject指定资产文件中的哪个对象在下次导入后应成为主对象。
StartAssetEditing开始资产导入。这使您可以将多个资产导入组合成一个较大的导入。
StopAssetEditing停止资产导入。这使您可以将多个资产导入组合成一个较大的导入。
TryGetGUIDAndLocalFileIdentifier警告使用带有long localId参数的重载。使用带有整数localId参数的重载可能会导致localId中出现整数溢出。当传递给API的对象是Prefab的一部分时,可能会发生这种情况。从对象实例id获取GUID和本地文件ID。
ValidateMoveAsset检查资产文件是否可以从一个文件夹移动到另一个文件夹。(没有实际移动文件)。
WriteImportSettingsIfDirty将导入设置写入磁盘。

2.事件

importPackageCancelled每当用户取消包导入时,都会引发回调。
importPackageCompleted每当程序包导入成功完成时都会引发回调。
importPackageFailed程序包导入失败时会引发回调。
importPackageStarted每当包导入开始时都会引发回调。

3.委托

ImportPackageCallback委托从AssetDatabase.ImportPackage回调中调用。packageName是引发回调的包的名称。
ImportPackageFailedCallback委托从AssetDatabase.ImportPackage回调中调用。packageName是引发回调的包的名称。errorMessage是失败的原因。

三.使用

因为使用到了AssetDatabase .FindAssets才来看这个类中的函数,觉得这个挺有用的

返回值: 

string [] 匹配资产的数组。请注意,将返回GUID。

参数 :

过滤过滤字符串可以包含搜索数据。有关此字符串的详细信息,请参阅
searchInFolders搜索将开始的文件夹。

过滤 :

名称:按文件名过滤资产(不带扩展名)。由空格分隔的单词被视为单独的名称搜索。因此,例如"test asset",是要搜索的资产的名称。请注意,name:可用于标识资产。此外,过滤器中使用的名称string可以指定为子部分。test asset例如,可以使用匹配上面的示例test

标签:资产可以贴上标签。可以在每个标签前使用关键字“l:”找到具有特定标签的资产。这表示该字符串正在搜索标签。

类型:根据明确标识的类型查找资产。关键字“t:”用作指定要查找的类型资产的方法。如果过滤器中包含多个类型string,则将返回与一个类匹配的资产。类型可以构建为类型,也可以是Texture2D用户创建的脚本类。用户创建的类是从项目中的ScriptableObject类创建的资产。如果需要所有资产,则使用Object从Object派生的所有资产。使用searchInFolders参数指定一个或多个文件夹将限制搜索这些文件夹及其子文件夹。这比搜索所有文件夹中的所有资产要快。
 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值