UE5 虚幻引擎 使用编辑器工具进行资产批处理操作 让你的工作效率指数级增长!!!

目录

  • 0 引言
  • 1 编辑器工具蓝图
    • 1.1 介绍
    • 1.2 案例:批量设置静态网格体资产的LOD
    • 1.3 进阶用法
  • 2 编辑器工具控件
    • 2.1 介绍
    • 2.2 案例:随机给场景中Actor添加Yaw旋转值

0 引言

官方教程视频
参考文章
参考视频

UE5提供了两种 编辑器工具 :编辑器工具控件、编辑器工具蓝图。编辑器工具顾名思义就是在UE编辑器中使用的工具。运行后工具就是 运行时(runtime) 工具了,虚幻商城也有很多的运行时工具。

1 编辑器工具蓝图

1.1 介绍

1.2 案例:批量设置静态网格体资产的LOD

在大批量的优化游戏场景时,需要通过设置网格体LOD,开启UE5的Nanite,来加快三角面的绘制速度。本案例就制作一个功能,可以批量给静态网格体添加LOD

下图中筛选出工程中所以得静态网格体,当一个工程很大时,手动给模型一个个添加LOD是非常耗时的。所以此时就需要一个可以批量添加LOD的功能。
在这里插入图片描述

实现步骤

  1. 新建一个编辑器工具蓝图

在这里插入图片描述

可以看到常用的有三种蓝图类别:①编辑器工具Actor、②编辑器工具对象、③资产操作工具

  • 如果需要对场景中的Actor或者Object进行操作,就选择①和②作为父类。
  • 如果需要对内容浏览器中的资产进行操作,则③作为父类。
    在这里插入图片描述

本案例的操作对象是内容浏览器中的资产文件,所以选择【资产操作工具】作为父类。
在这里插入图片描述

  1. 打开编辑器工具蓝图

① 创建一个函数SetStaticMeshLODs(它的功能是基于函数的,所以要实现一种功能就新建一个函数)

【拓展】编辑器工具蓝图与传统蓝图不同:
- 编辑器工具蓝图没有事件开始运行事件
- 编辑器工具蓝图没有构造脚本

②拓展内容:在制作函数前,先介绍常见用的资产操作函数

  • 获取选择的资产:该函数能获取用户选择的全部资产
  • 获取选择的资产数据:该函数能获取用户选择的资产中的数据(资产数据指资产的属性,例如旋转缩放等)

③全部蓝图如下所示:
在这里插入图片描述

④右键运行编辑器工具蓝图,然后选择静态网格体资产,按下右键运行SetStaticMeshLODs函数即可。
在这里插入图片描述

CTRL+A,可以选中所有的静态网格体资产,然后右键运行Scripted Asset Actions
在这里插入图片描述

1.3 进阶用法

  1. 可以设置输入参数

函数还可以有输入参数,假如我们给定一个bool类型的输入参数,运行脚本时会弹出一个窗口,让我们设置参数值如下图所示:
在这里插入图片描述

  1. 可以自动识别资产类别
  • 有些工具只对材质资产起作用,有些工具只对静态网格体资产起作用等等。
  • 此时就需要我们重写编辑器工具蓝图的 GetSupportedClass 函数
    在这里插入图片描述
  • 然后将函数的 返回值 设置为我们需要的类型即可
    在这里插入图片描述
  • 本实例设置为StaticMesh,此时对其他资产类型就不再显示SetStaticMeshLODs功能。
  1. 我还想到一个功能,判断资产的类别,然后根据类别加前缀,例如蓝图加上BP_,材质加上M_等等。

2 编辑器工具控件

2.1 介绍

  • 编辑工具控件其实可以理解为是界面化的编辑器工具蓝图
  • 预备知识:需要了解UMG的一些基础知识

2.2 案例:随机给场景中Actor添加Yaw旋转值

  1. 新建编辑器工具控件(Editor Utility Widget)
    在这里插入图片描述

  2. 创建一个简单的UMG界面(一个按钮和一个文本)
    在这里插入图片描述

  3. 给按钮添加点击事件,并获取关卡中选中的Actor,然后遍历添加Yaw随机值。
    在这里插入图片描述

  4. 运行工具,右键运行成功后,会弹出我们制作好的UMG界面,此时选中场景中的actor再点击按钮就会随机旋转。
    在这里插入图片描述

  5. 拓展:添加撤销功能,因为可能不小心操作错误,需要撤回操作。
    主要涉及【Begin Transaction】和【Transact Object】两个函数。具体蓝图如下所示:
    在这里插入图片描述此时就可以使用CTRL+Z撤回

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机网络】IP协议

目录 前言 IP协议 基本概念 IP协议格式 分片 16位标识 3位标志与13位片偏移 分片流程 网段划分 网络号和主机号 DHCP协议 CIDR划分方案 特殊的ip地址 ip地址数量限制 私有ip地址与公网ip地址 路由转发 前言 我们前面讲了HTTP/HTTPS协议和TCP/…

HTML5福利篇--使用Canvas画图

目录 一.Canvas元素 1.Canvas元素定义 2.使用JavaScript获取页面中的Canvas对象 二.绘制图形 1.绘制直线 2.绘制矩形 (1)rect() (2)strokeRect() (3)fillRect()和clearRect()函数 3.绘制圆弧 4.…

位图布隆过滤器

文章目录 位图&布隆过滤器1. 位图1.1位图概念1.2位图原理1.3位图实现1.4位图排序 2. 布隆过滤器2.1 引入布隆过滤器2.2 概念2.3 布隆过滤器插入2.4 布隆过滤器的查找2.5 布隆过滤器模拟实现2.6 布隆过滤器的删除2.7 布隆过滤器优缺点2.8 布隆过滤器使用场景 3. 海量数据问题…

比特币 ZK 赏金系列:第 2 部分——查找哈希冲突

在我们的零知识赏金 (ZKB) 系列的第二部分中,我们将其应用于解决哈希冲突难题。在这样的谜题中,两个不同的输入散列到相同的输出。此类赏金可用于: 充当煤矿中的金丝雀,给我们一个有价值的提醒。存在冲突是散列函数较弱的标志&…

合合信息、上海大学、华南理工大学发布业内首个古彝文编码“大字典” ,为古文字打造“身份证”

“乌蒙山连着山外山,月光洒向了响水滩。”近期在各大短视频平台爆火的《奢香夫人》你听过吗?奢香夫人是一位彝族“巾帼英雄”,这首同名歌曲早在2009年便已发布,如今突然“翻红”,不仅体现了大众对于少数民族文化高涨的…

Unity可视化Shader工具ASE介绍——1、ASE的介绍、安装和简单使用

大家好,我是阿赵,接下来我打算介绍一下Unity引擎的一个好用的可视化Shader编辑插件。这个插件叫做Amplify Shader Editor,下面都会简称为ASE。这一篇主要是讲一下这个插件的获取、安装,和一些简单的界面用法介绍。之后有机会&…

C语言的stdio.h的介绍

C语言的stdio.h的介绍 C语言的stdio.h的介绍 C语言的stdio.h的介绍C语言stdio.h的介绍 C语言stdio.h的介绍 这个含义是导入标准输入输出库 包含头文件.h&#xff0c;std标准库&#xff0c;io是input output输入输出库 <>代表系统库&#xff0c;自定义的话用""…

C++打印字符串数组中的元素(字符串)

C遍历字符串数组&#xff0c;在main函数里定义一个字符串数组&#xff0c;要求依次输出字符串元素&#xff1a; string a[4] {"a", "vag", "gwe", "gewa"};希望打印的结果 上面可以看做是二维指针&#xff0c;第一维是每个字符串&a…

Springboot 前后端分离项目使用 POI 生成并导出 Excel

在做一个 SpringBoot 前后端分离项目的时候&#xff0c;需要将数据存到 Excel中&#xff0c;用户可以下载 Excel。具体实现是采用 Apache 强大的 POI。文章最后将源码例出。 POI API 文档&#xff1a; https://poi.apache.org/apidocs/dev/index.html 步骤 导入 POI 的 maven …

【C语言】指针的进阶(三)—— 模拟实现qsort函数以及指针和数组的笔试题解析

目录 1、模拟实现qsort函数 1.1、qsort函数的回顾 1.2、模拟实现qsort函数 2、指针和数组笔试题解析 2.1、一维数组 2.2、字符数组 1、模拟实现qsort函数 1.1、qsort函数的回顾 要模拟实现qsort函数&#xff0c;就要了解清楚qsort函数的参数以及使用方式。 我们先回顾一…

vue3 - 封装倒计时函数 useCountDown

编写一个函数 useCountDown 可以把秒数格式化为倒计时的显示状态。 步骤 1. 编写函数框架 ---> 确认参数和返回值&#xff08;显示格式化时间的数据开启倒计时的函数&#xff09; 2. 倒计时的核心逻辑&#xff1a;每隔1s减一 3. 格式化 1&#xff09;安装格式化工具&#xf…

跨域问题的原理及解决方法

一.同源策略 如果没有进行特殊处理&#xff0c;我们在进行前后端联调的时候游览器会发生报错&#xff1a; 这是因为请求被同源策略被阻止&#xff0c;浏览器出于安全的考虑&#xff0c;使用XMLHttpRequest对象发起HTTP请求&#xff08;异步请求&#xff09;时必须遵守同源策略…

单文件制作工具 v7.0.2.38(20230406) 最新版_一个小巧强大的PECMD/7zSFX单文件制作工具

网盘下载 功能描述 —全新的自解压内核&#xff0c;非现有的7zSFX、WinRAR、ZLIB自解压模块&#xff1b; —采用先进的打包方式&#xff08;堪称黑科技—>内核默认PECMD自解压模块&#xff09; —7zSFX模块&#xff0c;创建的单文件支持传递参数&#xff08;包含内置参数和外…

1、MQ基础

微服务一旦拆分&#xff0c;必然涉及到服务之间的相互调用&#xff0c;目前我们服务之间调用采用的都是基于OpenFeign的调用。这种调用中&#xff0c;调用者发起请求后需要等待服务提供者执行业务返回结果后&#xff0c;才能继续执行后面的业务。也就是说调用者在调用过程中处于…

信息安全:网络安全审计技术原理与应用.

信息安全&#xff1a;网络安全审计技术原理与应用. 网络安全审计是指对网络信息系统的安全相关活动信息进行获取、记录、存储、分析和利用的工作。网络安全审计的作用在千建立“事后“安全保障措施&#xff0c;保存网络安全事件及行为信息&#xff0c;为网络安全事件分析提供线…

SQLite 3.43 发布,性能大提升!

前言 SQLite是一种被广泛运用的嵌入式关系型数据库管理系统&#xff0c;最新发布的SQLite 3.43版本带来了一个重要的改进&#xff0c;大幅提升了对JSON数据的处理性能&#xff0c;达到了之前的两倍。 主要更新 添加对 Contentless-Delete FTS5 索引的支持。这是 FTS5 全文搜索…

leetcode算法题-移动零Java

这道题的解法,我们可以新建一个等长的数组,初始化后数组中的元素都为零,我们只需要遍历一遍原来的数组,将不为0的数据转移到新数组即可,下面是代码实现: public static void main(String[] args) {System.out.println("移动零:" Arrays.toString(moveZero(new int[…

【STM32】读写内部Flash初步使用

基于stm32f103&#xff0c;作为个人学习记录使用 STM32 芯片内部有一个 FLASH 存储器&#xff0c;它主要用于存储代码,在紧急状态下常常会使用内部 FLASH 存储关键记录&#xff1b; 内部 FLASH 的构成 STM32 的内部 FLASH 包含主存储器、系统存储器以及选项字节区域 大容量…

Unity下tga和png格式图片打包成AB包大小和加载速度测试

测试素材 测试素材&#xff0c;一张tga格式&#xff0c;一张png格式&#xff0c;他们的图像尺寸一样都是8K图。 两张图在AssetBundles里显示 Tga格式的图明显大很多&#xff0c;我们打包成ab包看看。 在PC 打包后看&#xff0c;明显大小一样&#xff0c;我们进行ab包加载&am…

文心一言 VS 讯飞星火 VS chatgpt (101)-- 算法导论9.3 7题

七、用go语言&#xff0c;设计一个 O(n)时间的算法&#xff0c;对于一个给定的包含n个互异元素的集合 S 和一个正整数k≤n&#xff0c;该算法能够确定 S 中最接近中位数的k个元素。 文心一言&#xff1a; 要设计一个 O(n) 时间的算法来找到集合 S 中最接近中位数的 k 个元素&…