Undersea: Onboarding Systems & Effects

On Undersea for the ML1, I was responsible for the Onboarding portion of the application. The purpose of the onboarding is to:
1. Get the user to mesh their environment so the app can be experienced best.
2. Teach the user mechanics (gazing and walking) before they use them in the main part of the app.
3. Keep the user engaged until the onbaording is done.

To increase user interaction, my goal was to make the reticle, waypoints and world mesh feel responsive for the user and hopefully create a sense of satisfaction.

Quick video highlighting the interactions during the Onboarding sequence of Undersea for the Magic Leap 1. I created the visuals and the systems that drive them using Unreal 4 Blueprints.

The reticle is multi functional and serves as a pointer, a progress bar, and a way to lock on to waypoints. Shape made in MAXScript by generating geospheres at each vertex of a torus. Concept by Alexandria Heston.

The reticle is multi functional and serves as a pointer, a progress bar, and a way to lock on to waypoints. Shape made in MAXScript by generating geospheres at each vertex of a torus. Concept by Alexandria Heston.

Reticle spawn effect. As this is a generally calming experience, I wanted the initial appearance of the reticle to be smooth and ease in.

Reticle spawn effect. As this is a generally calming experience, I wanted the initial appearance of the reticle to be smooth and ease in.

Lock on progress and dispersal effect. I wanted the user to feel a sense of satisfaction when they successfully resolved a waypoint.

Lock on progress and dispersal effect. I wanted the user to feel a sense of satisfaction when they successfully resolved a waypoint.

Reticle point percent interpolation. I wanted the reticle to smoothly change as it got closer to a waypoint.  So I made a script in MAXScript to push morph deltas into the mesh's UVs. I then accessed that data in the vertex shader.

Reticle point percent interpolation. I wanted the reticle to smoothly change as it got closer to a waypoint. So I made a script in MAXScript to push morph deltas into the mesh's UVs. I then accessed that data in the vertex shader.

Waypoint resolve progress. Concept by Alexandria Heston.

Waypoint resolve progress. Concept by Alexandria Heston.

When the reticle locks on to the waypoint, it needed to feel cohesive so the user understands to match the shapes.

When the reticle locks on to the waypoint, it needed to feel cohesive so the user understands to match the shapes.

Here's a behind-the-scenes video for more info on the entire experience. My shoulder makes a cameo or two.