It is a library enabling user interaction with 3D objects independent of the input device.
Select3D example usage:
Why is it important?
With the growing range of tech devices available to us now and the limitless opportunities their uses provide, soon everyone will have one or more of these to themselves.
Currently, taking the HTC Vive for example, there are a number of software platforms made specifically for this device.
However, there isn't any that integrates the functions of both the HTC Vive and the Tobii Eye Tracker, allowing for them to be used simultaneously in the same project.
Select3D allows different technologies to be able to interact with other 3D objects in the same environments, independent of the device being used.
Particularly useful in gaming or even redefining the movie experience, this allows for ease in switching between input devices, not restricting technologies to the platform it is used on.
Description:
Select3D enables developers to easily add gaze pointers to a Unity project, making GameObjects gaze-aware whenever the user looks at them.
If the script programmer uses the Select3D API with its event listeners, then the same interaction with objects in the scene can be performed with different input devices such as head trackers, gaze trackers and more.
This can be used to create an intuitive interaction system or to spread the functionality to a new source of input so that your controllers can be used to do something else.
As the library has been developed to automatically detect the device currently running using the main Unity / SteamVR camera, the user only needs to import the scripts into their project, requiring no other setup and not needing to manually switch between devices.
The given C# scripts work with all integrated technologies.
Along with a Unity Package available ready to be imported and run, Select3D can be tested within the given example scenes.
Import the unity package provided with this library into your project.
This package contains all the required dependencies, test scenes, and scripts to provide an example of the usage of this tool.
"Test.cs" script provides an example of how the tool can be used to make your games gaze enabled.
Test Script
Users can run this script to test the Select3D library.
Following the code structure as in the example above:
Add a platform variable to your project script to select the type of platform you want to run this script on.
Select Generic for a normal HTC Vive to add the head tracking based selector, SMI to run the script on a SMI HTC Vive, or Tobii to use the Tobii Eye-Tracking device.
Add the following code snippet to the start method to set-up the Select3D library:
gameObject.AddComponent<VRAdapter>();
adapter = gameObject.GetComponent<VRAdapter>();
adapter.setTarget(this.gameObject);
adapter.setPlatform(platform); // platform is a public variable.
Add GazeInterface to the script and import all the required methods from the interface.
Implement methods: OnPointerEnter, OnPointerExit and OnPointerStay methods.
These methods contain the code that define user interactions with the 3D objects.
Once all these steps are complete, your project script will be ready to run.