Personal reflection - Jan Vasilcenko 293098
First project – Vuforia app
Vuforia being the first project and sort of introduction sounded like a lot of fun. Quickly it was decided that static app that will show you something is out of question, we wanted to add more interactivity, more physics and thus idea of making a Mazerama came to light. Building the maze was a piece of cake as I was already working in Unity quite often and setting up a ball that would use gravity. As I was fully focusing on this part I let my amazing colleagues focus on building a working gyroscope that would move the whole maze, thus being able to navigate it with the ball. After that I was quite quick to setup end of the game in form of collider checking that the ball arrived in the right position. Lastly once the whole app worked, I played a bit with the colours and materials so that it would look nice and polished.
When testing this game we came to recognize a lot of problems. I had experience in Unity, but not with Android or IOS builds, that showed to be a problem as basically on all phones that we played the game it behaved differently. This may be to different performances of the devices, thus slowing down number of FPS impacting the physics system of Unity quite heavily. So, on some devices sometimes the ball was just falling through the maze. I tried to fix it by calling a method that would effectively enable Rigidbody of the ball after the maze has been shown. Another problem was that Vuforia detected the maze in a wrong position and combined with the gyroscope turned the maze sideways, even though it was just for a split of second it resulted in the ball being launched far away from the playing field. Workaround for this would be for user to be able to reset the game manually, or ultimate fix before the starting of the game check that Vuforia has loaded and recognized image thus spawning the maze, checking if its in the right position and that gyroscope is fully loaded and is also indicating right position and only after that really starting the game.
Main contribution – Project setup, with maze along with setting up physics
Second project – Trash App
When starting this project everyone was scared that this is going to be worse tracking than Vuforia. That is where we were wrong the ARCore was way better at detecting a plane than Vuforia and working with it was a lot better. At first, we downloaded some demo of the features of ARCore to try them on all our phones so that we can see which device is better for development and presenting, what was surprising was that out of all the devices Jan’s iPhone was an absolute winner. It was by miles better at detecting floor and objects than all other phones that we decided we are going to develop for that. Topic had to be educational so after looking at all the free assets it was decided that we will do trash sorting app. My main task in this project was to prepare all the assets, material-wise and scale wise so that others won’t need to concern themselves with that. I added a preview system for trash placement along with all the materials and cool effects for falling point when placing the portal along with portal itself. Lastly, I thought that sound would make it way more interactive than just a simple UI, so I generated some lines, that would fit the game using Replica Studios and that concluded our marker less AR project.
Main contribution – Build system, prepared all the assets for the game, AI generated voice.
Third project – Knife Throwing
This project was really time consuming as we had to meet at designated place in school at the same time, but we managed to do so. It was also finally VR that we all were looking forward to. We were supposed to explore some single mechanic to its fullest, we wanted something simple that could become real complex. Throwing was a perfect example, with throwing we could stick thrown object, trigger some events or even interact with Unity’s physics system. Since this was our first project we started to research how to make physical hands in VR. We quickly found the solution and setup the rig. It consisted of two parts models of the hands and controllers. These two parts had to be in sync and tuned in to feel good for the throwing. To make the hands physical position was updated with adding force to them in right direction as well as calculating the rotation. It was cool that we found assets which served the purpose as to having all the colliders needed and animations for the hands. First, we started with throwing simple objects and sticking them to targets, after that was done we introduced the models of knives and actual targets. This is where most of the problems occurred as we had to tune in the setting and size of the colliders to fit our specific needs. We also had problem with rotation of the hands as sometimes the calculation went to negative and thus the hands rotated in other direction than they should, to fix this we would have to set the angular rotation of the hands to something high. But because this fix changes the feeling of which you throw objects and would be too time consuming to tune, we left it as it was.
Main contribution – Placement of knife and axe in hand, moving targets with triggers, tuning up the Rigidbodies of objects and force of throwing to be as close to what we envisioned as possible, setting up building environment, deleting most of the decorations to have stable FPS.
Fourth project – Hogwarts
When starting this project we wanted it to be our most complex project yet. We quickly found out some wizarding assets along with whole map of Hogwarts, so we knew it was going to be great experience in VR. We reused the rig from throwing knife game to save time, added snapping and movement. Then we focused on implementation of flying, we made simple check when holding a broom and it started all coming together. One of the problems we were dealing with was that when letting the broom go the hands started to fly away from the body, so to counter this they have been set as a children of the rig and made so that gravity does not affect them until the player falls to the ground and setting them to normal again. Another big problem was that player could fly through objects, since the flying script set the position of the player, to fix this we would need to implement the flying using Unity physics system, but due to lack of time was not done. Last part was teleportation and small minigame with shooting a wand. Setting up a simple enemies that would spawn when teleported and follow player was completed earlier then expected, so we tried to improve flying and the overall feeling of the VR experience. We tried adding some sound effects, but that turned out to be game breaking, so we did not include it.
Main contribution – Flying and falling system, teleportation and enemies in wand game.
Comments
Post a Comment