---1:场景中摆放物件部分:
首先,我们从内容浏览器中拉出一个SM_DOOR
![](https://img.haomeiwen.com/i10337581/14080df8ea9ed6fc.png)
摆放到合适的位置:
![](https://img.haomeiwen.com/i10337581/d64f57ad7d84449c.png)
接下来给门设置碰撞,让其不能通过。
通过双击进入门的静态网格体,碰撞菜单来生成盒体碰撞,这样门就不可以穿过了:
![](https://img.haomeiwen.com/i10337581/b6824d826a57319c.png)
接下来我们在场景中添加一个盒体触发器:
![](https://img.haomeiwen.com/i10337581/7fe0c5563884420f.png)
设置大小和位置如图,把门夹在中间。
![](https://img.haomeiwen.com/i10337581/f5ca340b69e7b446.png)
这样,就可以通过触发器来达到捕捉到角色走到门前或门后的事件了。
---2 关卡蓝图编写部分:
![](https://img.haomeiwen.com/i10337581/d0bfd639fd62e944.png)
在关卡蓝图中编辑本触发行为:
右键点击空白,给盒子两个添加事件 开始重叠和结束重叠:
![](https://img.haomeiwen.com/i10337581/063bec0a1eb8b28b.png)
在关卡中选中门,在蓝图中点击创建引用(蓝图会自动联想到选中的对象,很友善~):
![](https://img.haomeiwen.com/i10337581/de5668be130b74ba.png)
通过SM_Door引用的针脚拉出来,输入设置Actor旋转。
![](https://img.haomeiwen.com/i10337581/b5c63631141f7da3.png)
我们把XYZ分开:
![](https://img.haomeiwen.com/i10337581/778e5f97b6473786.png)
那么现在的蓝图就是:
![](https://img.haomeiwen.com/i10337581/bed1ffb89389dee1.png)
可是我们播放游戏,走到门口触发盒子缺没有反应,看输出有提示如下:
如果需要移动,....SM_Door_2:StaticMeshComponent0的移动性必须为“可移动”。
我们回到关卡中,选择门设置为可移动~
![](https://img.haomeiwen.com/i10337581/8b325fe9f85296f1.png)
那么现在我走到门口就会看到门被打开了,只是很快看起来好别扭:
![](https://img.haomeiwen.com/i10337581/07da7b744d3b7feb.png)
接下来我们做一个时间轴,让他开门和关门有过度效果。
先有时间轴:
![](https://img.haomeiwen.com/i10337581/efa5fff391857163.png)
再双击进入制作一个浮点数轨迹,点F,
然后添加2个关键帧
0,-90(0秒从开始的Z轴-90度)
2, 0(到2秒旋转到Z轴0度)
记住长度设置为2,总时间就为2秒。
再设置自动得到曲线。如下图:
![](https://img.haomeiwen.com/i10337581/16c8c9fad67e757a.png)
![](https://img.haomeiwen.com/i10337581/0c0e4648cd410ce9.png)
下面我们把时间轴加入进来,如图:
![](https://img.haomeiwen.com/i10337581/6738c84df4d981f2.png)
整个流程为:碰撞盒子检测到重叠事件,就会执行时间轴。时间轴就会更新SM_Door的Z轴,通过轨迹也就是我们刚才编辑的曲线来。在2秒内把门的Z轴从-90度修改到0度。也就是我的关卡中门的关闭到打开的角度。
再通过盒子的离开重叠事件,让时间轴控制门的Z轴反向操作,也就是关门。
![](https://img.haomeiwen.com/i10337581/57b3ab305f2e4ea0.png)
![](https://img.haomeiwen.com/i10337581/60c1e1638d3136a5.png)
![](https://img.haomeiwen.com/i10337581/80c7cf458f5fc1c2.png)
至此,自动开关门的蓝图就完成了。
网友评论