-
Notifications
You must be signed in to change notification settings - Fork 0
Wrist Menu
The idea behind the wrist menu was to create a menu system that feels easy to use but also believable in the world. There are plenty of examples of VR games using floating windows or complicated menus. Some of these function alright, but they tend to break your immersion and remind you that you are in a video game. We wanted to design a menu system that feels intuitive to the player and doesn't break their immersion. Therefore, we came up with a design that surrounds the left wrist of the player. Currently there are 4 panels, but these can be expanded and moved to fit the scenario. Each panel works as a button that can be pressed, performing some action. Currently, that action is spawning different colored cubes.
Wrist_Menu.cs
Press the 'X' button on the left Touch Controller to bring up the four menu panels. By pointing with the right hand, you can tap each panel with the tip of your finger. The panels are tied to your hand, so you can twist your wrist and they move with you. This allows you to tap each panel separately, spawning different colored cubes for each panel.
We felt that this could be a really cool menu to enable different functions like some character ability or to use as a tool when hacking a computer. Ideally the design would actually be circular, with different segments acting as their own panel with a wide variety of uses.
The advantages of this design is that it is easy to understand, easy to interact with and the possibilities and variations are near endless. The biggest advantage is that it is a menu system that can be incorporated into the world, and keep the player immersed. When using the menu you feel like it is a part of you, instead of an ugly floating window that suddenly appears. Immersion is key to a good player experience and the less the player notices video game elements, the more immersive it is. Finally, allowing you to tap the panels with the tip of your finger brings a level of precision to the menu. You feel like you are about to tap a button, and haptic feedback can be included that increases that feeling.
One of the disadvantages we found with this design is that it only supports certain actions. It has to be something that can be controlled through a single button tap: enabling/disabling something, incrementing by a certain value like up/down for volume. This limits the functionality of the menu. It also has a size restriction, you can only have so many panels before it either gets too hard to select something or the ring around the wrist gets too large. This could be solved by adding layers to the menu. For example, if we select volume, it may go a layer deeper, with one panel for volume up, one for volume down, and one to go back.
In order to get the finger tip collision to work properly, I implemented a bone structure ssystem that was created by RGBschemes. They figured out the exact positions that capsule colliders should be in the hands in order to create a realistic bone structure for both hands. This allows for cool functionality, like pushing over a tower of blocks with a single finger, or in our case, detecting the fingertip of the avatar to provide accurate hit detection.
http://www.rgbschemes.com/blog/oculus-touch-and-finger-stuff-part-1/ http://www.rgbschemes.com/blog/oculus-touch-and-finger-stuff-part-2/
The hand.cs script, platform manager, as well as modifications to some base OVR scripts were created by them.