- Smartsuit Unreal Plugin 1.0.0b
Setup a new level from scratch.
Here we will describe how you can setup a new level to be able to receive data from a Smartsuit.
In your level you need to add only one Smartsuit Receiver actor and one Smartsuit Controller per Smartsuit you want to control. To do that in the Modes window search for Smartsuit Receiver and Smartsuit Controller and drag them in the 3D view.
In World Outliner window select SmartsuitReceiver and in Details window make sure the Port number is the same as the one the Smartsuit is using. The default value is 14041. It is important to have only one SmartsuitReceiver running.
In World Outliner window select SmartsuitController and in Details window make sure to give the correct Suitname that matches the one your Smartsuit has, or use Auto Connect if you are not sure what name your Smartsuit is using.
Optionally if you want to view the UI you can drag in the 3D view the SmartsuitUIController which can be located in the Content Browser → Smartsuit Content → UIExample folder. This controller is an example and it will work only for the first Smartsuit, if you have multiple Smartsuits at the same time it will not allow you to control another one.
If you have the UI and click the Play button you should see the UI show you information about the Smartsuit, like the FPS so you know unreal is receiving data from the Smartsuit.
Setting up a character from scratch
In this section we will see how to make a character use the data from the Smartsuit. We will use Beta character which is Mixamo's default character to demonstrate this. You can find Beta character in the Files section of this tutorial.
Download and import Beta in your project accepting the default options.
Create a new Anim Blueprint for Beta
Select Smartsuit body pose node and setup the Bone Map. Which tells Smartsuit body pose which bones to animate. After that you can click Compile and Save in the Blueprint window.
Optionally you can select the options Relative to Start. If this option is checked the character will not change his position (except the Z direction, height) when the Smartsuit connects to unreal and then the motion of the character will respect the initial position. If the option is not checked then the character will always use the absolute position from the Smartsuit which means if the player has walked a few steps with the Smartsuit, and then the Smartsuit connects to unreal engine then the 3D character will jump to match the absolute position of the character. (Z direction will always use the absolute position)
Optionally you can select Scale Bones option. If this option is checked then the bones of the character will scale to fit the size of the body model running in the Smartsuit. This will work good on Rokoko character and other specifically made characters to support this feature. Other characters will have funny results. (Beta character will look fat if you use this option).
Now you can Compile and Save the blueprint and close it.
Drag the Blueprint you just made from the Content Browser into the 3D view.
Click play. Beta now should use the Smartsuit.