首页 > 其他分享 >UE4学习笔记14——【蓝图】简单解密游戏(相当于复习了,也有一点新东西)

UE4学习笔记14——【蓝图】简单解密游戏(相当于复习了,也有一点新东西)

时间:2022-10-29 21:33:23浏览次数:50  
标签:14 渲染 蓝图 BP 设置 each 组件 UE4 复习

  • P42. 简单点名系统
  • P43. get all actor 的使用顺序
  • P44. 制作简单解密游戏
  • P42

(在“ThirdPersonCharacter”的蓝图类,“控制物体自传”图表中编辑)

(控制多个立方体自传,或者控制多个其中的某一个,不是在“物体自转_BP”里画多个立方体,而是在关卡编辑界面拖拽多个“物体自转_BP”到场景中来)

连完线:

  

上图蓝图的效果是 使场景中的每一个立方体都自传;for each loop:循环遍历场景中的所有该类的演员(和场景中的所有该类的演员都通信一次);

也可以把键盘E连到下面“获取类的所有actor”,将实现场景中第6个被添加的“物体自转_BP”中的立方体旋转(为什么是第6个,因为“GET”中是5,数组0代表的是第一个(计数从0开始的),所以“5”代表第6个)

 

  • P43. get all actor的使用顺序

使用“get all actors of class”节点时,先确定“actor class”引脚中的类,再从“out actors”引脚往外连(顺序很重要!)

  

 

  • P44. 制作简单解密游戏
  • 新的蓝图节点介绍

  1. 执行控制台命令

  

  2. for each loop with break

  

  3. 设置可见性

  

  4. 文本渲染 组件

  

  • 开始制作  

先大致搭建场景:

  

1. 新建一个“Door_BP”的蓝图类

 组件有 门框,门 和一个文本渲染组件(门框和门添加的是静态网格体组件,然后在各自的“细节——静态网格体”中选择对应的门框或门的形状;文本渲染组件中的文字在“细节——文本——文本”中修改,“细节——渲染——可视”取消勾选(后面我们把文本设置成离近了可见离远了不可见))

组件还有一个碰撞盒子(box collision)

层次结构 和 视口:

  

(上图中,box 不要放在 door 的下级,如果放在下级,那 door 移动的时候 box 也会跟着移动;box 依附于 DoorFrame,door 动 box 不变)

事件图表:

  

  

上图1:类型转换(只针对小白人才会执行后面的节点)相当于“过滤器”,筛选当前重叠的是不是小白人;“类型转换为ThirdPersonCharacter”后的“是否开门”为自建的bool型变量,默认值不勾选(默认为false),用途是隐藏门开过一次之后的文字渲染组件;后面“设置可视性”注意是否要勾选。

图2:开门之后设置“设置可视性”取消了勾选,隐藏了文字渲染,同时之后又把“是否开门”的bool变量设置为true(勾选了“是否开门”里面的√),目的是当我们小白人从触发盒子出去又进来的时候,由于开过门之后的“是否开门”为true,所以图1中的分支走true的路线(没路线),然后就不显示文字渲染了。

这个“Door_BP”蓝图类实现的是一次开门,不能重复开关。

2. 新建灯的蓝图类“Light_BP”

需要添加的组件有 一个代表灯的静态网格体组件(细节——静态网格体 中搜lamp,选lamp_wall(大概是这个)),聚光源组件(灯光),盒体碰撞,文本渲染组件

 层次结构 和 视口:

  

聚光源组件 和 文本渲染组件 在“细节”面板设置成默认不可见(主动开灯才可见):

   

事件图表:

  

  

  

上图3:为什么用 for each loop with break 而不用 for each loop:

用 for each loop with break 的目的是,只要有一盏灯没打开,就中断(连接前面的break);

而用 for each loop,比如第5盏灯没打开,这个循环设置了“开启机关”为false,而第6盏灯是打开的,这个循环又设置了“开启机关”为true,最后complete判断的时候“开启机关”为true,和我们要的效果不一样

For Each Loop with Break——Array Element后面的连线:搜索“get 是否打开灯”就有了(直接从拖左边不行)

Loop Body:将循环处理的内容连接至此以创建处理
Completed:数组处理全部完成后,用于连接至后续的处理

 

图3的“执行控制台命令”这部分:先在关卡编辑器界面选中要旋转的门,然后点上面工具栏的“蓝图——打开关卡蓝图”,先给个最终的事件图表:

  

其中,前面的“开启机关门”是添加的自定义事件然后重命名的;上面蓝色的“HideWall”的引用,是先在关卡编辑器中点一下要操作的门,然后回到这个蓝图中,右键“创建引用”(不用搜索,右键就直接出来了)

  

 因为此图表的内容的名字是“开启机关门”,所以上面图三“执行控制台命令”中的“commend”后面输入“ce(空格)开启机关门(事件的名字)”

 

(已解决)出现的一个问题:在设置机关门的时候,设置相对旋转没有问题;但是我想设置相对位置(向下动)而不是旋转的时候,不管我设置运动速度多慢,门都会消失,动的很快

解决办法:不是因为门动的慢,而是因为在新的相对位置只设置了Z值,没有设置X和Y(相对位置节点中的X和Y都是0,而实际上场景中的机关门的X和Y可不是0),导致开启机关门时 机关门直接去别的地方了,所以才会觉得“动的快”,“像消失了一样”。

  

(上图中,X和Y默认值是0,需要我们主动修改) 

标签:14,渲染,蓝图,BP,设置,each,组件,UE4,复习
From: https://www.cnblogs.com/wjjgame/p/16836768.html

相关文章

  • 浙江理工大学入队200题——14I
    问题I:零基础学C/C++154——加密程序2题目描述有一行电文,请将电文中大写字母按A→Z,B→Y,C→X,D→W,……,X→C,Y→B,Z→A,的规律译成密文,其他字符保持不变。输入多组测试......
  • 浙江理工大学入队200题——14D
    问题D:零基础学C/C++149——重组字符串题目描述输入一个以回车结束的字符串,将字符串中的字符按ASCII码从小到大顺序重组后输出。输入输入为多组测试数据。输入一个......
  • 浙江理工大学入队200题——14H
    问题H:零基础学C/C++153——恺撒加密题目描述有一行电文,请将电文中所有字母按A→F,B→G,……,U→Z,V→A,W→B,X→C,Y→D,Z→E,a→f,b→g,……,u→z,v→a,w→b,x→c,y→d,z→e的规律译成......
  • 浙江理工大学入队200题——14B
    问题B:零基础学C/C++147——统计每个字母个数题目描述输入一段英文(字数小于100),以回车结束,统计其中的每个字母出现次数,不区分大小字。输入多组测试数据,每组输入一段......
  • 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in
    原因分析:我们创建函数时必须指定我们的函数是否是DETERMINISTIC不确定的NOSQL没有SQl语句,当然也不会修改数据READSSQLDATA只是读取数据,当然也不会修改数据MODIFIES......
  • 今天重新复习了一下cloud-demo
    主要有这些知识点:nacos,feign,gataway。这三个都是涉及配置的知识点比较多。比如说对于每个服务,要配置它的NACOS注册中心地址,如果某个服务需要使用NACOS配置中心的动态......
  • 数字黑洞游戏(6147问题)
    数字黑洞游戏(6147问题)Description假设你有一个各位数字不完全相同的四位数,把所有的数字从大到小排序后得到a,从小到大排序后得到b,然后a-b替换原来这个数,并且继续操作。例......
  • 玩客云刷入armbian(2022-08-14亲测)
    0.1使用AmlBurnTool软件烧录首选底包至固件。烧录完成后断开玩客云电源备用。(靠近hdmi的那个口子。)0.2使用rufus软件将emmc固件写入U盘。0.3写入成功后,先将U盘插......
  • 联想小新air14摄像头无法工作
       总结:win11最新更新,自动修复;联想下载对应驱动:IntegratedCameraDriverforWindows10(32-bit,64-bit),8.1(32-bit,64-bit),Windows8(32-bit,6......
  • react实战笔记14:静态属性和方法
     静态方法中this不是实例对象而是类对象......