Todo sobre ArCloud Anchored Android — ArCore/Sceneview | por DINESH | febrero 2023

IA -> 🙂 ¡Hola chicos! A medida que evoluciona la tecnología de Realidad Aumentada (AR), se desarrollan características nuevas e innovadoras para mejorar la experiencia del usuario. Una de esas características es AR Cloud Anchors, que ahora está disponible en la plataforma Android ARCore. En este blog examinaremos qué son AR Cloud Anchors y cómo funcionan.AR ancla de nube son virtuales marcas colocado en un entorno real para proporcionar un punto de referencia fijo para las experiencias AR. Estos marcadores se pueden colocar en cualquier superficie del entorno, incluidas paredes, pisos y techos. Una vez colocados, estos anclajes se pueden usar para sincronizar múltiples dispositivos AR, lo que permite a los usuarios compartir la misma experiencia AR en tiempo real. Los anclajes de nube AR están alojados en un plataforma basada en la nube, lo que significa que no están vinculados a ningún dispositivo o aplicación específica. Esto permite a los desarrolladores crear experiencias de realidad aumentada que se pueden compartir en varias plataformas, incluidas Android e iOS.AR Cloud Anchors funciona con una combinación de visión por computador y procesamiento basado en la nube para rastrear el posición Y orientación del marcador en el entorno real. Cuando un usuario apunta su dispositivo AR al marcador, el dispositivo usa su cámara para capturar la imagen del marcador y la envía a la nube para su procesamiento. Luego, el procesamiento basado en la nube utiliza algoritmos de aprendizaje automático para identificar el marcador y determinar su posición y orientación en relación con el dispositivo. Una vez que se determinan la posición y la orientación del marcador, la experiencia AR se puede superponer en el entorno realcreando una experiencia inmersiva e interactiva para el usuario. Usaremos la biblioteca SceneView que hace que la creación y colocación de nodos sea muy conveniente y fácil. [Since ArCore uses OpenGL to load model, as a Normal Android Developer its difficult to understand and use,.]

vista de escena es un Android 3D y AR Componible y Ver con Google filamento Y ARCore. Este es un reemplazo de Sceneform en Kotlin.

  • Cloud Anchors se introdujo en 2018 para experiencias AR multiusuario.
  • Anclajes de nubes persistentes se lanzaron en 2020 para experiencias AR persistir entre sesiones.
  • Tienes que activarlo API de anclaje en la nube de ARCore para un proyecto de Google Cloud Platform nuevo o existente. No te preocupes, se factura GRATIS.
  • si utiliza CLAVE API en manifiesto es el límite máximo para almacenar anclas 24 horas. si utiliza ID de cliente de OAuthel límite máximo es de hasta 365 días.
  • Desafortunadamente, no es posible guardar más de 365 días. ¡Necesitamos recrear y salvar las anclas!
  • tiene dos conceptos anfitrión Y Decidir por. Antes de alojar el ancla, se debe verificar que la cámara/ArSceneView tenga datos suficientes, de lo contrario, el ancla no se alojará. Una vez alojado, se debe guardar el CloudAnchorID, que usaremos más adelante para resolver.

Aburrido?😵‍💫

Veamos un ejemplo👨🏻‍💻

  1. Implementar el vista de escena Biblioteca de nivel de aplicación construir.gradle.

Implementación «io.github.sceneview:arsceneview:0.9.5″2. Crear ArNodo con modelo personalizado.val cloudAnchorNode = ArModelNode(placementMode = PlacementMode.PLANE_HORIZONTAL).apply {parent = sceneViewisSmoothPoseEnable = falseisVisible = falseloadModelGlbAsync(context = requireContext(),lifecycle = lifecycle,glbFileLocation = «models/car.glb») {isLoading = false}}3. Una vez que haya creado Node, es hora de hacer lo Datos hay o no para hospedar NubeAncla.if (sceneView.arSession?.estimateFeatureMapQualityForHosting(frame.camera.pose) == Session.FeatureMapQuality.INSUFFICIENT) {Toast.makeText(context, R.string.insufficient_visual_data, Toast.LENGTH_LONG).show()return}

En el código anterior, cuando no tenemos suficientes datos para alojar, queremos mover la cámara 180 grados hacia el nodo.

4. Host ArNode: cargue en cloud.cloudAnchorNode.hostCloudAnchor { ancla: ancla, éxito: booleano ->si (éxito) { // Necesitamos almacenar la identificación del ancla de la nube. solo podemos obtener el ancla usando este id.saveCloudAnchorId(anchor.cloudAnchorId)print(«UPLOADED SUCCESS»)} else {print(«UPLOADEF FAILED»)}}

En el código anterior, si el host es ÉXITO obtendremos cloudAnchorId. Necesitamos almacenar en DB o en algún lugar para fines de resolución.

Por defecto se almacena en la nube para 24 horas. Si desea más, debe habilitar la API de Cloud Anchor mediante el uso de OAuth. Lo máximo que podemos almacenar es 365 dias (también conocido como TTL – Time To Live).

Cree una ID de cliente de OAuth para su aplicación de Android en Google Cloud Console.5. Resolver ArNode: obtenga el nodo de la nube (puede ser cualquier dispositivo, cualquier ArSession). {print («RESOLUCIÓN FALLIDA»)}}FUENTE : Ar Cloud Anchor Host de múltiples nodos / Resolve ¡Eso es todo! Feliz codificación 🥳 Si aprendiste algo nuevo, no olvides aplaudir 👏, seguir 🤩, dar me gusta 😻 y apoyarme. 👍😊

Deja una respuesta

Tu dirección de correo electrónico no será publicada.