ue4 怎么传递变量到另一个蓝图_UE4 蓝图的一些小技巧(整理)

本文围绕UE4蓝图展开,分享常见小技巧。涵盖基础操作、Get & Set、Alt断开引脚等常见操作,也有快速创建变量、结构体拆分合并等生僻内容。还介绍了蓝图调试方法,如断点调试、观察变量值等,适合UE4蓝图开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

  • 蓝图为主, 但可能有部分和C++相关的.
  • UE4版本4.22.2, 部分功能旧版本可能没有
  • 下列多数是之前看新手教程或从其他文章中学到的, 这里只是一个整理分享.
    由于懒的原因, 图大多都是别人的(笑).
    部分出处找不到了, 部分可能不确定出处在哪里就随便指了.
    毕竟, 这种技巧分享来分享去, 所有的大前提, 都是UE4官方做了(笑)

v2-9c671c654980d298f6f817bf33178952_b.png

同时, 为了尽可能多的包含各种技巧, 写之前又专门搜索了一些.

这些内容会贴出相应连接, 虽然多数是照着官方文档查漏补缺罢了.


下面显示一些常见的小技巧

如果不清楚的话, 感觉你可以多看看蓝图教程了(笑).


基础操作

Blueprint Editor Cheat Sheet
蓝图快捷键

v2-785b28d57e7d5e927f56804e15eac5ef_b.jpg

这里只强调红圈标注的, 其余的快捷键部分下文会说道, 部分属于不常用的忽略
红色部分除单独C键外, 其余都是按键盘对应键+鼠标左键, 出现对应的节点.

v2-afc69f8f5553e14a1fa51ebf3b31646b_b.jpg

Get & Set

v2-cfc28b2bfcd401a801184d4859f34872_b.jpg

按Ctrl(get)或Alt(set)将变量直接拖出来


Alt断开引脚

v2-4accdb0740024a6521e0f40ae7c23011_b.jpg

如图, Alt键直接断开引脚



变量公开

v2-960a6f38270789b0f235d5f5ca9853c7_b.jpg

v2-7991826937d9e51c1c5b36907060f5e3_b.jpg

不解释

Macros

v2-dd4c4ef8242433e522c44c4249808ede_b.jpg

v2-7f3b3f87757df78887514c24968ca680_b.jpg

蓝图宏, 详情见文档


蓝图注释

v2-3fa70ed661d33b3225e559d28c1c8d50_b.png

v2-a908d6bf81dd5e69c132b3fa607aeca9_b.jpg

给单个蓝图节点或多个蓝图节点添加注释, 详情参考官方文档.


打开相应窗口

v2-a580f65730b3b4eacd377d2f03eda4c0_b.jpg

按住箭头的方向, 一一对应, 防止误操作关掉之后无法找到.

v2-afd7a16e09e7d1f05157ad62470bf157_b.png

也可以点Reset Layout重置, 简单粗暴


变量展示过滤

v2-987de14c074b917ff6859d9892906810_b.jpg

第一个是展示父类变量, 默认是不勾选(推荐始终勾选, 不然容易出现找不到变量)
第三个是只展示同步变量. 字面意思.


编译报错

v2-a2dedd7f470e92d83319ac2501fe9269_b.jpg

本着写些废话也没啥的态度, 就写了


忽略掉函数, 事件, 接口, 事件调度器, 组件蓝图, 蓝图函数库, 蓝图宏库, 蓝图结构体及其他蓝图的等一些东西.

若不清楚, 自行谷歌.

下面这些内容估计就会有些生僻了, 查漏补缺吧.


快速创建某种类型的变量

v2-907f97046365af79753b7ea72c1c3a94_b.jpg

同时移动多个引脚

v2-9dfc5b7858dc3a42441ea6484c752ee1_b.jpg

按住Ctrl键, 拖到引脚到另一个地方即可, 如果类型转换不成功, 引脚会自动断开


结构体拆开和合并

v2-748f6caac3d1dacecfb206db6cb938cb_b.jpg

v2-cc028ca0881d016c12f14d584a6e0c0e_b.jpg

数学表达式

v2-32399e403c68da73f6a3f38dad667c3f_b.jpg

如图, 简单方便

但需要注意数学表达是中的变量名称不能和类的变量名称重复


跳出到蓝图节点C++相关代码

v2-f02d1ac1cad4cfc56953684b4d5dc640_b.jpg

可能因为VS关联性问题导致打不开


整理蓝图

v2-7e7a612cf70fad42663a36f16f11544b_b.jpg

啥, 蓝图节点太乱, 不好看?
啥, 没有美术天赋, 连不好?

啥,....
借口, 都是借口, 上面自带的对齐工具, 满足你的所有需求.
实话实说, 蓝图节点不好看, 为什么? 懒.


各种分组功能

v2-367d06bbbf9222e07d7733895f92ede6_b.jpg

图表东西太多, 很乱, 建一张呗.

v2-896b24dbd96a63a384cbcc79c0e68840_b.jpg

变量函数太多, 很乱, 建分组呗.

v2-cb32267d8767312ca0b52b24d09561e6_b.jpg

函数过程太长, 很乱, 收缩注释呗.

v2-15e7b48f066b8ecb059d5f8258aa8739_b.gif

v2-624983aaa040e84361d3b13bae89bc4b_b.gif

连接线交叉重叠, 很乱, 看动图

[Unreal Engine 4] 10 Tips and tricks to use Blueprints - Red Girafe Games 图片来源

综上所述, 蓝图看起来很乱, 只有一个原因, 懒.

那你写一个好看的蓝图, 不, 个人很懒, 更习惯C++(笑)


变量私有化

v2-662cc93283971f684be4e2c085534203_b.jpg


没用过, 字面理解是的


生成的时候设置变量

v2-664d03b5e5941a452315b1fa98212090_b.jpg

如图, 勾选两个选项, SpawnActor选成对应类, 编译后蓝图节点会有变化


蓝图书签

v2-3aa8467176e7b9be6286015ce0489729_b.jpg

书签功能, 详情见官方文档(没用过)


蓝图调试

详情参考官方文档
Blueprint Debugging Example
Blueprint Debugging
  • 当调试对应对象过多的时候, 只选择某个对象

v2-bd0225ed9782b0757dcce2594eaf8ff6_b.png
  • 断点调试

v2-13d49ba2251b1838b18a5810a4e47432_b.jpg

v2-5f2fbf43908a56da7772e7deddfeb83f_b.jpg

Resume : Resume play-in-editor session
暂停
Frame Skip : Advances a single frame
下一帧
Stop : Stop simulation(Escape)
停止, 快捷键Esc
FindNode : Show current node
当前节点, 来回跳转查代码, 查乱时候的一个定位功能
Step into : Step into the next node to be executed(F11)
逐步, 会进入函数内部执行(如果函数是C++的, 无法进入则忽略往后执行), 快捷键F11
Step over : Step into the next node to be executed in current graph(F10)
逐过程, 跳过函数内部执行, 到下一个节点, 快件键F10

  • 观察变量值

v2-edaf85dd7df7abbb9c02fcec8e5958bd_b.jpg

v2-9ef4f52072da78eafd5dcf514f27c0dc_b.jpg
  • 调试工具

v2-add1c37ba2c6d20b95d5e3c2c845544d_b.jpg

v2-038de8a1de2a546dd239bce7d78d8ffa_b.jpg

v2-9ff9265d2a1060fd1571f791d02005ee_b.jpg

里面有堆栈信息啊, 蓝图执行流程啊, 之类比较有用的功能.

结语

  • 原计划是一篇水字数的文章, 然后水着水着, 我艹, 两个小时过去了...
    东西写的也有点多和乱了.
  • 这篇是转战知乎的第一篇文章
    从后台已有的数据上看, 知乎上旧有文章搬运一天, 各数据远大于过去半年csdn上的
    找到组织了(手动装哭)感谢大佬 大钊 最开始的关注 及其他所有人的关注点赞支持
    还有篇C++和蓝图的取舍看法, 就明天更新了.
    虽然爆肝之后就可能要咸鱼了, (手动滑稽)
  • 如有缺项漏项, 欢迎补充
  • 骗赞了, 骗评论了
### 构建任务失败解决方案 当遇到 `Execution failed for task ':app:shrinkReleaseRes'` 错误时,这通常意味着资源压缩过程中出现了问题。此错误可能由多种原因引起,包括但不限于配置不正确、依赖冲突或特定于项目的其他因素。 #### 可能的原因分析 1. **ProGuard 或 R8 配置不当** ProGuard 和 R8 是用于优化和混淆代码以及减少 APK 大小的工具。如果这些工具的配置存在问题,可能会导致资源无法正常处理[^1]。 2. **重复资源** 如果项目中有多个模块定义了相同的资源名称,可能导致冲突并引发该错误。检查是否存在重名的 drawable、string 等资源文件[^2]。 3. **第三方库兼容性** 某些第三方库可能与当前使用的 Gradle 插件版本或其他库存在兼容性问题,从而影响到资源打包过程中的行为[^3]。 4. **Gradle 缓存问题** 有时旧缓存数据会干扰新编译的结果,尝试清理本地仓库和重新同步项目可以帮助排除此类潜在障碍[^4]。 #### 推荐的操作方法 为了有效解决问题,建议按照以下步骤逐一排查: ```bash # 清理项目构建目录 ./gradlew clean # 删除 .gradle 文件夹下的所有内容以清除缓存 rm -rf ~/.gradle/caches/ ``` 调整 `build.gradle` 中的相关设置也是一个重要环节: ```groovy android { ... buildTypes { release { minifyEnabled true // 是否启用代码缩减 shrinkResources true // 是否开启资源压缩 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // 尝试禁用 shrinkResources 来测试是否为资源压缩引起的错误 // shrinkResources false } } } ``` 此外,在 `proguard-rules.pro` 文件内添加必要的保留规则,防止关键类被意外移除: ```text -keep class com.example.yourpackage.** { *; } # 替换为你自己的包路径 -dontwarn androidx.**,com.google.** # 忽略警告信息 ``` 最后,确保所使用的 Android Studio 版本是最新的稳定版,并且已经应用了所有的补丁更新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值