UE4学习笔记14

您所在的位置:网站首页 ue4做游戏 UE4学习笔记14

UE4学习笔记14

2024-07-16 11:55| 来源: 网络整理| 查看: 265

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,需要我们主动修改) 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3