Website powered by

Submarine Officer Training Demo

In early 2021, HumuloVR needed a demo to showcase our abilities to handle military contracts. This officer demo is the result. It relies on fully-offline speech detection to trigger commands in various crew members in an emergency situation. Programming and shader work was done entirely myself, but the models were created/edited by another artist on the team. Developed and demoed for the Oculus Quest 2. Interactions made using "Auto Hand" by Earnest Robot.

Video walkthrough

Each command keyword is checked against a dictionary of similar sounding words, then broken into commands and modifiers, and number values to determine the final results.

Each command keyword is checked against a dictionary of similar sounding words, then broken into commands and modifiers, and number values to determine the final results.

Early test of helm speech commands. (sound recommended)

Early version of the periscope. I thought it would be cool to use a parallax shader for the eye piece. Unfortunately, people became frustrated lining their head up in real life with something that wasn't physically there.

Early version of the periscope. I thought it would be cool to use a parallax shader for the eye piece. Unfortunately, people became frustrated lining their head up in real life with something that wasn't physically there.

Final version of the periscope. When grabbed, it rotates around the midpoint between both hands. When the user's head is nearby, a UI element is overlaid showing an exterior camera.

Final version of the periscope. When grabbed, it rotates around the midpoint between both hands. When the user's head is nearby, a UI element is overlaid showing an exterior camera.

Sonar screen is a custom shader that updates line-by-line in real time to show the position of a nearby object. While it isn't easily visible in the final product, I'm quite happy with it.

Sonar screen is a custom shader that updates line-by-line in real time to show the position of a nearby object. While it isn't easily visible in the final product, I'm quite happy with it.

The "emergency deep" command makes the sub dive rather sharply. We were concerned about how this would contribute to VR motion sickness, but it ended up help further immerse users in the dive effect by throwing them slightly off balance momentarily.

The "emergency deep" command makes the sub dive rather sharply. We were concerned about how this would contribute to VR motion sickness, but it ended up help further immerse users in the dive effect by throwing them slightly off balance momentarily.