Project 3
Our House
Project 3 builds off of the concept of our previous project. except now we had to treat the entire building as modifiable space. The professor wanted us to implement functional levers to modify the scene, as well as teleportation, all the while decorating the scenes with models and textures.
Inspiration
Once again, this project was designed by both Ian Ubaldo and myself. If you're interested in looking at Ian's other works, you can find his page here.
Me and Ian decided to collaborate to create a project inspired heavily off of the games made by the Korean game company, Project Moon. More specifically, we took heavily influence from both Lobotomy Corporation and Library of Ruina.
The games' narrative focuses on a sort of dystopian future, where there exist creatures that are very similar to that of the ones in the SCP Fictional Universe. While we still have our old kiosk that was inspired by specific characters in the previous project, we took some of the areas around the map to dedicate to both characters and factions of Library of Ruina, specifically the Index and Thumb factions, and the characters Binah and Hokma, depicted in the image. We took the floors of the building and modified them
Project Demonstration
Here's a live demo of what the project looked like in VR!
How-To
Project Files
For the project files, you'll want to download the zip that can be found in the github repository here. Follow the next few steps:
Download the ZIP by clicking on the green code button, then pressing download ZIP.
Create a folder for the project files on your computer.
Drag and drop the zip from your downloads folder into your new folder.
Extract the contents of the project zip into your folder.
Other Files
For extra files, you'll have to download the UniVRM v0.105.0, specifically for VRM-1.0 package, which you can find here.
Unity Setup
Register for an account for Unity, and then download Unity Hub from here.
2. Open Unity Hub. Press Installs, and click Install Editor.
3. Press Archive, and then visit the download archive.
4. Click on Download LTS Releases, and download the unity hub version of LTS Unity 2021.3.6f1.
5. Once that finishes installing, go back to the Projects section of Unity Hub. Press Open, then select the folder which you put the project files in. This will open the project.
6. Once the project is open, open the file option and press Open Scene.
7. From there, go to the path Assets/Scenes and select MainScene.unity
8. In the case of an Asset Import failure message, go to the folder path of Assets/Models/Sephirah in the project files in Unity itself.
9. You'll have to fix each of the VRoid Models (Sorry for the inconvenience!)
Do the process below for each of the following paths:
Assets/Models/Sephirah/binah/Binah Avatar
Assets/Models/Sephirah/Ian/IanLobCorpEmployee
Assets/Models/Sephirah/hokma/Hokma Avatar
Assets/Models/Sephirah/rob/Robert Petrov
Essentially, what needs to be done is reimporting the models, as VRM can sometimes awkwardly export when moving to projects.
10. If on PC, follow this step. If not, jump to step 12.
Under the MainScene Hierarchy, press the arrow next to VR to open the VR settings.
Click on CameraRigs.SpatialSimulator and make sure that it is checked off under the inspector. Consequently, click on CameraRigs.UnityXRPluginFramework and make sure it is NOT checked off.
11. Press the Play button in the middle of the scene screen and enjoy!
12. Under the MainScene Hierarchy, press the arrow next to VR to open the VR settings.
Click on CameraRigs.SpatialSimulator and make sure that it is NOT checked off under the inspector. Consequently, click on CameraRigs.UnityXRPluginFramework and make sure it IS checked off.
13. Click on File and open the Build Settings. Select the Android platform, and press Switch Platform.
14. Plug your quest device in and select your device under the Run Device section.
Then press Build And Run once you select your device. Enjoy the project!
Assets and Project Requirements
As Ian and I worked on this project together, we had our requirements for the project be doubled. Here were our requirements:
20 Web Imported Models
10 Custom Made 3D models
10 3D models with Physics/Colliders
2 new lighting schemes
2 relevant pieces of music
10 New Flat Models with textures
4 Animated/moving 3D models
Wide range of scale in models, 4 Larger/4 Smaller than a person
4 Objects that Produce new objects upon Interaction
8 unique sounds that are proximity based or triggered by interactions
2 Particle Systems
2 3-D Objects that move through the scene on their own
Humanoid Models of ourselves that are animated/talk on interaction
2 Dials/Levels that change part of the scene once interacted with
The ability to teleport to 6 different fixed locations in the scene
Removing head collision
Imported Assets
Angel (old marble version) by SebastianSosnowski
7/20 Web Imported Models
2/4 Larger Models
1/2 New Pieces of music
Source for 1/8 Proximity Based Sounds, 1 More PostRelease
1/2 Light Sources
Musket by Laikaios
8/20 Web Imported Models
Simple Desk (Free) by Brandon Westlake
9/20 Imported Models
Picture Frames by ElNahue
10/20 Imported Models
2/4 Smaller Models
5/10 Flat Textures, A from Lobotomy Corporation by Project Moon.
Four Modern Bookshelves by Newsome Interactive
14/20 Imported Models
Ancient Desk by Enkhjargal
16/20 Imported Models
Modern Small Shelf by Blender3D
18/20 Imported Models
training dummy by lucq22
19/20 Imported Models
Oriental Shelf by E.Dejnes
20/20 Imported Models
3/4 Larger Models
Leather Couch by Bretzel44
21/20 Models Imported
Instruments: Violin / Piano / Double bass by Tom Zimmermann
24/20 Models Imported
2/8 Proximity Based sounds, 1 more proximity based sound added Post-Release
2/2 Pieces of Music
Textures
These textures were used to fill up the rest of the flat texture requirements for the scene.
Self-Made Assets
Clock by Ian Ubaldo
4/4 Larger Models
1/10 Custom Made Models
1/4 Animated (Hands Rotate)
Flat Textures - Clker's Clock Without Arms
Binah Avatar by Robert Petrov
2/10 Custom Made Models
2/4 Animated Models
Hokma Avatar by Robert Petrov
3/10 Custom Made Models
3/4 Animated Models
BinahTeacup and BinahSaucer by Ian Ubaldo
5/10 Custom Made Models
BinahStar by Ian Ubaldo
6/10 Custom Made Items
2/2 Light Sources
ApostleStaff by Ian Ubaldo
7/10 Custom Made Items
Post-Release Made grabbable/spawned
ApostleScythe by Ian Ubaldo
8/10 Custom Made Items
Post-Release Made Grabbable/spawned
Sound of a Star by Ian Ubaldo
9/10 Custom Made Items
Post-Release Made grabbable/spawned
Apostle Spear by Ian Ubaldo
10/10 Custom Made Items
Post-release made grabbable/spawned
Audio Assets
The audio used for this project came from a google drive folder compiling the game assets of Library of Ruina, which can be found here. All credit for the drive goes to user Lunartique01, and credit for the assets goes to Project Moon once again.
The audio that we used as both music, and both as proximity based/interacted with sounds, can be found here. The sounds played from multiple different sources within the scene.
ch8_Hokma.wav
ch8_Binah.wav
Binah 1.wav
Hokma 1.wav
Enemy 1.wav
Theme03.wav
Mili - Children of The City.wave
ch1_BackStreets.wav
The remaining audio sounds were filled out using by adding sounds for the melee items in the scene, which can also be found in the assets of Lobotomy Coporation.
Regarding Post-Release
While Ian and I didn't get all the requirements of the project down, we created a post-release branch and kept adding on to the project from there.
While in the postrelease, we added the following:
4 Object Spawners, spawning 4 grabbable objects.
Made some remaining grabbable objects in the scene, up to the requirements needed
Extra Audio Sources, up to requirements needed
Animated an item and made two items move through the scene.
Fixed head collision.
The video we recorded contains most of the postrelease content in it as well.
Performance
Overall, the performance on the quest seemed to hold steady, even steadier than before on the second project. The reason we believe this is the case is due to the spread of objects out across the scene rather than there being a lot of clutter, meaning there is never a moment where too many vertexes are being calculated at a time. We say this as the kiosk, where plenty of items also were before, ended up being the portion of our project with the worst performance. While you need to populate environments for them to feel lively, you need to ensure that you don't put too many heavy models next to each other.
In the previous project, the most notable decrease in framerate was when one was holding an item. However, even this seems to not be an issue anymore, likely due to the fact that this time, there was no heavy lighting affecting any of the held items.
Introduction of Technology
Rob's Analysis
If I were interested in introducing someone to a new building demonstrated, the process involves hooking up the person to VR, letting them explore the building, while answering questions/clarifications they have during the exploration. However, given that these people likely have little to no background knowledge of VR, I believe it would be necessary to include a demo that performs on a much smaller scale. Instead of a whole building, there would be a small room, kitted out with the sorts of functionalities that the user would see in a real room or VR space, and show them how it works through VR. This process would include moving and looking around, alongside all the different interaction types one could have (Pulling levers, shifting dials, grabbing objects, etc). The goal of this would be not only to help acclimate users to VR, but also give them time to get accommodated and adjust their settings before jumping head first into exploration.
Following this, I think the VR serves as an excellent medium through which to preview 3-Dimensional objects. This is due to the fact that with a cost significantly lower than that of real building, you can create practically the same environment through VR. Granted, this is still a very long and extensive process, specifically due to the fact that recreating all the little details of the buildings still takes a long amount of time. However, that’s exactly the strength of VR - getting all the little details. Using the scale of the VR user, one can model the buildings to a perfect degree, using modeling, texturing, and lighting to recreate the floors, the furniture, the rooms, etc. What’s even more interesting is that through knowledge of how to code alongside this, you can mimic even the functionalities of the buildings themselves: doors, elevators, technologies, etc. Even more significant is that since each person likely has different aspects they put value on, you can design around putting more emphasis on the aspects that matter.
I think the best way to go about showing a person a building through VR would be to streamline the process of looking through everything. After the introductory demo, I believe it would still be best to keep the user outside for a while, and let them stand or float around the building, getting a feel for it fully visually. The mobility in VR enables perspectives that would be difficult to capture in real life, and from there, I think the user could choose an area to explore internally. There would be a little menu that enables you to choose a new perspective/area open at all times, meaning the user has easy access to a way to move around the scene on a larger scale. However, within each area still remains the normal capabilities used in the demo. Users will already be accustomed to all the actions they may take, since they would have been presented already in the demo, leading to the best experience of exploration as possible.
Ian's Analysis
Perhaps one of the greatest strengths of virtual reality lies directly in its name. That is, to create an artificial reality of the user’s own making. While people have been developing environments in 3D for years, we have only been able to experience them in a 2D medium through computer screens. With the advent of virtual reality, however, we are now finally able to take that next step of removing a layer of separation between the real world and the virtual world.
In this project, we made use of a model of a currently unfinished building. Before virtual reality, that building may have just existed as an artist’s rendition or a 3D model. While that’s perfectly fine for visualizing what the building might look like, the power of virtual reality allows one to simply step directly into that building and see for themselves what it might actually look like. While it may be possible to recreate that sort of experience in either 2D art or 3D modeling, it would ultimately fall short to the level of immersiveness and scale that being able to step into a life-size scale model would.
A virtual model also has the advantage of being interactable. Unlike traditional artforms, virtual reality allows the user to interact with their virtual surroundings. This can allow for things like working doors, lights, appliances, or other pieces of furniture to be implemented in a way similar to how one might use them in real life.
In a more practical sense, this kind of technology could be used to help architects and others in the construction industry pitch new buildings to potential investors. Since 3D models can be detailed very finely, the modeler can come rather close to how the actual building may turn out when completed. This can be useful as a marketing strategy, but also as a way to “debug” the building for parts that may have not turned out quite as was envisioned in the blueprints. A door meant to open one way might turn out to block something else, or a hallway might come out to be smaller than intended.
Of course, virtual reality isn’t a perfect solution to this problem. While headsets have grown to be quite powerful in the modern day, they are still rather far from being able to completely simulate an entire building at a 1:1 scale. To compensate for this, the building model might feature some simplified geometry and textures, which would hinder the immersive quality that had initially been a strength. A potential solution to this would be to use more powerful enterprise headsets oriented towards businesses, but that of course has a cost all of its own.
While showing off virtual buildings is a rather interesting application of virtual reality, it’s far from the only way. As VR continues to grow and mature as a technology, we’re sure to find more and more ways to apply it in ways were never intended.