零基础Unreal Engine 4(UE4)图文笔记之基础篇-简易交互门(五)

目录

创建蓝图Actor

添加组件

调整碰撞盒子

编写蓝图

触发事件

时间轴

设置旋转

完整蓝图

编译保存

使用Actor

BUG

设置StaticMesh碰撞

总结:


本章开始介绍蓝图,首先实现自动门功能

图比较多,如果懂,可以直接到最后查看最终蓝图

创建蓝图Actor

前面创建的材质我已经放到了文件夹中,并创建了新的蓝图文件夹

打开新创建的蓝图文件夹,右键空白处,点击蓝图类

选择第一个Actor就可以了

命名为BP_Door_Auto(蓝图类的命名一般是BP_打头),命名好后打开

如果是这个界面就点击打开完整蓝图

添加组件

在组件一栏中找到并点击添加组件,搜索mesh并选择最下面的StaticMesh(静态网格模型),命名为Door

再次搜索box,添加一个 Boxcollision

点击Door,Ctrl W复制一个出来,命名为DoorFrame

选中Door,在右边的细节面板中找到Static Mesh,下拉菜单,搜索door,点击SM_Door

对另一个另一个mesh进行同样的操作,选择SM_DoorFrame

在视口中可以看到两个模型,调整两个物体到合适的位置,差不多就行了

调整碰撞盒子

让box包裹住门并向两边有一定的延伸

编写蓝图

触发事件

首先切换到事件图表

首先选中box(点击一下)

在中间空白处右键如图点击“添加On Component Begin Overlap”或者在细节面板事件中点击加号直接添加,也要选中box(当有物体进入这个体积的时候就会触发后续事件)

同样的操作再添加一个“添加On component End Overlap”(相反的,当物体离开这个范围后执行),你会得到如下图的两个模块

时间轴

右键空白处,搜索timeline,点击添加时间轴

双击时间轴,添加一条Float型变化曲线

首先设置长度为2,这个是开门时间的长度

右键插入两个关键帧,也可以按住Shift左键点击添加,点击对应点,调整两个点的时间和值第一个为0,0,第二个为2,1

返回事件图表,按图连接(拖拽点到另外一个点上)

设置旋转

和前面一样的操作,右键点击空白处,搜索lerp,选择Lerp(Rotator),因为这里需要门进行旋转

7.把组件中的Door和DoorFrame拖拽到空白处

拖拽并搜索setrelativerotation

如下图连接

同样搜索Getrelativerotation

搜索Break rotator

从z这个节点引出搜索+,选择浮点型

设置值为90

最后从x引出并搜索makerotator

连接后是这个样子

最后按照图示连接到Lerp上

完整蓝图

编译保存

使用Actor

现在回到我们的场景中,把刚才创建的蓝图类拖拽到场景中

9.运行游戏试一下

完成,玩家靠近门,离开关门

BUG

11.这只是一个超级简单的自动门,BUG是不可避免的,你会发现,不管你在门的哪边,门都是朝一个方向打开,但问题也不大,所有这个问题留到以后再解决。

设置StaticMesh碰撞

角色进不去,是因为门框太小了,调整一下就好了,还有一个问题,角色会穿过门,是因为门没有碰撞体积,也很好解决

回到刚才的蓝图,点击door,在细节中找到Static Mesh,点击加号,就可以在内容浏览器中找到该物体

左键双击内容浏览器中的SM_Door,会弹出该物体的编辑界面,点击菜单栏中的Collision中的simple collision,就可以查看当前物体是否有简单的碰撞体积,很显然,现在是没有的,如图

点击菜单栏上方的碰撞中的Add Box Simplified Collision就可以为当前物体添加一个盒子碰撞体积

保存一下,回到场景,就比较符合逻辑了,这样一个自动门就实现了

 

总结:

本章主要介绍了蓝图的基本使用方法,创建蓝图,添加组件,设置属性,添加节点,连接,编译,运行

以及简单碰撞的创建,都是些最基础的东西,图比较多,但并不是很复杂,自己多尝试,如果对相对坐标和绝对坐标有疑问可以看我后面的文章

另外我觉得学习就是一个从模仿到改造,再到创造的过程,多思考和设计。可以试着设置把门和场景结合起来,做一个小场景,但不要花太多时间

下一章将对这个门进行升级,玩家将可以通过按键来控制门的开启和关闭,并且可以在场景中快速控制开启门的方式

 

  • 12
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锋哥游戏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值