Cambios nuevos y destacados en ARCore
Novedades de ARCore v1.50.0
Cambios en el targetSdkVersion
del SDK de ARCore
Se actualizó targetSdkVersion
de ARCore al nivel de API 36 de Android. Si tu app no especifica un targetSdkVersion
, el targetSdkVersion
de la app será 36 debido a la combinación de manifiestos.
En Unity, especificar un nivel de API objetivo en Project Settings > Player > Android > Other Settings de tu proyecto de Unity anulará el valor de targetSdkVersion
de ARCore.
Novedades de ARCore v1.49.0
Se realizaron varias correcciones de errores y mejoras de rendimiento.
Novedades de ARCore v1.48.0
Se lanzó la compatibilidad con Unity 6 y AR Foundation 6
Las extensiones de ARCore para AR Foundation de Unity ahora son compatibles con AR Foundation 6. Usa los siguientes métodos de instalación para obtener una versión compatible de ARCore Extensions para AR Foundation:
- A través de
Add package from git url...
: Usahttps://github.com/google-ar/arcore-unity-extensions.git#arf6
. - A través de
Add package from tarball...
: Usa una versión denotada porarf6
desde la página de versiones.
Para actualizar tu proyecto de AR Foundation 5 a AR Foundation 6, consulta la siguiente guía.
Cambios rotundos y de comportamiento
- El SDK ya no admite destinos de implementación para versiones de iOS anteriores a la 13.0
Novedades de ARCore v1.47.0
Compatibilidad con la versión beta de Unity 6 y AR Foundation 6
Las extensiones de ARCore para AR Foundation de Unity ahora tienen compatibilidad beta con AR Foundation 6 para admitir Unity 6. Usa los siguientes métodos de instalación para obtener una versión compatible de ARCore Extensions para AR Foundation:
- A través de
Add package from git url...
: Usahttps://github.com/google-ar/arcore-unity-extensions.git#arf6
. - A través de
Add package from tarball...
: Usa una versión denotada porarf6
desde la página de versiones.
Para actualizar tu proyecto de AR Foundation 5 a AR Foundation 6, consulta la siguiente guía.
Correcciones de errores
- Se corrigió el problema por el que el plano de la muestra de Cloud Anchor no era transparente para Unity 6.
Otros cambios
- La rama
main
del repositorio de GitHub de las extensiones de ARCore se cambió para hacer un seguimiento de la ramaarf5
.
Novedades de ARCore v1.46.0
Cambios en el targetSdkVersion
del SDK de ARCore
Se actualizó targetSdkVersion
de ARCore al nivel de API 35 de Android. Si tu app no especifica un targetSdkVersion
, el targetSdkVersion
de la app será 35 debido a la combinación del manifiesto.
En Unity, especificar un nivel de API objetivo en Project Settings > Player > Android > Other Settings de tu proyecto de Unity anulará el valor de targetSdkVersion
de ARCore.
Novedades de ARCore v1.45.0
API de Flash Mode
ARCore ahora admite la activación del modo de linterna del dispositivo, lo que permite mejorar las capacidades de percepción en entornos oscuros.
Android (Kotlin/Java)
Config.FlashMode
: Es una opción de configuración para habilitar o inhabilitar la unidad de flash en el dispositivo.- Consulta la guía para desarrolladores para obtener más detalles sobre cómo detectar las capacidades del flash y cómo habilitar el modo de linterna.
NDK de Android (C)
ArFlashMode
: Es una opción de configuración para habilitar o inhabilitar la unidad de flash en el dispositivo.- Consulta la guía para desarrolladores para obtener más detalles sobre cómo detectar las capacidades del flash y cómo habilitar el modo de linterna.
Las extensiones de ARCore para AR Foundation de Unity admiten AR Foundation 5
Las extensiones de ARCore para AR Foundation ahora son oficialmente compatibles con AR Foundation 5. Cuando uses AR Foundation 5 (la versión verificada en las versiones 2022 y 2023 de Unity), usa los siguientes métodos de instalación para obtener una versión compatible de ARCore Extensions para AR Foundation:
- Hasta el
Add package from git url...
: Usahttps://github.com/google-ar/arcore-unity-extensions.git#arf5
. - A través de
Add package from tarball...
: Usa un lanzamiento indicado porarf5
desde la página de lanzamientos.
Los proyectos que aún usan la versión 4 de AR Foundation pueden usar los siguientes métodos de instalación:
- Hasta el
Add package from git url...
: Usahttps://github.com/google-ar/arcore-unity-extensions.git#arf4
. - A través de
Add package from tarball...
: Usa un lanzamiento indicado porarf4
desde la página de lanzamientos.
Para actualizar tu proyecto de AR Foundation 4 a AR Foundation 5, consulta la guía de migración.
Ya no se usan los símbolos de secuencias de comandos personalizadas, como ARCORE_USE_ARF_5
, de la compatibilidad con la versión beta.
Novedades de ARCore v1.44.0
Esta versión no incluye funciones nuevas.
Novedades de ARCore v1.43.0
Migración de la API de Places en Geospatial Creator
La función de búsqueda de Geospatial Creator ahora usa la nueva API de Places de Google. Para usar la función de búsqueda, habilita la "API de Places (nueva)" en la consola de Google Cloud.
Novedades de ARCore v1.42.0
Ajustar a la segmentación en el Creador de Geospatial para Unity
Se agregó un botón “Ajustar a la tarjeta” al panel Inspector del editor ARGeospatialCreatorAnchor
. Este botón establece el valor de altitud exclusivo para el editor de un ancla de terreno o de techo en la parte superior de la geometría de un Tile 3D en la latitud y longitud actuales del ancla. Ten en cuenta que esta propiedad no afecta el comportamiento en el tiempo de ejecución. Esto ayuda a ajustar la posición del ancla en el editor para que coincida con su posición en el tiempo de ejecución.
Novedades de ARCore v1.41.0
API de Geospatial Creator
El Creador de Geospatial para Unity ahora incluye compatibilidad para crear y manipular objetos del Creador de Geospatial en el modo Editor. Las clases y las APIs recientemente disponibles se describen en la Guía de la API de Geospatial Creator.
Compatibilidad con las versiones 5.x de AR Foundation (beta)
Las extensiones de ARCore para AR Foundation de Unity ahora admiten las versiones 5.x de AR Foundation. Para migrar un proyecto existente a AR Foundation, consulta la guía de migración.
Novedades de ARCore v1.40.0
Semántica de escenas en iOS
La API de Scene Semantics ahora está disponible en el SDK de ARCore para iOS, así como en las extensiones de ARCore para AR Foundation de Unity, que se orientan a la plataforma de iOS. La API de Scene Semantics permite a los desarrolladores comprender la escena que rodea al usuario en tiempo real, ya que etiqueta los píxeles en 11 clases de componentes exteriores. Consulta Introducción a la semántica de escenas para obtener más información.
iOS
Unity (AR Foundation)
Cómo buscar puntos de interés en Geospatial Creator para Unity
El Creador de Geospatial para Unity ahora admite una búsqueda textual para posicionar la vista de las Photographic 3D Tiles. Consulta Cómo buscar lugares de interés en Geospatial Creator para obtener más información.
Novedades de ARCore v1.39.0
Esta versión no incluye funciones nuevas.
Novedades de ARCore v1.38.0
Esta versión no incluye funciones nuevas.
Novedades de ARCore v1.37.0
Semántica de la escena
Scene Semantics proporciona detalles más enriquecidos sobre la escena circundante, lo que facilita la comprensión del mundo que rodea al usuario. Scene Semantics ejecuta un modelo de AA en el feed de imágenes de la cámara y proporciona una imagen semántica en la que cada píxel corresponde a una de las 11 etiquetas de conceptos de exteriores.
Consulta Introducción a la semántica de la escena y la app de ejemplo semantics_java para obtener más información.
Android (Kotlin/Java)
NDK de Android (C)
Unity (AR Foundation)
iOS
Consulta Novedades de ARCore v1.40.0.
Geometría del paisaje urbano
Streetscape Geometry es una nueva API de ARCore Geospatial que proporciona la geometría de los edificios y el terreno en un área alrededor del usuario cuando la API de Geospatial está habilitada.
Android (Kotlin/Java)
Consulta la Guía para desarrolladores sobre geometría del paisaje urbano (Kotlin/Java). Además, se actualizó la app de ejemplo geospatial_java para incluir la geometría del paisaje urbano.
NDK de Android (C)
Consulta la Guía para desarrolladores sobre la geometría del paisaje urbano (C) para obtener más información.
Unity (AR Foundation)
Consulta la Guía para desarrolladores sobre la geometría del paisaje urbano (Unity) para obtener más información.
iOS
Consulta la Guía para desarrolladores sobre geometría del paisaje urbano (iOS) para obtener más información. Además, se actualizó la app de GeospatialExample para incluir la geometría del paisaje urbano.
GARStreetscapeGeometry
GARStreetscapeGeometry.mesh
proporciona mallas en 3D.GARStreetscapeGeometry.meshTransform
proporciona la transformación del origen de la geometría en relación con el espacio mundial de la sesión.GARStreetscapeGeometry.trackingState
mantiene el estado de seguimiento.GARStreetscapeGeometry.type
indica si se trata de la geometría del terreno o de un edificio.GARStreetscapeGeometry.quality
proporciona la calidad de la geometría.GARStreetscapeGeometry.identifier
proporciona el identificador único de la geometría.GARSession.createAnchorOnStreetscapeGeometry:transform:error:
crea un ancla en la ubicación y orientación especificadas.GARSession.raycastStreetscapeGeometry:direction:error:
realiza un rayo simulado en la geometría del paisaje urbano cargada en la escena.
Anclajes de techo
Los anclajes en la azotea son un nuevo tipo de anclaje geoespacial que te ayuda a anclar contenido en una azotea.
Android (Kotlin/Java)
Consulta Anclajes geoespaciales (Java). Además, se actualizó la app de ejemplo geospatial_java para incluir anclajes en la azotea.
NDK de Android (C)
Consulta Anclajes geoespaciales (C) para obtener más información.
Unity (AR Foundation)
Consulta Anclajes geoespaciales para obtener más información. Además, se actualizó el ejemplo de Geospatial para incluir anclajes en la azotea.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
proporciona un ancla para los objetos del juego en tu escena en la latitud, la longitud, la altitud sobre el techo y la orientación especificadas.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
Consulta Anclajes geoespaciales (iOS) para obtener más información. Además, se actualizó la app de GeospatialExample para incluir anclajes en la azotea.
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
crea un ancla de techo en la ubicación especificada, con la altitud sobre el techo en metros y la orientación relativa a la Tierra.GARCreateAnchorOnRooftopFuture
contiene el estado asíncrono de la resolución de un ancla de Rooftop.GARRooftopAnchorState
describe el estado de resolución de un anclaje en la azotea.
Profundidad geoespacial
Cuando se habilitan los modos de la API de Depth y Streetscape Geometry en una sesión de ARCore en áreas con cobertura del VPS, las imágenes de profundidad generadas se mejoran con Streetscape Geometry. La geometría del paisaje urbano se integra en cada imagen de profundidad generada hasta un rango de 65,535 metros. No se necesitan cambios cuando se llama a la API de Depth para ver este beneficio.
Android (Kotlin/Java)
Consulta Geospatial Depth (Java) para obtener más información.
NDK de Android (C)
Consulta Profundidad geoespacial (C) para obtener más información.
Unity (AR Foundation)
Consulta Profundidad geoespacial (C) para obtener más información.
iOS
Por el momento, la función Semántica de escenas no está disponible para iOS.
Compatibilidad con la renderización de Vulkan
ARCore ahora proporciona compatibilidad con la renderización de Vulkan exponiendo la imagen de la cámara a través de un AHardwareBuffer
. Puedes usar este Hardware Buffer vinculándolo a un VkImage
.
Para obtener más información, consulta Cómo renderizar tu aplicación de ARCore con Vulkan y la app de ejemplo hello_ar_vulkan_c.
Android (Kotlin/Java)
NDK de Android (C)
Unity (AR Foundation)
Actualmente, el renderizado de Vulkan no está disponible para Unity con AR Foundation.
Estabilización de imagen electrónica (EIS)
Puedes configurar ARCore para que use la estabilización electrónica de imágenes, que suaviza los fotogramas de la cámara para brindar una experiencia del usuario más fluida.
Consulta Cómo habilitar la estabilización de imagen electrónica y la app de ejemplo hello_eis_kotlin para obtener más información.
Android (Kotlin/Java)
Config.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
- Existe un problema conocido en el que llamar a
Frame.transformCoordinates3d()
con coordenadas 2D que no seanOPENGL_NORMALIZED_DEVICE_COORDINATES
provocará una falla en lugar de arrojarIllegalArgumentException
. Esto se resolverá en la siguiente versión.
NDK de Android (C)
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
- Existe un problema conocido en el que llamar a
ArFrame_transformCoordinates3d()
con coordenadas 2D que no seanAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATES
hará que tu app se anule en lugar de devolverAR_ERROR_INVALID_ARGUMENT
. Esto se resolverá en la siguiente versión.
Unity (AR Foundation)
Actualmente, la EIS no está disponible para Unity con AR Foundation.
iOS
Por el momento, la EIS no está disponible para iOS.
APIs asíncronas de ARCore
En esta versión, se introducen nuevas APIs de ARCore asíncronas para mejorar la ergonomía cuando se trabaja con operaciones asíncronas, siguiendo el paradigma de Future y Promise.
Android (Kotlin/Java)
- Resolución de anclajes de terreno: Usa
Earth.resolveAnchorOnTerrainAsync()
para obtener unResolveAnchorOnTerrainFuture
. El símbolo anteriorEarth.resolveAnchorOnTerrain()
dejó de estar disponible y es posible que se quite en una versión posterior de ARCore. - Resolución de Cloud Anchors: Usa
Session.resolveCloudAnchorAsync()
para obtener unResolveCloudAnchorFuture
. El símbolo anteriorSession.resolveCloudAnchor()
dejó de estar disponible y es posible que se quite en una versión posterior de ARCore. - Cómo alojar anclajes en la nube: Usa
Session.hostCloudAnchorAsync()
para obtener unHostCloudAnchorFuture
. Los símbolos antiguosSession.hostCloudAnchor()
ySession.hostCloudAnchorWithTtl()
dejaron de estar disponibles y es posible que se quiten en una versión posterior de ARCore. - Verifica la disponibilidad del APK: Usa
ArCoreApk.checkAvailabilityAsync()
para registrar una devolución de llamada. El símbolo anteriorArCoreApk.checkAvailability()
no se marcó como obsoleto.
NDK de Android (C)
- Resolución de anclajes de terreno: Usa
ArEarth_resolveAnchorOnTerrainAsync()
para obtener unArResolveAnchorOnTerrainFuture
o usaArResolveAnchorOnTerrainCallback
. El símbolo anteriorArEarth_resolveAndAcquireNewAnchorOnTerrain()
dejó de estar disponible y es posible que se quite en una versión posterior de ARCore. - Resolución de Cloud Anchors: Usa
ArSession_resolveCloudAnchorAsync()
para obtener unArResolveCloudAnchorFuture
o usaArResolveCloudAnchorCallback
. El símbolo anteriorArSession_resolveAndAcquireNewCloudAnchor()
dejó de estar disponible y es posible que se quite en una versión posterior de ARCore. - Cómo alojar anclajes en la nube: Usa
ArSession_hostCloudAnchorAsync()
para obtener unArHostCloudAnchorFuture
o usaArHostCloudAnchorCallback
. Los símbolos antiguosArSession_hostAndAcquireNewCloudAnchor()
yArSession_hostAndAcquireNewCloudAnchorWithTtl()
dejaron de estar disponibles y es posible que se quiten en una versión posterior de ARCore. - Verifica la disponibilidad del APK: Usa
ArCoreApk_checkAvailabilityAsync()
para registrar una devolución de llamada. El símbolo anteriorArCoreApk_checkAvailability()
no se marcó como obsoleto.
Unity (AR Foundation)
- Resolución de anclajes de terreno: Usa
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
para obtener unResolveAnchorOnTerrainPromise
. El símbolo anteriorARAnchorManagerExtensions.ResolveAnchorOnTerrain()
dejó de estar disponible y es posible que se quite en una versión posterior de ARCore. - Resolución de Cloud Anchors: Usa
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
para obtener unResolveCloudAnchorPromise
. El símbolo anteriorARAnchorManagerExtensions.ResolveCloudAnchorId()
dejó de estar disponible y es posible que se quite en una versión posterior de ARCore. - Cómo alojar anclajes en la nube: Usa
ARAnchorManagerExtensions.HostCloudAnchorAsync()
para obtener unHostCloudAnchorPromise
. Los símbolosARAnchorManagerExtensions.HostCloudAnchor()
anteriores dejaron de estar disponibles y es posible que se quiten en una versión posterior de ARCore.
iOS
- Resolución de anclajes de terreno: Usa
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
para obtener unGARCreateAnchorOnTerrainFuture
. El símbolo anteriorGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
dejó de estar disponible y es posible que se quite en una versión posterior de ARCore. - Resolución de Cloud Anchors: Usa
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
para obtener unGARResolveCloudAnchorFuture
. El símbolo anteriorGARSession.resolveCloudAnchorWithIdentifier:error:
dejó de estar disponible y es posible que se quite en una versión posterior de ARCore. - Cómo alojar anclajes en la nube: Usa
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:
para obtener unGARHostCloudAnchorFuture
. Los símbolos antiguosGARSession.hostCloudAnchor:error:
yGARSession.hostCloudAnchor:TTLDays:error:
dejaron de estar disponibles y es posible que se quiten en una versión posterior de ARCore.
Novedades de ARCore v1.36.0
Compatibilidad con Swift Package Manager en iOS
El SDK de ARCore para iOS ahora admite oficialmente Swift Package Manager. Consulta Cómo habilitar la RA en tu app para iOS para obtener instrucciones sobre cómo realizar la integración con ARCore usando Swift Package Manager.
Novedades de ARCore v1.35.0
La precisión de la posición geoespacial reemplaza el rumbo por la orientación
Todas las poses geoespaciales ahora exponen su precisión de orientación de la rotación de la dirección, lo que reemplaza la precisión del rumbo.
- Java/Kotlin: Reemplaza
GeospatialPose.getHeading()
porGeospatialPose.getEastUpSouthQuaternion()
yGeospatialPose.getHeadingAccuracy()
porGeospatialPose.getOrientationYawAccuracy()
. - C: Reemplaza
ArGeospatialPose_getHeading()
porArGeospatialPose_getEastUpSouthQuaternion()
yArGeospatialPose_getHeadingAccuracy()
porArGeospatialPose_getOrientationYawAccuracy()
. - iOS: Reemplaza
GARGeospatialTransform.heading
porGARGeospatialTransform.eastUpSouthQTarget
yGARGeospatialTransform.headingAccuracy
porGARGeospatialTransform.orientationYawAccuracy
. - Unity: Reemplaza
GeospatialPose.Heading
porGeospatialPose.EunRotation
yGeospatialPose.HeadingAccuracy
porGeospatialPose.OrientationYawAccuracy
.
Cambios y actualizaciones adicionales
Consulta las notas de la versión para conocer otros cambios, correcciones de errores y mejoras de rendimiento:
- Notas de la versión del SDK de ARCore para Android
- Notas de la versión del NDK de ARCore para Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para AR Foundation
Novedades de ARCore v1.34.0
Comprueba si las capacidades geoespaciales están disponibles en la ubicación actual del dispositivo
La API de Geospatial ahora puede verificar la disponibilidad del sistema de posicionamiento visual (VPS) en una posición horizontal especificada durante el tiempo de ejecución. Esta API se puede usar sin una sesión de RA activa, por ejemplo, para presentar un botón "Ingresar a la RA" solo cuando el VPS está disponible.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
Orientación de la posición geoespacial
Las poses geoespaciales ahora exponen su orientación en el espacio 3D.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unity:
GeospatialPose.EunRotation()
Conversiones de posición geoespacial
Ahora, las poses geoespaciales se pueden convertir a poses de espacio mundial (RA) y viceversa.
Para obtener la posición geoespacial a partir de una posición de RA, haz lo siguiente:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
Para obtener la postura de RA a partir de una postura geoespacial, haz lo siguiente:
- Java/Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unity:
AREarthManager.Convert(GeospatialPose)
Las poses geoespaciales obtenidas de estas funciones tienen un valor de orientación establecido en cero. En su lugar, usa lo siguiente:
- Android (Java/Kotlin/C++): Cuaternión de EUS de la postura
- iOS:
eastUpSouthQTarget
de la postura - Unity:
EunRotation
de la postura
Cambios y actualizaciones adicionales
Consulta las notas de la versión para conocer otros cambios, correcciones de errores y mejoras de rendimiento:
- Notas de la versión del SDK de ARCore para Android
- Notas de la versión del NDK de ARCore para Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para AR Foundation
Novedades de ARCore v1.33.0
Nuevo extremo de Cloud Anchors
- Para usar Cloud Anchors, ahora debes habilitar la API de ARCore en lugar de la API de ARCore Cloud Anchor anterior, que ahora está obsoleta. Para admitir versiones anteriores de la app, puedes habilitar ambas opciones durante la transición. Las apps compiladas con el SDK de ARCore 1.32.0 y versiones anteriores se orientarán a la API anterior, mientras que las apps compiladas con el SDK de ARCore 1.33.0 y versiones posteriores se orientarán a la nueva API. Ten en cuenta lo siguiente:
- La nueva API usa el nombre de dominio
arcore.googleapis.com
en lugar dearcorecloudanchor.googleapis.com
. - Si usas una clave de API restringida por API, debes permitir la API de ARCore.
- Si envías solicitudes a la API de ARCore Cloud Anchor Management desde tu backend, también debes cambiar el nombre de dominio a
arcore.googleapis.com
después de habilitar la API de ARCore. - La API o el extremo anteriores seguirán siendo compatibles hasta agosto de 2023.
- Consulta Cambios en el extremo de Cloud Anchor de ARCore 1.33 para obtener más detalles.
- La nueva API usa el nombre de dominio
Anclajes de terreno
- La API de Geospatial Terrain anchor crea un ancla en una posición horizontal y una altitud especificadas en relación con el terreno de la posición horizontal.
Cambios y actualizaciones adicionales
Consulta las notas de la versión para conocer otros cambios, correcciones de errores y mejoras de rendimiento:
- Notas de la versión del SDK de ARCore para Android
- Notas de la versión del NDK de ARCore para Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para AR Foundation
Novedades de ARCore v1.32.0
Esta versión no incluye funciones nuevas.
Android y Unity (AR Foundation) para Android
- Se actualizó
targetSdkVersion
de ARCore al nivel de API 32 de Android. Si tu app no especifica untargetSdkVersion
, eltargetSdkVersion
de la app será 32 debido a la combinación de manifiestos.- SDK de Android: Si especificas un
targetSdkVersion
en elbuild.gradle
oAndroidManifest.xml
de tu proyecto, se anulará el valor detargetSdkVersion
de ARCore. - AR Foundation para Android: Si especificas un nivel de API objetivo en Configuración del proyecto > Jugador > Android > Otra configuración de tu proyecto de Unity, se anulará el valor
targetSdkVersion
de ARCore.
- SDK de Android: Si especificas un
Cambios y actualizaciones adicionales
Consulta las notas de la versión para conocer otros cambios, correcciones de errores y mejoras de rendimiento:
- Notas de la versión del SDK de ARCore para Android
- Notas de la versión del NDK de ARCore para Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para AR Foundation
Novedades de ARCore v1.31.0
API de ARCore Geospatial
La nueva API de ARCore Geospatial utiliza datos de los modelos 3D de Google Earth y datos de imágenes de Street View de Google Maps para habilitar tu app para experiencias de realidad aumentada envolventes, a escala global y basadas en la ubicación.
Consulta la Introducción a la API de ARCore Geospatial para obtener documentación específica de la plataforma para desarrolladores y comenzar a usar la nueva API de Geospatial.
Profundidad de largo alcance
La API de Depth de ARCore ahora está optimizada para incluir la detección de profundidad de mayor alcance, lo que aumenta el rango de observaciones de profundidad representables. Se usan todos los 16 bits de la imagen de profundidad, lo que proporciona un rango máximo de 65,535 milímetros. Anteriormente, solo se completaban 13 bits, con un límite de 8,191 milímetros.
Consulta los Cambios en la API de Depth para obtener documentación para desarrolladores específica de la plataforma y comprender los cambios en la API de Depth.
Notas específicas de la plataforma
Android
Nuevas APIs de ARCore Geospatial
Java
Earth
proporciona capacidad de localización en coordenadas relativas a la Tierra.Earth.createAnchor()
crea un nuevoAnchor
en la ubicación y orientación especificadas en relación con la Tierra.
Earth.Earthstate
describe el estado actual deEarth
, incluido suTrackingState
.GeospatialPose
describe una ubicación, una elevación y un rumbo de brújula específicos en relación con la Tierra.
C
ArEarth
proporciona capacidad de localización en coordenadas relativas a la Tierra.ArEarth_acquireNewAnchor()
crea un nuevoAnchor
en la ubicación y orientación especificadas en relación con la Tierra.ArEarthState
describe el estado actual deArEarth
, incluido suArTrackingState
.
ArGeospatialPose
describe una ubicación, una elevación y un rumbo de brújula específicos en relación con la Tierra.
Se actualizaron las APIs de ARCore Depth
Java
- Cambiaron las llamadas a funciones de la API de Depth:
Frame.acquireDepthImage
aFrame.acquireDepthImage16Bits
.Frame.acquireRawDepthImage
aFrame.acquireRawDepthImage16Bits
.- Los formatos de imagen de salida para ambas llamadas cambiaron de
android.graphics.ImageFormat#DEPTH16
aandroid.hardware.HardwareBuffer#D_16
. - La profundidad se sigue representando como un número entero de 16 bits en unidades de milímetros, pero ahora se usan todos los 16 bits para representar la profundidad, lo que permite que el rango máximo expresable vaya de 8,191 mm a 65,535 mm.
- Las llamadas a función
Frame.acquireDepthImage
yFrame.acquireRawDepthImage
de la API de Depth están obsoletas. En su lugar, usaFrame.acquireDepthImage16Bits
yFrame.acquireRawDepthImage16Bits
.
- Cambiaron las llamadas a funciones de la API de Depth:
C
- Cambiaron las llamadas a funciones de la API de Depth:
ArFrame_acquireDepthImage
aArFrame_acquireDepthImage16Bits
.- De
ArFrame_acquireRawDepthImage
aArFrame_acquireRawDepthImage16Bits
- Los formatos de imagen de salida para ambas llamadas cambiaron de
AR_IMAGE_FORMAT_DEPTH16
aAR_IMAGE_FORMAT_D_16
. - La profundidad se sigue representando como un número entero de 16 bits en unidades de milímetros, pero ahora se usan todos los 16 bits para representar la profundidad, lo que permite que el rango máximo expresable vaya de 8,191 mm a 65,535 mm.
- Las llamadas a función
ArFrame_acquireDepthImage
yArFrame_acquireRawDepthImage
de la API de Depth están obsoletas. En su lugar, usaArFrame_acquireDepthImage16Bits
yArFrame_acquireRawDepthImage16Bits
.
- Cambiaron las llamadas a funciones de la API de Depth:
Unity (AR Foundation)
Nuevas APIs de ARCore Geospatial:
AREarthManager
proporciona capacidad de localización en coordenadas relativas a la Tierra.EarthTrackingState
obtiene el estado de seguimiento de la Tierra para el fotograma más reciente.EarthState
mantiene las condiciones de error de la Tierra.
GeospatialPose
describe una ubicación, una elevación y una dirección de la brújula específicas en relación con la Tierra.ARGeospatialAnchor
proporciona un anclaje para los objetos de juego en tu escena, especificado en una ubicación y orientación relativas a la Tierra.
iOS
Nuevas APIs de ARCore Geospatial:
GAREarth
Proporciona localización relativa a la Tierra.GAREarthState.earthState
administra los estados y las condiciones de error.GAREarthState.trackingState
mantiene el estado de seguimiento, que es necesario para los datos geoespaciales.
GARGeospatialTransform
Es una representación de una transformación global que incluye la ubicación, la dirección, la altitud y las estimaciones de precisión.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Crea un anclaje geosespacial en la ubicación y orientación especificadas en relación con la Tierra.
Otros cambios
Consulta las notas de la versión para conocer otros cambios, correcciones de errores y mejoras de rendimiento:
- Notas de la versión del SDK de ARCore para Android
- Notas de la versión del NDK de ARCore para Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para AR Foundation
Novedades de ARCore v1.30.0
Esta versión no incluye funciones nuevas.
Android
- Se anotaron los valores que devuelve la API con
@NonNull
y@Nullable
. - Se actualizaron las versiones de las herramientas de compilación que se usan para compilar muestras: Gradle a 7.0.2 y el complemento de Android para Gradle a 7.0.4. No es necesario actualizar estas herramientas para las aplicaciones de ARCore existentes. Para conocer las funciones nuevas, los problemas conocidos y la información de incompatibilidad, consulta la documentación de Android sobre el complemento de Android para Gradle.
Unity (AR Foundation)
Se agregó una nueva versión de
arcore-unity-extensions-without-edm4u.tgz
. Esta variante de versión no incluye dependencias externas, como External Dependency Manager para Unity, y permite actualizaciones a EDM. Usar esta versión ligera puede resolver incompatibilidades cuando se usan las bibliotecas de Firebase. Consulta las instrucciones de instalación de las extensiones de ARCore para AR Foundation para comenzar.Se actualizó ExternalDependencyManager a la versión 1.2.168 para mejorar la compatibilidad con 2021.2 y versiones posteriores. Consulta los detalles en el registro de cambios de EDM.
Se corrigió un problema por el que la sesión de ARCore se configuraba en cada fotograma, incluso cuando no había cambios en la configuración de la sesión, lo que provocaba una disminución de los FPS.
iOS
- Se realizaron varias correcciones de errores y mejoras de rendimiento.
Novedades de ARCore v1.29.0
Esta versión no incluye funciones nuevas.
Android
- hello_ar_java y hello_ar_kotlin: Se cambió el color de un objeto cuando se coloca con
SCREENSPACE_WITH_APPROXIMATE_DISTANCE
para distinguir mejor los objetos colocados con Colocación instantánea. - persistent_cloud_anchor_java: Se agregó una dependencia de compilación faltante a la muestra. Se corrigió un error por el que alojar cualquier ancla tenía el estado
CloudAnchorState ERROR_NOT_AUTHORIZED
, incluso si el proyecto estaba configurado correctamente.
Unity (AR Foundation)
- El paquete de ARCore Extensions ahora depende del complemento de ARKit XR para garantizar que la versión instalada de AR Foundation sea compatible con la versión del complemento de ARKit XR. Se corrigió un error de compilación que se producía al instalar las extensiones de ARCore en Unity 2019.x y habilitar el complemento de XR de ARKit.
- La configuración del proyecto de ARCore Extensions se trasladó de Project Settings > XR > ARCore Extensions a Project Settings > XR Plug-in Management > ARCore Extensions.
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
yARCoreRecordingConfig
se movieron del menú Create > XR > ARCore Extensions al menú Create > XR.
iOS
- Se realizaron varias correcciones de errores y mejoras de rendimiento.
Notas de la versión completas
- Notas de la versión completas del SDK de ARCore para Android
- Notas de la versión completas del NDK de ARCore para Android
- Notas de la versión completas del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para AR Foundation
Novedades de ARCore v1.28.0
- A partir de noviembre de 2022, las apps compatibles con RA ya no podrán adquirir imágenes del NDK ni metadatos de imágenes. Las versiones del SDK afectadas dependen de la función específica a la que se llama. Consulta el anuncio de baja para obtener más información.
- C: Las llamadas a
ArImage_getNdkImage()
yArImage_getNdkCameraMetadata()
siempre devolveránnullptr
para los objetosAImage
yACameraMetadata
. - Java: El objeto
Image
que devuelveFrame#acquireCameraImage()
tendrá un tamaño de0
x0
píxeles. Las llamadas aFrame#getImageMetadata()
siempre arrojaránIllegalArgumentException
. - Unity (AR Foundation): Cuando se usa AR Foundation 2.1 (LTS de Unity 2019), las llamadas a
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
siempre devolveránfalse
. AR Foundation 4.x y versiones posteriores no se ven afectadas, y las llamadas aXRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
se comportarán con normalidad. - SDK de ARCore para Unity (obsoleto): Las llamadas a
Frame.CameraImage.AcquireCameraImageBytes()
tendrán un tamaño de0
×0
píxeles. Las llamadas aFrame.CameraMetadata.GetAllCameraMetadataTags()
devolverán unList<CameraMetadataTag>
vacío.
- C: Las llamadas a
- Java:
ArImage#getCropRect()
ahora devuelve un rectángulo de recorte de tamaño completo, es decir, todos los píxeles de la imagen son válidos. Consultaandroid.media.Image#getCropRect()
para obtener más información.
Novedades de ARCore v1.27.0
Esta versión no incluye funciones nuevas. Consulta las siguientes notas de la versión para conocer las diversas correcciones de errores y mejoras de rendimiento.
- Notas de la versión completas del SDK de ARCore para Android
- Notas de la versión completas del NDK de ARCore para Android
- Notas de la versión completas del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para AR Foundation
Además de varias correcciones de errores, esta versión incluye lo siguiente:
Apps de ejemplo en Kotlin
Se agregó hello_ar_kotlin para demostrar las prácticas recomendadas cuando se usa Kotlin.
Consulta la Guía de inicio rápido para Android para obtener más información.
Se agregó ml_kotlin para demostrar cómo se puede usar un modelo de clasificación de imágenes con ARCore.
Consulta Cómo usar ARCore como entrada para los modelos de aprendizaje automático para obtener más información.
Novedades de ARCore v1.26.0
En esta versión, se agregan los siguientes cambios significativos:
- Ahora se admiten los URIs para los conjuntos de datos en Recording & Playback.
Cambios y actualizaciones adicionales
Consulta las siguientes notas de la versión para obtener información sobre otras correcciones de errores y cambios rotundos.
- Notas de la versión completas del SDK de ARCore para Android
- Notas de la versión completas del NDK de ARCore para Android
- Notas de la versión completas del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para AR Foundation
Novedades de ARCore v1.25.0
Esta versión no incluye funciones nuevas. Consulta las siguientes notas de la versión para obtener información sobre las diversas correcciones de errores y mejoras del rendimiento.
- Notas de la versión completas del SDK de ARCore para Android
- Notas de la versión completas del NDK de ARCore para Android
- Notas de la versión completas del SDK de ARCore para iOS
- Notas de la versión completa del SDK de ARCore para Unity
- Notas de la versión de las extensiones de ARCore para AR Foundation
Novedades de ARCore v1.24.0
En esta versión, se agregan los siguientes cambios significativos:
- Una nueva API de Raw Depth que proporciona una imagen de profundidad sin filtrado en el espacio de la imagen
- Se agregó la capacidad de grabar pistas de datos personalizadas a la API de Recording & Playback
- Capacidad para realizar pruebas de impacto de profundidad
Profundidad sin procesar
La API de Raw Depth proporciona datos de profundidad para una imagen de cámara que tiene mayor precisión que los datos de la API de Depth completa, pero no siempre cubre todos los píxeles. Las imágenes de profundidad sin procesar, junto con sus imágenes de confianza correspondientes, también se pueden procesar más, lo que permite que las apps usen solo los datos de profundidad que tienen la precisión suficiente para su caso de uso individual.
Guías para desarrolladores:
- Android (Java/Kotlin)
- NDK de Android (C)
- Extensiones de ARCore para AR Foundation
- SDK de ARCore para Unity
Grabación de pistas personalizadas
La nueva función de pista de datos personalizada en la API de Recording & Playback te permite agregar datos personalizados a un fotograma de ARCore durante la grabación y recuperar esos mismos datos del fotograma durante la reproducción.
Guías para desarrolladores:
- Android (Java/Kotlin)
- NDK de Android (C)
- Extensiones de ARCore para AR Foundation
- SDK de ARCore para Unity
Pruebas de posicionamiento de profundidad
Anteriormente, las pruebas de impacto solo se podían realizar en planos detectados, lo que limitaba las ubicaciones a superficies planas y grandes. Las pruebas de impacto de profundidad aprovechan la información de profundidad tanto fluida como sin procesar para proporcionar resultados de impacto más precisos, incluso en superficies no planas y con poca textura.
Guías para desarrolladores:
Cambios y actualizaciones adicionales
Consulta las siguientes notas de la versión para obtener información sobre otras correcciones de errores y cambios rotundos.
- Notas de la versión completas del SDK de ARCore para Android
- Notas de la versión completas del NDK de ARCore para Android
- Notas de la versión completas del SDK de ARCore para iOS
- Notas de la versión completa del SDK de ARCore para Unity
- Notas de la versión de las extensiones de ARCore para AR Foundation
Novedades de ARCore v1.23.0
Compatibilidad con cámara dual pendiente
La compatibilidad con la cámara doble se lanzará en las próximas semanas. Consulta la página de dispositivos compatibles para obtener más información.
Nuevas herramientas de depuración
Si envían un intent de transmisión, los desarrolladores pueden habilitar lo siguiente:
Registro de llamadas a la API de ARCore en el registro de depuración de Android
La superposición de rendimiento de ARCore
Cómo alojar y resolver Cloud Anchors
Las apps compatibles con AR creadas con el SDK de ARCore 1.11.0 o versiones anteriores ya no pueden alojar ni resolver Cloud Anchors.
C: Los Cloud Anchors que devuelven
ArSession_hostAndAcquireNewCloudAnchor
yArSession_resolveAndAcquireNewCloudAnchor
siempre tendrán el estadoAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
.Java: Los Cloud Anchors que devuelven
Session.hostCloudAnchor(Anchor)
ySession.resolveCloudAnchor(String)
siempre tendrán el estadoAnchor.CloudAnchorState.ERROR_INTERNAL
.Unity: Los Cloud Anchors que devuelven
XPSession.CreateCloudAnchor(Anchor)
yXPSession.ResolveCloudAnchor(string)
siempre tendrán el estadoCloudServiceResponse.ErrorInternal
.
Las apps compiladas con el SDK de ARCore 1.12.0 o versiones posteriores no se ven afectadas. Su uso de la API de Cloud Anchors de ARCore está cubierto por la política de baja.
Cambios y actualizaciones adicionales
Consulta las siguientes notas de la versión para obtener información sobre otras correcciones de errores y otros cambios que interrumpen la compatibilidad.
Notas de la versión completas del SDK de ARCore para Android
Notas de la versión completas del NDK de ARCore para Android
Notas de la versión de las extensiones de ARCore para AR Foundation
Novedades de ARCore v1.22.0
En esta versión, se agregan nuevas APIs de Recording y Playback y APIs de Camera Config Filter para las extensiones de ARCore para AR Foundation. Consulta las notas de la versión completas de las extensiones de ARCore para obtener más detalles.
Cambios y actualizaciones adicionales
Consulta las siguientes notas de la versión para obtener información sobre otras correcciones de errores y otros cambios que interrumpen la compatibilidad.
Notas de la versión completas del SDK de ARCore para Android
Notas de la versión completas del NDK de ARCore para Android
Notas de la versión de las extensiones de ARCore para AR Foundation
Novedades de ARCore v1.21.0
En esta versión, se agregan nuevas APIs de grabación y reproducción para Android, el NDK de Android y Unity.
Grabación y reproducción
Con las APIs de Recording y Playback, puedes grabar datos de video y RA una vez en un entorno determinado y usar ese contenido para reemplazar una sesión de cámara en vivo con fines de prueba. ARCore guarda las sesiones grabadas en archivos MP4 que contienen varias pistas de video y otros datos diversos en el dispositivo. Luego, puedes hacer que tu app use estos datos en lugar de una sesión de cámara en vivo. Esto te permite reproducir ese contenido de forma indefinida para probar diferentes efectos de RA sin tener que volver al campo.
Para obtener más detalles:
Java:
C:
Unidad:
Novedades de ARCore v1.20.0
En esta versión, se agregan los siguientes cambios significativos:
Nueva compatibilidad con los Cloud Anchors persistentes
Se actualizaron las capacidades de los metadatos de imágenes para Android y el NDK de Android.
Nueva orientación que requiere la versión 5.6.4 o posterior de Gradle para admitir las extensiones de ARCore para AR Foundation o el SDK de ARCore para Unity (1.19 o posterior) con Unity 2018.4 o posterior.
Nueva compatibilidad con Cloud Anchors persistentes
Antes de ARCore v1.20, las Cloud Anchors solo se podían resolver hasta 24 horas después de que se alojaran por primera vez. Con las Cloud Anchors persistentes, ahora puedes crear una Cloud Anchor con un tiempo de actividad (TTL) de entre uno y 365 días. También puedes extender la vida útil del ancla después de que ya esté alojada con la API de Cloud Anchor Management.
El uso de Cloud Anchors persistentes se incluye en la nueva política de baja de Cloud Anchors.
C: Guía para desarrolladores,
ArSession_hostAndAcquireNewCloudAnchorWithTtl
yArSession_estimateFeatureMapQualityForHosting
.Java: Guía para desarrolladores,
hostCloudAnchorWithTtl
yestimateFeatureMapQualityForHosting
iOS: Guía para desarrolladores,
hostCloudAnchor:TTLDays:error:
yestimateFeatureMapQualityForHosting:
.Extensiones de ARCore para AR Foundation: Guía para desarrolladores de Android, Guía para desarrolladores de iOS,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
yARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
.Unity targeting Android: Guía para desarrolladores,
XPSession.CreateCloudAnchor(Anchor, int)
yXPSession.EstimateFeatureMapQualityForHosting(Pose)
.Orientación de Unity a iOS: Guía para desarrolladores,
XPSession.SetAuthToken(string)
yXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
.
Cambios y actualizaciones adicionales
Consulta las siguientes notas de la versión para obtener información sobre otras correcciones de errores y otros cambios que interrumpen la compatibilidad.
Notas de la versión completas del SDK de ARCore para Android
Notas de la versión completas del NDK de ARCore para Android
Notas de la versión de las extensiones de ARCore para AR Foundation
Novedades de ARCore v1.19.0
En esta versión, se agregan los siguientes cambios significativos:
- Nueva API de Instant Placement para Android, Android NDK y Unity.
- Nueva orientación para compilar apps para Android 11 con Unity.
Colocación instantánea
La API de Instant Placement permite que el usuario coloque un objeto de RA en la pantalla sin tener que esperar a que ARCore detecte la geometría de la superficie. La colocación de objetos se perfecciona en tiempo real a medida que el usuario se desplaza por el entorno. Una vez que ARCore detecta la posición correcta en la región donde se coloca el objeto de RA, el objeto blanco se actualiza automáticamente para que la posición sea precisa y se vuelva opaco.
En el siguiente clip, se muestra una figura virtual de Android sobre una mesa del mundo real. La figura es blanca y mucho más pequeña cuando se coloca por primera vez. Después de que ARCore refine sus cálculos de las dimensiones de la escena, la figura saltará a una posición más precisa. Esto puede generar una diferencia en el "tamaño" percibido del objeto.
Para obtener más detalles:
Android:
NDK de Android:
Unidad:
Novedades de ARCore v1.18.0
En esta versión, se agregan los siguientes cambios significativos:
- Nueva API de Depth para Android, Android NDK y Unity.
- Nueva orientación para crear recursos de Rostros Aumentados y, luego, importarlos a Android Studio.
- La API de Depth será compatible con
4.1.0-preview.2
paraAR Foundation
yARCore XR Plugin
.
API de Depth
En los dispositivos compatibles con profundidad, la API de Depth usa la cámara RGB del dispositivo compatible con ARCore o el sensor de profundidad activo, si está disponible, para crear mapas de profundidad. Luego, puedes usar la profundidad por píxel que proporciona un mapa de profundidad para que los objetos virtuales aparezcan de manera precisa delante o detrás de objetos del mundo real, lo que proporciona experiencias del usuario envolventes y realistas.
Por ejemplo, en las siguientes imágenes, se muestra una figura virtual de Android en un espacio real que contiene un baúl junto a una puerta. La API de Depth ocluye correctamente la figura detrás del borde del tronco.
Para obtener más detalles:
Android:
NDK de Android:
Unidad:
Novedades de ARCore v1.17.0
Novedades del SDK de ARCore para Android
Se agregaron métodos nuevos que permiten almacenar en búfer varios fotogramas de la cámara. Junto con otras técnicas, como la renderización de subprocesos múltiples, esto se puede usar para disminuir la variabilidad en las frecuencias de fotogramas.
Se agregaron los métodos de acceso target FPS y el uso del sensor de profundidad faltantes:
Consulta también las notas de la versión completas del SDK de Android.
Novedades del SDK de ARCore para Unity
- Se agregó compatibilidad con la renderización multiproceso en la versión 2018.2 de Unity o versiones posteriores, lo que, en la mayoría de los casos, mejorará el rendimiento y puede ayudar a disminuir la variabilidad en las velocidades de fotogramas. Este es un parámetro de configuración del proyecto de Unity, que se encuentra en Project Settings > Player > Android > Other Settings > Multithreaded Rendering. Consulta la Guía para desarrolladores para obtener más detalles.
- Se agregaron
SessionStatus.ErrorCameraNotAvailable
ySessionStatus.ErrorIllegalState
para indicar estados de error específicos de la sesión de ARCore.
Consulta también las notas de la versión completas del SDK de ARCore para Unity.
Novedades del SDK de ARCore para iOS
El tamaño del objeto binario del SDK de Cloud Anchors se redujo significativamente.
Ahora se admite el bitcode para Rostros aumentados.
Consulta también las notas de la versión completas del SDK de ARCore para iOS.
Novedades de ARCore v1.16.0
Novedades en el SDK de ARCore para Android y el SDK de Sceneform para Android
En esta versión, se agregan los siguientes cambios significativos:
- La mayoría de los dispositivos ahora devuelven configuraciones de cámara compatibles adicionales con resoluciones de textura de GPU más bajas que la resolución de textura de GPU predeterminada del dispositivo.
Consulta Dispositivos compatibles con ARCore para obtener más detalles.
Estas resoluciones de GPU expandidas están disponibles a través de la API de
getSupportedCameraConfigs(CameraConfigFilter)
.
Consulta lo siguiente:
Novedades destacadas de ARCore Extensions for AR Foundation
En esta versión, se agregan los siguientes cambios significativos:
El
XRCameraConfiguration
de AR Foundation se extiende con métodos que te permiten elegir la configuración de cámara adecuada según los criterios que desees. Estos métodos incluyen GetTextureDimensions(), GetFPSRange() y GetDepthSensorUsages(). Lee las instrucciones detalladas.Unity 2019.3.0f6 ahora es la versión mínima recomendada para las extensiones de ARCore. AR Foundation 3.1.0-preview.6 requiere Unity 2019.3 o una versión posterior.
Unity ahora usa los términos Anchor, Cloud Anchor y Cloud Anchor ID en su API de RA multiplataforma. Se actualizó la documentación de las extensiones de ARCore para reflejar este cambio.
Consulta lo siguiente:
Novedades del SDK de ARCore para Unity
En esta versión, se agrega el siguiente cambio notable:
- La mayoría de los dispositivos ahora devuelven configuraciones de cámara compatibles adicionales con resoluciones de textura de GPU más bajas que la resolución de textura de GPU predeterminada del dispositivo. (Consulta Dispositivos compatibles con ARCore para obtener más detalles). Estas resoluciones de GPU expandidas están disponibles a través de la API de ARCoreCameraConfigFilter.
Consulta lo siguiente:
Notas de la versión completa del SDK de ARCore para Unity
Novedades de ARCore v1.15.0
Novedades destacadas de ARCore Extensions for AR Foundation
En esta versión, se agregan los siguientes cambios significativos.
Se agregó el ejemplo de CloudAnchors, que muestra cómo crear experiencias de RA compartidas para Android y iOS. Consulta las instrucciones para Android o iOS.
Unity 2019.2.17f1 ahora es la versión mínima recomendada para usar con las extensiones de ARCore.
Notas de la versión completa de las extensiones de ARCore
Novedades del SDK de ARCore para Unity
Esta versión tiene los siguientes problemas conocidos.
La Vista previa instantánea puede congelar Unity cuando se usa Android 9 y un cable USB 3. Para solucionar el problema, actualiza a Android 10 o usa un cable USB 2.
Es posible que la Vista previa instantánea no se muestre en el dispositivo cuando la resolución de la vista del juego de Unity es demasiado alta. Para solucionar este problema, reduce la resolución de la vista del juego de Unity en el Editor.
Notas de la versión completa del SDK de ARCore para Unity
Cambios adicionales
Consulta las siguientes notas de la versión para obtener información sobre otras correcciones de errores y otros cambios que interrumpen la compatibilidad.
Novedades de ARCore v1.14.0
En esta versión, se agregan los siguientes cambios significativos.
Cuando una app pierde temporalmente la cámara en favor de otra app del dispositivo, el motivo del error de seguimiento ahora es más específico:
Android:
TrackingFailureReason
esCAMERA_UNAVAILABLE
en lugar deNONE
.NDK de Android:
ArTrackingFailureReasons
esAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLE
en lugar deAR_TRACKING_FAILURE_REASON_NONE
.Unity:
Session.LostTrackingReason
esLostTrackingReason.CameraUnavailable
en lugar deNone
.
Google recopila y procesa datos de tu uso del paquete de ARCore Extensions de conformidad con la Política de Privacidad de Google y las Condiciones del Servicio de las APIs de Google. Puedes inhabilitar esta opción.
Novedades de ARCore v1.13.0
En esta versión, se agregan los siguientes cambios significativos.
Se agregó compatibilidad para usar las extensiones de ARCore para AR Foundation de Unity y compilar apps para iOS con Cloud Anchors.
Se agregó compatibilidad con la estimación de iluminación HDR ambiental en Sceneform.
Consulta las siguientes notas de la versión para obtener información sobre otras correcciones de errores y otros cambios que interrumpen la compatibilidad.
Novedades de ARCore v1.12.0
En esta versión, se agregan los siguientes cambios:
Se agregó la función de Rostros aumentados para iOS. Para obtener más información, consulta esta descripción general, la guía de inicio rápido y la guía para desarrolladores.
Se agregó compatibilidad para usar las extensiones de ARCore para AR Foundation de Unity y compilar apps para Android con Cloud Anchors.
Se realizaron los siguientes cambios en Cloud Anchors:
- Para cumplir con nuestros requisitos de privacidad actualizados para usar los SDKs de ARCore 1.12 o versiones posteriores, debes divulgar el uso de Cloud Anchors de forma destacada en tu aplicación. Para ello, incluye el siguiente texto y un vínculo para obtener más información en una pantalla de aviso: "Para potenciar esta sesión, Google procesará datos visuales de tu cámara". Puedes hacerlo implementando el flujo de aviso al usuario recomendado que está disponible en nuestras apps de ejemplo de Cloud Anchor.
Para obtener más detalles, consulta los requisitos de privacidad del usuario.
Para obtener más detalles sobre los Cloud Anchors, consulta los siguientes recursos:
Android:
NDK de Android:
iOS:
Unidad:
Extensiones de ARCore:
Novedades de ARCore v1.11.0
En esta versión, se agregan los siguientes cambios:
El servicio de ARCore se renombró a Servicios de Google Play para RA. En los dispositivos de Google Play, ahora se distribuye como parte de los Servicios de Google Play.
Las configuraciones de la cámara de ARCore apuntan a 60 FPS en los dispositivos compatibles y priorizan el uso del sensor de profundidad en los dispositivos que tienen uno. Puedes usar nuevos filtros de configuración de la cámara para limitar la velocidad de fotogramas de captura de la cámara a 30 fps, evitar que ARCore use un sensor de profundidad o filtrar en función de ambas opciones.
Para obtener más detalles sobre la configuración de la cámara, consulta los siguientes vínculos:
Android:
NDK de Android:
Unidad:
Novedades de ARCore v1.10.0
Esta versión agrega nuevas capacidades de estimación de iluminación HDR ambiental a la API de Lighting Estimation para Android, el NDK de Android y Unity.
Estas APIs usan el aprendizaje automático para analizar la imagen de la cámara de entrada y estimar la iluminación ambiental. Puedes usar estos datos de estimación de iluminación para renderizar una iluminación extremadamente realista, incluida una luz direccional principal, sombras, iluminación ambiental, zonas brillantes especulares y reflejos en objetos virtuales. El resultado es contenido virtual que se siente más realista.
Para obtener más detalles:
Android:
NDK de Android:
Unidad:
Novedades de ARCore v1.9.0
Novedades del SDK de ARCore para Android
En esta versión, se agregan las siguientes APIs y funciones nuevas:
Scene Viewer es un visor inmersivo que habilita experiencias de RA desde tu sitio web. Permite que los usuarios de dispositivos móviles Android coloquen, vean e interactúen fácilmente con modelos en 3D alojados en la Web en su entorno.
Nuevas funciones de Imágenes Aumentadas:
ARCore ahora hace un seguimiento de las imágenes aumentadas en movimiento. Algunos ejemplos de imágenes en movimiento son un anuncio en un autobús que pasa o una imagen en un objeto plano que sostiene un usuario mientras mueve la mano.
Después de detectar una imagen, ARCore puede seguir haciendo un seguimiento de su posición y orientación, incluso si se movió temporalmente fuera del campo de visión de la cámara.
Usa
AugmentedImage#getTrackingMethod()
(Java) oArAugmentedImage_getTrackingMethod()
(NDK) para determinar si la cámara está haciendo un seguimiento de la imagen aumentada (FULL_TRACKING
) o si se está haciendo un seguimiento en función de su última posición conocida (LAST_KNOWN_POSE
).
La documentación de Cloud Anchors ahora incluye una explicación más detallada sobre cómo se alojan y resuelven los anclajes.
Novedades del SDK de ARCore para Unity
Nuevas funciones de Imágenes Aumentadas:
ARCore ahora hace un seguimiento de las imágenes aumentadas en movimiento. Algunos ejemplos de imágenes en movimiento son un anuncio en un autobús que pasa o una imagen en un objeto plano que sostiene un usuario mientras lo mueve.
Después de detectar una imagen, ARCore puede seguir haciendo un seguimiento de su posición y orientación, incluso si se movió temporalmente fuera del campo de visión de la cámara.
La nueva API de
AugmentedImage.GetTrackingMethod()
permite que tu app determine si la cámara está haciendo un seguimiento de la imagen aumentada (FullTracking
) o si se está haciendo un seguimiento según su última posición conocida (LastKnownPose
).
La documentación de Cloud Anchors ahora incluye una explicación más detallada sobre cómo se alojan y resuelven los anclajes.
Novedades del SDK de ARCore para iOS
Compatibilidad con los siguientes dispositivos:
iPad Mini de quinta generación
iPad Air de tercera generación
La documentación de Cloud Anchors ahora incluye una explicación más detallada sobre cómo se alojan y resuelven los anclajes.