- 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