This is my development portfolio for my group project. I have been evolved in the development of the project and I have not designed it. Here you will see how I developed this game for both 3rd person and VR (Oculus Rift DK2). The game was made in Unity.
The project was for a client who wanted me to develop a 3D virtual park for the Donana National Park, Spain. Since it's a national reserve and not all areas are open to public, I tried to create a virtual 3D park for both 3rd person and VR so that a user from any part of the world who may or may not be able to visit the park are able to do so through this game. There are four levels to this game, Satellite view, Drone view, Third Person and a VR (Oculus Rift) view.
As there are four levels I will talk about them separately.
In the satellite view the client needed to have a top 2D satellite view and then when you look down you will see some annotations on the map so you get more info and watch a video. This was very simple as I just added texture (satellite images) to the scene and added a camera on the top. When you click on the annotations a video will play.
Drone view very similar to satellite view except that the camera is a lot closer and I have added some blue fog so it looks like a drone view. In addition to the previous view I have added 4 arrow keys so the user can explore the area.
Some addition features that I added were that if the user was running out of images and was about to go off the map, I had to add a script saying that after 'x' position of the camera, (just before the user went off the map) stop the camera and once the user was back in range activate the camera again.
This was very simple as well however I had one problem. In my script I said that if I'm pressing the up arrow key, move the camera up and after 'x' position disable itself. Now to re-activate it if the user pressed down button (down script) it will activate the up button. Since I had referenced same game object twice in different scripts, it was contradicting with the other script. i.e. in the up script I told it deactivate itself after certain point. The way I was activating it by camera position made the button fluctuate from getting switched on and off every second. One script was contradicting with the other. It was a silly mistake by me as I overlooked the contradicting statement. At the end it was fixed.
3rd Person View
In the third person I added a 3D character so that the user can walk around the park. So in the virtual environment our designers in the team created the terrain and the character. In the park I added the 3D location annotations to let the use know that there is something there. If the user would walk towards it and if the user gets in range of the 3D annotation it will animate itself to disappear and a video would appear in front so the user can watch it. The video will be triggered if the character get's in range of the annotation. For this I used on trigger enter function.
The video and the description will get bigger and readable when the user walks towards it. When the user clicks on it a video play.
VR (Oculus Rift) View
In the VR version it is very similar to the 3rd person view except the user will no longer will need to click on the 3D object to view the image. If the user just looks at the object for 5 second then the video will be played automatically. This is done though raycasting, a Unity feature.
From all the levels if the user wanted to pause the game or switch between levels, they will just have to press ‘P’ to pause the game. This has been coded in a way that even if the user watching a video it will pause it.
I feel that the project was not difficult and I feel that I should have pushed myself more. There are some minor bugs, which can be easily fixed if I had more time. I really need to work on my time management.