UE4-碰撞事件:开关门蓝图类实现提升篇

Posted time_iter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4-碰撞事件:开关门蓝图类实现提升篇相关的知识,希望对你有一定的参考价值。

一:概念
1-:使用蓝图类进行封装,可以重复使用;在一个场景中,可以有多个蓝图类实例,功能,方法,模块各不相干;

二:实践
1-:新建一个文件夹,起名为B_print;
-1:点击 Add New;
-2:点击New Folder;
-3:命名文件夹名字;

2-:新建一个BluePrint类;
-1:进入文件夹,右键单击,在弹出来的选项框中选中BluePrint Class;
-2:在弹出框中选中Actor<表明继承自Actor>;
-3:命名蓝图类为BP_Door;
-4:双击打开,选中Components选项卡,选中DefaultScenrRoot,点击Add Component;
-5:选择Scene并选中,拖拽到DefaultScenrRoot位置并替换;

3-:添加Actor
-1:选中Scene,点击Add Component,选择并选中Static Mesh;
-2:在Details面板中更改材质信息;

-3:重复上述步骤,继续添加一个Static Mesh,并设置位置;
-4:设置两个Actor的X轴有间距,其他方向保持一样<物体并行>;
-5:设置两个物体都可移动;

4-:把蓝图类拖动到场景中
解释:相当于把蓝图类实例化,可以看到里面的组件,并且是相互关联,保持在一起,在场景中,无法更改某一个蓝图类里面的Actor的相关信息;

5-:在蓝图类中添加Tigger
-1:选中Scene,点击Add Component,选择并选中Box;
-2:修改Box的位置,大小,包裹之前添加的两个Actor;
-3:添加碰撞事件节点;

-4:验证进入Box范围内,可以触发其他事件执行;

运行结果:可以看出在运行过程中,当物体进入Box范围,字符串被打印;

6-:物体移动
-1:拖动两个Actor门到Event Graph中<物体引用>;
-2:添加TimeLine,设置执行时间,触发节点;

-4:添加事件驱动,然后进行物体的移动,使用Set Relation Location<物体相对于蓝图坐标原点的位置移动>;

运行结果:可以看出当人物进入Box范围内,物体移动到位置区域;同时,可以像场景里拖拽其他几个创建的蓝图类,进行测试,可以看出,每个蓝图类是独立运行的,相互之间没有关联,这就是蓝图类的好处;

总结:蓝图类的最大优势就是在一个场景中创建多个实例,且多个实例之间无关联,可以独立运作操作事件。

以上是关于UE4-碰撞事件:开关门蓝图类实现提升篇的主要内容,如果未能解决你的问题,请参考以下文章

14 UE4蓝图:制作门的蓝图类

UE4蓝图 实现时间倒流功能

UE4(unreal Engine)中使用蓝图类Actor创建开关门,并使用鼠标和键盘控制开关门

UE4 通过按键控制物体的旋转

求助帖,UE4想使用蓝图实现开关灯效果遇到困难

17 UE4蓝图:蓝图通信、自定义事件和类型转换