- Smartsuit Unreal Plugin 1.0.0b
The default level included with the plugin
The plugin comes with some content to showcase a working UE level with some UI controls to send commands to the Smartsuit.
To view the content of the Smartsuit you have to make sure the following settings are selected in the Content Browser window.
Enable tree view by clicking the top right button (below the Add New button), this will toggle the tree view in the Content Browser window.
In Content Browser bottom right corner click View Options and select Plugin Content. Now you should be able to see all plugins folders in the tree view.
To see the example level go to Smartsuit Content → LevelExample and open the SmartsuitLevel level
In the World Outliner panel select SmartsuitController and in Details either enable Auto Connect or set the Suitname to the correct name for your Smartsuit
Now clicking Play should allow you to see your Smartsuit controlling Rokoko character inside Unreal. You should also see UI buttons to control the Smartsuit, and information about the state of the Smartsuit
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