一般情况下,文件meta中的GUID即为资产唯一ID
但是像FBX这样,内置了多个资产的,就不能使用文件meta的GUID
(string, string) FindFbxMeshGuidAndFileId(string fbxPath)
{
List<string> meshGuids = new List<string>();
var allAssetPaths = AssetDatabase.LoadAllAssetsAtPath(fbxPath);
foreach(var assetObj in allAssetPaths)
{
if (assetObj is Mesh)
{
if (AssetDatabase.TryGetGUIDAndLocalFileIdentifier(assetObj, out var guid, out long fileId))
{
return (guid, fileId);
}
}
}
return (string.Empty, string.Empty);
}
以上代码即可获得FBX中第1个Mesh的(Guid, fileId)引用