在关卡中随处可见的安全摄像头蓝图用于在运行模式下与玩家进行交互。在游戏过程中,它们将按搜索模式前后移动。当绿色搜索锥体与Pawn重叠时,指示灯将变成红色而且摄像头开始跟踪玩家移动。它将持续跟踪玩家,直至玩家走出跟踪范围。然后,在几秒之后,它将返回到搜索模式。
该蓝图还负责处理场景采集,稍后将在安全屏幕蓝图中用到它。
该蓝图中特别重要的是 蓝图接口 的使用。蓝图接口的工作方式与导管相似,允许一个蓝图与其他多个蓝图共享功能。任何实现给定接口的蓝图都将自动继承接口的所有功能。通过这种方式,你可以创建复杂的蓝图网络,所有这些蓝图都可配合工作,共同实现给定目标。
在本示例中,安全警报接口充当数据导管,具体而言,允许我们将功能共享给警报信号灯和门蓝图,这与警报是否被触发无关。
(#camerablueprint)
摄像头蓝图
摄像头蓝图是警报系统的中心,因为它是与玩家交互且会使警报鸣响的蓝图。除实现用于蓝图通信的接口外,摄像头还使用 时间轴 节点。这是为处理动画而构建的特殊节点。
时间轴可以包含任意数量的动画轨迹,然后其数据可以作为输出发送,用于驱动任意数量的效果。在这种情况下,时间轴用于驱动摄像头前后移动时的扫描旋转。
(#blueprintsetup)
蓝图设置
此蓝图的组件列表、构造脚本和事件图表执行下列任务:
| 蓝图方面 | 用途 |
|---|---|
| 组件列表 | 摄像头的组件列表中包含下列组件:
|
| 构造脚本 | 构造脚本执行下列任务:
|
| 事件图表 | 当Pawn进入视锥时,事件图表执行下列任务:
当Pawn离开视锥时:
|
(#editablevariables)
可编辑变量
摄像头具有下列公开属性:
| 属性 | 用途 |
|---|---|
| 扫描(Scanning) | |
| 摄像头最大偏航角(Camera Max Yaw) | 从一边到另一边扫描的最大角度。 |
| 摄像头俯仰角(Camera Pitch) | 设置摄像头的俯仰角。此变量会激活一个3D小部件,可在视口中操纵。 |
| 聚光源(Spot Light) | |
| 光源衰减(Light Attenuation) | 设置聚光源组件的衰减半径。 |
| 聚光源亮度(Spotlight Brightness) | 设置聚光源组件的亮度数值。 |
| 警报开启时的光源颜色(Light Color Alarm On) | 警报激活时聚光源的颜色。 |
| 警报关闭时的光源颜色(Light Color Alarm Off) | 警报取消激活时聚光源的颜色。 |
| 定向(Targeting) | |
| 测试材质警报设置(Test Material Alarm Settings) | 切换用于测试的警报状态以及调整警报颜色。 |
| 蓝图接口(Blueprint Interface) | |
| 触发警报的蓝图数组(Blueprint To Trigger Alarm Array) | 此数组包含需要接收关于警报是否已触发的更新的所有对象的列表。 |
| 渲染目标(Render Target) | |
| 场景采集纹理(Scene Capture Texture) | 包含将用于安全摄像头监视器的渲染目标纹理。 |
| 场景采集可视距离(Scene Capture View Distance) | 设置场景采集组件的最大可视距离。降低此值可提高性能。 |
(#alarmblueprint)
警报蓝图
警报蓝图可作为玩家已走到安全摄像头前从而已触发警报的可视提示。激活时,它看起来从绿色变为红色,而且信号灯开始旋转。它将保持此状态,直至警报取消激活。
打开和关闭警报的方式是从安全警报 蓝图接口 接收消息,该接口由摄像头、门和警报实现。
(#blueprintsetup)
蓝图设置
此蓝图的组件列表、构造脚本和事件图表执行下列任务:
| 蓝图方面 | 用途 |
|---|---|
| 组件列表 | 摄像头的组件列表中包含下列组件:
|
| 构造脚本 | 构造脚本执行下列任务:
|
| 事件图表 | 事件图执行下列任务: 当我们从警报接口接收到信号时:
|
(#editablevariables)
可编辑变量
警报具有下列公开属性:
| 属性 | 用途 |
|---|---|
| 灯旋转速度(Light Rotation Speed) | 警报信号灯旋转的速度。 |
| 测试警报材质设置(Test Alarm Material Settings) | 此布尔值强制警报处于触发状态以进行测试。请注意,如果未处于运行模式下,信号灯不会旋转。 |
(#doorblueprint)
门蓝图
针对门的设置如下:只要警报未触发,它将保持打开状态。警报触发时,门将具有这样的动画:门将猛然关闭,而且除非警报结束,否则它们将不会重新打开。需要注意的是,制作门动画时需要用到时间轴。事实上,要分别使用2个时间轴,一个用于打开门,另外一个用于关闭门。这样门就能不同的速度打开和关闭。
实际上,门运动的触发方式是从安全警报 蓝图接口 接收信号,该接口由摄像头、门和警报实现。
有关门设置的另外一个有趣的地方是门时间轴不直接使门动起来。相反,每个时间轴都输出单个浮点值,然后这些浮点值将用于在两个矢量位置之间插值——一个“打开”位置和一个“关闭”位置。
(#blueprintsetup)
蓝图设置
此蓝图的组件列表、构造脚本和事件图表执行下列任务:
| 蓝图方面 | 用途 |
|---|---|
| 组件列表 | 摄像头的组件列表中包含下列组件:
|
| 构造脚本 | 构造脚本执行下列任务:
|
| 事件图表 | 当我们从警报接口接收到信号时,事件图执行下列任务:
|
(#editablevariables)
可编辑变量
门具有下列公开属性:
| 属性 | 用途 |
|---|---|
| 门打开宽度(Door Open Width) | 设置门打开的结束位置。然后此值将镜像给相对的另一扇门。 |
| 左门大小(Door Left Size) | 设置左门的大小。 |
| 右门大小(Door Right Size) | 设置右门的大小。 |
大部分元素都不言自明。SceneCapture组件的工作方式与摄像头类似,但有一点例外——它不将它看到的内容输出到屏幕,而是填充纹理,然后将在材质中使用此纹理。
从根本上说,警报的 组件列表 包括一个基本网格体和2个光源:用于警报的光源(聚光源)和用于中性状态(OffLight)的光源。
基本上,门的组件列表中包括一个触发器体积和2个门板。