Sensors
Using biometric sensors, you can get a detailed snapshot of the Participant's physical state. While we don't support specific sensors, we provide a simple API to record sensor data and display this data on SceneExplorer.
If there is sensor data available for a SceneExplorer session, it can be accessed by the sensors tab on the navigation bar.
Code Reference
Recording Sensor Data
Sensors record float values. Please get in touch if you require other data types.
void APlayerController::PlayerTick(float DeltaTime)
{
//...
TSharedPtr<FAnalyticsProviderCognitive3D> provider;
provider = FAnalyticsCognitive3D::Get().GetCognitive3DProvider();
float oxygen = FMath::FRandRange(75.0, 100.0);
provider->sensors->RecordSensor("Heart.Blood Oxygen", oxygen);
float heartrate = FMath::FRandRange(60.0, 100.0);
provider->sensors->RecordSensor("Heart.EKG", heartrate);
}
Sensor Frequency Limits
Sensor data is automatically limited to 10hz. This is to enable viewing spatial sensor data on SceneViewer. Data recorded faster than this frequency will be discarded.
If you need to record sensor data at a faster frequency, you can manually indicate the frequency before recording data with RecordSensor
. This high frequency data will not be visible on SceneViewer.
void APlayerController::BeginPlay()
{
//...
TSharedPtr<FAnalyticsProviderCognitive3D> provider;
provider = FAnalyticsCognitive3D::Get().GetCognitive3DProvider();
provider->sensors->InitializeSensor("Heart.My 100hz Sensor", 100, initialValue);
}
Sensors Namespaces
Notice the period in the middle of the Sensor names above. This is an optional feature to group related sensor data. In SceneExplorer, the Sensor selector will appear like this:
If you have a question or any feedback about our documentation please use the Intercom button (purple circle) in the lower right corner of any web page.