Skip to main content

Posts

[WEEK 6] Back from Reading Week

We got back from Reading Week and reviewed what each of us accomplished. Expected deliverables for this week include: moodboards for the Living Room and the Warehouse, basic recolouring for the Living Room, a completed final Warehouse environment, and a working spawning objects prototype.

Aframe Systems and Networked-Aframe

This week saw less direct contribution to the project, and had a greater testing and learning component to it.  Most of my time in the past week was devoted to a different Aframe project that involved a multi-user interaction with a cooperative and competitive component.  I used this project as a guinea pig to test out Networked-Aframe and some more 'advanced' Aframe design patterns (~25 hours). Networked-Aframe is a framework built on top of Aframe that integrates WebSockets and component syncing to streamline the process of creating multi-user Aframe projects.  The main feature of Networked-Aframe we are interested in was the voice chat support, as we feel it could be a great feature to have for playing the game with friends remotely.  However, I also set out to see if there are other features in the framework that could be useful in developing our project.  An element I did find useful was component syncing, which uses HTML <template/> tags to create ...

Sound Design

It was difficult this week to find time to work on the term project when there were also other more heavily weighted assignments due and a midterm to study for. I hope that I will have a bit more time after this week. For the Living Room, we can use a looped ambient living room soundtrack I found for now because there are considerably fewer sounds expected for this environment. To accomplish this, an entity will need to be created for the purpose of sound source. This will likely be placed on the ceiling plane to have a consistent sound throughout the entire space. Additionally, some sound effects should be linked to when collisions occur between different materials. Resources for playing sound effects on collision: https://github.com/donmccurdy/aframe-extras/issues/48 https://www.c4dcafe.com/ipb/forums/topic/77891-how-to-play-sound-when-a-collision-happens/ For the Warehouse, I will still need to make a looping soundtrack using the sound effects I found. I aim to make it ...

Sprint 5 - Finishing the Furniture

This week, I completed modelling (4hrs) and texturing (7hrs) the furniture that will be used in the scene. It took longer than I expected because I had difficulty nailing down an art style while also working with new techniques in Substance Painter that I wasn't familiar with. A big challenge was finding a style that I really liked and understanding how to achieve that. My experience is more in realistic modelling and texturing where it's easy to see where things don't look right. However, with stylized pieces, it's up to my own interpretation. I'm also working with a very base, low-resolution mesh because I want to avoid creating too much detail through normal or height maps. The simpler, the better, but, the simpler, the less there is to work with. The grand solution in nailing down a flexible art style was through the use of ambient occlusion. By baking the same model over itself, I get an AO map, which already improves the look dramatically as it removes ...

Polishing Snapping and Spawning Objects

Finishing the alpha prototype made up the majority of the work completed this week (~20 hours), but even after the alpha presentation there was still some more work and polishing to do with snapping components together (~4 hours), and then work began on dynamically spawning modular furniture (~2 hours) pieces and that will be the focus of this coming week. Creating the snapping functionality we desired for our alpha prototype proved to be quite the challenge, and this was not because of the logic or technical requirements behind snapping objects, but rather due to some limitations of the A-Frame Physics System library.  Before going into these limitations I will go over the two approaches taken to try and create this functionality.   The original approach was to take the smaller piece that was attached parent it to the larger object, and then apply translations to the piece to line it up correctly.  However, in practice sometimes the transformations would not appl...

Sprint 4 - Alpha Presentation and Furniture

This week, the team presented our proposal for our project as well as demonstrated the alpha build. In its current state, the living room and warehouse environments are at their most primitive states and will be developed further over time. In future plans, I will have to redesign the living room to allocate more space to the user. It's currently too small and claustrophobic, which makes it difficult for a VR user to have enough building space. I spent the days prior to the presentation polishing the design comps then producing OBJ files of the environments to insert into A-Frame. I did this by going back and forth between a-frame and Maya and resizing the scene until it was the ideal size. This way, Mitchell is able to simply drag and drop the obj into the project without having to tweak the transformations (~5hrs). Table Model with UVs Chair Model with UVs Shelf Model with UVs After the presentations, I began working on modelling the 3 pieces of furniture that pl...

Alpha Presentation and Sound Libraries

Up until the Alpha presentation on Friday, I worked on bringing in Maxime's Living Room environment obj-model into Mitchell's A-frame prototype. This required importing the obj, positioning it appropriately, setting materials, and adding some lights into the scene (~2hrs). There were some issues at first with the model being small enough but feeling very cramped; there was not enough space to really build furniture. This model will need to be adjusted in the near future to fix this. Another issue was that the materials were not loading properly and adding lights turned everything black. Some experimentation with the light types, positioning, and intensity helped to solve this to be sufficient enough for the Alpha prototype, which can be seen in the image below. I also worked on helping to try debug the code for the snapping function (~2hrs), which involves a snap to the correct position when two furniture pieces collide at the appropriate location (i.e. table leg touches t...