监控摄像机,防盗警报器和防盗门

SecurityCameraAndDoorHeader.png

概述

整个关卡遍布的监控摄像机是用来在游戏模式中与玩家互动的。在游戏中,它们会以搜寻模式来回摇动镜头。当圆锥形绿色搜索光与pawn重叠,灯转为红色,并且镜头开始跟随玩家的移动。它会持续追随玩家,直到该玩家离开监控范围。然后,过几秒后,它会返回搜索状态。

此蓝图也负责处理场景捕捉,此后会被用在监控屏幕蓝图中。

此蓝图中特别重要的是使用了蓝图接口 。蓝图接口犹如通道,可以在不同的蓝图间分享功能。任何采用给定接口的蓝图自动继承所有该接口下的功能。这样的话,您可以创建蓝图的精密网络,从而共同运行来实现给定的目标。

在此例中,防盗警报器接口如同数据通道,让我们能够无论警报开启或关闭,都可以分享防盗信号灯和防盗门蓝图的功能。

InterfaceConceptDiagram.png

摄像机蓝图

摄像机蓝图是警报系统的核心,因为是这个蓝图与玩家进行互动,并会让警报声响起。除了蓝图通信接口外,摄像机也使用了时间轴 节点。这个特殊节点被用来处理动画。

Timeline_Camera.png

时间轴可包含任意数量的动画轨迹,此数据可在之后作为输出数据,用来驱动任意数量的特效。在此例中,时间轴被用来驱动来回运动的摄像机的扫描动作。

蓝图设置

此蓝图的 组件列表构建脚本 ,以及 事件图表 执行以下任务:

蓝图内容 目的
组件列表

相机的 组件列表 包含以下组件:

CameraCS.png

其中大多数要素都很容易懂。SceneCapture 组件的工作原理犹如摄像机,但它并不是输出屏幕中所见到的内容,而是对贴图进行填充,此后在材质中进行运用。

构建脚本

Construction Script (构建脚本)执行以下任务:

  • 建立场景捕捉来记录到渲染对象贴图。

  • 使用可编辑变量的输入值来建立摄像机的聚光源。

  • 设置摄像机的默认旋转角度。

  • 为摄像机的锥形视角建立动态材质实例(MID)

事件图表

当Pawn进入视锥时, 事件图表 执行以下操作:

  • 触发警报。

  • 改变锥形视角和光源的颜色。

  • 开始追溯玩家的移动。

当玩家离开锥形视角范围:

  • 在一定延迟后,取消警报。

  • 恢复到标准的来回扫描模式。

  • 在每帧(每次更新),都更新相机的旋转。

  • 通过接口传输警报的当前状态。

CameraEG.png

可编辑变量

摄像机有以下显示的属性:

CameraProperties.png

属性 目的

扫描

摄像机最大水平偏转角度 摄像机扫描时从一侧到另一侧的最大角度。
摄像机仰角变化量 设置摄像机镜角。这个变量激活了3D控件,而且可以在视口中操控。

聚光源

光照衰减 设置聚光源组件的衰减半径。
聚光源亮度 设置聚光源组件的亮度值。
警报开启的光源颜色 当警报激活时的聚光灯颜色。
警报关闭的光源颜色 当警报取消时的聚光灯颜色。

对象

警报器设定的测试材质 切换测试的警报状态并调整警报器颜色。

蓝图接口

触发警报数列的蓝图 此数列包含一系列需要接受警报是否开启的信息的所有对象。

渲染对象

场景捕捉贴图 其中包含了监视器所需要的渲染对象贴图。
场景捕捉视距 设置场景捕捉组件的最大视距。降低此数值以改善性能。

警报器蓝图

AlarmImage.png

当玩家站在防盗摄像机前时,会触发警报,而警报器蓝图会作为目视提示。激活警报后,会从绿色转为红色,并且指示灯开始转动。这会一直持续到警报解除。

门的动作实际上是通过接受防盗警报蓝图接口 的信号来触发的, 而此接口是由摄像机,门,警报实现的。

蓝图设置

此蓝图的 组件列表构建脚本 ,以及 事件图表 执行以下任务:

蓝图内容 目的
组件列表

相机的 组件列表 包含以下组件:

AlarmCS.png

警报的 组件列表 基本上是由一个基类网格和2个灯组成的: 一个灯做警报用(聚光灯),另一个为中立状态(灯为关闭状态)。

构建脚本

Construction Script (构建脚本)执行以下任务:

  • 从用户输入处设置灯光颜色。 *为警报器网格创建并应用动态材质实例 (MID)

  • 如果用户在测试警报,它会替换所有的灯和材质设定来显示在警报开启时看起来是如何的。

事件图表

Event Graph (事件图表)执行以下任务: 当我们从警报器接口中收到信号时:

  • 分析用来开关警报的信号是开启还是关闭。

  • 如果开关为开,则开启聚光源,关闭警报结束的光源,并改变材质颜色。然后开启门来开始旋转聚光源。

  • 如果开关为关,则关闭聚光源,开启警报结束的光源,并改变材质颜色到初始状态。关闭旋转聚光源的门。

AlarmGraph.png

可编辑变量

警报具有以下显示的属性:

AlarmProperties.png

属性 目的
光照旋转速度 警报灯旋转速度。
测试警报器材质设定 此布尔值促使警报开启用来测试。注意在游戏模式中,灯不会旋转。

门蓝图

Door.png

门是这样设置的,只要没有触发警报,门就会保持开启的状态。然而,一旦警报被触发,门会有紧闭的动画,而且直到警报结束前都不会再开启。关注到门的动画使用了时间轴是很重要的。实际上,有两条不同的时间轴-一条用来开门,一条用来关门。这使得门开启和关闭的速度不同。

门的动作实际上是通过接受防盗警报蓝图接口 的信号来触发的, 而此接口是由摄像机,门,警报实现的。

有趣的是在门的设置中,时间轴不直接控制门的动画。相反,每个时间轴输出单个浮点值,此值被用来在门的两个矢量位置-“开启”和“关闭”间做插值。

蓝图设置

此蓝图的 组件列表构建脚本 ,以及 事件图表 执行以下任务:

蓝图内容 目的
组件列表

相机的 组件列表 包含以下组件:

DoorCL.png

门的组件列表包含了一个触发器体积和二扇门的面板。

构建脚本

Construction Script (构建脚本)执行以下任务:

  • 设置触发器盒体体积的位置和尺寸。

  • 设置每扇门的位置和比例。

事件图表

当我们接收到来自警报接口的信号时, 事件图表 执行以下操作:

  • 查看该信号是要开启还是关闭警报。

  • 如果警报开启,我们会检查门的当前状态,然后,如果还没有开启,我们会打开它们。

  • 如果警报关闭,我们会检查门的当前状态,然后,如果还没有关闭,我们会关闭它们。

可编辑变量

门具有以下显示的属性:

DoorProperties.png

属性 目的
门打开宽度 设置门开启时的结束位置。相反位置的门会被镜像。
左侧门尺寸 设置左侧门的比例。
右侧门尺寸 设置右侧门的比例。