Skip to main content

Control Scheme Research

For the first sprint, I looked into possible control schemes that could be used with A-Frame, then at existing libraries for implementing these controls, and physics systems that could be implemented in A-Frame.  As the initial idea is to have the finder use desktop, we want to support keyboard and mouse, as well as controller (the standard PS/Xbox configuration) based interaction.  Since we were not sure whether A-Frame supports controllers by default I set out to find out what level of support was integrated, and what libraries could be used for controller support.

The first step was checking the A-Frame documentation on Interactions and Controllers.  Here I learned that A-Frame fully supports all common VR controllers, but it only supports conventional controllers through custom controllers, however, the library aframe-extras includes code for working with game-pads.  Since implementing our own code for controllers will be time consuming and the A-Frame documentation recommends the add-on we will likely use it for our experience.

Furthermore, since the experience will involve working with parts in a realistic environment we will need some kind of physics system, which A-Frame does not implement by default.  The most popular physics system in A-Frame is the aframe-physics add-on, which adds simple 'static-body' and 'dynamic-body' tags that can be added to most primitive elements as seen in the code below.


An example of aframe-extras and aframe-physics used in conjunction to simulate throwing a ball.

Ideally, these two systems will create a strong foundation for us to build off of as we begin to hammer out the details of our VR experience.


Comments

Popular posts from this blog

[WEEK 1] Introducing our project...

Our goal is to make a cool VR game for Design Studio 3. The main idea involves a collaborative asymmetrical experience to build furniture virtually. There will be two roles in this game: a finder (to look for furniture pieces in the warehouse), and a builder (putting the parts together). We started this project on January 22, 2020 and are currently on our first 1 week sprint of development.

Sprint 10 - Adding more boxes and lots of scripting

As the final submission draws near, lots of work has yet to be done. Due to time constraints and the lack of resources in light of recent events, we made the decision to cut down our scope by removing VR functionality entirely and focus on desktop-to-desktop connection fully. With new goals in mind, I spent the beginning of the week by adding all the boxes for spawning furniture components. To do so, I started by replacing the blue boxes we used previously with stylised boxes that match the environment better. To tell the player what each box contains, an image of the rendered component is placed on each side. The challenge here was that I wanted to avoid creating a GLTF for every single box because it would have slowed down the page drastically. The solution was to instead use a single, universal GLTF for every box and placed images on each side of the box as explained previously (~6hrs). New Warehouse Area - Added new boxes Close up of updated box - Bright colours and side

Storyboard and Physical Layout

I finished up on some graphical elements for the user interaction specification component of the proposal due this coming Friday. This includes the storyboard panels and the physical layout diagram. As I was researching Oculus Rift physical setups, I had to determine how many sensors we would need for our game. I believe that 2 sensors will be sufficient, since we do not need a true 360 degrees experience as the Builder player will primarily be focused on the 180 degree space in front of them (i.e. the fireplace, the TV, and building the furniture). Our game is not an action packed game with any running or shooting. Of course, the player will still be able to fully look around but they shouldn't have a great need to move in the other 180 degrees of space. This would also take into consideration accessibility to our game, because it costs extra to buy a third sensor (the Rift only comes with 2) as well as requiring adapters and wire extensions. I spent about 4 hours researching