![f813ce092e7e45d85d958e6892709830.png](https://img-blog.csdnimg.cn/img_convert/f813ce092e7e45d85d958e6892709830.png)
【七、蓝图快速入门(Blueprints Quick Start Guide)】
19-09-26
茕兔QIONGTWO:UE4虚幻引擎学习云笔记(七)-蓝图快速入门zhuanlan.zhihu.com![a996a9fe4165aab55ad45a1c9168f974.png](https://img-blog.csdnimg.cn/img_convert/a996a9fe4165aab55ad45a1c9168f974.png)
![1f4533035cd9baa74186e71c40f73153.png](https://img-blog.csdnimg.cn/img_convert/1f4533035cd9baa74186e71c40f73153.png)
19-11-13:更新修正与改进。↓
【实践记录-[1.门]】-(UMG-线追踪-直接蓝图通信)
4.开关门交互
蓝图功能组件结合关卡搭建场景,创建具有开关交互功能的门组件。
![c45c001df044b6e11e1cb53514220bb2.gif](https://img-blog.csdnimg.cn/img_convert/c45c001df044b6e11e1cb53514220bb2.gif)
加入可操控角色pawn模板用以测试
![93b9d180787629f7b3223ea6a0ad8ab7.png](https://img-blog.csdnimg.cn/img_convert/93b9d180787629f7b3223ea6a0ad8ab7.png)
- 内容浏览器中在Content新增第三人称预设包。
- 于ThirdPersonBP的蓝图文件夹中,拖拽ThirdPersonCharacter至关卡。
- 世界大纲中选定该角色,于细节面板中的pawn类中,自动支配-玩家(Auto Possess Player)的设定项中,将Disable更改为Player 0,播放时便可以自动支配该角色。
![7653a4003590e099ec76dae64d7e1bf6.png](https://img-blog.csdnimg.cn/img_convert/7653a4003590e099ec76dae64d7e1bf6.png)
设定门的碰撞体与交互范围触发器
1)选定门,细节面板中的Mobility中更改为可移动模型。
2)打开静态网格编辑,于Collision中添加盒体简化碰撞。
![c1e3cc79d6c34e00a99786e0a0d9d830.png](https://img-blog.csdnimg.cn/img_convert/c1e3cc79d6c34e00a99786e0a0d9d830.png)
3)选定门,新建为蓝图,命名BP_Door_Rotation,打开蓝图编辑器。
4)可交互范围触发器:在组件Components面板中添加一个盒碰撞体Box Collision,
命名为BoxTrigger盒触发器。
5)调整触发器的大小决定交互范围,让玩家在门附近便可以触发交互。
![61f27b72e5f14c8a6dc5ba44fbf0a780.png](https://img-blog.csdnimg.cn/img_convert/61f27b72e5f14c8a6dc5ba44fbf0a780.png)
门旋转事件
目的:执行门自旋转位移达到开关门效果。
1)创建Actor旋转事件SetActorRotation节点
2)目标Target引脚的默认为自身Self,即门自转。
3)右键分割旋转值引脚New Rotation,为Z轴动画接入准备。
![8412994a8afed0470e50de847706359c.png](https://img-blog.csdnimg.cn/img_convert/8412994a8afed0470e50de847706359c.png)
![307a5c7e9b967ad2594bfbdd7a0ced51.png](https://img-blog.csdnimg.cn/img_convert/307a5c7e9b967ad2594bfbdd7a0ced51.png)
开关门过程动画
目的:让门在1秒的内播放开关动画过程。
1)创建时间轴Timeline节点,命名DoorRotation。
![09f33dde1271a520435ed95bd3ef5c96.png](https://img-blog.csdnimg.cn/img_convert/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](https://img-blog.csdnimg.cn/img_convert/38c53fc80613368edde559945e5b7ce7.png)
●开关门两条时间轴
交互
目的:实现“按F开门”功能。
●获取玩家控制器对门的输入命令——独立的输入前提事件
![f6f7ac62a60f46ee077a3871ef69dc5c.png](https://img-blog.csdnimg.cn/img_convert/f6f7ac62a60f46ee077a3871ef69dc5c.png)
●玩家交互范围——重叠与否判断的条件
![0675fa19d37a4848dab1d9394a41a69c.png](https://img-blog.csdnimg.cn/img_convert/0675fa19d37a4848dab1d9394a41a69c.png)
交互提示
- 组件Component中新建门内外两个交互提示用的文字Text Render,Text设置为F,调整Text Render模型至门内外。
![23970477af0903e62cf0922be64e076a.png](https://img-blog.csdnimg.cn/img_convert/23970477af0903e62cf0922be64e076a.png)
2)游戏开始时关闭显示,当玩家进入范围时显示,离开时关闭显示。
![381524b6b3ccaff47b1ef818e10a25a9.png](https://img-blog.csdnimg.cn/img_convert/381524b6b3ccaff47b1ef818e10a25a9.png)
问题:如何判断与门组件Actor重叠的Actor是玩家?
进出门交互范围分支判断无效,删除节点。
按F执行门旋转事件
判断1:是否进入范围,是则判断2。否则不执行。
判断2:门是否关着。是则执行开门,否则执行判断3。
判断3:门是否开着。是则执行关门,否则不执行,进程空闲会执行判断2。
弊端:无法中途停止或改变开关门过程,原因是不知道应该判断什么条件或执行什么事件。
![344e9fd0508dac52e876b81a5ebbc52a.png](https://img-blog.csdnimg.cn/img_convert/344e9fd0508dac52e876b81a5ebbc52a.png)
一个具有碰撞识别、交互提示、按键交互、反馈动画的功能组件,开关门蓝图程序。
![cd760290220ca66594b6eae60d65c0af.png](https://img-blog.csdnimg.cn/img_convert/cd760290220ca66594b6eae60d65c0af.png)
以上。
茕兔QIONGTWO:UE4虚幻引擎学习云笔记-目录zhuanlan.zhihu.com![1f4533035cd9baa74186e71c40f73153.png](https://img-blog.csdnimg.cn/img_convert/1f4533035cd9baa74186e71c40f73153.png)