【问题标题】:Controlling Lights, fans and other equipment with Unity3D使用 Unity3D 控制灯光、风扇和其他设备
【发布时间】:2021-04-13 02:39:47
【问题描述】:

我们正在使用 Unity 3D,我们有一个完全开发的游戏,但客户想要完全可操作的游戏室,包括灯光、风扇、雾机等(在现实世界中),这些将由我们的 Unity 游戏触发已经发展了,我会开始说我不知道​​该怎么做,我在强调! 我知道我需要为此使用 DMX 盒子,我们已经做了很多研究,enttec USB DMX PRO 似乎是正确的选择,但我根本不知道如何使用 DMX 盒子。

我可能是错的,但似乎我们需要向它发送一个代码文件以使其执行操作?我们通过将代码文件放在文件夹中来发送此代码,但我不确定!如果是这种情况,那么我可以团结一致,在游戏中的正确给定时刻将文件放在文件夹中。

如果有人知道如何将代码发送到 DMX 盒子,如果您能在这方面纠正我,并且如果您能告诉我代码的类型以便我可以开始学习,那就太好了。

USB DMX PRO 是正确的方法吗?

【问题讨论】:

    标签: unity3d lighting osc dmx512


    【解决方案1】:

    DMX是要走的路,你可以得到各种可以被它控制的套件(包括烟雾机)

    协议本身很简单,它只是一个反复重复的 8 位 512 字节值流,虽然时间很关键,所以需要在自己的进程甚至处理器中生成流(这就是entec pro 正在这样做)

    有趣的是如何与该进程或处理器对话,作为一名程序员,这应该引导你做出决定,dmx 接口要么让你直接与界面对话,要么围绕触发现成的“场景”值集

    真正要求您做的是“显示控制”,这是一种流行的协议,即“OSC”(开放声音控制),所以我解决它的方法是将 OSC 库安装到统一中,并使用 dmx 硬件/与之兼容的软件组合。

    【讨论】:

    • 这就是我们最终所做的,当我尝试直接从 unity 发送命令时,我应该尽快听取您的建议,结果证明这是浪费时间,如果可能的话,我不这样做'不知道......但我做不到;)最后我使用了 UniiOSC 和 lightjams
    • 很高兴你成功了,Lightjams 看起来真的很棒
    【解决方案2】:

    在阅读您的问题之前我不知道 dmx 框,它看起来确实可以满足您的目的,但前提是您只打算使用 dmx 兼容的硬件。

    我有一个统一程序,这些程序也用于在多个实例中控制现实世界的事件——例如,为了触发相机快门——问题是,除非你使用现成的完全包装的硬件集,否则有不会是一个能够控制所有现实世界设备的单元。

    以您的烟雾装置为例,很可能只有一个 GPIO 引脚供您控制。在这种情况下,您需要考虑为每个现实世界的设备构建一个微控制单元。

    更具体地说,指挥链是这样的: 1.Unity要启动smoke,发送命令给wrapper 2. Wrapper 向微控制器发送命令 3. 微控制器将适当的信号传输到烟雾单元(如果烟雾单元甚至没有 GPIO,则为现实世界的按钮按钮)

    这个过程可能需要一些时间,特别是如果您不熟悉微控制器,但它绝对是可行的,问题仍然是客户是否可以接受开发时间和成本。

    【讨论】:

      【解决方案3】:

      我不知道Unity框架,但是使用Artnet协议可能会更容易。它通过以太网,因此应该更容易编程。或者您可以尝试使用 LightJams 等 3rd 方软件 - 它是功能齐全的 DMX 控制器,支持 OSC。 Unity 有 OSC 库,因此您可以在 LightJams 上设置提示(即,将灯打开为红色,然后打开雾机)并通过从 Unity 向 LightJams 发送 OSC 命令来执行它们。

      【讨论】:

      • 很遗憾,我无法将两个答案设置为正确,但 OSC(UniOSC 资产)和 LightJams 是我们采用的方法,而且它有效!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-14
      • 1970-01-01
      • 2011-09-06
      • 2015-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多