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:

  1. Go to the github at this link: https://github.com/VivaceJamiel/CS428-Project3-jimpoy2-Zen and download the zip

  2. Unpack it and open Unity Hub

  3. 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

  4. 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

  5. Once the Scene has loaded, at the top go to File > Build Settings

  6. Make sure Scenes/Zen checked for Scenes In Build, if not present, press "Add Open Scenes"

  7. Make sure Android is the Platform is being built on. If not select it and hit "Switch Platform" at the bottom

  8. Plug in your Quest and make sure you allow your computer to access the data on your quest in the popup

  9. 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.

  10. 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

  11. 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

  1. Ramen

  2. Matcha

  3. Onigiri

  4. Sushi

  5. Jelly

  6. Bottle

  7. Glass

  8. 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

Katakana character "Ra"

Katakana character "Me"

Katakana character for extended sound

Katakana character "N"

Restaurant Symbol

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.