Integrating the Skinetic jacket from Actronika
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
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):
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.
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)
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
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
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:
Here is a complete example of triggering and stopping by keyboard key, with referencing of the manager and a 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.
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.