XR Portal

Place a virtual portal in your room to enter a friend’s actual space in mixed reality - combining your physical world and theirs for richer play.

Role

Role

Developer
Interaction Designer

Developer
Interaction Designer

Tools

Tools

Unity 3D
Blender
Shader Scripting
Meta MRUK
Adobe Mixamo

Unity 3D
Blender
Shader Scripting
Meta MRUK
Adobe Mixamo

Collaborator(s)

Collaborator(s)

Chiao Lin

Chiao Lin

Duration

Duration

11/2024 - 12/2024

11/2024 - 12/2024

Design Prompt

Explored how mixed reality an redefine travel experiences in response to a challenge posed by Sonia Doshi, Vice President of Strategic Operations, Design, & Production at Disney, as part of our client-sponsored coursework for SI 559: Intro to AR/VR.

Problem Statement

Physically distant friends, especially children and young teenagers, often struggle to find engaging ways to play together. Current digital solutions lack the depth of in-person interactions, and are often sedentary or disconnected from their physical context.

Proposed Solution

Our XR Portal bridges this gap by linking physical and virtual spaces, allowing users to ‘travel’ to their friends’ rooms virtually. By blending the user’s physical environment with virtual representations, the XR portal experience encourages richer social interactions and shared play.

Implementation

For XR Portal, I built a working mixed-reality prototype in Unity with Meta's MRUK to explore the idea of co-located cross-space play.

Interaction 1 - Monster Inc. portal placement

Understanding your physical environment:

  • Leveraged MRUK’s room mesh to detect floor surfaces and walls.

Adds safety buffer to prevent accidents:

  • Enforced a set distance from walls so the XR portal always has a safety buffer between walls.

Interaction 2 - Customized Shader for Portal

Stencil-based shader:

  • Wrote a custom Unity shader using the stencil buffer to mask the portal opening.

Meta's Depth API:

  • Ensured that the portal is correctly occluded by real-world objects and surfaces.

Interaction 3 - Cross-Space Play Agent

NavMesh Agent:

  • Configured the virtual dog to be capable of navigating both real-world geometry and mirrored VR geometry.

Clap interaction:

  • Implemented a hand-clap gesture detector for both participants to summon the virtual dog as a playful example of cross-reality interaction.