Skip to content

Send Target position via OSC

OSC is very useful to send position information to third party systems such as immersive sound systems, media servers or lighting consoles. It is a protocol that is widely used in the entertainment industry but is not stadardized beetween manufacturors. This tutorial will show you how to send position information to any compatible systems using the OSC protocol.

Create a OSC module

First of all, to send OSC messages, you need to create a OSC module. To do so :

  • Go to a Module view, click on the "CREATE MODULE" icon on the left of the view and select "OSC" in the list of available modules. Choose a name for your module and click "CREATE".
  • Select the Module in the list and enter the Ip address and port of the third party system you want to send OSC messages to.
  • Make sure that the module is Enabled and that the Output is Enabled too.
  • To make sure that the connection to the third party system is established, try to send a OSC message with an Action and see if you receive it on the third party system. As Kratos uses the UPD protocol to transmit OSC, it provides no guarantees for message delivery and so Kratos can't know if the connection to the third party system is established.

Make sure that your system is connected to the same subnetwork as the third party system

And that your firewall is not blocking the connection to the third party system.
To change or add an Ip address to a Kore, follow this tutorial.

More infomation about Modules can be found here.

You can learn about specific OSC Module controls here.

Create an Action

Now that you have created a OSC module, you can create an Action to send position information to the third party system via this Module.

Specific Actions are available to send position to third party systems. Theses Actions have been created and tested to work with the specific parameters of theses systems (whether they use meters or mapped value for position, depending on their coordinate system, etc...).

A generic Action called "Send Target position" is also available and allows you to send position information to any third party system that is compatible with OSC.

At the moment, you have to create an Action for each Target you want to send position information from.

We will soon release Actions that send position informations of all the targets of the show.

More information about Actions can be found here.

"Send target position" Action

This generic Action presents many parameters that allows you to choose how the position information is sent to the third party system. This allows a completed interoperability with any system that is compatible with OSC.

Parameter Image
The first parameters allow you to choose which coordinate (X, Y, Z or a combination of theses) you want to send and to choose what will be the corresponding message. If you select mutiples axis separately, a message for each axis will be sent. img
This parameters allows you choose between the raw position or the post-processed position (after aplying prediciton, smoothing, etc...). img
You can choose to send the target position only when there is movement. img
You can offset the origin from which the potition of the Tagret is taken img
If you have to send coordiantes between mapped values, you can select this option and choose the two limit values.
You have to use a mapping area that will define the limits of the position of your Target
If you don't want the position of the Target to be send when the Target is outside the mapping Area, you can check the last parameter. Otherwise the Target's position will be send continuously capped to the corresponding limit values
You can not a the moment use different limits values for each axis. To do so would require you to create an Action for each axis independently.
If the third party system doesn't use the same coordiante system as Kratos, you can remap de axis with these parameters. Any remap of the axis will take place after teh mapping of values. img
Furthermore, you can also invert the axis. The inversion happens after the remaping of axis. If you choose to invert the Y axis, it will affect the sent Y coordinate, even if the Y coordiante is mapped to the X position of the Target in the previous parameters. img
You can monitor here the real postion of the Target (in Kratos' coordinate system) and the position sent by the Action after all the modifications done img
To test your Action's parameter, you can switch to a mode where you can manually change the position of a virtual Target from the Action.
You can also test the Action by usigne the manual mode on the selected Target.
This trigger will send once the position information if a Target and a Module are selected. img

Integration specific Actions

If you want to send position information to systems that are known to the Kratos ecosystem, it is simpler and quicker to use specific Actions that have already been configured to work without any additional tweakings. On most of theses Action the only parameters needed are a target, a Module, a mapping Area if applicable and a object Id.

We are constantly working on adding system specific Actions, so keep an eye on futures updates !

A list of all available Scripts can be found here.