Date Range: 02/27/2019 - 03/05/2019
Total Hours Spent: 10
Overview
This week marks the long awaited integration of the components needed for object interactions such as grabbing, swinging, and hitting other objects with a sword. The interactions aren't totally polished yet but the functionality is there, progress has been made. A long list of other project and assignment deadlines continue to make progress slow but this week was a great improvement over the last.
Challenges & Successes
This feature, user-object interactions, has been on my plate for a couple of weeks now and has been a challenging hurdle to overcome. I had originally planned to simply measure collisions between objects and parents things like the sword to the player's hand when they grab with the Oculus Touch controller. I quickly fell down a rabbit hole of how I would detect the beginning and end of a collisions and checking whether or not an object is already being grabbed. The concept seemed simple at first, and we have done something similar in an assignment already, but I've found it difficult to wrap my head around the solution this time around.
The solution I landed on was to integrate two more A-Frame components, aframe-physics-extras and super-hands. The former builds on top of the aframe-physics-system we implemented a while ago to allow for control over collisions between define groups of entities and the mechanics of those interactions. The latter builds on top of the native A-Frame hand-controls to provide easy gesture recognition and reaction event for hovering, grabbing, and dropping, among a few others. I was solely interested in the hovering capabilities of super-hands to precisely recognize when a player's hand is in contact with grabbable objects but opted in to the grabbing components as well for the time being until I am able to fine tune my own version.
This demo shows the basic implementation of the super-hands component that allows the user to grab and interact with objects in the environment.
The current integration has some lag between a grabbed object and the player's hand, due to the limitations of the integrated components, so I plan to continue looking into how I can improve the interaction to be more precise.
Next Steps
We have our Beta presentation quickly approaching on March 15th so our team will be completing as much as we can to get a functional demo prepared in time. I will be working towards further refining user-object interaction as mentioned, optimizing shadow maps to find a balance between quality and performance, and implementing a a system for dynamically displaying instructions received from the master on their mobile device.
Comments