Saltar al contenido
The Virtual Layer cover

Proyectos / The Virtual Layer

The Virtual Layer

Showroom de realidad mixta para visualizar, comparar y decidir sobre productos reales dentro de una sala compartida, sin transportar prototipos físicos.

2026
UnityC#NetcodeAR FoundationOpenXR

Resumen

The Virtual Layer es un showroom de realidad mixta para empresas que necesitan presentar mobiliario, iluminación, cortinas y otros productos espaciales antes de fabricar o transportar un prototipo físico. Los clientes pueden entrar en la misma sala online, navegar por un catálogo, inspeccionar los diseños a escala real, comparar variantes y tomar decisiones juntos.

Catálogo de The Virtual Layer con productos, iluminación y categorías de marcas
El catálogo espacial permite navegar por familias de producto, variantes y marcas directamente desde la sala.

El problema

Muchos productos son difíciles de evaluar desde un catálogo plano. Sus proporciones, materiales y relación con el espacio solo se entienden al verlos en contexto. Las muestras y prototipos físicos son caros de transportar, lentos de modificar y difíciles de comparar durante una conversación comercial.

La solución

La app coloca modelos digitales dentro de una sala de realidad mixta compartida. El usuario puede seleccionar un producto, llevarlo a la escena, inspeccionarlo desde distintos ángulos, cambiar configuraciones y comparar el resultado a escala real. La experiencia está construida alrededor de un flujo sencillo: visualizar, comparar y decidir.

Instalación de techo a escala real en realidad mixta con variantes de producto
La escala uno a uno hace evidente la relación entre el producto, la arquitectura y el espacio disponible.
Sofá virtual mostrado dentro de un showroom real
La misma sala sirve para evaluar piezas grandes sin fabricar ni transportar un prototipo físico.

Co-localización espacial sin códigos QR

La parte técnicamente más distintiva fue conseguir que dos gafas separadas compartieran el mismo sistema de coordenadas sin utilizar códigos QR ni marcadores visuales impresos.

La implementación utiliza dos referencias virtuales de calibración colocadas en el suelo desde el mando. AlignmentManager hace un raycast contra el suelo, utiliza el punto medio entre ambas referencias como origen común y calcula la orientación de la sala a partir de la dirección que las une. Después, AnchorManager crea objetos ARAnchor persistentes mediante AR Foundation, los guarda y los vuelve a cargar al iniciar la aplicación. El showroom se mantiene bajo un ScenarioRoot común, de modo que cada visor puede reconstruir la misma posición de los productos dentro de su propio espacio de tracking.

La clave es separar dos problemas que suelen confundirse: cada visor sigue su espacio local, mientras que la aplicación establece encima un marco de referencia compartido. El resultado es contenido co-localizado sin pedir al cliente que coloque o escanee un marcador físico.

Showroom conectado

El host mantiene la autoridad sobre el estado compartido de los productos. Al colocar o mover un producto, NetworkFurnitureManager convierte su posición y rotación globales a coordenadas locales respecto a ScenarioRoot. Esas coordenadas se envían mediante Netcode for GameObjects y cada cliente reconstruye la pose usando su propio root ya alineado.

NetworkFurnitureSync guarda la posición y rotación locales en NetworkVariable escritas por el servidor, aplica los cambios en los clientes e interpola la transformación final para que el movimiento sea más fluido. Cuando entra un cliente nuevo, el host le envía los muebles que ya estaban colocados para que todos comiencen con el mismo estado del showroom.

Usuario con gafas inspeccionando mobiliario virtual compartido dentro del showroom
Los avatares en red y los objetos sincronizados convierten el showroom en un espacio de revisión colaborativa.

Mi rol

Lead Developer · XR y Multiplayer

Responsabilidades

  • Diseñé e implementé el showroom de realidad mixta compartida en Unity.
  • Construí el flujo de co-localización entre visores con referencias en el suelo y anchors persistentes.
  • Implementé el spawning, movimiento y sincronización de nuevos clientes de los productos con Netcode for GameObjects.
  • Integré el catálogo, las categorías por marca, las variantes de modelos, los cambios de materiales y la presentación a escala uno a uno.
  • Repliqué la cabeza, las manos, el nombre y el color de los participantes para hacer visible su presencia en la sala.
  • Ajusté el flujo de interacción y presentación para una demostración de producto en directo.
Cliente inspeccionando un producto virtual con un mando en realidad mixta
La interacción mantiene el producto dentro de su contexto mientras el cliente lo inspecciona de pie.

Aspectos técnicos destacados

  • Co-localización sin marcadores físicos: el ScenarioRoot compartido se calcula con dos referencias en el suelo y anchors persistentes, sin QR ni imágenes de referencia.
  • Networking en espacio local: las poses de los productos se sincronizan respecto al root alineado, no respecto al tracking bruto de cada visor.
  • Estado autoritativo del host: el host controla la colocación, el movimiento y el borrado; los clientes reciben el estado y lo interpolan localmente.
  • Presencia colaborativa: las cabezas y las manos se replican mediante avatares XR en red.
  • Flujo orientado a decisiones: navegación del catálogo, inspección a escala real, variantes de material y contexto espacial forman una única experiencia.

Tecnologías

  • Unity + C#
  • Netcode for GameObjects 2.0
  • AR Foundation 6.0
  • OpenXR + integración PICO OpenXR
  • Unity Multiplayer Services / flujo de Lobby
  • XR Interaction Toolkit 3.0

Ver demo

Ver el vídeo de demostración