DMX概述

DMX插件概述,虚幻引擎可以通过DMX插件用于现场活动和永久性数字装置。

Windows
MacOS
Linux

dmxoverview1.png

DMX蓝图模板

动机

近来,在世界各地充斥着现场活动和永久性数字装置的背景下,人们对虚幻引擎的兴趣和需求日益增长。我们已经看到很多虚幻引擎部分或完全支持的应用。虚幻引擎刚进入这个市场时,缺少一些基本和易用的功能。尽管如此,不少才华横溢的团队已经采用该工具,他们愿意构建必要但缺失的工具/插件,希望进一步拓展极限并实现想要的创造性目标。

现场娱乐业的现有解决方案是混合使用分散、专有且昂贵的硬件和软件平台。工具和生产管线很复杂,难以使用,并且经常损害整个创造和生产过程。

为解决此问题,Epic决定支持通过Artnet和sACN实现 DMX数字多路复用)数据通信。DMX在整个行业广泛使用,可以控制现场活动领域的各种设备,例如光照灯具、激光器、烟雾机、机械设备等。

Artnet和sACN是允许通过以太网(IP)聚合和发送DMX数据的网络协议。Artnet允许通过单根网线发送32,768个域。尽管Artnet是较旧的协议,但受到更多设备的支持。sACN(控制网络的流送架构)当前似乎更流行,允许通过单根网线运行63,999个DMX数据域。

用例

以下是DMX功能已确定的相关典型用例。

显示预可视化

DMX协议可以用于提供给蓝图节点和灯具类型Actor的输入中,以便实现现场演出舞台的快速预可视化。实时DMX输入用于在3D UE关卡中驱动和控制已启用灯具。适当的光照属性可用于实现逼真效果,以便演出设计师在其创作过程中进行迭代。

设备控制

DMX协议输出和蓝图节点可用于与启用DMX的灯具和设备进行通信,从而可以通过UE控制光照控制台或设备。

内容触发器

DMX协议输入可用于触发UE中的现场效果或动画序列,这些效果或动画序列将与光照灯具控件一起在现场演出中显示。

什么是DMX?

DMX是数字通信网络标准,通常用于控制舞台灯光和效果。DMX最初用作控制调光器的标准方法,在DMX512之前,它已采用各种不兼容的专有协议。很快,它成为了连接控制器(例如照明控制台)与调光器和特效设备(例如烟雾机和智能灯)的主要方法。

DMX还扩展到非剧场室内和建筑光照应用中,从圣诞灯串到电子公告板,使用范围广泛。DMX现在几乎可以用来控制一切,它在剧院和现场都很受欢迎。

虽然DMX主要用于控制光照设备,但可以使用DMX协议驱动许多其他形式的硬件,包括以下内容。

  • 特殊效果硬件

    • 雾化器

    • 烟花

    • 激光

    • 二氧化碳喷射炮

    • 火焰炮

    • 五彩纸屑发射器

    • 等等。

  • 电机

  • 电源开关

  • 微控制器

  • 等等。

DMX数据

DMX可以被视为从一个位置(我们的源)发送到另一个位置(或目的地)的数字信息包。每个包都创建于某个源,其中包含应由某些收件人接收和读取的特定信息。每个数据包的结构经过精心设计,如果你想进一步了解其硬件级别工作原理,请阅读ESTA标准 。就我们而言,我们仅关注其中包含的数据。每个包包含一个512字节的数组或0-255范围内的值。

dmxoverview2.png

在下节中,我们将介绍如何发送和接收这些数据包。

关于DMX的技术详情

为DMX创建虚幻引擎插件将实现以下内容:

  1. 两种协议(ArtNet和sACN)的双向本地DMX通信。

  2. 完整的蓝图节点库。

  3. 一个初步UI,用于描述和构建控制器、灯具类型和实际设备的库。

DMX需要两个主要组件才能运行:

  1. DMX控制器或DMX源。

  2. 至少一个DMX灯具(通常是光照灯具,但可以是受DMX协议控制的任何类型的设备)。

我们不支持USB接口。

DMX控制器

DMX控制器(也称"节点")充当信号源或创建DMX信号的位置。此外,控制器还充当一组菊花链灯具的数据分发器。DMX控制器可以采用两种形式:USB/网络接口设备标准DMX控制台

  1. USB/网络接口将USB信号或IP数据包转换为DMX,然后将其发送到一组菊花链DMX灯具中。

    dmxoverview3.png

    要查看图像源,请点击此处

  2. DMX控制台允许用户手动触发传出DMX,并且基于控制台的功能,还可能从网络数据包接收和广播DMX。

    dmxoverview4.png

    要查看图像源,请点击此处

(### DMX灯具)

实际上,DMX灯具是负责根据接收到的数据接收和执行命令的设备。这可能意味着打开或关闭光源或将设备旋转90度。DMX灯具有很多种,从简单开关的标准舞台灯到可以多方向旋转和具有滤光器的智能灯。

每个灯具都有一组在硬件级别上预定义的属性/命令。这些属性划归到各个名为 odes 的组中。许多灯具包含多种模式,这些模式预定义了灯具将响应的可用属性。

灯具制造商为用户提供了不同的模式选项,以便他们可以适应各种用例,包括尽可能多的功能,同时允许用户选择对自己最重要的功能。这样形成了最简单、最小的信道计数模式;复杂、庞大的信道模式;以及一些中间模式。在专业光照实践中,很多时候都会选择中间模式,以在功能和易控制性之间取得平衡,并更加节俭地使用DMX信道数。

每种模式都包含一组属性。属性负责告知硬件如何响应收到的DMX数据。在大多数情况下,你可以在设备随附的灯具手册中找到特定灯具的所有属性。

dmxoverview5.png

要查看图像源,请点击此处

由一组串在一起的灯具组成,它们读取相同的数据。一个域包含512字节的信息,因此域中灯具的数量将取决于寻址每个灯具所需的数据字节数。

信号通信

接下来让我们了解一下控制器和灯具如何相互通信。每个控制器负责一个或多个域,每个域都以长串菊花链的形式串接多个灯具。可以将域视为一组已寻址灯具的标识形式。为了将数据发送到相应的灯具,你还需要将其发送到正确的域。

控制器接收到分发DMX数据包的命令后,将定位相应的域,并沿着灯具链发送数据包,以供每个已连接灯具接收和解译。每个灯具接收相同的数据包,并且如果该数据包包含适用于该灯具的任何数据,则执行内部命令。读取数据后,将其沿链向下传递到下一个灯具,重复该过程。为了确保灯具接收正确的信息,它必须侦听正确的数据。这里引入了灯具寻址或"修补"概念,下一节会详细介绍。

在下面,你可以查看信号层级和数据使用情况的概述。

  • 控制器可以负责一个或多个域

    • 域可以包含许多以菊花链形式连接在一起的灯具(用完整的512字节数组表示)

      • 灯具可以在域中占用一个或多个地址

        • 起始地址,每个灯具都有一个起始地址,该地址确定灯具应该如何解译接收到的DMX数据包(字节数组中的单个索引)

        • 属性,每个灯具都包含一组由其当前模式定义的属性,每个属性都具有一个由其属性编号(信道)加上起始地址确定的地址(见下图示例)。

灯具修补

灯具修补的概念源自这一理念:即我们需要能够沿通讯链虚拟放置灯具,以便接收相应的数据。由于我们发送了要由多个灯具读取的完整数据包,因此重要的是要设法准确识别该包中应读取和解译的字节和应忽略的字节。这一点通过在域中的特定起始地址处指定每个灯具完成。起始地址范围为1到512(我们的DMX数据包中的最大值)。通过将灯具分配给特定的起始地址,它会占用从指定起始地址到该起始地址加上灯具在其当前模式下包含的属性数量的一系列地址。

请参阅以下示例:

dmxoverview6.png

灯具2 当前模式 = 8ChannelMode(包含 8 种属性)

  1. 红(地址8)

  2. 绿(地址9)

  3. 蓝(地址10)

  4. 频闪(地址11)

  5. 平移(地址12)

  6. 倾斜(地址13)

  7. 调光器(地址14)

  8. 宏(地址15)

起始地址 = 8 地址范围 = 8 - 15

使用上面的示例,为了进行平移,灯具将侦听地址12,以便获取0-255之间的字节值,这将最终控制灯具在其定义的旋转范围内平移的数量。

属性分辨率

最常见的情况是,属性将使用单个字节的输入范围(例如0-255)。有时,需要更高的分辨率实现更高精度的运动或光照控制。在这种情况下,属性采用更大的输入范围,该范围由多个字节而不是一个字节构成。多个字节的组合可能导致控制特定属性的值更高。下面是可能的属性信号类型。

  1. 8位属性 - 最小值:0,最大值:255 - 占用1个地址

  2. 16位属性 - 最小值:0,最大值:65,536 - 占用2个地址

  3. 24位属性 - 最小值:0,最大值:16,777,215 - 占用3个地址

  4. 32位属性 - 最小值:0,最大值:4,294,967,296 - 占用4个地址

当需要超过8位的属性时,该属性在域中占用多个地址。根据分辨率情况,它可以占用多个连续的地址。你可以在上面的列表中看到属性将占用的地址数量。

DMX网络通信

如上文"控制器"章节所述,DMX数据可以通过多种方式发送,包括通过USB、IP数据包发送以及直接从控制台发送。在过去的几年中,网络通信方法变得日益流行和重要。随着演出变得越来越大型,灯具数量增加,用户越来越需要以快速、高效和可靠的方式处理更多灯具。

为了克服DMX的信道限制,同时仍然利用DMX的结构,以太网协议应时而生。这些协议允许使用以太网技术通过单根Cat5电缆传输多个DMX域。在DMX插件中,有两种使用最广泛且UE支持的主要以太网协议:Art-Net和sACN。

Art-Net

Art-Net是买断式授权通信协议,用于通过UDP传输DMX512-A光照控制协议和远程设备管理(RDM)协议。它用于在"节点"(例如,智能光照设备)和"服务器"(运行光照控制软件的光照台或通用计算机)之间进行通信。

可以在art-net网站 上找到有关Art-Net协议的更多详细信息。

sACN

控制网络的流送架构(sACN)是ESTA开发的一种标准协议,用于通过网络有效传输DMX域。它在很多方面都可以和ArtNET匹敌。优势是多播选项支持非常简易的配置。sACN是用于控制大量RGB LED的流行协议。

DMX用户类型

设计公司

除建筑公司、视听专家和创意机构外,设计公司通常需要设计现场活动和永久性垂直装置方面的总体创意项目,在这些领域中,实时资源用于生成要在物理空间中显示的内容。

设计公司的任务是为所有相关方提供精确的设计文档,确保按照精心拟定的详细计划全面交付项目,从而尽可能减少歧义。他们需要全面了解和理解虚幻引擎为何是其项目的最佳工具、具有哪些功能,存在哪些限制以及如何将其集成到设计总体规划中。

创意机构和制作公司

从制作角度来看,创意机构和制作公司主要负责设计和执行创意计划。使构想成真。他们在给定项目范围内编写虚幻引擎的代码并使用虚幻引擎。他们是你的一线客户,他们会利用现有功能,并可能根据项目需求对这些功能进行增强或修改。他们将需要全面了解此类功能的技术能力,并能在有限的时间和预算范围内,利用它们实现给定的创意或设计目标。规模较大的创意机构和制作公司通常也是设计公司。

视听技术专家

负责规范、设计和调试视听系统的视听行业技术人员和技术专家需要详细了解虚幻引擎如何在这些系统中配合其他工具和设备一起使用。它如何集成到推荐的视听基础设施内,如何与该基础设施通信,如何处理故障、冗余或备份系统?这些系统需要作为一个整体在近乎自动化的环境中全天候处理,最大程度地减少人员交互。

协议集成

ArtNet和sACN协议均从原始源集成,因此所有代码都是Epic内部的。通过从源编译,我们可以更好地控制使用和访问库属性的方式,最重要的是,从库源编译可以支持多平台使用。

虚幻引擎DMX插件提供通过sACN和Art-Net协议变体接收和发送DMX数据的跨平台支持。由于Art-Net和sACN都是UDP网络协议,因此,虚幻引擎现有的网络消息功能现在可以在本地实现基于虚幻引擎架编译的每个协议。

此插件集成了Art-Net协议的最新版本Art-Net 4。Art-Net 4的理论限制为32,768个域或端口地址(即32千层域),而Art-Net 3的域限制为256个。

有关完整的Art-Net 4协议规范,可以在此处 找到官方文档。

与Art-Net相比,sACN是一种较新的协议,可支持多达63,999个域。

有关sACN协议的已发布文档,请访问此链接

功能指南

这是DMX插件中所有功能的详细列表。

从虚幻引擎发送DMX数据(ArtNet+sACN协议)

  • 已实现两种主要的DMX通信协议(ArtNet和sACN),可通过以太网将DMX发送到60,000多个域。

  • 可以在运行时和编辑器中直接从虚幻引擎发送DMX。

接收传入的DMX信号

用户可以创建获取者(getter)蓝图,以允许从任何域中的任何信道接收DMX数据。一系列委托事件和将返回当前灯具值数据的DMX组件可用于使用传入的DMX数据。这些事件可以应用于任何Actor(例如灯具),并使用传入数据控制旋转、色彩等。

用属性名称和信道映射注册DMX灯具

用户可以使用任意数量的信道将任何DMX灯具添加到他们的项目中。如果灯具数据库 中没有预设灯具,则用户可以注册自己的灯具。用户还可以设置信道映射并注册自己的属性,以便最终在自己的自定义蓝图或所提供的默认灯具蓝图Actor中使用。

通过域和协议分配注册DMX控制器

用户将能够添加负责任何DMX域范围的不同DMX控制器。

从蓝图属性发送DMX

动态蓝图节点允许用户为特定的DMX灯具执行预先注册的灯具属性。

使用虚拟输出控制台从编辑器控制DMX

用户可以使用自定义DMX控制台窗口直接从编辑器测试任何域中的任何信道或任何范围的信道。

GDTF集成

VectorWorks 支持GDTF 文件格式标准,因此可以导入许多带有自身属性的灯具类型。目前只支持导入属性。Spotlight 是他们用于现场演出预可视化的软件,已在业界广泛使用。

以下所有功能都是4.26版本的内容。

属性命名系统

属性命名系统提供了导入函数的一种标准化命名方法,同时还提供了对易于访问且易于理解灯具属性的全局访问。UE 4.26之前没有标准化的命名规范,标准化命名规范会要求用户在需要的地方键入函数名称。用户可以通过属性系统简单地从属性下拉列表中选择,而无需创建DMX库。

DMX Sequencer功能

可以从Sequencer中控制DMX。借助此功能,用户可以将DMX库中的一系列补丁添加到sequencer轨道中,然后可以从该sequencer轨道中对关键帧进行编程,以便将DMX输出到虚拟或实际灯具。

DMX录制

可以录制传入DMX,以便用户可以使用物理DMX控制台和虚幻引擎构建自己的演出。

像素映射

该功能允许用户对用户指定纹理的像素进行采样,并将色彩样本作为DMX输出到各种DMX类型。

单播/组播输出

此功能提供了用于指定发送目的地的其他DMX通信方法。

改进的DMX库UI

灯具类型面板

功能类型(Feature Type)面板将灯具细节、模式和函数/属性分成单独的列,使其更具条理且易于查看。

灯具补丁面板

灯具补丁(Fixture Patch)面板是一个交互式可视化工具,用于将灯具修补程序寻址到IP地址和域。

改进的DMX输出控制台和输入监视

输出控制台和DMX监视器工具已移出DMX库。

输出控制台

提供增益调节器快速添加工具,并允许使用宏来快速测试和控制增益调节器。

输入监视

多域DMX监视工具使用户可以侦听任何域上的任何传入DMX。

矩阵灯具支持

DMX可以通过蓝图、sequencer和镜头试拍录制器从多个单元灯具发送和接收DMX。

模块化DMX灯具蓝图模板

DMX统计数据

DMX发送和接收统计数据可以在界面上显示。

DMX输入和输出刷新率

Select Skin
Light
Dark
欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见