Управление освещением, вентиляторами и другим оборудованием с помощью Unity3D

Мы работаем с Unity 3D, и у нас есть полностью разработанная игра, но клиент хочет полностью функционирующие игровые комнаты с освещением, вентиляторами, генераторами тумана и т. д. (в реальном мире), которые будут запускаться из игры Unity, которую мы разработали, Начну с того, что я понятия не имею, как это сделать, и я подчеркиваю! Я понимаю, что для этого мне нужно использовать блок DMX, мы провели много исследований, и enttec USB DMX PRO кажется правильным путем, но я вообще не знаю, как использовать блок DMX.

Я могу ошибаться, но кажется, нам нужно отправить ему файл кода, чтобы дать ему свои действия для выполнения? и отправляем ему этот код, поместив файл кода в папку, но я в этом не уверен! если это так, то я мог бы заставить единство помещать файлы в папку в правильные моменты игры.

Если кто-то, кто знает, как отправить код в блок DMX, было бы здорово, если бы вы могли поправить меня в этом, и если бы вы могли сказать мне тип кода, чтобы я мог его изучить, это было бы здорово.

И подходит ли USB DMX PRO?


person Beauzach    schedule 22.10.2014    source источник


Ответы (3)


DMX — это то, что вам нужно, вы можете получить все виды комплектов, которыми можно управлять с его помощью (включая дымовые машины).

Сам протокол прост, это просто поток 8-битных 512-байтовых значений, повторяющихся снова и снова, время имеет решающее значение, поэтому поток должен генерироваться в своем собственном процессе или даже процессоре (именно так работает entec pro). делаю это)

Интересно то, как общаться с этим процессом или процессором, и как программист, это то, что должно привести к вашему решению, интерфейсы dmx либо позволят вам напрямую общаться с интерфейсом, либо будут ориентированы на запуск «сцен», которые представляют собой готовые наборы значений.

То, что вас действительно просят сделать, это «показать управление» популярным протоколом для которого является «OSC» (открытое управление звуком), поэтому я бы решил это, установив библиотеку OSC в единство и используя комбинацию оборудования и программного обеспечения dmx. что с этим совместимо.

person back_ache    schedule 23.10.2014
comment
Это то, что мы, наконец, сделали, я должен был прислушаться к вашему совету раньше, поскольку я попытался отправить команды напрямую из единства, что оказалось пустой тратой времени, возможно это или нет, я не знаю... Но я не смог ;) В итоге использовал UniOSC и lightjams - person Beauzach; 14.11.2014
comment
Рад, что у вас все получилось, Lightjams выглядит действительно здорово - person back_ache; 18.11.2014

Я не знал dmx box до того, как прочитал ваш вопрос, и действительно похоже, что он может удовлетворить вашу цель, но только если вы собираетесь использовать только совместимое с dmx оборудование.

У меня были программы Unity, которые также использовались для управления событиями в реальном мире в нескольких случаях — например, для срабатывания затвора камеры — дело в том, что, если вы не используете готовый к использованию полностью упакованный набор оборудования, не будет быть единым блоком, который сможет контролировать все ваши устройства в реальном мире.

Например, в случае вашего дымового устройства есть вероятность, что для управления им есть только контакт GPIO. В этом случае вам нужно будет изучить возможность создания микроконтроллера для каждого из реальных устройств.

Более конкретно, цепочка команд будет такой: 1. Unity хочет запустить дым, отправляет команду обертке 2. Оболочка передает команду микроконтроллеру 3. Микроконтроллер передает соответствующий сигнал дымовой единице (или реальному нажатию кнопки, если у блока дыма нет даже GPIO)

Этот процесс может занять некоторое время, особенно если вы не знакомы с микроконтроллерами, но это определенно выполнимо, остается вопрос, устраивает ли клиента время и стоимость разработки.

person TNTanuki    schedule 22.10.2014

Я не знаю фреймворка Unity, но, возможно, будет проще использовать протокол Artnet. Это через Ethernet, поэтому его легче программировать. Или вы можете попробовать использовать стороннее программное обеспечение, такое как LightJams — это полнофункциональный контроллер DMX с поддержкой OSC. Существует библиотека OSC для Unity, так что вы можете настроить сигналы на LightJams (т. е. включить красный свет и включить дым-машину) и выполнить их, отправив команды OSC из Unity в LightJams.

person mefju    schedule 23.10.2014
comment
К сожалению, я не могу назвать два ответа правильными, но OSC (актив UniOSC) и LightJams — это наш путь, и он работает! - person Beauzach; 14.11.2014