虚幻五关卡制作学习笔记

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的两个对比对象我有点点不明白,索性理解为,这里获取的是已经修改之后的数量,

或者理解为,白色先走,条件

这里需要先隐藏再销毁宝石,确保音效正确

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/616953.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一文弄懂 Linux 系统调用函数之 exec 函数族

目录 简介函数原型参数说明返回值函数区别使用示例采用参数列表传递参数,以 execl 为例采用参数数组传递参数,以 execv 为例调用 PATH 下可执行文件,以 execlp 为例使用新的环境变量给新进程,以 execle 为例 更多内容 简介 exec …

22、Flink 背压下的 Checkpoint处理

1.概述 通常,对齐 Checkpoint 的时长主要受 Checkpointing 过程中的同步和异步两个部分的影响;但当 Flink 作业正运行在严重的背压下时,Checkpoint 端到端延迟的主要影响因子将会是传递 Checkpoint Barrier 到 所有的算子/子任务的时间&…

计算机毕业设计】springbootBBS论坛系统

本系统为用户而设计制作 BBS论坛系统,旨在实现BBS论坛智能化、现代化管理。本BBS论坛自动化系统的开发和研制的最终目的是将BBS论坛的运作模式从手工记录数据转变为网络信息查询管理,从而为现代管理人员的使用提供更多的便利和条件。使BBS论坛系统数字化…

什么是JVM中的程序计数器

在计算机的体系结构中: 程序计数器(Program Counter),通常缩写为 PC,是计算机体系结构中的一个寄存器,用于存储下一条指令的地址。程序计数器是控制单元的一部分,它的作用是确保程序能够按正确…

用python写个控制MicroSIP自动拨号和定时呼叫功能(可用在小型酒店叫醒服务)MicroSIP定时拨号

首先直接上结果吧,MicroSIP 助手,控制MicroSIP自动拨号,定时呼叫的非常实用小工具! 在使用MicroSIP 助手之前,我们需要了解MicroSIP是什么,MicroSIP是一个SIP拨号软件,支持注册任意SIP平台实现拨…

【Java难点】多线程-高级

悲观锁和乐观锁 悲观锁 synchronized关键字和Lock的实现类都是悲观锁。 它很悲观,认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会一不做二不休的先加锁,确保数据不会被别的线程修改。 适合写操作多的场景&…

1057: 有向图的出度计算

解法&#xff1a; #include<iostream> using namespace std; int arr[100][100]; int main() {int vertex, edge;cin >> vertex >> edge;int i, j;while (edge--) {cin >> i >> j;arr[i][j] 1;}for (int i 0; i < vertex; i) {int sum 0;…

乡村振兴与乡村环境综合整治:加强农村环境保护,开展农村环境综合整治行动,提升乡村环境质量,打造生态宜居的美丽乡村

目录 一、引言 二、乡村振兴背景下的乡村环境现状 1、乡村环境面临的挑战 2、乡村环境问题的成因 三、加强农村环境保护的重要性 1、促进乡村振兴 2、保障生态安全 3、提升居民生活质量 四、开展农村环境综合整治行动的策略 1、制定科学规划 2、加大投入力度 3、强…

在iPad中进行截图的两种方法,总有一种适合你

在iPad上截屏就像在iPhone设备上同时按下两个按钮一样简单,或者你可以使用另一种屏幕方法。以下是操作方法。 什么是屏幕截图 屏幕截图是对设备屏幕上内容的直接捕捉。使用屏幕截图,你可以捕捉你所看到的内容,然后将其保存以备日后使用或与他人共享,而无需使用相机拍摄设…

ICode国际青少年编程竞赛- Python-4级训练场-复杂嵌套for循环

ICode国际青少年编程竞赛- Python-4级训练场-复杂嵌套for循环 1、 for i in range(4):Dev.step(i6)for j in range(3):Dev.turnLeft()Dev.step(2)2、 for i in range(4):Dev.step(i3)for j in range(4):Dev.step(2)Dev.turnRight()Dev.step(-i-3)Dev.turnRight()3、 for i …

AI换脸原理(7)——人脸分割参考文献TernausNet: 源码解析

1、介绍 这篇论文相对来说比较简单,整体是通过使用预训练的权重来提高U-Net的性能,实现对UNet的改进。该方法也是DeepFaceLab官方使用的人脸分割方法。在介绍篇我们已经讲过了UNet的网络结构和设计,在进一步深入了解TernausNet之前,我们先简单回顾下UNet。 U-Net的主要结构…

趣味软件-吃什么(Eat What)?

&#x1f354;&#x1f35c;&#x1f355; 你是否也有这样的日常烦恼&#xff1f; 每天的“世纪难题”——今天吃什么&#xff1f; &#x1f570;️ 饭点到了&#xff0c;脑袋空空&#xff0c;选择困难症大爆发&#xff01; &#x1f46b; 和女朋友约会&#xff0c;却不知道她的…

nss刷题(2)

1、[NSSCTF 2022 Spring Recruit]ezgame 打开题目是一个游戏界面 发现是有分数的&#xff0c;猜测分数达到某个之后可以获得flag&#xff0c;查看源码看一下 看到末尾显示分数超过65后显示flag 在js中找到了一个score,将他的值改为大于65的数后随意玩一次就可以得到flag同时&a…

WHAT - CSS Animationtion 动画系列(二)

目录 一、循环波浪二、关键帧呼应三、关键帧顺接四、利用 transform-origin 做拉伸五、大元素可拆分多个小元素联动六、预留视觉缓冲七、随机感&#xff1a;动画周期设置八、抛物线&#xff1a;两个内外div实现x和y向量运动 今天我们主要学习动画实现要素。 一、循环波浪 利用…

Nginx(简洁版)

基本配置 worker_processes 1; //默认为1&#xff0c;表示开启一个业务进程 events //事件驱动模块&#xff08;&#xff09;{worker_connections 1024; //单个业务进程可接受连接数 } http{include mime.types; // 引入http mime类型&#xff08;在外部已经定义好&#xff0c…

《视觉十四讲》例程运行记录(6)——运行ch9后端优化CeresBA和g2o求解BA的实践例程

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、运行ch9的例程代码1. MeshLab安装2. 编译例程代码前的修改3. 编译例程 一、运行ch9的例程代码 1. MeshLab安装 (1) 软件中心安装 搜索&#xff1a;MeshLab&am…

HCIP的学习(14)

过滤策略—filter-policy ​ 思科中&#xff1a;分发列表 ​ 过滤策略是只能够针对于路由信息进行筛选&#xff08;过滤&#xff09;的工具&#xff0c;而无法针对于LSA进行过滤。 在R4的出方向上配置过滤策略&#xff0c;使得R1不能学习到23.0.0.0/24路由信息1、抓取流量 […

CSS学习笔记之基础教程(二)

上节内容CSS学习笔记之基础教程&#xff08;一&#xff09; 6、边距 6.1 外边距&#xff1a;margin 6.1.1 外边距 marginmargin-topmargin-leftmargin-bottommargin-right <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8…

单链表经典算法LeetCode--203.移除链表元素(两种方法解)

1.链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09;【点击即可跳转】 分析此题提供两种思路&#xff1a; 1.遍历原链表&#xff0c;将值为val的节点释放掉&#xff08;双指针法&#xff09; 定义一个pcur指针指向头节点&#xff0c;定义一个prev指针指向NULL 需要注…

内存操作数及寻址方式

debug命令 debug命令&#xff0c;即DOS实用程序。DEBUG是一个DOS实用程序&#xff0c;是供程序员使用的程序调试工具&#xff0c;可以用它检查内存中任何地方的字节以及修改任何地方的字节。它可以用于逐指令执行某个程序以验证程序运行的正确性&#xff0c;也可以追踪执行过程…