在动态图形设计和体育竞技领域中,实时渲染技术正变得日益重要。 Epic Games与Capacity Studios合作推出了一个高品质的虚拟演播室展台示例,介绍了如何为电子竞技节目设计、开发和播放包含丰富动画元素的内容。
进入演播室,了解如何通过高级蓝图和数据表工作流来驱动一个体育类动态图形资产包。
通过学习本示例和文本,你将了解:
如何在实时节目和预渲染动画中运用动态图形动画。 此示例中包含10个动态图形示例。
如何构建一个可高度自定义的图形资产包,让美术师可以自由切换其中的3D模型、纹理、材质和光照效果(全部由单个蓝图控制器驱动)。 当你更改战队名称时,场景中的所有元素都会相应替换。
如何通过向数据表添加新战队来扩展工作流。
入门指南
用虚拟演播室展台示例设置项目的步骤如下:
通过Fab访问虚拟演播室展台示例,点击添加到我的库(Add to My Library),即可在Epic Games启动器中显示该项目文件。
或者,你也可以在启动程序的Fab中或UE的Fab插件中搜索该示例项目。
在Epic Games启动器中,找到虚幻引擎 > 库 > Fab库以访问项目。
只有在你安装了兼容的引擎版本时,示例项目才会出现在Fab库中。
点击创建项目(Create Project)并按照屏幕上的提示下载示例并启动新项目。
要了解有关从Fab访问示例内容的更多信息,请参阅示例与教程。
播放图形和动画
在虚幻编辑器的工具栏中,点击运行(Play)可运行关卡。
在世界大纲视图(World Outliner)中,选择BP_HypeChamber_Controller,打开其细节(Details)面板。 这些都是在在编辑器中运行(Play in Editor)模式下可以更改的选项。
演播室控件
点击播放图形(Play Graphic)可播放3D图形和动画。
点击重置图形(Reset Graphic)可将所有内容重置到初始状态。
更改战队Aselect(Team Aselect)可调整关卡中的战队。 如果你的设计包含两个战队,那么战队ASelect(Team Aselect)会显示在左侧,战队Bselect(Team Bselect)显示在右侧。
模式选择(Mode Select)可以更改关卡中显示的内容。 每种模式关联不同的运态图形和动画。 以下选项可供你选择:
INT Matchup
INT Matchup Infinite
INT Team Hype Chamber
INT Player Name
INT Text
INT_Logo
FS Open
FS Team Hype Chamber Wide
FS Team Hype Chamber Close
FS Backgrounds
BUMP Team Victory
演播室高级选项
演播室控制台(Hype Chamber Controller)提供了以下设置,用于定制播放动态图形和动画时的媒体输出和后期处理效果。
| 参数 | 说明 |
|---|---|
禁用SDI(Disable SDI) | 禁用激活媒体捕获输出。 |
启用SDI(Enable SDI) | 启用基于通用媒体输出的媒体捕获输出。 |
更新高级设置(Update Advanced) | 将质量和光线追踪设置更新为演播室控制台(Hype Chamber Controller)设置的值。 |
更新徽标(Update Logos) | 更新屏幕墙中的背景徽标和颜色。 |
使用模式选择(Use Mode Select) | 启用后,你可以用演播室控制台控制要使用的场景。 在使用动画渲染队列之前,你需要禁用此功能。 |
屏幕模式(Screen Mode) | 填充演播室屏幕的内容类型。 默认为动态图形场景的渲染目标。 |
主后期处理(Master Post Process) | 对具有最高优先级的场景后期处理体积的引用。 |
通用媒体输出(Media Output Generic) | 定义内容的媒体捕获输出。 默认使用Blackmagic SDI配置。 |
分辨率 | 媒体捕获的输出分辨率大小。 |
质量 | 即 |
最大粗糙度(Max Roughness) | 后期处理体积光线追踪的最大粗糙度。 |
最大反弹次数(Max Bounces) | 后期处理体积光线追踪的最大反弹次数。 |
逐像素采样(Samples Per Pixel) | 后期处理体积光线追踪的逐像素样次数。 |
使用远程控制播放图形和动画内容
在EsportsSample/_ArtistElements/Blueprints中,双击远程控制面板中的RC_Esports远程控制预设(RC_Esports Remote Control Preset)。 BP_Esports_Controller的细节(Details)面板中的参数与RC_Esports预设中公开的参数相同。
在本地计算机上输入URL 127.0.0.1:7000,或在第二台设备上输入使用7000端口的计算机的IP地址,启动远程控制Web应用程序,以便远程控制战队图形和文本。 参阅远程控制Web应用程序了解使用Web应用程序的详情。
编辑战队主题
要编辑当前战队主题,请在内容浏览器(Content Browser)中找到EsportsSample/_ArtistElements/Blueprints/Data,双击DT_Esport_Themes,在数据表资产编辑器(Data Table Asset Editor)中打开它。
每一行包含一个战队的所有数据,从战队名称到战队的颜色控制板,一应俱全。 点击任意一行并在行编辑器(Row Editor)中编辑其数据,即可更改战队主题。
要更改定义战队主题的参数,请找到EsportsSample/_ArtistElements/Blueprints/Structures,双击ST_RL_Design,在结构资产编辑器(Structure Asset Editor)中打开它。
在Esports/_ArtistElements/Blueprints中,双击BP_Esport_Controller,在蓝图编辑器(Blueprint Editor)中打开它。 在UpdateData分段中,按行名查找DT_Esport_Themes数据表,以便在关卡中填充战队数据。 添加参数时,请确保将参数连接到TeamAValues和TeamBValues节点定义过的资产上。
创建自己的战队
按照以下步骤将新战队添加到选项中。
在内容浏览器(Content Browser)中,找到EsportsSample/_ArtistElements/Blueprints/Enums,双击EN_Teams,在枚举资产编辑器中打开它。
点击新增(New)添加一个枚举值。
将新枚举值的显示名称(Display Name)设置为战队简称,将说明(Description)设置为战队全称。 在此示例中,新战队的显示名称为WIP,其说明为Work in Progress。
找到EsportsSample/_ArtistElements/Blueprints/Data,点击(+)添加((+) Add)添加新行。
将新行的名称设置为战队的简称,将战队名称(Team Name)设置为战队的全称。 在此示例中,行的名称为WIP,战队名称为Work in Progress。
现在你可以修改关卡的BP_HypeChamber_Controller中的演播室控件(Hypechamber Controls)来选择你的新战队了。
使用动画渲染队列进行批量渲染
在内容浏览器(Content Browser)中,找到EsportsSample/_ArtistElements/Blueprints。 右键点击EUW_VersioningUtility编辑器工具控件资产,并选择运行编辑器工具控件(Run Editor Utility Widget)。
在新窗口中打开编辑器工具控件(Editor Utility Widget)。
此控件将使用影片渲染队列为具有各种战队配置的批量渲染序列提供控制方法。 以下参数会影响渲染作业。
| 参数 | 说明 |
|---|---|
模式选择(Mode Select) | 选择渲染时应配置和播放的图形动画。 |
目标序列(Target Sequence) | 模式选择的目标关卡序列。 可以在编辑器中打开以便预览图形。 |
战队AList(Team AList) | 要使用所选图形进行渲染的战队列表。 在有两个战队的图形或模式中,这可以控制左侧的战队。 |
团队BList(Team BList) | 要使用所选图形进行渲染的第二个战队列表。 在有两个战队的图形或模式中,这可以控制右侧的战队。 |
文本版本(Text Ver) | 选择要在渲染中使用的文本模式动画的版本。 输入文本默认为当前设置为文本行1和文本行2输入的内容。 |
背景版本(Background Ver) | 选择渲染中的背景模式动画版本。 |
演播室控制器(Hype Chamber Con) | 对场景中BP_Hypechamber_Controller的调试引用。 |
渲染预设(Render Preset) | 用于渲染作业的影片渲染队列渲染预设资产。 |
输出文件夹(Output Folder) | 渲染资产的输出目录。 |
管线执行器作业(Pipeline Executor Job) | 显示有效执行器作业的调试视图。 |
下一个渲染执行器(Next Render Executor) | 显示下一个执行器作业的调试视图。 |
队列索引(Queue Index) | 战队A和战队B列表中当前正在进行的渲染作业的调试状态 |
作业数量(Job Count) | 列出的要进行的渲染作业的总数。 这由战队A列表中的战队数量决定。 |
点击(+)开始渲染((+) Start Render)可以启动渲染作业。