蓝图通信三

本文介绍了如何在虚幻4中优化蓝图通信,通过创建BP_Door Actor类来实现门的移动功能,避免了记录初始位置的变量,减少了BeginPlay中的逻辑。详细阐述了BP_Door蓝图的创建过程,包括设置StaticMesh组件,使用SetRelativeLocation函数调整局部坐标。此外,讨论了功能的耦合性和职责分离,以提高代码可维护性。

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

对类功能进一步封装完成蓝图通信

优快云的博客添加图片太麻烦了,而且链接网页图片会出现错误,如果需要看详细文章,请访问我的微信公众号《猎梦虚幻研究社》

在前一篇中,我们已经将蓝图通信的功能成功的从关卡蓝图中封装到了独立的蓝图类中。

现在我在这里提出一个新的需求:

当我们指定物体之后,还是需要先记录“门”的初始位置,然后在初始位置的基础上进行移动。有没有办法不记录初始位置达到效果呢?省去一个变量,并且减少BeginPlay中的逻辑。

所以我决定将“门”也创建成一个Actor类,开门的动作直接改为这个Actor类自身局部坐标的改变,这样就将功能分解了,避免了功能的堆积(虽然门通常不会用这种方法来实现,但是因为它的逻辑直观简单,所以我用这个例子来讲解蓝图通信)。

说到这里,我们转回内容浏览器再创建一个Actor类,命名为BP_Door来当做我们的门。

这个蓝图中同样添加一个StaticMesh组件,然后设置为我们准备好的门的模型。因为触发的事件我们放在了BP_OpenDoor蓝图中,所以我们只需要一个模型即可。我们不改动模型组件的名称,仍然叫StaticMesh(记得给这个组件赋一个实际模型)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值