UE5 FARFilter筛选器使用方法

UE5 查找资源时可以用FARFilter进行筛选,之前可以用ClassNames进行筛选,但是5.1之后就弃用这个属性改成ClassPaths属性

构造一个FTopLevelAssetPath对象需要两个FName参数,但是没找到应该传什么

查找官方文档,明显是错误的,还是得自己动手丰衣足食

随便获取一个Texture类型的资源打断点查看资源发现FAssetData类中的AssetClassPath属性就是FTopLevelAssetPath类型,因此这就和前面FARFilter类中的ClassPaths属性对应上

还有一个比较简单的方法,选中资源右键Copy Reference

​复制出来的路径就是 /Script/Engine.World'/Game/Untitled.Untitled' /Script/Engine
就是PackageNameWorld就是AssetName,其他资源同理可得,因此就可以通过筛选路径以及资源类型获取想要的资源

.hpublic:UFUNCTION(BlueprintCallable, Category = "Texture Utilities")void PrintTextureNames(const FString& SearchPath);
.cpp#include "AssetRegistry/AssetRegistryModule.h"void UFunTool_GI::PrintTextureNames(const FString& SearchPath)
{// 获取资产注册模块FAssetRegistryModule& AssetRegistryModule = FModuleManager::LoadModuleChecked<FAssetRegistryModule>("AssetRegistry");// 创建一个资产过滤器 AssetClassPath = {PackageName="/Script/Engine" AssetName="Texture2D" }FARFilter Filter;Filter.bRecursivePaths = true;Filter.ClassPaths.Add(FTopLevelAssetPath("/Script/Engine", "Texture2D"));Filter.PackagePaths.Add(FName(*SearchPath));// 用于存放结果的数组TArray<FAssetData> AssetDatas;AssetRegistryModule.Get().GetAssets(Filter, AssetDatas);// 遍历所有找到的资产数据for (const FAssetData& AssetData : AssetDatas){// 打印资产的名称UE_LOG(LogTemp, Log, TEXT("Found Texture: %s"), *AssetData.AssetName.ToString());}
}

 
注意Path不要添加双引号不然会出问题,因为FString类型会自动加双引号

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/11257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AAAI: Generalized Singular Value Thresholding论文阅读

1 Abstract 这篇论文研究了与非凸函数g相关的广义奇异值阈值(Generalized Singular Value Thresholding, GSVT)算子Proxσ g ()&#xff0c;定义为 P r o x g σ ( B ) arg ⁡ min ⁡ X ∑ i 1 m g ( σ i ( X ) ) 1 2 ∥ X − B ∥ F 2 , \mathbf{Prox}_{g}^{\sigma}(\mat…

Python学习-Numpy-1

学习参考链接&#xff1a; Numpy的介绍和安装和性能对比_哔哩哔哩_bilibili Numpy相对List的优势和特点 1、Numpy的数据结构是array数组 2、相较List的性能更好&#xff0c;并且包含大量的便捷的函数&#xff0c;以及数组中元数据的信息 3、array的数据类型必须一致&#xff0c…

实验名称:TCP 连接管理

目录 实验目的&#xff1a; 实验原理&#xff1a; 实验步骤&#xff1a; 1) 启动WireShark&#xff0c;设置抓包状态 2) 访问指定服务器 &#xff0c;通过Wireshark抓取通信数据报文 3) 分析TCP连接建立的三次握手和连接释放的四次握手过程 原始数据记录&#xff1a; 实…

微信小程序生命周期揭秘:从启动到消亡的全过程剖析【附代码】

微信小程序生命周期揭秘&#xff1a;从启动到消亡的全过程剖析 一、小程序生命周期概览核心生命周期函数 二、深入理解生命周期回调2.1 onLoad: 首次亮相的准备2.2 onShow: 重登舞台的瞬间2.3 onReady: 舞台就绪&#xff0c;静待表演2.4 onHide & onUnload: 谨慎离场&#…

【数据结构陈越版笔记】第1章 概述【习题】

1. 碎碎念 我这答案做的可能不对&#xff0c;如果不对&#xff0c;欢迎大家指出错误 2. 答案 1.1 判断正误 &#xff08;1&#xff09; N ( log N ) 2 N(\text{log}N)^{2} N(logN)2是 O ( N 2 ) O(N^{2}) O(N2)的。 &#xff08;2&#xff09; N 2 ( log N ) 2 N^{2}(\text…

蓝桥杯备战12.阶乘

P5739 【深基7.例7】计算阶乘 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 递归 #include<bits/stdc.h> #define endl \n #define int long long using namespace std; const int N 2e710,M 1e310; double a[N]; int jie(int n) {if(n1)return 1;else return n*ji…

HTML/CSS3

1.CSS CSS的作用在于在HTML的基础上(决定网页的内容和结构)对网页进行排版布局 对网页中的元素提供样式 使得网页显得更加精美CSS全称是cascading style sheets 即层叠样式表CSS样式的书写格式&#xff1a;样式名: 样式值 例如&#xff1a;color: red建议:之后进行空格 CSS样式…

AXI Interconnect IP核的连接模式简介

AXI Interconnect IP核内部包含一个 Crossbar IP核&#xff0c;用于在 Slave Interfaces&#xff08;SI&#xff09;和 Master Interfaces&#xff08;MI&#xff09;之间路由传输。在连接 SI 或 MI 到 Crossbar 的每条路径上&#xff0c;可以选择性地添加一系列 AXI Infrastru…

2024年安全员C证报名条件

安全员c证&#xff0c;又称建筑施工企业三类人员c证&#xff0c;持证者一般是建筑施工企业专职安全生产管理的专业人员。安全员c证报名条件是: 1、职业道德良好&#xff0c;身体健康&#xff0c;年龄不超过60周岁(法定代表人除外); 2、具有中专及以上文化程度或初级及以上技术…

WMS系统批次管理概述

为了提高仓库运作效率&#xff0c;降低库存成本&#xff0c;越来越多的企业开始引入WMS仓库管理系统&#xff0c;WMS系统批次管理作为其核心功能之一&#xff0c;对于实现精细化、智能化的仓储管理具有重要意义。 二、WMS系统批次管理概述 WMS系统批次管理是指通过对仓库中的货…

rust调用SQLite实例

rusqlite库介绍 Rusqlite是一个用Rust编写的SQLite库&#xff0c;它提供了对SQLite数据库的操作功能。Rusqlite的设计目标是提供一个简洁易用的API&#xff0c;以便于Rust程序员能够方便地访问和操作SQLite数据库。 Rusqlite的主要特点包括&#xff1a; 遵循Rust的类型系统和…

SQL_hive的连续开窗函数

SQL三种排序&#xff08;开窗&#xff09;第几名/前几名/topN 1三种排序&#xff08;开窗&#xff09;第几名/前几名/topN思路 4种排序开窗函数 1三种排序&#xff08;开窗&#xff09;第几名/前几名/topN 求每个学生成绩第二高的科目-排序思路 t2表&#xff1a;对每个学生 的…

基于Python的web漏洞挖掘扫描技术的实现与研究【附源码,文档】

博主介绍&#xff1a;✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&…

Vue3 项目

创建 Vue3 项目的步骤如下&#xff1a; 安装 Node.js Vue3 需要依赖 Node.js 环境&#xff0c;因此需要先安装 Node.js。可以从官网下载 Node.js 的安装包并安装&#xff0c;也可以使用包管理器安装&#xff0c;例如在 Ubuntu 上可以使用以下命令安装&#xff1a; sudo apt-get…

C语言笔记13

字符数组与字符串常量区别 #include <stdio.h> int main() {char str1[] "hello bit.";char str2[] "hello bit.";char *str3 "hello bit.";char *str4 "hello bit.";if(str1 str2)printf("str1 and str2 are same\n…

【生信技能树】拿到表达矩阵之后,如何使用ggplot2绘图系统绘制箱线图?

拿到表达矩阵之后&#xff0c;如何使用ggplot2绘图系统绘制箱线图&#xff1f; 目录 预备知识 绘制箱线图示例 预备知识 1.pivot_longer函数 pivot_longer 是tidyr包中的一个函数&#xff0c;用于将数据框&#xff08;data frame&#xff09;从宽格式转换为长格式。在宽格…

一文掌握gRPC

文章目录 1. gRPC简介2. Http2.0协议3. 序列化-Protobuf4. gRPC开发实战环境搭建5. gRPC的四种通信方式&#xff08;重点&#xff09;6. gRPC的代理方式7. SprintBoot整合gRPC 1. gRPC简介 gRPC是由google开源的高性能的RPC框架。它是由google的Stubby这样一个内部的RPC框架演…

reactJs动态执行js代码

参考了这篇文章 js——new Function 一个可以随时动态执行字符串js代码的神器 因为一些原因&#xff0c;想要js代码块配置在数据库中返回&#xff0c;例如时间&#xff0c;我需要用到第三方库 moment。然后动态的得到startDate 和 endDate 配置在数据库中的startDate值是$mom…

Java日志总结

开发中&#xff0c;日志记录是不可或缺的一部分&#xff0c;应用日志的记录主要用于&#xff1a;记录操作轨迹数据、监控系统运行情况、系统故障定位问题&#xff0c;日志的重要性不言而喻&#xff0c;想要快速定位问题&#xff0c;日志分析是个重要的手段&#xff0c;Java也提…

JAVA 集合(单列集合)

集合框架 1.集合的特点 a.只能存储引用数据类型的数据 b.长度可变 c.集合中有大量的方法,方便我们操作 2.分类: a.单列集合:一个元素就一个组成部分: list.add(“张三”) b.双列集合:一个元素有两部分构成: key 和 value map.put(“涛哥”,“金莲”) -> key,value叫做键值…