Skip to content

bodswor2/SeeingWithTouch

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 

SeeingWithTouch

Seeing with Touch: The effect of full-body positional haptic feedback during low-visibility aviation ground operations

This project is a working pipeline enabling interaction between XPlane 11 and the Teslasuit via Unity.

System features:

-Experiments: Scripts for participant experiments, these include: setting the starting locations for the user by communicating to XPlane via UDP, displaying a UI to control the experiments, collecting plane positions/time stamps and saving them to JSON, and drawing plane trajectories.

-Map: A world map is displayed in Unity to help the user follow the desired path. The Mapbox SDK is used, and scripts have been created to control the map data and convert XPlane Latitude/Longitude/Altitude coordinates to Unity XYZ coordinates.

-Teslasuit: The Teslasuit SDK is being used and proximity check functionality has been implemented. Each plane has a sphere collider and provides haptic feedback when collisions are detected. For this, the collision point is equated and mapped onto an identical sphere surrounding the Teslasuit rig. Haptic projectiles are then shot from the collision point to the centre of the suit with increasing frequency as the proximity of the planes increases. As the projectiles travel towards the centre of the suit, they collide with the nearest body part and communicate the haptic pulse to the user.

-XPlane: We are using NASA’s X-Plane Connect plugin to interface between XPlane and Unity. The plugin does not have native support for C# code, so we have written a DLL called “XPCUnity-Bridge-C” in C that is then used in Unity. The visual studio project for this DLL is also available in the repository. The DLL provides functions to set and receive data references from XPlane. It has been set up to receive IP addresses in order to display planes from multiple systems running XPlane.

Use:

In Unity, simply set IP addresses for each plane object and load up XPlane 11 with X-Plane Connect. For help and explanation, feel free to contact Chris at bodswor2@uni.coventry.ac.uk