The project is a kiosk selling cyberpunk-themed products. Robots, robotic prosthetics, and sci-fi tech are sold at my kiosk. A player is able to interact with various things in the kiosk by picking up objects and throwing them around. A player is also able to push buttons and spawn more objects. Some interactive items can play an audio, and one object has the ability to play music. A person model is there and you can bother them.
The project was made with Unity 2021.3.6f1 and VRTK v4
To get started:
Go to the github at this link: https://github.com/VivaceJamiel/CS428-Project2-jimpoy2-CyberPunk 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 Kiosk.unity
Once the Scene has loaded, at the top go to File > Build Settings
Make sure Scenes/Kiosk 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
https://sketchfab.com/3d-models/pacobot-af0e4eb77f3c4c7da90588dc7bd92b15
https://sketchfab.com/3d-models/little-companion-robot-for-games-07460f9e9e554af5974a071e65cfee25
https://sketchfab.com/3d-models/baby-robot-3dcoat-eae164d3570144bfb86a2cc03e73ceed
https://sketchfab.com/3d-models/cyber-arm-painted-7f177f6b37b94cadbd3774eb211d2bdc
https://sketchfab.com/3d-models/retro-style-desk-fan-79bb384f2ed545a5ae8c2b9cfa06cd8f
https://sketchfab.com/3d-models/retro-keyboard-76aa2c3361e9471cb62b4b7fee5ecce8
https://sketchfab.com/3d-models/osborne-1-525721d7c61f4d368229e26fce9c05ac
https://sketchfab.com/3d-models/beacon-lantern-ii-85a302035e5449a188842e02c17cc8ae
https://sketchfab.com/3d-models/monitor-iii-fb119750ac4f4b1e89b4be7c870b4eb2
https://sketchfab.com/3d-models/monitor-vii-series-finale-dca05ff397ea4e319c339447badbd7f6
https://sketchfab.com/3d-models/scifi-crate-container-e6c020aea0434ee884c5642464d16c39
https://sketchfab.com/3d-models/gadget-radar-sonar-comunication-9063d56ec0d54f58b1cd4e5fe0b8c6c7
https://sketchfab.com/3d-models/info-kiosk-black-b2bff071305240bdb801367cc5752821
https://sketchfab.com/3d-models/rebel-hideout-part-2-main-operation-table-e716a56134cf459b897cc9107b14125f
https://sketchfab.com/3d-models/terrarium-bots-nerdscribbles-bf9a19aae6914a2c866311887edc8b3e#download
https://sketchfab.com/3d-models/sketchbot-37c871cbd9174f67bda4c10d19a97ed0
https://sketchfab.com/3d-models/cyberpunk-atm-3be4c22c3c7e4c80ab4fda3ce0b2373b
https://sketchfab.com/3d-models/sci-fi-chair-9baa114707d9443cbcc7e165c6081c78
https://sketchfab.com/3d-models/combat-prosthetic-arm-1ee23f6d8ad542b18165e1b4ab0a66c2
https://sketchfab.com/3d-models/robotic-prosthetic-arm-43b482c8526f45709b56434924dc4d3c
https://sketchfab.com/3d-models/sci-fi-first-aid-kit-game-free-69d1ca873ff84453a7db9519666ed5bc
"Sci-Fi Turret Animation - FK Bone Test" (https://skfb.ly/6RQVQ) by Berk Gedik is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/).
https://sketchfab.com/3d-models/bot-vipe-animation-by-oscar-creativo-240c1f80db55416a99fa2ccd33da0efc
Interactive Models That Include Physics
These 12 models have appropriate physics and colliders to be grabbed, dropped, and tossed, and collided with other parts of the kiosk and the floor.
Paco Bot
Companion Bot
Baby Robot
Robot Hand
Retro Fan
Lantern
Crate
Sonar Gadget
Terrarium Bot
Sketch Bot
Cyborg Arm
Robot Arm
Animated Models
These five models are animated and move in some way.
First Aid Kit
Vipe Bot
Sketch Bot
Turret
Robotic Prosthetic
Custom Models
5 unique models created myself
Has physics and can be grabbed
Has physics and can be grabbed
Spawns Power Cells
Radio plays various songs on button press
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.
Companion Bot, ATM, Osborne Computer, both buttons for the spawners, and radio play sounds when interacted with.
Music
Still Alive (Radio song) - Portal
I Really Want To Stay At Your House - Cyberpunk 2077
Sci Fi Trip
Sounds - Multiple sounds come from the same page
At least 1 relevant (and not annoying) ambient sound or piece of music
Ambient Sound - sci-fi music playing in the background - https://mixkit.co/free-sound-effects/sci-fi/
Character Model
Each member of your team needs to use Makehuman and Mixamo to create a 1:1 scale kiosk worker that looks (reasonably) like you, wearing something G rated, with a suitable G rated idle animation. The worker could be trying to attract new customers, or working the register / pad, or ignoring the customers and looking at their phone, or sleeping, etc. The worker should say something when you touch them with either controller.
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.
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
Button press results in credit chip spawning
Button press results in powercell spawning
Lighting Scheme
Create a new appropriate lighting scheme with at least 2 new lights for the kiosk
The lighting scheme I implemented have two colored lights coming from the two monitors in front of the character model. It shines blue and green lights on him. There is also a light that shines from the lantern.
Both lighting shining on my character
Spotlight in monitor 2
Spotlight in monitor 1
FPS
FPS throughout the project varies depending on the actions and the objects on screen.
Interactions don't affect the frame rate too much if there are less objects on screen
However if it involves lighting, moving objects, animations at the same time with multiple objects, there will be a dip in frame rate
Spawning more objects will cause the framerate to start falling
It would take quite a lot of objects to make the framerate drop significantly
Even with not a lot of objects spawned, the animation with the lighting is affecting the frame rate quite a bit.
500 word discussion of how viewing and interacting with your world is different in the simulator and the headset.
Interacting with my world differs when using the simulator and the headset. In terms of accessibility, anyone can open up unity and run the environment and see it play. However, it is difficult and clunky to use the interactors in Unity. You have to hold down buttons and you can only move in one direction linearly and slowly. It’s not very intractable since you can only basically grab and move back and forth. It’s not very entertaining and the user experience is poor. Grabbing things is a hassle that involves more button pressing. There would be no way to move in an accurate way or with fine motor control. The immersion is very poor here. Doing things at the same time would not be possible for someone using a simulator. They would not be able to look around and interact with the environment at the same time. In the Unity simulator, you can only interact with objects or look around, not both. There are some positives to using the simulator instead of an actual headset. Using a simulator gets rid of the need for a whole external headset that needs to be charged. A user would have to make sure the headset is compatible and enable developer options and that would require having an expensive headset in the first place which is not accessible to everyone. Simulators also allow faster development if you need to quickly hop in and out of running the world. Headsets require the world to be loaded into it and then put on to interact with it so it may take longer. The benefits of headsets are substantial, however. The ability to interact with the environment is much better than the simulator at the cost of the barrier to entry of having a headset. Having two controllers while being to independently look around using the headset is a much better user experience than using a simulator. After loading up the world in your headset, you can have the benefit of being in the world itself. You can walk around the world as well as interact with items and object to a degree that isn't possible in a simulator. The immersion is incredible in the world using the headset. You have spatial awareness and the sounds are as if you are within the environment itself. The controllers also have you “grab” things to pick things up which helps with the immersion. Reaching out and touching the radio or grabbing the robots help the immersion and makes it realistic to a degree. You wouldn’t be able to simulate throwing an object as well as a headset can in a simulator. It feels natural to pick things up, stack them together, and even throw them across the room in the headset. Pressing buttons and hearing sounds happen is nice for immersion. With objects and the world being close to life-size, it's crazy to see myself sitting in a chair as if there was someone similar to me there in front that I can touch. The experience overall is way more fun than using a simulator.