Problems receiving OSC data in 3D software


#1

In this topic people can post about any difficulties they are experiencing with using NI mate with Blender, Cinema4D or any other software.

Before posting, make sure the following is set:

  1. Your sensor works and you can see the feed on the main sensor page
  2. You can see a skeleton in the depth feed when something is in the sensor’s field of view
  3. The skeleton appears yellow instead of white
    1. If the skeleton is white skeleton tracking is not enabled and no data is sent out. To enable it, check the checkbox next to the skeleton tracking page on the page tree.
  4. You have set the skeleton output mode to include the correct data on the skeleton tracker page. Most of the time you want Basic + Orientation
  5. In NI mate log window, enable the “OSC” checkbox. Make sure NI mate displays outgoing traffic.

#2

Hi. Today i’ve installed NI Mate and its Blender addon. At first launch both programs did theit job good. I had some fun with looking at empties dancing with me and with rigging them to different skeletons. But after some time Blender refused to create empties in a new file (and spheres/cubes). Tried these methods:

  1. Relaunch Blender.
  2. Relaunch NI Mate.
  3. Reinstall addon.
    Nothing worked.

#3

There are a few ways to debug this:

  • In NI mate, on the Log tab enable “OSC” and verify the skeleton data is being outputted
    • If not, verify the “skeleton tracker” in NI mate is set for OSC output (the checkbox is checked / the OSC checkbox on the skeleton tracker page is enabled)
  • In Blender, see the console log window from “Window” -> “Toggle system console”. Make sure no errors are shown
  • It’s possible to modify the Blender receiver plugin to make sure it’s receiving OSC messages by adding a print after “decodeOSC()” so that the code is:
            data = trash
            
            decoded = OSC.decodeOSC(data)
            ob_name = str(decoded[0], "utf-8")
            print("Received OSC: " + ob_name + ": " + decoded)

After this, restart Blender with the modified plugin and observe the system console to see if these prints happen.

The script needs to be either modified somewhere else, and then reinstalled using the Blender plugins view, or modified in place in the Blender scripts dir which is on Windows C:/Users/AppData/Roaming/Blender Foundation/(version_number)/scripts and on Mac I think it’s in blender.app/Contents/Resources/version


#4
  1. In NI Mate the data is outputted.
  2. No errors, just some shady messages:
AL lib: (EE) UpdateDeviceParams: Failed to set 48000hz, got 44100hz instead
<other messages>
path not found
<other messages>
path not found
  1. print("Received OSC: {}: {}".format(ob_name, decoded)) prints many sync messages like Received OSC: /NI_mate_sync: [b'/NI_mate_sync', b',i', 122320052]. And if i face my Kinect, there are walls of other messages. Seems correct.

#5

So all the data is being outputted to Blender over OSC correctly. This suggests there’s something going on in the Blender plugin or the current scene. To be sure this isn’t something simple, could you record a short video where you have NI mate outputting skeleton data (you can use the example clips from the sensor page by clicking the “live” button so you don’t need to go stand in front of the sensor), then open Blender, open the Blender console, choose “Empties” and start receiving the data.


#6

Hi. Here is the screencast. I open Blender during NI Mate translation and try to add empties. Nothing happens (in console too). Then i open a file with empties already existing: everithing works.


#7

On the video you don’t seem to click the “Start” button on your clean scene, while you do so with the rig scene. If the plugin isn’t in the receiving mode, then it won’t be creating any objects in the scene.


#8

Yes, that was the issue. Thank you. Case solved.