In virtual reality, there are so many beautiful virtual environments to enjoy. However, it will be more enjoyable if the user can reach out and feel the environment. Feeling the sensations of the virtual world will help the user to get caught up in the reality of an otherwise virtual world.
There is an obvious DIY solution to accomplish this goal - a haptic glove which can provide the physical sensations of virtual worlds.
Flex sensors for five fingers to understand the finger bend capacity
Joystick and buttons to move the virtual hand
Gyroscope to rotate the virtual hand
Four vibration motors on finger tips and three vibration motors on the palm to feel when you touch virtual objects
Multiple vibration patterns to understand the type of object being touched – a solid object like a rock vs putting your hand under a roaring waterfall
Vibration motors attached to each fingertip and the palm of the glove will start buzzing when the virtual hand collides with virtual objects. Each motor vibrates separately, so you can tell if you touched an object with just one finger. Depending on what you touch, different vibration patterns will activate. For example, when the player touches the waterfall, the motors will vibrate randomly with very small delays simulating the random impact of the water.
A joystick and a button are attached to the side of the index finger. They make it easy to move the virtual hand around the scene. The joystick controls forward/backwards and up/down movement of the hand and the two buttons (joystick and standalone) move the hand left and right.
In Unity, double click "Scripts/Palm" in the Project window to open the script editor. In the script editor, go to line 9 and change "\\\\.\\COM17" to your Arduino's COM port number. You can find this number in your Arduino editor.
In Unity, go to the PlayerSettings (Edit -> Project Settings -> Player) and find the Api Compatibility Level in Other Settings. Change this to .NET 2.0 instead of .NET 2.0 Subset.