c++中获取蓝图组件_UE4虚幻引擎学习云笔记(七)-蓝图快速入门-[4.开关门交互]

f813ce092e7e45d85d958e6892709830.png

【七、蓝图快速入门(Blueprints Quick Start Guide)】

19-09-26

茕兔QIONGTWO:UE4虚幻引擎学习云笔记(七)-蓝图快速入门​zhuanlan.zhihu.com
a996a9fe4165aab55ad45a1c9168f974.png
茕兔QIONGTWO:UE4虚幻引擎学习云笔记-目录​zhuanlan.zhihu.com
1f4533035cd9baa74186e71c40f73153.png
19-11-13:更新修正与改进。↓
【实践记录-[1.门]】-(UMG-线追踪-直接蓝图通信)

4.开关门交互

蓝图功能组件结合关卡搭建场景,创建具有开关交互功能的门组件。

c45c001df044b6e11e1cb53514220bb2.gif

加入可操控角色pawn模板用以测试

93b9d180787629f7b3223ea6a0ad8ab7.png
  1. 内容浏览器中在Content新增第三人称预设包。
  2. 于ThirdPersonBP的蓝图文件夹中,拖拽ThirdPersonCharacter至关卡。
  3. 世界大纲中选定该角色,于细节面板中的pawn类中,自动支配-玩家(Auto Possess Player)的设定项中,将Disable更改为Player 0,播放时便可以自动支配该角色。

7653a4003590e099ec76dae64d7e1bf6.png

设定门的碰撞体与交互范围触发器

1)选定门,细节面板中的Mobility中更改为可移动模型。

2)打开静态网格编辑,于Collision中添加盒体简化碰撞。

c1e3cc79d6c34e00a99786e0a0d9d830.png

3)选定门,新建为蓝图,命名BP_Door_Rotation,打开蓝图编辑器。

4)可交互范围触发器:在组件Components面板中添加一个盒碰撞体Box Collision,

命名为BoxTrigger盒触发器。

5)调整触发器的大小决定交互范围,让玩家在门附近便可以触发交互。

61f27b72e5f14c8a6dc5ba44fbf0a780.png

门旋转事件

目的:执行门自旋转位移达到开关门效果。

1)创建Actor旋转事件SetActorRotation节点

2)目标Target引脚的默认为自身Self,即门自转。

3)右键分割旋转值引脚New Rotation,为Z轴动画接入准备。

8412994a8afed0470e50de847706359c.png

307a5c7e9b967ad2594bfbdd7a0ced51.png

开关门过程动画

目的:让门在1秒的内播放开关动画过程。

1)创建时间轴Timeline节点,命名DoorRotation。

09f33dde1271a520435ed95bd3ef5c96.png

2)点击左上角添加浮点型轨迹,设定动画时长Length为1.00(秒),命名DoorRotation。

3)右键空白处添加起始关键帧,设定Time 0.0,添加结束关键帧,设定Time 1.0.

4)起始帧值Value设定为关门时的Z轴旋转值,结束帧设定为开门时的Z轴旋转值。

5)点击关键帧时间Time与值Value左边的上下左右尺寸适应按钮,调整适合尺寸视图。

6)右键各关键帧,添加自动贝赛尔曲线。

7)桥接重叠事件动画节点Update至旋转事件节点输入,动画节点DoorRotation轨迹输出节点,连接至分割好的旋转事件旋转值的Z轴。

38c53fc80613368edde559945e5b7ce7.png

●开关门两条时间轴


交互

目的:实现“按F开门”功能。

●获取玩家控制器对门的输入命令——独立的输入前提事件

f6f7ac62a60f46ee077a3871ef69dc5c.png

●玩家交互范围——重叠与否判断的条件

0675fa19d37a4848dab1d9394a41a69c.png

交互提示

  1. 组件Component中新建门内外两个交互提示用的文字Text Render,Text设置为F,调整Text Render模型至门内外。

23970477af0903e62cf0922be64e076a.png

2)游戏开始时关闭显示,当玩家进入范围时显示,离开时关闭显示。

381524b6b3ccaff47b1ef818e10a25a9.png

问题:如何判断与门组件Actor重叠的Actor是玩家?

进出门交互范围分支判断无效,删除节点。


按F执行门旋转事件

判断1:是否进入范围,是则判断2。否则不执行。

判断2:门是否关着。是则执行开门,否则执行判断3。

判断3:门是否开着。是则执行关门,否则不执行,进程空闲会执行判断2。

弊端:无法中途停止或改变开关门过程,原因是不知道应该判断什么条件或执行什么事件。

344e9fd0508dac52e876b81a5ebbc52a.png

一个具有碰撞识别、交互提示、按键交互、反馈动画的功能组件,开关门蓝图程序。

cd760290220ca66594b6eae60d65c0af.png

以上。

茕兔QIONGTWO:UE4虚幻引擎学习云笔记-目录​zhuanlan.zhihu.com
1f4533035cd9baa74186e71c40f73153.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值