当前位置: 首页 > news >正文

【UE】判断一个Package是否是重定向器

判断一个Package是否是重定向器

最近在做一个构建需求的时候,需要处理重定向器的问题
一开始用UEditorAssetLibrary::LoadAsset加载出来判断,但是无法处理umap
之后改用AssetRegistry扫出来判断类型,效率也还行,在此做一下记录
构造出一个umap的重定向器来实验

C++实现

boolUBlueprintFunctionLibraryExtend::IsPackageRedirector(constFString&PackageName){FAssetRegistryModule&AssetRegistryModule=FModuleManager::LoadModuleChecked<FAssetRegistryModule>("AssetRegistry");IAssetRegistry&AssetRegistry=AssetRegistryModule.Get();FString PackagePath=FPaths::GetPath(PackageName);FString AssetName=FPaths::GetBaseFilename(PackageName);TArray<FAssetData>AssetDatas;AssetRegistry.GetAssetsByPath(FName(*PackagePath),AssetDatas,false);for(constFAssetData&AssetData:AssetDatas){if(AssetData.AssetName.ToString()==AssetName){returnAssetData.AssetClass==FName(TEXT("ObjectRedirector"));}}UE_LOG(LogTemp,Error,TEXT("[Error] Can't find asset data for `%s`."),*PackageName);returnfalse;}


Python实现

importosimportunreal asset_registry=Nonedefis_package_redirector(package_name)->bool:""" 判断一个Package Name指向的资产是否是重定向器 Args: package_name (str): 资产Package名 Returns: bool: package_name指向的资产是否是重定向器 """globalasset_registryifasset_registryisNone:asset_registry=unreal.AssetRegistryHelpers.get_asset_registry()asset_name=os.path.basename(package_name)forasset_datainasset_registry.get_assets_by_path(os.path.dirname(package_name),recursive=False):asset_data:unreal.AssetDataifasset_data.asset_name==asset_name:returnasset_data.asset_class=="ObjectRedirector"unreal.log_error(f"[Error] Can`t find asset data for `{package_name}`.")returnFalse

http://www.jsqmd.com/news/1236460/

相关文章:

  • 聚惠星商城核心功能详解:单店铺到多商家入驻的一站式解决方案
  • 2026漯河第三方验房检测排名 TOP5 CMA 资质提供房屋质量检测、水电验收、墙面地面检测一站式服务 联系方式推荐 - 科信检测
  • React-Blog:数据库设计与MySQL最佳实践指南
  • 计算机毕业设计之基于springboot的乡村生态旅游平台
  • iCloud照片备份终极指南:3种方法实现自动化数据安全
  • 2026兴安盟电能质量评估检测排名 TOP5 CMA 资质提供电网谐波、闪变波动、功率因数上门检测一站式服务 联系方式推荐 - 鉴安检测
  • GeoIP替代方案对比:为什么选择Ruby geoip而不是其他IP查询库
  • Ubuntu 自动化安装脚本 vs 手动配置:为什么选择自动化脚本?
  • Simple-Unity-Audio-Manager与Timeline集成:打造专业级游戏音频体验
  • Kubedog 高级用法:自定义跟踪器实现个性化资源监控策略
  • libsm64纹理与动画数据加载:从ROM中提取游戏资产的完整指南
  • 重庆音响升级难题破解:正信汽车音响的核心优势,问界原车音响升级/原车音响升级/路虎音响改装,音响升级门店找哪家 - 音响改装门店分享
  • 2026松原第三方验房检测排名 TOP5 CMA 资质提供房屋质量检测、水电验收、墙面地面检测一站式服务 联系方式推荐 - 科信检测
  • 2026孝感第三方验房检测排名 TOP5 CMA 资质提供房屋质量检测、水电验收、墙面地面检测一站式服务 联系方式推荐 - 科信检测
  • 计算机毕业设计之基于SpringBoot的乡村贫困帮扶App的设计与实现
  • 2026上海靠谱包包回收门店推荐,全城16区连锁门店可就近变现 - 生活商业速报
  • python-pptx深度解析:使用Python创建和定制PowerPoint图表实践指南
  • 厦门各区黄金回收收的顶 免费验金极速打款 - 日常比对手册
  • 【搜索结果纯净度提升83%】:基于Query-Document协同置信度的实时过滤框架(附开源评估工具链)
  • 上海表主口述实录:商务正装表养护,我为什么只选亨得利 - 亨得利官方维修中心
  • threepp海洋渲染:FFT海浪与水面特效实现
  • Ruby实现机器学习从未如此简单:AI4R安装与基础使用指南
  • ClawSweeper性能优化指南:提升大型项目PR扫描效率的10个技巧
  • PyWxDump微信数据恢复工具:合规风险与项目终止的警示
  • Android-Smart-Login安全指南:保护用户数据的最佳实践
  • 企业AI工具选型实战手册:7步评估法+ROI测算模板,本周内锁定高性价比方案
  • 明鉴识时,守正传薪:在名表维修的迷雾中,如何认准真正的亨得利? - 亨得利官方维修中心
  • Pyro4完全指南:如何使用Python远程对象实现分布式系统开发
  • TensorFlow Workshop:从零开始的机器学习完整教程指南
  • libsm64实战:创建一个简单的马里奥64风格游戏演示 [特殊字符]