Google se compromete a promover la equidad racial para las comunidades negras. Ver cómo.

Descripción general de Cloud Anchors para iOS

Utilice Cloud Anchors para crear experiencias de RA colaborativas o multijugador que los usuarios de Android e iOS puedan compartir.

Crea y escala experiencias de RA para todos

El SDK de ARCore para iOS se conecta con ARKit para proporcionar capacidades de anclaje en la nube, lo que le permite compartir anclajes entre dispositivos iOS y Android en el mismo entorno.

A partir de la versión 1.12 del ARCore SDK para iOS, puede crear aplicaciones ARKit que funcionen con cualquier dispositivo compatible con ARKit.

¿Qué es un ancla de nube?

Con Cloud Anchors, su aplicación permite a los usuarios agregar objetos virtuales a una escena de realidad aumentada. Luego, varios usuarios pueden ver e interactuar con estos objetos simultáneamente desde diferentes posiciones en un espacio físico compartido.

Los anclajes en la nube tienen un comportamiento similar a los anclajes , y las pautas básicas para los anclajes también se aplican a los anclajes en la nube. Consulte Trabajar con anclajes para revisar las pautas básicas.

Los anclajes en la nube se diferencian de los anclajes en que están alojados en el servicio ARCore Cloud Anchor. Este alojamiento permite a los usuarios compartir experiencias en la misma aplicación.

¿Cómo funcionan los anclajes en la nube?

Para habilitar estas experiencias compartidas, ARCore se conecta al servicio ARCore Cloud Anchor para alojar y resolver los anclajes. Esto requiere una conexión a Internet que funcione.

El hospedaje y la resolución implican estos pasos a un alto nivel:

  1. El usuario crea un ancla local en su entorno.

  2. Durante el alojamiento , ARCore carga datos para el ancla al servicio ARCore Cloud Anchor, que devuelve una ID única para ese ancla.

  3. La aplicación distribuye la identificación única a otros usuarios.

  4. Durante la resolución , los usuarios con la ID única pueden recrear el mismo ancla usando el servicio ARCore Cloud Anchor.

Para crear una buena experiencia de usuario con Cloud Anchors, es importante comprender el proceso de alojamiento en detalle, de modo que pueda adaptarse al diseño de su aplicación para ayudar a los usuarios a tener éxito.

Establecer y albergar un ancla

Para establecer y alojar un ancla, ARCore utiliza un mapa de características 3D del espacio que rodea el ancla (el centro de interés). Para obtener este mapa de características, la cámara trasera del dispositivo debe mapear el entorno en y alrededor del centro de interés desde diferentes ángulos de visión y posiciones en los 30 segundos antes de la llamada del anfitrión ( hostCloudAnchor:error: .

A partir de ARCore SDK 1.12.0, esta llamada de host hace que ARCore cargue datos visuales seleccionados de los últimos 30 segundos desde la cámara del dispositivo al servicio ARCore Cloud Anchor, que procesa los datos visuales para construir el mapa de características 3D y devolver un Cloud Anchor IDENTIFICACIÓN.

La creación adecuada del mapa de características 3D es fundamental para una excelente experiencia de usuario. De lo contrario, la calidad del mapeo puede ser limitada, dificultando la resolución. Para mejorar la calidad del mapa, recomendamos que las interfaces de usuario indiquen explícitamente a los usuarios que mapeen la mayor cantidad posible del entorno alrededor del centro de interés, moviendo el dispositivo alrededor del ancla local desde diferentes ángulos de visión y posiciones.

Para alojar un Cloud Anchor:

  1. Espere unos segundos después de que comience la sesión para dar tiempo de seguimiento para estabilizarse antes de intentar albergar un ancla.

  2. Al seleccionar una ubicación para albergar el ancla, intente encontrar un área con características visuales que se puedan distinguir fácilmente entre sí , por ejemplo, una esquina con características visualmente distintas.

  3. Apunta la cámara trasera del dispositivo al centro de interés , es decir, al área que rodea el punto donde quieres colocar el ancla.

  4. Mientras mantiene la cámara enfocada en el centro de interés, y mientras mantiene aproximadamente la distancia física entre el dispositivo y el centro de interés, mueva el dispositivo para mapear el entorno desde diferentes ángulos de visión y posiciones durante hasta 30 segundos . Caminar por el espacio mientras mantiene la cámara del dispositivo enfocada en el centro de interés permitirá capturar características visuales del área de interés desde todos los ángulos, haciendo que la resolución sea más sólida.

  5. Llame a hostCloudAnchor:error: para iniciar la solicitud de alojamiento.

  6. ARCore carga datos visuales, poses de dispositivo y la pose de ancla a través de ARCore Cloud Anchor API.

  7. El servicio ARCore Cloud Anchor crea un mapa de características 3D del espacio y devuelve una ID de Cloud Anchor única para el ancla al dispositivo.

  8. Use anchor.cloudState para verificar el estado de un ancla alojada (incluidos los mensajes de manejo de errores).

El servicio ARCore Cloud Anchor crea un mapa de características 3D del espacio y devuelve un ID de Cloud Anchor único al dispositivo.

El ancla debe estar alojada.

anchor.cloudState permite verificar el estado de un ancla alojada (incluidos los mensajes de manejo de errores).

Resolución de un ancla previamente alojada

Cuando otro usuario en el mismo entorno apunta la cámara de su dispositivo al área donde se alojó el Cloud Anchor, una solicitud de resolución ( resolveCloudAnchorWithIdentifier:error: :) hace que el servicio ARCore Cloud Anchor compare periódicamente características visuales de la escena con el mapa de características 3D que se creó, que ARCore utiliza para señalar la posición y orientación del usuario en relación con Cloud Anchor. Por eso es importante utilizar los 30 segundos anteriores a la solicitud de alojamiento para mapear la mayor cantidad posible del entorno alrededor del centro de interés.

Puede iniciar resoluciones para múltiples Cloud Anchors en secuencia. Se pueden resolver hasta 20 Cloud Anchors simultáneamente.

Con el mismo dispositivo o uno diferente al dispositivo de alojamiento, siga estos pasos para resolver el ancla alojada.

  1. Espere unos segundos después de que comience la sesión para dar tiempo de seguimiento para estabilizarse antes de intentar resolver un ancla.

  2. En el mismo entorno que el delimitador alojado, escanee el área de interés original , asegurándose de que:

    • La cámara del dispositivo tiene una línea de visión clara al área mapeada

    • La cámara del dispositivo está a una distancia similar del ancla alojada como el dispositivo que originalmente alojaba el ancla.

  3. Llame a resolveCloudAnchorWithIdentifier:error: y use anchor.cloudState para verificar periódicamente el estado de la solicitud de resolución .

    Si desea cancelar su solicitud, llame a removeAnchor .

  4. ARCore sondea continuamente la API de ARCore Cloud Anchor y envía datos visuales al servicio ARCore Cloud Anchor.

  5. El servicio ARCore Cloud Anchor compara las características visuales de la escena con el mapa de características 3D que se creó. Cuando encuentra una coincidencia, el servicio devuelve la pose del Cloud Anchor .

El Cloud Anchor debería resolverse.

anchor.cloudState permite verificar el estado de un ancla alojada (incluidos los mensajes de manejo de errores). Cuando haya terminado con Cloud Anchor, llame a removeAnchor .

Requisitos de privacidad de Cloud Anchor

Para cumplir con nuestros requisitos de privacidad actualizados para el uso de ARCore SDK 1.12.0 o posterior, debe divulgar el uso de Cloud Anchors de manera destacada. Para obtener más información, consulte Requisitos de privacidad del usuario .

Limitaciones de acceso y almacenamiento de datos

Los anclajes en la nube tienen las siguientes limitaciones de acceso y almacenamiento de datos:

  • En ARCore 1.20 y versiones posteriores, los anclajes en la nube se pueden resolver durante 365 días después de su alojamiento. (En las versiones de ARCore anteriores a la 1.20, los anclajes en la nube solo se podían resolver durante 24 horas después de que se alojaran). Puede extender la vida útil del ancla después de que ya esté alojado mediante la API de administración de anclajes en la nube .

  • Los datos visuales cargados en la nube cuando se aloja un ancla se descartan en veinticuatro horas.

  • Los anclajes se resuelven en el servidor contra el mapa de características 3D.

  • Los datos visuales cargados previamente nunca se envían al dispositivo de un usuario.

Mejores prácticas para una buena experiencia de usuario

Las siguientes mejores prácticas ayudan a crear una buena experiencia de usuario de Cloud Anchors.

  • Recuerde que al iniciar la llamada del anfitrión se utilizan los 30 segundos anteriores de mapeo para crear el mapa de características 3D. Asegúrese de que la interfaz de usuario de su aplicación tenga esto en cuenta.

  • Considere la posibilidad de crear acciones o características que sean divertidas o que puedan ser útiles para los usuarios (o ambos) cuando los usuarios se muevan por el centro de interés, y que eso también lleve a cabo la tarea de crear un mapa de características 3D adecuado.

  • Evite alojar o resolver Cloud Anchors en ciertos tipos de superficies.

    • Para obtener los mejores resultados, los usuarios deben evitar superficies reflectantes o superficies sin características visuales, como una pared blanca, lisa y en blanco.
  • Asegúrese de que la iluminación de la habitación sea suficiente.

  • Pase ARFrame a su GARSession antes de intentar alojar o resolver anclajes.

Política de obsolescencia

Las aplicaciones creadas con ARCore SDK 1.12.0 o superior están cubiertas por la política de desactivación de la API Cloud Anchor .

Las aplicaciones creadas con ARCore SDK 1.11.0 o versiones anteriores no pueden alojar ni resolver Cloud Anchors debido al uso del SDK de un servicio ARCore Cloud Anchor más antiguo y obsoleto.

Empezar

Para comenzar a trabajar con ARCore SDK para iOS, consulte: