1.创建一个移动平台
这个移动平台的功能:从箭头1移动到箭头2来回移动,可移动时发绿光,不可移动时发红光
首先,创建两个材质,发红光和绿光
然后我们创建一个actor蓝图类,添加两个arrow组件,两个立方体组件,命名
修改物体的大小和位置
添加四个变量,使我们的整个制作过程更加流畅,便于简便地进行数据设置
event begin play:点击播放之后,开始进行调用
true:进行下一步调用 false:改变材质为红色发光材质
设置平台世界坐标为point 2
移动到point 1
ease in&ease out:缓入和缓出效果
over time:这段移动地实现时间
然后是停滞时间
之后就是使用 flip flop 实现循环移动地效果
延迟结束后进行A分支,移动到point2
结束之后,接延迟,然后进行分支B,接移动到point1的节点
将设置的变量设置为公有,使其可以在创建的实例中进行编辑
2.制作一个压力板
同上,我们将压力板制作成发光模样,并创建一个box callesion覆盖在其表面
然后就是使用压力板之后,压力板变成绿色
然后,我们使用事件分发器来进行moving plate的通信
事件分发器:通过事件分发器绑定事件,使其可以被调用(相当于创建了一个可以随意使用的事件)
在moving plate中创建事件分发器,在蓝图中进行绑定,后接自定义事件和材质改变,移动模块
然后,即可在其他地方进行调用,在类中创建的分发器,那么调用的事件的对象就是该类
在压力板中创建变量引用(moving plate),然后进行事件调用
然后将共有打开,吸取需要操作的对象即可
3.在压力板和移动平台添加声音
在移动平台和压力板分别添加声音组件,将声音组件设置为plate的子物体
在声音组件中添加需要的音效
在音效组件中,进行衰减重载,修改中心和半径,衰减函数为自然声音,空间化为双声道,将自动启用分别开启和关闭
然后分别在事件图表中添加事件
压力板,自动启用关闭
移动平台,自动启用开启,分别设置音量乘数,打开音效loop
4.创建地刺并添加材质
添加九个圆锥和一个立方体,进行大小和位置修改,并分别添加材质
5.添加控件蓝图,制作渐入渐出效果
控件蓝图:一种用户界面元素,用于创建各种交互式的ui,如按钮,复选框,进度条,滚动框等
首先创建一个控件蓝图,添加一个画布面板,在画布面板增加一个image,将image设置为黑色
上面会自动产生一个锚点
锚点:为了在不同的显示器,不同的分辨率下产生合适的ui效果而产生,默认位于右上角
我们这里将image覆盖住整个显示器,并且将锚点设置为全局
,然后,添加动画fade,选中,添加image的轨道,添加渲染不透明度,在0到3秒进行不透明度0到1的添加,动画即可创建成功
6.添加死亡画面,和尖刺触发
首先添加一个控件蓝图,在其中添加画布,图象,两个文本,背景模糊,设置好锚点,还有图象颜色
然后在动画中添加死亡动画,这个动画效果是显示死亡和空格键重置,然后红色变淡
在事件图表中:组件创建之后播放死亡动画
然后是点击空格键重新开始这个关卡
was input key just pressed:检测上一帧是否点击了这个键,有则返回true
delay之后,返回现在关卡的名字,然后打开下一个关卡,输入本关卡
在制作好的尖刺添加碰撞和事件,禁用输入
创建镜头抖动的蓝图类
进行数据修改
然后在尖刺的蓝图类中添加死亡画面,然后开始镜头抖动(target是get player camera manager)
,然后播放声音
7.添加宝石和退出系统
创建一个退出门和盒体触发器
创建两个变量 opened?(布尔)不公开,nextname(name)公开,
创建GemUi,添加四个文本,在左上角,添加背景模糊,小黑幕,还有蓝色图片,修改不透明度为0,修改锚点,添加动画,把蓝色图片不透明度进行修改
创建宝石,一个音频组件,一个盒体触发器,添加材质
然后使用节点,
宝石旋转
获取宝石数量,并修改宝石需要收集数量
get all widget of class:获取该类的所有组件,返回一个数组,获得宝石收集组件,获得文本,返回其文本,转化为字符串,字符串转化为整数,整数再加一传入文本,然后转换为文本进行设置
宝石拾取:
触碰到盒体之后,添加数量
添加之后,盒体消失,音效触发,拾取完成之后,打开退出关卡
其中equal的两个对比对象我有点点不明白,索性理解为,这里获取的是已经修改之后的数量,
或者理解为,白色先走,条件
这里需要先隐藏再销毁宝石,确保音效正确