Project 3 - Zen Restaurant
Summary
This project is about making a virtual reality environment using VRTK and Unity.
The project is a the new CS building's atrium converted to a Japanese-themed restaurant called Zen. Japanese themed food is served in a visually appealing area that was the atrium. A player is able to interact with various things in the restaurant by picking up objects and throwing them around. A player is also able to push buttons and spawn more objects. Some items that are intractable with can play an audio and one objects has the ability to play some music. A person model is there and you can bother them. There are also three points of interests that provide an interesting view or some sort of functionality.
The project was made with Unity 2021.3.6f1 and VRTK v4
In order to get started:
Go to the github at this link: https://github.com/VivaceJamiel/CS428-Project3-jimpoy2-Zen and download the zip
Unpack it and open Unity Hub
Click the Open button in the Project tab in unity hub and navigate to the directory you opened the zip file in and open it
Once the Unity has loaded the project, at the top go to File > Open Scene and navigate to the Scenes directory and open Zen.unity
Once the Scene has loaded, at the top go to File > Build Settings
Make sure Scenes/Zen checked for Scenes In Build, if not present, press "Add Open Scenes"
Make sure Android is the Platform is being built on. If not select it and hit "Switch Platform" at the bottom
Plug in your Quest and make sure you allow your computer to access the data on your quest in the popup
Back in Unity, in the android section in build settings, at the "Run Device" portion, press the "Refresh" button and your quest should show as a device in the drop down. Select it.
Press "Build and Run" at the bottom and save the APK to a directory of your choice. The project will now load to your quest
Once done loading, put on your Quest and play
References and Requirements
Unique Models From The Web
10 unique models from the web
1) Low Poly Table--
"Low Poly Table" (https://skfb.ly/6wCUY) by Snooze is licensed under Creative Commons Attribution-NoDerivs (http://creativecommons.org/licenses/by-nd/4.0/).
2) Industrial Kitchen
"Industial kitchen" (https://skfb.ly/onS9v) by Cassy is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
3) Low Poly Rocks
"Low Poly Rocks" (https://skfb.ly/6CIuv) by Michael Hooper is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
4) Stylized lowpoly rock
"Stylized lowpoly rock" (https://skfb.ly/6yKvC) by Bull studios is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/)
5) Low Poly Rock
"Low Poly Rock" (https://skfb.ly/6WMZI) by MMandali is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
6) Wooden Chair
"Wooden Chair" (https://skfb.ly/6TABX) by Stainless Reality Ltd is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
7) Japanese Standing Lantern
"Japanese Standing Lantern" (https://skfb.ly/6Txur) by Obeonix is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
8) Matcha
"Matcha" (https://skfb.ly/oxpZy) by EunbyH is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
9) Japanese Vase
"Japanese Vase" (https://skfb.ly/TtYs) by Jay Landeweer is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
10) PS1 Ramen Bowl
"PS1 Ramen Bowl" (https://skfb.ly/ooxvx) by Mike_カニンガハム is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
11) Fish
"Animated Low poly Fish" (https://skfb.ly/6ZNJw) by Atlas is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
12) Cyberpunk animated japanese LED neon sign
"Cyberpunk animated japanese LED neon sign" (https://skfb.ly/6S6CZ) by YD Visual is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
13) Japanese Style Bridge
"Japanese Style Bridge" (https://skfb.ly/6VosM) by AinoK is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
14) Low-poly Japanese whisky bottle
"Low-poly Japanese whisky bottle" (https://skfb.ly/ooGD9) by VRC-IW is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
15) Sea Weed
"Sea Weed" (https://skfb.ly/6SB6Q) by rkuhlf is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
15) low poly rock pack
"low poly rock pack" (https://skfb.ly/orHzK) by sam is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
Models that can be grabbed and have physics
At least 5 of the 3D models need to have appropriate physics and colliders
Ramen
Matcha
Onigiri
Sushi
Jelly
Bottle
Glass
Vase
Animated Models
At least 2 of the models should be animated and move, or move some of their parts
1) Fish
2) Neon Sign
3) Sea Weed
Custom Models
5 unique 3D models that you create on your own
1) Onigiri
Has physics and can be grabbed
2) Bar
Has physics
3) Bottle
Has physics and can be grabbed
4) Jelly
Has physics and can be grabbed
5) Glass
Has physics and can be grabbed
6) Control Panel
Houses the control dial
7) Sushi
Has physics and can be grabbed
Sounds and Music
At least 4 unique sounds that get louder as you get closer, or that are triggered by interacting with objects in the scene, or that sound when objects hit other objects.
Ramen - Bowl Clatter
Glass - Glass clatter
Jelly - Plate Clatter
Bottle Spawner - Water pouring
Glass Spawner - Glasses clanging together
Sounds - All the sounds that I have come from the same site
At least 1 relevant (and not annoying) ambient sound or piece of music
Ambient Sound - Restaurant chatter- https://mixkit.co/free-sound-effects
Character Model
each member of your team needs to use Makehuman and Mixamo (or similar tool) to create a 1:1 scale (anonymous) student or faculty member, wearing something G rated, with a suitable G rated idle animation. The person should say something appropriate when you touch them with either controller.
Anonymous worker
Made in Makehuman and animated at Mixamo.com
Sound clip is my own recording of my voice
Textures
All textures used in the project came with the models that were imported.
Particle System
at least one particle system
Stove Burner
fire on the stove burner
Fountain waterfall
Waterfall mist
3D object moves around scene
at least one 3D object that moves though the scene on its own (but not through the walls)
Fish
Swim around in the fountain pool
Control Dial
have one functional lever or dial that the user can use to affect something (e.g. a light a sound, location of an object) in the scene
Control panel dial
This dial will turn off the "sun" lights and turn on the lanterns on the first floor as if it were night time
Object doesn't push up
Ensure that the user can not push themselves into the sky by holding objects under their head
When a person holds an object underneath them, it doesn't teleport them upwards into the sky. The object will do nothing and the person stays on the ground.
3 Fixed Locations
an ability to easily teleport to 3 fixed interesting locations in the scene (e.g. to the different floors to get a look at the atrium from those locations)
Bridge
This spots shows off the restaurant seating area as well as much of the pool where the fish swims around
Kitchen
In front of the fridge and bottle dispenser, shows off the kitchen level
Control panel
In front of the control panel overlooking the first floor in order to show off turning the lever into night time
Model Size Range
At least two of the models need to be larger than a person, and two the size a person could easily pick up
Fridge
Larger than a person
Bridge
larger than a person
Glass
Can be picked up by a person
Sushi
Can be picked up by a person
Interactions
The user needs to be able to interact with at least 2 objects in the scene using their hand and have each of those objects produce new objects
Glass Dispenser
Button press results in a glass of water poured out of the bar dispenser
Bottle Dispenser
Button press results in bottle dispensing from the fridge
Flat models
5 new unique 'flat' models with images (hanging banners, rugs, wall art) where the textures can come from cited creators
Lighting Scheme
A new lighting scheme with at least 2 new appropriate lights.
The lighting scheme I implemented have multiple lanterns all throughout the first floor and by the bar on the second floor. The two at the bar are lit and are blue lights while the other lanterns are orange and are turned on when the dial is rotated
Orange lanterns
Point lights in lanterns
Blue Lanterns
Point lights in lanterns
FPS
FPS throughout the project varies depending on the actions and the objects on screen.
First floor
There are a lot of tables, so as a result, the frame rate drops as many objects are rendered in the viewpoint
Animation
Animations have little effect on frame rate since the character model is in a place with not a lot of objects
Second floor
The view from the second floor console has the frame rate lower since it renders a a bunch of objects
Second floor light switch
Turning the dial to change the lights doesn't affect the framerate
Particles
Particles don't affect the frame rate much at all. It would be dependent on the other models rendered as well.
Spawning objects
Since the dispensers are in placed with not a lot of models spawned, spawning a lot of models don't affect the framerate much at all.
Third floor
The third floor has a view with a lot of models rendered in so the frame rate drops a bit.
At least a one page / 500 word discussion of how you would use this kind of technology to introduce someone (say your parents, or a politician) to a new building before it was finished.
If I were to use this kind of technology in the project to introduce someone to a new building before it is finished, I would be able to give them an accurate and detailed walkthrough of how the building would be. Having this technology and using it to show someone how it would look as if they were there, is an experience that would help in all sorts of ways. For one, it can give an accurate size of how the building would be. Before this, it was hard to describe, in a detailed way, how big a building would be. Using VR, you can give a tour of the building itself and can help with decoration and any furnishings someone might want to add once the building is done. Having a sense of scale to the final building through VR would be very beneficial. Another way this technology can be used to show someone a building before it is finished is to make sure that the building is being built to plan. Sometimes details can be messed up and mistakes happen in designing and planning so a detailed, full-scale mock-up would help reduce the number of mistakes the actual construction of the physical building will have. With the reduction in mistakes and extra quality checks, that can potentially save a lot of money and prevent costly mistakes from happening during construction. As the building would be constructed, you can show someone in VR the progress so far in many ways. The construction can be overlayed in VR or AR to show progress and constant quality checking can help reduce mistakes. Another way I can use this technology is coordination. I can use VR to talk with electricians, engineers, and plumbers and make sure the infrastructure of the building is sound and everyone is on the same page. This goes in line with making sure that construction has fewer mistakes and as a result, less money would be wasted in fixing mistakes. Showing the building in VR would also help before the construction even starts or any final plan is set. Designing the building and making changes at a moment's notice during a walkthrough is very easy in VR and is convenient using the various software used to make the model of the building in the first place. I would also be able to collaborate with others and brainstorm ideas to have the finished plan of the building be of higher quality because extra close attention and detail are used when designing the building. I would also be able to use VR to show off how exciting getting a new building is. In the example of the project, the new CS building is awesome, and being able to see in VR and see its scale even while it is still being built is a nice experience to have. Seeing it in VR makes me excited to see what sort of classes and activities can be done in the new building once it's finished. It would also be great to give this experience to someone else for a new building using this technology.