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

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

Carpet by Lucas Garnier

4/20 Web Imported Models

4/10 Flat Textures

Church Bench 2 by Elisey

5/20 Web Imported Models

1/4 Larger Models

Minecraft Lever by Coller

6/20 Web Imported Models

1/4 Smaller Models

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.

Brazier by mSameja

11/20 Imported Models

Location of 1/2 Particle Systems

Four Modern Bookshelves by Newsome Interactive

14/20 Imported Models

Blue Flower in Pot, Lowpoly by Olena_Skrypka

15/20 Imported Models

3/4 Smaller Objects

Ancient Desk by Enkhjargal
16/20 Imported Models

Old/ Ancient Scroll by Kigha

17/20 Imported Models

4/4 Smaller 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

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.

  1. ch8_Hokma.wav

  2. ch8_Binah.wav

  3. Binah 1.wav

  4. Hokma 1.wav

  5. Enemy 1.wav

  6. Theme03.wav

  7. Mili - Children of The City.wave

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