Version: 2022.3

AssetDatabase

class in UnityEditor

切换到手册

描述

用于访问资源并针对资源执行操作的接口。

静态变量

ActiveRefreshImportModeGets the refresh import mode currently in use by the asset database.
DesiredWorkerCountThe desired number of processes to use when importing assets, during an asset database refresh.
GlobalArtifactDependencyVersionChanges during Refresh if anything has changed that can invalidate any artifact.
GlobalArtifactProcessedVersionChanges whenever a new artifact is added to the artifact database.
onImportPackageItemsCompletedCallback raised whenever a package import successfully completes that lists the items selected to be imported.

静态函数

AddObjectToAsset将 objectToAdd 添加到 path 下的现有资源中。
AllowAutoRefresh递减 Unity 用于确定是否允许自动 AssetDatabase 刷新行为的内部计数器。
AssetPathToGUID获取 path 下资源的 GUID。
CanConnectToCacheServerChecks the availability of the Cache Server.
CanOpenAssetInEditorChecks if Unity can open an asset in the Editor.
CanOpenForEditQuery whether an Asset file can be opened for editing in version control and is not exclusively locked by another user or otherwise unavailable.
ClearImporterOverride清除资源的导入器覆盖。
ClearLabels删除附加到资源的所有标签。
CloseCacheServerConnectionCloses an active cache server connection. If no connection is active, then it does nothing.
Contains对象是否为资源?
CopyAsset复制 path 下的资源并将其存储在 newPath 下。
CreateAssetCreates a new native Unity asset.
CreateFolderCreates a new folder, in the specified parent folder.The parent folder string must start with the "Assets" folder, and all folders within the parent folder string must already exist. For example, when specifying "Assets/ParentFolder1/Parentfolder2/", the new folder will be created in "ParentFolder2" only if ParentFolder1 and ParentFolder2 already exist.
DeleteAssetDeletes the specified asset or folder.
DeleteAssetsLets you delete multiple assets or folders at once with performance benefits under version control.
DisallowAutoRefresh递增 Unity 用于确定是否允许自动 AssetDatabase 刷新行为的内部计数器。
ExportPackage将由 **assetPathNames** 标识的资源导出到 **fileName** 中的 unitypackage 文件中。
ExtractAsset通过在导入资源(例如,FBX 文件)中提取外部资源,在对象(例如,材质)中创建此资源。
FindAssets使用搜索筛选器字符串搜索资源数据库。
ForceReserializeAssets强制加载给定资源并将其重新序列化,这样会将所有待定数据更改都刷新到磁盘。
ForceToDesiredWorkerCountForces the Editor to use the desired amount of worker processes. Unity will either spawn new worker processes or shut down idle worker processes to reach the desired number.
GenerateUniqueAssetPath为资源创建一个新的唯一路径。
GetAllAssetBundleNames返回资源数据库中所有的 AssetBundle 名称。
GetAssetBundleDependencies给定一个 **assetBundleName**,返回其依赖的 AssetBundle 列表。
GetAssetDependencyHash返回资源所有依赖项的哈希值。
GetAssetOrScenePath返回相对于存储资源的项目文件夹的路径名称。
GetAssetPath返回相对于存储资源的项目文件夹的路径名称。
GetAssetPathFromTextMetaFilePath获取与 .meta 文本文件关联的资源文件的路径。
GetAssetPathsFromAssetBundle返回一个数组,其中包含使用指定资源包名称标记的所有资源的路径。
GetAssetPathsFromAssetBundleAndAssetName获取所有标有 assetBundleName 且有指定 assetName 的 资源的资源路径。
GetAvailableImportersGets the importer types associated with a given Asset path.
GetCachedIcon在给定资源路径下检索资源的图标。
GetCacheServerAddressGets the IP address of the Cache Server in Editor Settings.
GetCacheServerEnableDownloadGets the Cache Server Download option from Editor Settings.
GetCacheServerEnableUploadGets the Cache Server Upload option from Editor Settings.
GetCacheServerNamespacePrefixGets the Cache Server Namespace prefix set in Editor Settings.
GetCacheServerPortGets the Port number of the Cache Server in Editor Settings.
GetCurrentCacheServerIp获取 Editor 当前使用的缓存服务器的 IP 地址。
GetDefaultImporterReturns the Default Importer associated with the asset located at the supplied path. When no Importer override is set, then the default importer is used. See Also: AssetDatabase.GetImporterOverride, AssetDatabase.ClearImporterOverride.
GetDependencies返回一个数组,其中包含作为指定 **pathName** 处资源的依赖关系的所有资源。**注意:**GetDependencies() 获取其他资源所引用的资源。例如,一个场景可以包含许多附加了材质的 GameObjects。在此情况下,GetDependencies() 会返回材质资源的路径,而不是 GameObjects,因为这些不是磁盘上的资源。
GetImplicitAssetBundleName返回给定资源所属的 AssetBundle 的名称。
GetImplicitAssetBundleVariantName返回给定资源所属的 AssetBundle 变体的名称。
GetImporterOverride返回覆盖导入器的类型。
GetImporterTypeReturns the type of importer associated with an asset without loading the asset.
GetImporterTypesReturns the types of importers associated with the specified array of assets, without loading those assets.
GetLabels返回给定资源上的所有标签。
GetMainAssetTypeAtPath返回 assetPath 下主资源对象的类型。
GetSubFolders给定 Assets 文件夹中目录相对于项目文件夹的路径,此方法将返回其所有子目录的数组。
GetTextMetaFilePathFromAssetPath获取与资源关联的 .meta 文本文件的路径。
GetTypeFromPathAndFileIDGets an object's type from an Asset path and a local file identifier.
GetUnusedAssetBundleNames返回资源数据库中所有未使用的 assetBundle 名称。
GUIDFromAssetPath获取 path 下资源的 GUID。
GUIDToAssetPathGets the corresponding asset path for the supplied GUID, or an empty string if the GUID can't be found.
ImportAsset在路径下导入资源。
ImportPackage将 **packagePath** 下的包导入到当前项目。
InstanceIDsToGUIDsSets a NativeArray of UnityEditor.GUIDs for every valid Instance ID that is an asset.
IsCacheServerEnabledChecks whether the Cache Server is enabled in Project Settings.
IsConnectedToCacheServerChecks connection status of the Cache Server.
IsDirectoryMonitoringEnabledReports whether Directory Monitoring is enabled.
IsForeignAsset确定资源是否为外部资源。
IsMainAsset资源是否为 Project 窗口中的主资源?
IsMainAssetAtPathLoaded如果在内存中加载 assetPath 下的主资源对象,则返回 true。
IsMetaFileOpenForEdit查询资源的元数据 (.meta) 文件是否在版本控制中打开以供编辑。
IsNativeAsset确定资源是否为原生资源。
IsOpenForEdit查询是否在版本控制中打开资源文件进行编辑。
IsSubAsset资源是否构成了其他资源的一部分?
IsValidFolder给定文件夹的路径,如果存在,则返回 true;否则,返回 false。
LoadAllAssetRepresentationsAtPath返回 assetPath 下所有的子资源。
LoadAllAssetsAtPath返回一个含 assetPath 下所有资源的数组。
LoadAssetAtPath返回给定路径 **assetPath** 下 **type** 类型的第一个资源对象。
LoadMainAssetAtPath返回 assetPath 下的主资源对象。The "main" Asset is the Asset at the root of a hierarchy (such as a Maya file which may contain multiples meshes and GameObjects).
LoadObjectAsyncLoads a specific Object and its dependencies from an Asset file asynchronously.
MakeEditable在版本控制中使文件成为“打开以进行编辑”。
MoveAsset将资源文件(或文件夹)从一个文件夹移动到另一个文件夹。
MoveAssetsToTrashLets you move multiple assets or folders to trash at once with performance benefits under version control.
MoveAssetToTrashMoves the specified asset or folder to the OS trash.
OpenAsset使用关联的应用程序打开资源。
Refresh导入所有更改的资源。
RefreshSettingsApply pending Editor Settings changes to the Asset pipeline.
RegisterCustomDependencyAllows you to register a custom dependency that Assets can be dependent on. If you register a custom dependency, and specify that an Asset is dependent on it, then the Asset will get re-imported if the custom dependency changes.
ReleaseCachedFileHandles调用此函数将释放 Unity 内部缓存的文件句柄。这允许安全地修改资源或元文件,从而避免潜在的文件共享 IO 错误。
RemoveAssetBundleName从资源数据库中删除 assetBundle 名称。ForceRemove 标志用于指示您是否要将其删除,即使您正在使用它。
RemoveObjectFromAsset从其资源中删除对象(另外请参阅:AssetDatabase.AddObjectToAsset)。
RemoveUnusedAssetBundleNames删除资源数据库中所有未使用的 assetBundle 名称。
RenameAsset为资源文件重命名。
ResetCacheServerReconnectTimerResets the internal cache server connection reconnect timer values. The default delay timer value is 1 second, and the max delay value is 5 minutes. Everytime a connection attempt fails it will double the delay timer value, until a maximum time of the max value.
SaveAssetIfDirtyWrites all unsaved changes to the specified asset to disk.
SaveAssets将所有未保存的资源更改写入磁盘。
SetImporterOverride将特定导入器设置为用于资源。
SetLabels替换资源上的标签列表。
SetMainObject指定资源文件中的哪个对象在下次导入后应成为主对象。
StartAssetEditing开始将资源导入到资源数据库中。这可用于将多个资源导入组合成一个更大的导入。**注意:** 调用 AssetDatabase.StartAssetEditing() 会将资源数据库置于阻止导入的状态,直到调用 AssetDatabase.StopAssetEditing()。 这意味着如果在两个函数调用之间发生异常,则 AssetDatabase 会无响应。 因此,强烈建议根据需要将对 AssetDatabase.StartAssetEditing() 和 AssetDatabase.StopAssetEditing() 的调用置于 try..catch 代码块或 try..finally 代码块中。
StopAssetEditing停止将资源导入到资源数据库中。这可用于将多个资源导入组合成一个更大的导入。**注意:** 调用 AssetDatabase.StartAssetEditing() 会将资源数据库置于阻止导入的状态,直到调用 AssetDatabase.StopAssetEditing()。 这意味着如果在两个函数调用之间发生异常,则 AssetDatabase 会无响应。 因此,强烈建议根据需要将对 AssetDatabase.StartAssetEditing() 和 AssetDatabase.StopAssetEditing() 的调用置于 try..catch 代码块或 try..finally 代码块中。
TryGetGUIDAndLocalFileIdentifier从对象实例 ID 中获取 GUID 和本地文件 ID。
UnregisterCustomDependencyPrefixFilterRemoves custom dependencies that match the prefixFilter.
ValidateMoveAsset检查是否可以将资源文件从一个文件夹移动到另一文件夹。(不是真正移动文件)。
WriteImportSettingsIfDirty将导入设置写入磁盘。

Events

cacheServerConnectionChangedUnity raises this event when Cache Server connection is changed.
importPackageCancelled用户取消导入包时引发的回调。
importPackageCompleted成功导入包时引发的回调。
importPackageFailed包导入失败时引发的回调。
importPackageStarted开始导入包时引发的回调。

委托

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