VR City Tour
Shumpei Morimoto
If you have Oculus Quest, you can play the game by download and installing the apk file below.
Goal of the project
Create a VR city touring game with Unity.
Description
VR City Tour is a game you can explore the cities in VR using VR headset. The city will be made by Unity with Low poly assets and there will be AI such as cars or animals or people moving around in the city. The final game will be similar to the picture below. This picture is from a game called TinyTownVR.
Foreseen difficulties
- Using VR headset and setup for Unity.
- Adding AIs to the game and decide how they will behave.
Milestone 1 (05.10)
- Search for information about using VR headset and Unity and watch tutorial videos. (2h)
- Setup VR headset for the game. (1.5h)
- Create a little city in Unity. (2h)
- Check if I can see the walking character sight through VR headset. (2h)
Progress
- Created a simple city for testing. (2h)
- Watched Tutorial videos and looked for information on the internet. (3h)
- Setting up VR headset(Oculus Quest) for Unity project. (4h)
- Now you can see the walking character sight from the VR headset.
Tutorial videos
Internet links
https://circuitstream.com/blog/oculus-quest-unity-setup/
Setting up VR headset on Unity(Oculus Quest)
VR headset setting
- Register as a developer on the Oculus webpage. (https://dashboard.oculus.com/)
- Download the Oculus app and connect Oculus Quest.
- Toggle the developer mode in the app.
Unity setting
- To use VR headset on Unity, you need to install Android Build Support, Android SDK&NDK, and Open JDK. You can install a new version of Unity with those included. You can also add it from Unity Hub -> Installs -> Settings -> Add Modules and tick the boxes of Android Build Support, Android SDK&NDK, and Open JDK.
- Create a new 3D project.
- Download Oculus Integration from the asset store and import to your project.
- Go to build settings and choose Android as a platform and switch platform. (Make sure to change the Texture Compression to ASTC)
- Go to Edit -> Project Settings -> Player -> Other Settings and change Color Space to Linear. Change Minimum API Level to 23 or higher.
- Go to Edit -> Project Settings -> XR Plug-in Management and install if it's not installed. Tick the left box on Oculus. (Make sure you Tick on both Standalone and Android.)
- Connect VR headset and your PC with USB cable. Build and Run the project and you can see your project from the VR screen.
In-game progress
Milestone 2 (19.10)
- Make camera rotate referred from the VR headset rotation. (2.5h)
- Experiment the character movement from VR controller or button. (3h)
- Play Tiny Town VR and think about the future plan.(0.5h)
- Make the city bigger and nicer.(1h)
Optional:
- Add more movement to the character. (Run, jump, etc)(2h)
Progress
- Setup Oculus quest2 and link oculus app to the device.(10h)
- Played Tiny Town VR and had some inspiration for the future project.(30min)
- Expanded the city.(1h)
- Experienced with movement of the player. (3h)
The player movement with sight.
The player movement with analogue stick
City views
Tiny Town VR
The game was using some interesting method such as showing the explanation window or assets prefab by making player rotate their wrist.
Milestone 3 (02.11)
- Make the player movement more smooth and easier.(4h)
- Add more prefabs to the city and make it nicer. (1h)
- Add more movement like jumps and run. (2h)
Optional: Experiment with in-game city building system.
Progress
- Tried to implement new player movement. (7h)
Tried to implement a player movement by swinging Oculus controller. By implementing this system, you can walk in the game by swinging your arm. However, there was a problem that I cannot receive the velocity and acceleration data from the controller.
Milestone 4 (16.11)
- Implement arm swinging system(5h)
- Add new prefabs(road, house, fence, bush, vehicles, people)(2h)
Progress
- Working on the player movement(7h)
- Adding some prefabs to the city(Road, tree, bush, flower, pool, table, fence, vehicle, chair) (1.5h)
Tried to implement player movement however the OVRPlayerMovement is not working and the controller velocity is not recognized. The Oculus integration, sample scenes are not working and scripts are not working either. Tried updating the Oculus integration but not working. Maybe I should downgrade until it works?
Milestone 5 (30.11)
Think about player movement and implement it.(7h)
- Make player move referred from the quest controller swing velocity.
- Get velocity and acceleration of the quest controller.
- From the velocity and acceleration, calculate the direction of the character and make it move.
- If the controller swing movement doesn't go well, implement movement by looking or pointing at arrow UI in the game to move.
- Add arrow UI.
- Implement character to move by pointing the arrow.
Progress
- Finally implemented the arm-swing walking system. (7h)
Now you can walk around the VR world by swinging your quest controller.
Milestone 6 (14.12)
- Add AI(people, animals) and make them move naturally in the city. (3h)
- Make the final version of the city, make it bigger and nicer enough to explore. I will add residents, animals, houses, fences, trees, mountains. (3h)
Progress
- Made a good-looking city to explore. (3h)
- Added some characters and animals that are walking in the city. (3h)