UnrealLink

UnrealLink is a fast-developing feature which allows you to: Sync the meshes of projection object between the Unreal Engine and LightAct Genlock Unreal Engine to LightAct Sync Unreal’s timecode to LightAct’s and vice-versa Create nDisplay configuration file that exactly corresponds to the projection setup in LightAct. The best and fastest way to learn about UnrealLink […]

Continue reading

LightAct and Unreal Engine

LightAct can share data and content (textures) with Unreal Engine. Content sharing is enabled with Texture Share Unreal Engine plugin and data sharing is done with LightAct Unreal Engine plugin. LightAct can share data and content (textures) with Unreal Engine 4.26 and above. Content sharing is enabled with Texture Share Unreal Engine plugin and data […]

Continue reading

Installing a license on a dongle

The first step to install a license on a dongle is to send us a license update request file. It has WibuCmRaC file extension.

To create a license update request file, launch CodeMeter Control Center.

When it opens, you will see all CodeMeter containers present on your system. 

Requesting a license update

Select the dongle you want to install LightAct license on and click on License Update button.

Select Create license request and click on Next. In the next window you’ve got 2 options, depending on whether your dongle already has one of our licenses on it or not.

Option 1: Extend existing license

If there is already a LightAct license on this container select Extend existing license and click on Next. This usually happens if you already have a LightAct license on your dongle, but want to install another one.

In the Please choose the vendor window choose VISIBLE d.o.o. and click on Next. If you don’t see VISIBLE d.o.o. listed you should go back and proceed as per Option 2: Add license of a new vendor.

Option 2: Add license of a new vendor

If there are no LightAct licenses on this dongle, select Add license of a new vendor and click on Next. 

In the Please enter the Firm Code window enter VISIBLE’s Firm Code, which is 6001083 and click on Next.

Save the .WibuCmRaC file and send it to info@lightact.io.

We’ll send back the License update file which you can import by selecting Import license update. For detailed instructions read below.

Import a license update

When you receive a license update file with a .WibuCmRaU file extension, open CodeMeter Control Center again.

Select the dongle you want to install the license on and click on License Update button.

Then click on Import license update. On the next window, select the .WibuCmRaU file you received and click on Commit.

LightAct Licenses

LightAct licenses can be installed on your computer or on a dongle and it is up to you to decide which works best for you.

Installing the license on a computer

When you install a license on a computer it means that during the installation process a precise identification of your computer is generated based on its hardware specifications. The license is locked to this particular computer, so it cannot be used on any other computer. We call these licenses computer-bound. 

The advantage of computer-bound licenses is that you don’t need to purchase a dongle. Usually you also get it on the same day as the date of the purchase.

To read more how to get and install a license on your computer click below.

Installing the license on dongle

If you purchase LightAct dongle together with a license, we will install it on your dongle before shipping, so you won’t need to do anything.

However, if you already have LightAct dongle or any other CodeMeter dongle with a serial number larger than 3-344…, then click on the button below to learn how to install LightAct license on it.

Transferring licenses

It is possible to transfer a license between computer and/or dongles, but it is a manual process which we charge a small fee for.

Please contact us if you’d like to transfer your computer-bound license.

If you have any doubts or questions make sure to explore the buttons below as well.

Installing a license on a computer

The first step to install a license is to send us a license update request file. It has WibuCmRaC file extension.

To create a license update request file, launch CodeMeter Control Center.

When it opens, you will see all CodeMeter containers present on your system. It should include a container LightAct and LightAct Trial, any LightAct dongle you have plugged in as well as CodeMeter containers installed by other manufacturers.

The container you will be installing LightAct license on is called LightAct.

If you don’t see LightAct container in your CodeMeter Control Center download the file below, unzip it and drag & drop LightAct.WibuCmLIF file into CodeMeter Control Center.

After you’ve dropped LightAct.WibuCmLIF file into CodeMeter Control Center, LightAct container should be created.

Requesting a license update

Select LightAct container and click on License Update button.

Select Create license request and click on Next.

Save the .WibuCmRaC file and send it to info@lightact.io.

We’ll send back the License update file which you can import by selecting Import license update.

Import a license update

When you receive a license update file with a .WibuCmRaU file extension, open CodeMeter Control Center again.

Select LightAct container and click on License Update button.

Then click on Import license update. and select the .WibuCmRaU file you received.

Projector calibration with 3DCal

Projector calibration is a process which determines the properties of the projector. They are grouped into intrinsic and extrinsic properties. Intrinsic properties are lens shifts and lens distortion (although LightAct doesn’t use lens distortion at the moment for projection mapping). Extrinsic properties are location and rotation of the projector.

Overview of 3DCal process

3DCal is a process of matching 3D points on the surface of the virtual objects with 2D points in the projector-space. This process needs to be repeated for every projector.

The video above shows the entire process.

Everything is done in 3DCal tab of Projector window. There are 3 ways to open Projector window:

  1. by double-clicking on the projector in the Visualizer,
  2. by right-clicking on the projector in the Visualizer and selecting Projector setup or
  3. by clicking on Setup button in the View tab of projector properties

The image above shows the area where you should click Projected points (area 1) and the area where you can click Virtual points (area 2). The projector you are calibrating needs to mapped to a physical output and the output enabled. In order for the calibration to start you need at least 6 pairs of points.

You select the projected points not by looking at your computer screen but by looking at the physical projection object where, once you check Project points to output, you should see a crosshair. You can adjust the colors of the crosshairs in the Preferences section.

In Projector Controls section you can enable & disable overrides for other projectors, which will make it easier to calibrate the projector you are working on at the moment.

There are several checkbox on the right-hand side, so let’s go through all of them:

  • Calibrate on change: if checked, every new point or movement of an existing point will trigger a re-calibration of the projector. Uncheck if you need to move several points at the same time.
  • Snap to vertex: if checked LightAct will try to find the closest vertex on the 3D model. Useful if you want to click only on corners of the object.
  • Render virtual points in Visualizer: if checked you will be able to see all virtual points in the Visualizer. Useful if you are using Snap to vertex functionality, because sometimes the point can snap to a nearby vertex instead of where you wanted it to be. You can adjust the radius of the spheres in the Visualizer.
  • Project points to output: overrides the projector content and outputs background color with cross-hairs, so you can select projected points.

After calibration process is complete, please note the Reprojection error label on the right. It tells you the estimated precision of projector calibration and it should be as low as possible. Under 2 px is usually ok, but ideally you should get it under 1 px.

TouchDesigner TOP & Chop Reader Nodes

LightAct allows you to grab textures (TOP) and data (CHOP) from TouchDesigner using shared memory. On TD’s side, this is done with Shared Mem Out TOPs & CHOPs and on LightAct side it’s done using TouchDesigner TOP & CHOP Reader nodes.

TouchDesigner TOP Reader node

The most efficient way of sharing textures between TouchDesigner and LightAct is using Spout or, if you are on multiple servers, NDI. However in certain cases using Spout is not possible. One such case is when you are using a multi-GPU system and TD is running on a different GPU than LightAct. In this case using shared memory texture transfer is the only option.

In order to set this up, all you need to do on LightAct side is to insert a TouchDesigner TOP Reader node in Devices window. Please note the Handle name you type in as it will have to match what you type in on TD’s side.

On TD’s side you should insert a SharedMemOut TOP. In the Shared Mem Name type in the same name as what you typed in on LightAct’s side.

Pixel formats

Texture transfer has been tested with 8, 16 and 32-bit RGBA texture formats. Please note you might get unexpected results if you use other pixel formats.

If the setup is correct, you’ll see the texture in the node’s properties once you check Listening checkbox.

In order to get the texture to your layouts, just use TD TOP Listener node and select your TOP Reader node as its parent.

TouchDesigner CHOP Reader node

With TouchDesigner CHOP Reader nodes you can get channel data from TouchDesigner.

In order to set this up, all you need to do on LightAct side is to insert a TouchDesigner CHOP Reader node. Please note the Handle name you type in as it will have to match what you type in on TD’s side.

On TD’s side you should insert a SharedMemOut CHOP. In the Shared Mem Name type in the same name as what you typed in on LightAct’s side.

Please note, channel names are not read on LightAct’s side.

If the channels were read correctly, you’ll see them on the right side once you’ve selected the Listening checkbox.

To get the channel data into your layouts, just insert a TD CHOP Listener node and select your CHOP Reader node as its parent.

OptiTrack, BlackTrax and PosiStageNet

This article below goes through the process of setting up reading of OptiTrack data. The process with BlackTrax and PosiStageNet is the same.

LightAct can read OptiTrack rigid body information and use it to update location and rotation of any object in the Visualizer.

The process to setup OptiTrack integration starts with inserting OptiTrack Reader node in the Devices window.

Once the node is inserted it automatically starts looking for any Motive servers on the network. If it finds any, they will be listed below the manual settings.

You can either select one of the found servers or type in the IP address of the server manually and select with connection type it is using (Multicast or Unicast). If you choose Multicast, you need to type in its Multicast Address as well.

Once you’ve made your choice, don’t forget to select Listening checkbox. If the node is receiving any data, it will show in the Data section.

Setup in Layer Layouts

To use the data from the reader node, you can use OptiTrack Rigid Body Listener node in the Layouts. Please note, you can create several OptiTrack Rigid Body Listener nodes and connect them to the same OptiTrack Reader node.

OptiTrack Rigid Body Listener node has 2 inputs: with Body index input you select which rigid body you are interested in, and Pos scale input determines multiplication factor which will be used for all the incoming locations.

The OptiTrack Rigid Body Listener node can be connected to Set Object Location & Rotation nodes in order to move and rotate an object in the Visualizer.

Notch Playback

As of version 3.3.0, LightAct can playback Notch blocks (link to Notch website). The main tool you’ll use to do that is Notch Block Reader node in Layer Layouts.

The node can be found in Generators->Textures category, but the easiest way to find it is to simply type “Notch” in the search bar.

There are 2 ways to play Notch blocks. To import them as Assets and choose one as the Source of the Notch Block Reader node, or to type a Filepath of a Notch block (.dfxdll) file into the node directly. 

The most common way is to import them as Assets, so let’s first go through this procedure.

Additional resources

Importing Notch block assets

You can import Notch blocks (.dfxdll) files the same way as all the other assets. Either by dragging and dropping one or several .dfxdll files onto LightAct window, by clicking on Import button or by using Ctrl+D shortcut.

Successfully imported blocks will appear in Assets tab under Notch blocks branch. Please note, the .dfxdll file will be copied into /Assets/Notch subfolder of your LightAct project folder, so if you change the original Notch block file you have to import it again and the one in the /Assets/Notch subfolder will be overwritten.

Playing Notch block assets

To play a Notch block you need to have a layer with an active Notch Block Reader node. The layout above shows the simplest possible example of it.

If you select Notch Block Reader node, you’ll see its properties on the right. Before we go and explain every one of them please notice that all Notch block assets are listed in the Source section.

The first step is to select one of them, so let’s do that.

When you select a Notch block asset, the node transforms and adds all the Exposed input and output (readable) properties inside the block. Notch Builder allows you to group Exposed properties into groups, which are shown in the node as well with grey text.

Supported exposed property types

LightAct 3.3.0 supports the following types of Notch exposed properties:

  • int (Integer)
  • float
  • string (text)
  • color
  • image (Texture)

This means it doesn’t support:

  • enum
  • posquat
  • cameraparams
  • resource

We will be supporting more property types in the future releases of LightAct.

Properties of Notch block reader node

After you selected one of the imported Notch blocks, the Notch properties section transforms a bit. Above, we outlined the main sections, so let’s go through them one by one.

Section 1

In section 1, you can adjust the resolution of the texture rendered by Notch and whether it should render on every frame or every 2nd, every 3rd and so on. Considering LightAct’s default framerate is 60, we suggest you leave the setting at Every 2nd.

Section 2

In section 2, you can adjust the syncing mode:

  • Ignore pause mode means Notch block will play at all times ignoring LightAct’s playback mode
  • Sync to layer time means Notch block will sync to the time of the layer this node is in. 
  • Sync to sequence time means Notch block will sync to the sequence time.
Section 3

In section 3, you can adjust the loading and unloading mode of the Block. Load block automatically means LightAct will automatically load the block when the layer starts minus layer’s pre-load time. You can adjust the layer’s pre-load time in this layer’s properties in the main window.

Purge VRAM on layer exit checkbox governs whether you’d like LightAct to completely unload the block the moment the playhead leaves the layer this node is in. Check that only if, in your show, the playhead never returns back to this layer once it leaves it.

Section 4

In section 4, you can see and select all the layers of the currently selected and loaded Notch block assets. Upon selecting a different layer, the node will rebuild based on that layer’s exposed properties.

Section 5

In section 5, you’ve got a few buttons:

  • Rebuild block reloads the block but doesn’t rebuild the node. Use this if you changed something in your block, but didn’t change any Exposed properties
  • Rebuild block & node reloads the block and rebuilds the node. This action disconnects all the connections to node inputs.
  • Close block unloads the block. If the node is active, the block will get automatically loaded again.
Section 6

In section 6, you can select between one of the imported Notch blocks

Section 7

Section 7 displays some information about the currently selected Notch block.

Playing Notch blocks from filepath

You can also play Notch blocks that you haven’t imported as an asset. If you select None or filepath in the Source section, then LightAct will look at Filepath input in the node and if it finds a valid Notch block, it will load and play it back the same way as an asset. 

This can be useful if you want the blocks to change dynamically.