This is the page for my Oculus VR projects. Virtual Reality was one of my main focuses when I was an undergraduate. I found the development of VR projects can be very interesting because the way you handling the controlling and rendering is very different from normal 3D game projects.
This is a VR classroom made with Unity and Oculus Rift. it is filled with all kinds of classroom equipment. And, in fact, this is a model of the VR lab of my undergraduate college.
This project was made to present some ways to grab and manipulate objects using VR controllers. As you can see in the video, I can grab objects directly, grab/move objects using a ray cast from my hand, and group several objects and translate them as a whole. Other than that, we can also generate objects and perform a distance measurement in the environment.
It was tricky to implement the controlling in the beginning because unlike typical controllers, VR controllers can input 3D positions and orientations together with buttons and joysticks. But thanks to Oculus's very nice support for Unity, the controlling end up pretty good.
This is a simple project, but it was actually quite funny to play with. It was very satisfying throwing desks and chairs all over the place.
This is another Oculus Rift project made with Unity. In this project, players have to fly through a series of checkpoints to "win". One thing special about this project is the control was done with Leap Motion, which is a controller-free input device that scans users' hand gestures, like a Microsoft Kinect, but only for hands. Despite Leap Motion was interesting to play with, I never develop using it again, because the accuracy is tragic.
The accuracy problem actually brought up a question for development: how should I define the control, so that the players can still control the flight easily without high accuracy? My answer was defining most of the control by positions of hands instead of finger gestures. Because one reason Leap Motion cannot capture gestures very well is fingers are too small and can block each other. Hands do not have such problems.
My control scheme for this project is a combination of typical car control and plane control. You can steer left/right by changing relative height between your left/right hands, basically like an invisible steering wheel. You can go up/down by moving both hands up/down. And the distance between your hands decides the speed. In the end, the control feels nice like I was driving a sci-fi flying vehicle.
This is a game developed using Unity and Oculus Rift. I put too many ideas into this project and it didn't end up very well. I feel like I did not make use of VR characteristics.
This is a grid-based maze, and players can go through black walls to enter the next room. In the beginning, the player is given a map and a wallet. The map shows the whole structure of the maze and records players' recent steps. The wallet stores coins, which players can find in the maze and pick them up, or players can get coins by winning mini-games. The goal is to reach the exit, and once a player is out of coins, they fail. Players can use a wristband to input numbers for the mini-games.
There are three mini-games I put in the level. First is a dice game, you pick a number and roll the dice, if the dice result reaches or is larger than the number, you get that number of coins. Else you lose three coins. One tiny funny problem I met when implementing this was I cannot make sure the player will throw the dice instead of putting the dice down carefully to get a large number. The solution was simple, I force the dice to jump a couple of times once it hit the ground.
The second minigame was a ghost face randomly travel through the level. And it is triggered when you meet it for the first time. After the face is triggered, you can choose to attack one of the rooms every time you enter another room. If you happen to hit the room the face is in, the face is destroyed and you get a lot of coins as a reward. If you run into the face, you lose half of the coins.
The last game was a strategy game where you and an AI each choose a number, and you two have to guess the sum of two numbers. If AI guesses correctly first, you lose six coins. Else you get six coins.
When doing the designing, I was trying to make the feeling of a creepy maze with mini-games that players have to bet their lives on them. But the minimal graphics makes it not scary at all. And the game features are not super related to VR.