问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

UE5开发实用技巧汇总:从程序开发到界面操作全方位优化

创作时间:
作者:
@小白创作中心

UE5开发实用技巧汇总:从程序开发到界面操作全方位优化

引用
CSDN
1.
https://blog.csdn.net/snans/article/details/137011313

在学习UE5的过程中,经常会遇到一些小技巧,这些技巧虽然看似简单,但往往能显著提高开发效率和代码质量。本文整理了多个实用的开发小技巧,涵盖了程序开发和界面操作两大方面,希望能帮助开发者更好地掌握UE5开发。

一、程序开发

全局变量

可将全局性的变量、事件、函数写在 GameMode 的蓝图中,这样加载时最先读取,权限高于关卡蓝图;同理,次一级的可写在关卡蓝图,以此类推。当然,需要尽量控制好数据量,别什么都用全局的。

变量存储

这时可以将读取结果保存在变量中,下次调用时直接用这个变量。

  • 比如一次读取全部Actor,如果将多次用到这个方法,那么效率将大大降低。如果将这个数组结果保存在变量A中,那么每次使用时直接调用该变量A即可。

  • 比如多个Actor蓝图都需要获得Pawn蓝图下属动画蓝图中的变量或函数。如果将在Pawn蓝图中将这个动画蓝图保存在变量B中,其它Actor直接调用变量B即为该动画蓝图。

获取全部

定位不到想要得对象时,就用超级耗能大招,获取全部:get all.... 获取到数组后再用循环 For Each Loop with Break 等循环来获取想要得对象;当然如果确定索引的话,也可以用 Get(a copy) 通过索引来取得。

函数形参的使用

写代码都知道函数中的形参在函数内部是可以直接使用的,那么在蓝图中应该怎么操作呢?

function A(b,c){
  if(b>c){
      echo 'hello';
  }
}

在函数中直接找这个形参拖出来用就行啦

获取动画蓝图中的变量

学会这个一通百通,获取别的一层套一层的蓝图基本也就是这个思路了。参考《UE5制作推箱子动作时获取物体与角色朝向的角度及跨蓝图修改变量》

(1) 重叠事件发生后从一堆Other Actor碰撞到的物体中Cast to BP_LightRobot找到玩家蓝图类;

(2) 再Get Mesh找到该玩家蓝图下的网格体;

(3) 这个网格体下有动画,于是Get Anim Instance获取动画实例;

(4) 在用Cast To LightRobot_ABP 从一堆动画中找到玩家用的动画蓝图;

(5) 最后Set isPush设置变量。

下面的图片是从玩家蓝图中找到动画蓝图的顺序,看完是不是就清楚上面的流程了?

事件与函数的切换

如何创建自定义事件并转换为函数,或者将函数转换为事件呢?一个右键搞定

  • 右键 Add Custom Event 创建自定义事件

  • 选中自定义事件并右键选择 将事件转换为函数

  • 在函数内部选中函数头或者的蓝图的函数列表中右键选择 将函数转换为事件

注意函数是可以有输出或无输出,事件是没有输出的,所以如果你的函数是有输出的,那么是无法转为事件的。同时构造函数作为初始化作用的函数也是无法转为事件的。

面板上的数字如何快捷变化

目前的缩放为1.4725,如何让它放大3倍?要算好了再覆盖么?不。

只要是和数字相关的,可以直接再框里进行运算即可。比如这里就是 *3 就能完成放大。


同理可以用到UE中所有带数字的框中。

支持运算符为 +-*/^%,不知道开方有没有符号的?

二、界面操作

面板某一条的复制

可以快速地在同一类型地条目中复制黏贴数据

按住 shift + 右键 复制,闪一下表示复制成功;选择别的同质条目后按住 shift + 左键,闪一下表示黏贴成功;

批量修改

很多蓝图用到了同样的属性,那该怎么批量改启动其值呢?

选中这些蓝图,鼠标右键选择 资产操作 > 编辑属性矩阵中的选择

快速查找

针对某一个对象或变量等等,除了在查询输入栏中输入文字外,还有别的方法么?

  1. 在列表中选择 查找引用 即可在查找结果中找到该对象在本蓝图中的查询结果;
  2. 双击结果就能快速定位到蓝图中出现的位置;

查找全部

那么在上面的查找结果中如何找到在整个项目中出现的位置呢?

点击查询结果右边的望远镜就OK啦!

书签

蓝图错综复杂,那么想把某一类节点归类该怎么做呢?

用书签的方式即可归类,并且在窗口菜单中打开书签窗口还能快速定位。

图表快速定位

能不能向星际争霸一样在用数字1~0来定位某个窗口位置,想要回看的时候快速到位呢?

ctrl + 数字 表示保存当前事件图表位置到某个数字

shift + 数字 表示回到该数字对应的事件图表位置

这个没法用图表示啦,我就放个事件图表的截图,你打开自己的体会一下吧~~

隐藏不相关的节点

蓝图写多了以后,节点和连线可能比较混乱,那么我希望只显示当前节点及与他相关的相连部分该怎么办?

找到 隐藏不相关,打开即可。不相关节点及连线已经透明化。

连接线方向是有规则的

为什么变更路线节点再拖线没有要的内容了?因为往左拖的线是输入;往右拖的线是输出。同样的变更路线节点拖线,提供的内容不同

  • 创建一个变更路线节点
  • 往左拖
  • 往右拖

视口窗口变大

地形编辑时上下左右实在东西太多了,我就想好好画个地图不行么?

选中视口后按下 F10:窗口最大化

选中视口后按下 F11:全屏

注意,只有选中关卡蓝图的视口才能起效。

视口的快速定位

如何在大纲列表中选中对象后快速在视口中定位过去呢?

选中后按下 F 或双击鼠标即可定位

结构体保存刷新之麻烦

当你更新过结构体后就要全部刷新一遍,很麻烦,那么有没有快速有效的办法呢?

啊,保存该结构体文件,然后关掉UE程序,重新打开~~

你们试试吧,哈哈。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号