Language:
Share

Unreal Frontend(虚幻前端)

UnrealFrontend.png

UnrealFrontend (UFE) 虚幻前端是一个用来简化和加快游戏开发及测试任务的工具,它可以用来准备游戏构建,将游戏部署到设备上并进行启动。 UFE(虚幻前端)是所有游戏开发,分析和测试任务的核心界面。

功能

虚幻前端提供了以下功能:

功能

描述

Launcher(启动器)

编译、烘焙、部署及启动您的游戏。 虚幻前端允许您将游戏同时部署到运行不同目标平台的多个设备上,这些设备可以是本地连接的,也可以位于网络上的任何位置处。 您可以在每个设备(支持的平台)上启动多个实例,并且可以为每个实例配置不同的任务,以便可以大大地加速您的工作流程,来测试单玩家或多玩家跨平台游戏。

Sessions(会话)

远程监控网络上当前运行的所有活动的游戏会话,并同它们交互。 新设计的 Session Browser(会话浏览器) 将允许您定位网络上当前运行的游戏实例。 Session Console(会话控制台) 显示了每个游戏会话输出日志的实时反馈信息,它允许您在一个或多个目标设备上远程执行控制台命令。 不久的将来,您还可以远程同其他开发人员或美术师共享您的活动会话,从而获得他们的意见,而不需要让它们来到你的电脑前查看效果。

Automation(自动化)

自动化地测试代码和内容,并验证它们的完整性。 这是一个新功能,在之前的引擎版本中没有提供。 您将可以为您游戏的自定义C++类及内容编写单元测试、功能测试、压力测试,您还可以创建自定义的测试来验证常用的工作流程,比如验证所有地图或包是否已经正确无误地加载。 同时,我们也在努力将自动化测试集成到我们的编译系统中,以便可以自动化地运行这些测试,在连续集成过程中发现潜在的问题。

Profiling(分析)

远程分析您的游戏性能并找到瓶颈。 如果您熟悉我们之前在UE3中提供的那套分析工具,那么您听到我们正在努力将所有这些不相关的工具集成到UFE中来提供一种单一的用户体验,您一定会非常高兴。

Device Management(设备管理)

管理您的开发工具包、移动设备及其他用于测试的电脑。 在之前版本的虚幻前端就已经提供了简单的设备查找搜寻功能,但是在UE4中,该功能将变得更强大。 我们去除了目标设备必须通过物理方式或者通过设备的SDK连接到本地计算机的限制。 您将可以检测到本地连接的设备、网络连接的设备,并且以将这些设备同其他人共享。 现在,Windows和Mac计算机也可以作为目标设备进行部署、启动及自动化测试。

入门指南

虚幻前端可以通过两种方式访问,一种是通过虚幻编辑器的一个选卡,另一种通过独立的应用程序。 尽管它们的功能是一样的,但是对于测试人员和程序员来说,他们更倾向于使用轻量级的独立应用程序。 美工人员可能更喜欢用编辑器中内置的版本,因为他们一天大多数时候都会打开虚幻编辑器。 该虚幻编辑器选卡可以通过 Window(窗口) 菜单访问:

workspace_menu.png

虚幻前端的独立应用程序位于/Engine/Binaries/Win64目录中:

explorer.png

界面

虚幻前端的用户界面有以下几个组件构成:

UnrealFrontend_UI.png

  1. 设备浏览器

  2. 启动器

  3. 会话浏览器

  4. Automation(自动化)

  5. Session Console(会话控制台)

启动器

Launcher(启动器)选卡允许您编译、烘焙、及启动您的游戏。 最终会有很多方法来完成这个处理,但是到书写本文为止,仅支持以下设置:

  • Build(编译): 创建一个新版本。

  • Cook(烘焙): 运行中(Windows及选中的游戏机平台)。

  • Deploy(部署): 文件服务器(本地Windows 及选中的游戏机平台), 部署到设备 (本地Windows)。

  • Launch(启动): 使用默认任务(也就是,每个设备一个实例+所有设备具有同样的设置)。

启动器中的所有设置都会合并到概述文件中。 这允许您并行地维持不同的设置组合,这对于一天中需要运行很多不同测试的测试人员是非常方便的。 当您第一次打开启动器时,将不会呈现任何概述文件,您需要创建一个新的概述文件:

profile_add.png

一旦创建好概述文件,就会显示一些设置类目:

Build(编译)

launcher_build.png

设置

描述

Game(游戏)

指定要编译的游戏项目。

Build Configuration(编译配置)

设置编译游戏时要使用的配置。

Cook(烘焙)

launcher_cook.png

设置

描述

Cooked Platforms(烘焙平台)

指定要针对那个平台烘焙游戏内容。

目前任何平台上都不支持未烘焙的内容。

Cooked Languages(烘焙语言)

指定要针对哪种语言烘焙游戏内容。

Cooked Maps(烘焙的地图)

指定要烘焙的地图。

Only cook modified content(仅烘焙修改的内容)

如果启用该项,那么烘焙器将忽略任何没有修改的内容。

Save packages without versions(保存包但没有版本号)

Cooker Build Configuration(烘焙器编译配置)

设置配置信息来决定烘焙使用哪种二进制形式。

Additional Cooker Options(其他烘焙器选项)

设备浏览器

Device Browser(设备浏览器) 的功能目前是非常有限的,但是最终它将可以管理及共享网络上的所有目标设备(包括传送日志文件)。 它可以自动检测本地可用设备,并提供一个界面供您手动地添加不能发现的设备。

目前,设备拥有者没有实际意义。 我们要把它实现到何种程度(包括锁定在多个程序员间共享的设备)仍有待商量。

device_browser.png

Note: 目前,我们仅支持本地可以搜寻发现的设备。 到书写本文为止,这些设备包括本地Windows PC (Win32 和 Win64 平台)及网络上选中的游戏机设备。

会话浏览器

当在一个或多个设备上启动一个游戏时,启动器将创建一个由正在运行的每个实例 构成的新会话,您可以在 Session Browser(会话浏览器) 中跟踪该会话。 会话浏览器在虚幻前端中的作用非常大,因为当前选中的会话(或会话实例)决定了其他虚幻前端选卡的功能,比如Session Console(会话控制台)选卡、Automation(自动化)选卡、及即将提供的Profiler(分析器)。

session_browser.png

和Device Browser(设备管理器)一样,Session Browser(会话浏览器)的功能仍然有限。 目前它由分割的列表布局构成。 顶部列表列出了所发现的会话,底部列表显示了选中会话一部分的游戏实例。 一个会话不一定仅包含游戏,还可以包含辅助工具,比如内容烘焙器及文件服务器。

当在虚幻编辑器中运行虚幻前端时,目前总会显示一个 Unnamed Session(未命名的会话) ,它代表虚幻编辑器实例本身。

会话控制台

Session Console(会话控制台) 是从会话浏览器中当前选中的所有实例收集日志输出的中央枢纽。 具体显示哪个日志由会话浏览器中当前选中的实例决定。 然后您可以通过搜索字符串或类目,以及使用各种过滤器(4b)来过滤日志信息(4a)列表。 您可以把控制台命令发送给选中的游戏实例 (4c)。 对于发送给多个实例的命令,每个实例都会执行该命令。 最后,您还可以把所有日志信息或选中的日志信息导入到一个文件(4d)中。

console.png

到书写本文为止,仅可获得自提供了发现会话功能之后的日志。 我们稍后将修改这个功能,使它可以搜索运行虚幻前端之前生成的日志。

自动化

Automation(自动化) 面板提供了访问自动化测试功能的方法。 会话中的每个实例 (包括在编辑器中运行虚幻前端时的本地虚幻编辑器实例)都可以在任何特定时刻执行自动化的单元测试、功能测试及压力测试,来验证代码和内容。

automation.png

  1. Control Panel(控制面板)

  2. Filter Panel(过滤器面板)

  3. Test list(测试列表)

  4. Results(结果)

在会话浏览器中选择一个或多个实例后,测试列表将显示这些实例可用的所有测试。 然后,您可以通过选择一个或多个测试的复选框,来决定您实际想运行哪个测试,或者您可以使用Filter Panel(过滤器面板)来过滤测试列表。 要想执行选中的测试,请在 Control Panel(控制面板) 中按下启动按钮。 测试结果(包括错误信息)将汇集在 Results View(结果视图) 中。

您可以在多个实例上并行地运行自动化测试(通过选择多个实例)。 您可以在多个实例上并行地运行自动化测试(通过选择多个实例)。目前,我们正在努力实现测试组,它将允许不同程度的并行处理(各种类型的加载平衡、冗余的测试等)。 请查看关于自动化系统的文档来获得关于如何创建新测试的详细信息。

虚幻远程代理

Unreal Remote Agent(虚幻远程代理) (URA) 是一个独立的应用程序,运行在远程个人计算机(及Mac)的系统托盘中,使得这些连接到它们上计算机及游戏机平台设备通过网络变为可用状态。 虚幻远程代理,之前需要部署及启动游戏,但是目前不再支持该处理,正在升级中。