DMX Artnet into UE Question


#1

If I wanted to read a large number of DMX channels from incoming ArtNet and then pass them through to my virtual lighting fixtures inside Unreal Engine, whats the best way to do this? It seems that DMX Listener is looking for 1 channel at a time, whereas 1 lighting fixture may occupy several DMX channels.
The next question will be whats the best way to pass values to UE I assume using the shared Memory - what would be the best data structure (rather than passing each DMX channel as a value)?
thank you as always!


#2

Hey Jason,

You are right, at the moment Art-Net DMX Listener node allows listening to only 1 channel, so if you wanted to listen to several channels, you’d have to use more than 1 node.


Similarly, if you wanted to pass these values to UE, you’d have to add as many integer inputs to the Shared Memory Sender node as there are channels you’d want to pass to UE.

That being said, it shouldn’t be hard for us to upgrade that, so that the output of Art-Net DMX Listener node would be an array of integers where each would represent one channel. This means, of course, you’d have to specify the start and the end channel to define this range you are listening to.

Then, similarly, we would upgrade the Shared Memory Sender node, so that it would allow to pass an array of integers directly.

Would this help?


#3

Hi,

This has been implemented in Lightact v3.1.3 that is now available online. Now you can pass multiple Art-Net channels from Lightact to UE as shown below.

image

Shared Memory Sender node then packages these values into a string where each integer is delimited with a comma.

On UE side you can then use the new String to Integer Array utility node (available in the new Lightact-UE4 plugin version 2.2)
image
to unpackage the array back into an array of integers.

I hope this helps.
Mitja


#4

Hi again
Would it be possible to show me a sample of how to unpack the DMX data in Unreal? I dont seem to have the string to integer array node, only string to vector array with the new lightact 2.2 plugin.
many thanks


#5

Hello Jason,

Hmm, that’s weird. I just downloaded the plugin from our GitHub, copied the folder to an otherwise empty Plugins folder of a UE project, opened it (waited for the plugin to build) and there it was. The String to Integer Array node that is.


This is the layout that should get you the incoming integer values.

You could also try out the updated LightactAndUnreal UE project. In there, there is an audioFreak level, which uses a similar node called StringToFloatArray, which creates an Array of Floats. This level then uses it for audio visualization.


It plays well with Audio Visualisation with UE4 sample project in Lightact.

In order for the updated nodes to appear you sometimes need to either restart the UE editor (especially if its a Code project, I think) or go do Window->Developer Tools->Modules and in there find Lightact and click Recompile.


#6

Thanks! Sorry was me copying over an old version of the plugin :frowning: I’m all sorted now thank you


#7

Just a quick note to say this works great!! thank you.


#8

DMX controlled lights in Unreal with Scene capture back to LightAct.


#9

That’s awesome, Jason :+1: Feel free to post more images if you have them. We’ll help spread the news. BTW: You can also use Facebook user group if you want :slight_smile: :champagne: