Aller au contenu

Integrating the Skinetic jacket from Actronika

Image title 2

The Skinetic jacket from Actronika is compatible with VRmaze from version 2023 via the Skinetic API (SkineticSDK.dll).

Tip

Based on the SkineticSDK.dll file, VRmaze supports all Actronika equipment compatible with the Skinetic API.

Specific licence required.

The use of the Skinetic jacket requires a specific VRmaze licence. Ask your reseller for more information.

Installation

Actronika's Skinetic jacket requires a file to be copied into the VRmaze installation folder. This file must be supplied by Actronika, which owns it. The SkineticSDK.dll file must be copied into the VRmaze installation folder (%InstallFolder%\VRmazeViewer_Data\Plugins\x86_64\).

SkineticSDK.dll

The SkineticSDK.dll file is required to run the Skinetic jacket directly in VRmaze. This file is the property of Actronika and is not integrated into the VRmaze installer. Ask Actronika or its reseller for more information.

Library version

The X64 version of the API must be copied to work in VRmaze.

How it works in VRmaze

In VRmaze, a Skinetic jacket is used in two main stages. Firstly, a manager which not only establishes communication but also pre-loads all the effects to be read during the handover. A set of secondary nodes are used to configure these effects. Trigger nodes are used to send effects at specific times.

Communication manager

image2

The communication manager with the Skinetic jacket.

The communication manager will try to connect automatically via the chosen method. If communication is established, it will register all the effects with the jacket. The connection parameters are as follows:

  • The serial number (by default 0, which connects to the first recognised jacket).
  • The communication method (autodetection, USB, Bluetooth or Wifi)

Add and type of sensation

VRmaze offers a set of simple sensations that can be used in handover. The basic sensation consists of using an SPN file previously created in the [Unitouch Studio] software (https://www.skinetic.actronika.com/unitouch-studio):

Image title 2

The sensation as an SPN file.

VRmaze offers a specific Direction Belt Sensation. This sensation allows you to emit an effect based on two direction vectors, which will automatically vibrate certain vibrators in the jacket. This sensation does not have an SPN file, but instead uses the identifier of the sound to be played directly. The difficulty lies in knowing the identifier of the sound to be played.

Image title 2

The properties of the Direction Belt sensation.

Get the sound index

The Direction Belt sensation does not use an SPN file, but directly the identifier of the sound to be played. The difficulty lies in knowing the right identifier for the right sound to play. One way of obtaining this is to create an SPN file in Unitouch Studio containing the sound you want and edit this file using Notepad. The value to look for is associated with the keyword SignalIndex.

Direction Belt sensation

The Direction Belt sensation can only be used with behaviour graphs.

Trigger nodes

VRmaze offers several nodes for triggering sensations. These nodes have common parameters:

  • Volume (from 0 to 250)
  • Speed (>0, default 1)
  • Number of repetitions (0 for infinite repetition)
  • Repeat delay (>0, in seconds)
  • Maximum duration (0 for infinite duration)
  • Sensation identifier (to play a specific sensation)
  • Priority (default 50)
  • Stop button (to stop the effect during playback)

Image title 2

Trigger properties by timecode.

Trigger nodes vary according to their type:

  • Trigger by timecode (a trigger timecode is specified).
  • Trigger by keyboard key (the key entered triggers playback).

Animated properties

Trigger nodes have properties that can be animated. Properties (volume, speed, etc.) can be modified over time, but a new playback will have to be triggered to take these variations into account, as the effect during playback is not adapted in real time.

Behaviour graph

All sensations can be controlled via behaviour graphs. These behaviours can be attached to any type of entity. VRmaze offers several graph nodes for creating, playing and stopping effects.

To create and play an effect, two nodes are available, each of which returns an integer value corresponding to the effect identifier, which can be used in other nodes, in particular to stop a specific effect:

  • Create and play effect
  • Quick create and play effect

Image title 2

The two create and play effect nodes.

Effect identifier

The effect identifier is returned when the effect is created. This means that effect creation nodes have an output value corresponding to the identifier in question.

Two separate nodes are used to stop effects during playback:

  • Stop effect
  • Stop All effects

Image title 2

The two stop effect nodes.

The Stop effect node takes an effect ID as a parameter while the Stop all effects node will stop playback of all current effects.

Behaviour graph

Behaviour graphs can handle complex triggers.

Accessing sensations and the Skinetic manager

Each of these behaviour graph nodes requires an input parameter corresponding to either the sensation or the handler. As with all behaviour graphs, you need to find the right entity for the required parameter. For example, imagining a handler named SkineticManager attached to the protocol, we can find it via this graph:

!

Graph allowing access to the Skinetic manager and any Sensation.

Here is a complete example of triggering and stopping by keyboard key, with referencing of the manager and a sensation:

!

Complete control graph for a keyboard sensation.

Sensation Direction Belt

The control of Direction Belt type sensations is different. This is because the entire control is automated, and only two nodes are used to refine the sensation. This sensation is caused by an angle formed between two direction vectors. It is possible to provide these direction vectors in the form of a 3D vector direction or in the form of 3D entities (in this case, it is necessary to provide a Subject entity and a 3D object). VRmaze will calculate the angle corresponding to the input data and vibrate the jacket accordingly.

Here is an example of a graph allowing control of a Direction Belt sensation by taking as parameters the current subject and a target in the form of a 3D object.

!

Complete control graph of a Direction Belt sensation.

Vibrator position

The position of the vibrators is pre-integrated into VRmaze and the Direction Belt sensation will vibrate the corresponding vibrator(s). The positioning of the vibrators on the jacket gives good front and rear accuracy at the expense of lateral accuracy, where fewer vibrators are present.