Cambios nuevos y notables en ARCore.
Novedades de ARCore v1.42.0
Cómo ajustar la imagen al mosaico en el Creador de Geospatial para Unity
Se agregó el botón "Ajustar al mosaico" al panel del Inspector del Editor de ARGeospatialCreatorAnchor
. Este botón establece el valor de altitud solo para editor de un ancla de Relieve o Techo en la parte superior de una geometría de mosaico 3D en la latitud y longitud actuales del ancla. Ten en cuenta que esta propiedad no afecta el comportamiento durante 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 con la creación y manipulación de objetos del Creador de Geospatial en el modo de 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 y en las extensiones de ARCore de AR Foundation de Unity orientadas a la plataforma de iOS. La API de Scene Semantics permite a los desarrolladores comprender la escena que rodea al usuario en tiempo real etiquetando los píxeles en 11 clases de componentes de exterior. Consulta Introducción a la semántica de escenas para obtener más información.
iOS
Unity (base de RA)
Busca lugares de interés en el Creador de Geospatial para Unity
El Creador de Geospatial para Unity ahora admite una búsqueda textual para posicionar la vista de mosaicos 3D fotográficos. Consulta Cómo buscar lugares de interés en el Creador de Geospatial para obtener más información.
Novedades de ARCore v1.39.0
Esta versión no tiene funciones nuevas.
Novedades de ARCore v1.38.0
Esta versión no tiene funciones nuevas.
Novedades de ARCore v1.37.0
Semántica de escenas
Scene Semantics proporciona detalles más detallados 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 imagen 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 actividades al aire libre.
Consulta Introducción a Scene Semantics y la app de ejemplo de semantics_java para obtener más información.
Android (Kotlin/Java)
NDK de Android (C)
Unity (base de RA)
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 edificios y terrenos 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 geometría del paisaje urbano.
NDK de Android (C)
Consulta la Guía para desarrolladores sobre geometría del paisaje urbano (C) para obtener más información.
Unity (base de RA)
Consulta la Guía para desarrolladores sobre 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 3D.GARStreetscapeGeometry.meshTransform
proporciona la transformación de origen de la geometría en relación con el espacio del mundo de la sesión.GARStreetscapeGeometry.trackingState
mantiene el estado de seguimiento.GARStreetscapeGeometry.type
indica si se trata de una geometría de terreno o de edificios.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 la orientación especificadas.GARSession.raycastStreetscapeGeometry:direction:error:
realiza una proyección de rayos con la geometría del paisaje urbano cargada en la escena.
Anclajes de techo
Las anclas de techo son un nuevo tipo de ancla geoespacial que te ayuda a anclar contenido a un techo.
Android (Kotlin/Java)
Consulta Anclas geoespaciales (Java). Además, se actualizó la app de ejemplo geospatial_java para incluir anclas de techo.
NDK de Android (C)
Consulta Anclas geoespaciales (C) para obtener más información.
Unity (base de RA)
Consulta Anclas geoespaciales para obtener más información. Además, se actualizó la muestra geoespacial para incluir anclas de techo.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
proporciona un anclaje para los objetos del juego en tu escena en la latitud, longitud, altitud sobre el techo y orientación especificadas.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
Consulta Anclas geoespaciales (iOS) para obtener más información. Además, se actualizó la app de GeospatialExample para incluir anclas de techo.
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
crea un ancla de techo en la ubicación especificada, la altitud sobre el techo en metros y la orientación relativa a la Tierra.GARCreateAnchorOnRooftopFuture
contiene el estado asíncrono de resolver un ancla de techo.GARRooftopAnchorState
describe el estado de resolución de una ancla de techo.
Profundidad geoespacial
Cuando se habilitan los modos de la API de Depth y la geometría del paisaje urbano en una sesión de ARCore en áreas con cobertura VPS, las imágenes de profundidad generadas se mejoran con la geometría del paisaje urbano. La geometría del paisaje urbano está integrada en cada imagen de profundidad generada en un rango de 65.535 metros. No es necesario realizar cambios cuando se llama a la API de Depth para ver este beneficio.
Android (Kotlin/Java)
Consulta Profundidad geoespacial (Java) para obtener más información.
NDK de Android (C)
Consulta Profundidad geoespacial (C) para obtener más información.
Unity (base de RA)
Consulta Profundidad geoespacial (C) para obtener más información.
iOS
Por el momento, Scene Semantics no está disponible para iOS.
Compatibilidad con la renderización de Vulkan
ARCore ahora ofrece compatibilidad con la renderización de Vulkan mediante la exposición de la imagen de la cámara a través de un AHardwareBuffer
. Puedes usar este búfer de hardware vinculándolo a un VkImage
.
Consulta Renderiza tu aplicación de ARCore con Vulkan y la app de ejemplo de hello_ar_vulkan_c para obtener más información.
Android (Kotlin/Java)
NDK de Android (C)
Unity (base de RA)
Por el momento, el procesamiento de Vulkan no está disponible para Unity con AR Foundation.
Estabilización electrónica de imagen (EIS)
Puedes configurar ARCore para usar la estabilización electrónica de imagen, que suaviza los fotogramas de la cámara y brinda una experiencia del usuario más fluida.
Consulta Cómo habilitar la estabilización electrónica de imagen 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 por el cual una llamada a
Frame.transformCoordinates3d()
con coordenadas 2D distintas deOPENGL_NORMALIZED_DEVICE_COORDINATES
causa una falla en lugar de arrojarIllegalArgumentException
. Esto se resolverá en la próxima versión.
NDK de Android (C)
ArImageStabilizationMode
ArFrame_transformCoordinates3d()
ArSession_isImageStabilizationModeSupported()
- Existe un problema conocido por el cual llamar a
ArFrame_transformCoordinates3d()
con coordenadas 2D que no seanAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATES
provoca que tu app se anule en lugar de mostrarAR_ERROR_INVALID_ARGUMENT
. Esto se resolverá en la próxima versión.
Unity (base de RA)
Actualmente, EIS no está disponible para Unity con AR Foundation.
iOS
Actualmente, EIS no está disponible para iOS.
APIs asíncronas de ARCore
En esta versión, se presentan nuevas APIs asíncronas de ARCore para mejorar la ergonomía cuando se trabaja con operaciones asíncronas siguiendo el paradigma de las promesas y las futuras.
Android (Kotlin/Java)
- Resolver anclas 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. - Resuelve las anclas de Cloud: 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. - Aloja anclas 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. - Comprueba la disponibilidad del APK: Usa
ArCoreApk.checkAvailabilityAsync()
para registrar una devolución de llamada. El símbolo anteriorArCoreApk.checkAvailability()
dejó de estar disponible.
NDK de Android (C)
- Resuelve las anclas de Relieve: 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. - Resuelve las anclas de Cloud: 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. - Aloja anclas 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. - Comprueba la disponibilidad del APK: Usa
ArCoreApk_checkAvailabilityAsync()
para registrar una devolución de llamada. El símbolo anteriorArCoreApk_checkAvailability()
dejó de estar disponible.
Unity (base de RA)
- Resolver anclas 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. - Resuelve las anclas de Cloud: 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. - Aloja anclas en la nube: Usa
ARAnchorManagerExtensions.HostCloudAnchorAsync()
para obtener unHostCloudAnchorPromise
. Los símbolosARAnchorManagerExtensions.HostCloudAnchor()
antiguos dejaron de estar disponibles y es posible que se quiten en una versión posterior de ARCore.
iOS
- Resolver anclas 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. - Resuelve las anclas de Cloud: 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. - Aloja anclas 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 es compatible oficialmente con Swift Package Manager. Consulta Habilita la RA en tu app para iOS si necesitas instrucciones para realizar la integración con ARCore mediante Swift Package Manager.
Novedades de ARCore v1.35.0
La precisión de las poses geoespaciales reemplaza la orientación con guiñada
Todas las poses geoespaciales ahora exponen su precisión de la orientación de la rotación de guiñada, lo que reemplaza la precisión de la orientación.
- 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 obtener información sobre 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 de ARCore para el NDK de Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para RA de Foundation
Novedades de ARCore v1.34.0
Verifica si las funciones 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 en 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 y Kotlin:
Session.checkVpsAvailabilityAsync()
- C:
ArSession_checkVpsAvailabilityAsync()
- En iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (Base de RA):
AREarthManager.CheckVpsAvailability()
Orientación de pose geoespacial
Las poses geoespaciales ahora exponen su orientación en un espacio 3D.
- Java y Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- C:
ArEarth_getGeospatialPose()
- En iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unidad:
GeospatialPose.EunRotation()
Conversiones de poses geoespaciales
Las poses geoespaciales ahora se pueden convertir en poses del espacio mundial (RA) y viceversa.
Para obtener la pose geoespacial a partir de una pose de RA, haz lo siguiente:
- Java y Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- En iOS:
GARSession.geospatialTransformFromTransform:error:
- Unidad:
AREarthManager.Convert(Pose)
Para obtener la pose de RA de una pose geoespacial, haz lo siguiente:
- Java y Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- En iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unidad:
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): El cuaternión EUS de la pose
- iOS: El
eastUpSouthQTarget
de la pose - Unidad: El
EunRotation
de la pose
Cambios y actualizaciones adicionales
Consulta las notas de la versión para obtener información sobre 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 de ARCore para el NDK de Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para RA de 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 dejó de estar disponible. Para admitir versiones anteriores de la app, puedes habilitar ambas mientras realizas 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 API nueva. 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 la API, debes permitir la API de ARCore.
- Si envías solicitudes a la API de Cloud Anchor Management de ARCore 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 anterior seguirá siendo compatible hasta agosto de 2023.
- Consulta Cambios en los extremos 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 anclaje de terreno geoespacial crea un ancla en una posición horizontal y una altitud específicas relativas al terreno de la posición horizontal.
Cambios y actualizaciones adicionales
Consulta las notas de la versión para obtener información sobre 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 de ARCore para el NDK de Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para RA de Foundation
Novedades de ARCore v1.32.0
Esta versión no tiene 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 tu app pasará a ser 32 debido a una combinación de manifiestos.- SDK de Android: Si especificas un
targetSdkVersion
en elbuild.gradle
o elAndroidManifest.xml
de tu proyecto, se anulará el valortargetSdkVersion
de ARCore. - Base de RA para Android: Especificar un nivel de API objetivo en Project Settings > Player > Android > Other Settings de tu proyecto de Unity anulará el valor
targetSdkVersion
de ARCore.
- SDK de Android: Si especificas un
Cambios y actualizaciones adicionales
Consulta las notas de la versión para obtener información sobre 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 de ARCore para el NDK de Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para RA de Foundation
Novedades de ARCore v1.31.0
API de ARCore Geospatial
La nueva API de ARCore Geospatial usa datos de modelos 3D de Google Earth y datos de imágenes de Street View de Google Maps para permitir que tu app brinde experiencias de realidad aumentada basadas en la ubicación, envolventes y a escala global.
Consulta la Introducción a la API de ARCore Geospatial para obtener documentación para desarrolladores específica de la plataforma y comenzar a usar la nueva API de Geospatial.
Profundidad de largo alcance
La API de ARCore Depth ahora está optimizada para incluir sensores de profundidad de mayor alcance, lo que aumenta el rango de observaciones de profundidad representables. Se utilizan todos los 16 bits de la imagen de profundidad, lo que brinda un rango máximo de 65,535 milímetros. Anteriormente, solo se propagaban datos de 13 bits, con un límite de 8,191 milímetros.
Consulta el artículo sobre cambios 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 la capacidad de localización en las coordenadas relativas de la Tierra.Earth.createAnchor()
crea un objetoAnchor
nuevo en la ubicación y la orientación especificadas en relación con la Tierra.
Earth.Earthstate
describe el estado actual deEarth
, incluido suTrackingState
.GeospatialPose
describe una ubicación, elevación y orientación específicas con respecto a la Tierra.
C
ArEarth
proporciona la capacidad de localización en las coordenadas relativas de la Tierra.ArEarth_acquireNewAnchor()
crea un objetoAnchor
nuevo en la ubicación y la orientación especificadas en relación con la Tierra.ArEarthState
describe el estado actual deArEarth
, incluido suArTrackingState
.
ArGeospatialPose
describe una ubicación, elevación y orientación específicas con respecto a la Tierra.
Se actualizaron las APIs de Depth de ARCore
Java
- Cambiaron las llamadas a funciones de la API de Depth:
Frame.acquireDepthImage
paraFrame.acquireDepthImage16Bits
.Frame.acquireRawDepthImage
paraFrame.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 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.
- La función de la API de Depth que llama a
Frame.acquireDepthImage
yFrame.acquireRawDepthImage
dejó de estar disponible. 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
paraArFrame_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 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.
- La función de la API de Depth que llama a
ArFrame_acquireDepthImage
yArFrame_acquireRawDepthImage
dejó de estar disponible. En su lugar, usaArFrame_acquireDepthImage16Bits
yArFrame_acquireRawDepthImage16Bits
.
- Cambiaron las llamadas a funciones de la API de Depth:
Unity (base de RA)
Nuevas APIs de ARCore Geospatial:
AREarthManager
proporciona la capacidad de localización en las coordenadas relativas de la Tierra.EarthTrackingState
obtiene el estado de seguimiento de Earth para el fotograma más reciente.EarthState
mantiene las condiciones de error de Earth.
GeospatialPose
describe una ubicación, elevación y orientación específicas con respecto a la Tierra.ARGeospatialAnchor
proporciona un ancla para los objetos de juegos de tu escena, especificados en una ubicación y una orientación relativas a la Tierra.
iOS
Nuevas APIs de ARCore Geospatial:
GAREarth
Proporciona localización relativa de la Tierra.GAREarthState.earthState
administra los estados y las condiciones de error.GAREarthState.trackingState
mantiene el estado de seguimiento, que se requiere para los datos geoespaciales.
GARGeospatialTransform
Representación de una transformación global que incluye la ubicación, la orientación, la altitud y las estimaciones de precisión.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Crea un ancla geoespacial en la ubicación y la orientación especificadas relativas a la Tierra.
Otros cambios
Consulta las notas de la versión para obtener información sobre 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 de ARCore para el NDK de Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para RA de Foundation
Novedades de ARCore v1.30.0
Esta versión no tiene funciones nuevas.
Android
- La API anotada muestra los valores 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 obligatorio actualizar estas herramientas para las aplicaciones de ARCore existentes. Para obtener información sobre las nuevas funciones, los problemas conocidos y la incompatibilidad, consulta la documentación de Android sobre el complemento de Android para Gradle.
Unity (base de RA)
Se agregó una nueva versión de
arcore-unity-extensions-without-edm4u.tgz
. Esta variante de actualización no agrupa dependencias externas, como External Dependency Manager for Unity, y permite actualizaciones a EDM. El uso de esta versión lite puede resolver incompatibilidades cuando se usan las bibliotecas de Firebase. Para comenzar, consulta las instrucciones de instalación de Extensiones de ARCore para AR Foundation.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ó el problema por el que la sesión de ARCore configura cada fotograma incluso cuando no había cambios en la configuración de la sesión, lo que provocaba una disminución de FPS.
iOS
- Varias correcciones de errores y mejoras de rendimiento.
Novedades de ARCore v1.29.0
Esta versión no tiene 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 Instant Placement. - persistent_cloud_anchor_java: Se agregó una dependencia de compilación faltante a la muestra. Se corrigió un error por el que el alojamiento de cualquier ancla tenía el estado
CloudAnchorState ERROR_NOT_AUTHORIZED
, incluso si el proyecto se configuró correctamente.
Unity (base de RA)
- El paquete de extensiones de ARCore ahora depende del complemento ARKit XR para garantizar que la versión instalada de AR Foundation sea compatible con la versión del complemento ARKit XR. Se corrigió un error de compilación que se producía cuando se instalaban extensiones de ARCore en Unity 2019.x y se habilitaba el complemento ARKit XR.
- La configuración del proyecto de extensiones de ARCore se trasladó de Configuración del proyecto > XR > Extensiones de ARCore a Configuración del proyecto > Administración de complementos de XR > Extensiones de ARCore.
ARCoreExtensionsConfig
,ARCoreExtensionsCameraConfigFilter
yARCoreRecordingConfig
se trasladaron de Create > XR > ARCore Extensions al menú Create > XR.
iOS
- 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 del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para RA de Foundation
Novedades de ARCore v1.28.0
- A partir de noviembre de 2022, las apps habilitadas para 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 llame. Consulta el anuncio de baja para obtener más información.
- C: Las llamadas a
ArImage_getNdkImage()
yArImage_getNdkCameraMetadata()
siempre mostraránnullptr
para los objetosAImage
yACameraMetadata
. - Java: El objeto
Image
que muestraFrame#acquireCameraImage()
tendrá un tamaño de0
x0
píxeles. Las llamadas aFrame#getImageMetadata()
siempre mostraránIllegalArgumentException
. - Unity (AR Foundation): Cuando uses AR Foundation 2.1 (Unity 2019 LTS), las llamadas a
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
siempre mostraránfalse
. AR Foundation 4.x y las versiones posteriores no se ven afectadas, por lo que las llamadas aXRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
se comportarán normalmente. - SDK de ARCore para Unity (obsoleto): Las llamadas a
Frame.CameraImage.AcquireCameraImageBytes()
tendrán un tamaño de0
x0
píxeles. Las llamadas aFrame.CameraMetadata.GetAllCameraMetadataTags()
mostrarán unList<CameraMetadataTag>
vacío.
- C: Las llamadas a
- Java:
ArImage#getCropRect()
ahora muestra 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 tiene funciones nuevas. Consulta las siguientes notas de la versión para conocer varias 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 del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para RA de Foundation
Además de varias correcciones de errores, esta versión incluyó lo siguiente.
Apps de ejemplo en Kotlin
Se agregó hello_ar_kotlin para demostrar las prácticas recomendadas cuando se usa Kotlin.
Consulta QuickStart 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.
Si quieres obtener más información, consulta Usa ARCore como entrada para modelos de aprendizaje automático.
Novedades de ARCore v1.26.0
En esta versión, se agregan los siguientes cambios notables:
- Los URIs ahora son compatibles con los conjuntos de datos en Grabación y reproducción.
Cambios y actualizaciones adicionales
Consulta las siguientes notas de la versión para obtener correcciones de errores adicionales y otros 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 del SDK de ARCore para iOS
- Notas de la versión de las extensiones de ARCore para RA de Foundation
Novedades de ARCore v1.25.0
Esta versión no tiene funciones nuevas. Consulta las siguientes notas de la versión para conocer varias 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 del SDK de ARCore para iOS
- Notas de la versión completas del SDK de ARCore para Unity
- Notas de la versión de las extensiones de ARCore para RA de Foundation
Novedades de ARCore v1.24.0
En esta versión, se agregan los siguientes cambios notables:
- Una nueva API de Raw Depth que proporciona una imagen de profundidad sin filtrado de espacio de imagen
- Capacidad de grabación de pistas de datos personalizadas en la API de grabación y reproducción
- La capacidad de realizar pruebas de posicionamiento de profundidad
Profundidad sin procesar
La API de Raw Depth proporciona datos de profundidad para una imagen de la cámara que tiene una exactitud mayor que los datos de la API de Depth completa, pero no siempre abarca todos los píxeles. Las imágenes de profundidad sin procesar, junto con sus imágenes de confianza coincidentes, también se pueden procesar aún más, lo que permite que las apps usen solo los datos de profundidad que tengan una exactitud 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 recorridos personalizados
La nueva función de pista de datos personalizada de la API de grabación y reproducción 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 posicionamiento solo podían realizarse en planos detectados, lo que limitaba las ubicaciones a superficies grandes y planas. Estas pruebas aprovechan la información de profundidad tanto suave como sin procesar para brindar resultados más precisos, incluso en superficies no planas y con textura baja.
Guías para desarrolladores:
Cambios y actualizaciones adicionales
Consulta las siguientes notas de la versión para obtener correcciones de errores adicionales y otros 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 del SDK de ARCore para iOS
- Notas de la versión completas del SDK de ARCore para Unity
- Notas de la versión de las extensiones de ARCore para RA de Foundation
Novedades de ARCore v1.23.0
Compatibilidad con la cámara dual pendiente
En las próximas semanas, se lanzará la compatibilidad con la cámara doble. Consulta la página de dispositivos compatibles para obtener más información.
Nuevas herramientas de depuración
Cuando se envía 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
Aloja y resuelve Cloud Anchors
Las apps habilitadas para RA compiladas con el SDK de ARCore 1.11.0 o versiones anteriores ya no pueden alojar ni resolver Cloud Anchors.
C: Las Cloud Anchors que muestran
ArSession_hostAndAcquireNewCloudAnchor
yArSession_resolveAndAcquireNewCloudAnchor
siempre tendrán el estadoAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
.Java: Las Cloud Anchors que muestran
Session.hostCloudAnchor(Anchor)
ySession.resolveCloudAnchor(String)
siempre tendrán el estadoAnchor.CloudAnchorState.ERROR_INTERNAL
.Unity: Las Cloud Anchors que muestran
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 Anchor de ARCore está cubierto por la política de baja.
Cambios y actualizaciones adicionales
Consulta las siguientes notas de la versión para obtener correcciones de errores adicionales y otros 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 de las extensiones de ARCore para RA de Foundation
Novedades de ARCore v1.22.0
En esta versión, se agregan nuevas APIs de grabación y reproducción y APIs de filtro de configuración de la cámara para extensiones de ARCore para RA 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 correcciones de errores adicionales y otros 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 de las extensiones de ARCore para RA de 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 grabación y reproducción, puedes grabar datos de video y de RA una vez dentro de un entorno determinado y usar ese contenido para reemplazar una sesión de la 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 varios en el dispositivo. Luego, puedes apuntar la app para que use estos datos en lugar de una sesión de la 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:
Unity:
Novedades de ARCore v1.20.0
En esta versión, se agregan los siguientes cambios notables:
Nueva compatibilidad con Cloud Anchors persistentes.
Se actualizaron las capacidades de metadatos de imágenes para Android y el NDK de Android.
Se agregó una nueva guía que requiere la versión 5.6.4 de Gradle o una posterior 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 versiones posteriores.
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 alojaban 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 de las anclas después de alojarlas mediante la API de Cloud Anchor Management.
El uso de Cloud Anchors persistentes está cubierto por 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 RA Foundation: Guía para desarrolladores de Android, Guía para desarrolladores de iOS,
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
,ARAnchorManager.SetAuthToken(string)
yARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
Unity orientada a Android: Guía para desarrolladores,
XPSession.CreateCloudAnchor(Anchor, int)
yXPSession.EstimateFeatureMapQualityForHosting(Pose)
Unity segmentada para 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 correcciones de errores adicionales y otros 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 de las extensiones de ARCore para RA de Foundation
Novedades de ARCore v1.19.0
En esta versión, se agregan los siguientes cambios notables:
- Nueva API de Instant Placement para Android, NDK de Android y Unity.
- Nueva guía para compilar para Android 11 con Unity
Posición instantánea
La API de Instant Placement le permite al usuario colocar un objeto de RA en la pantalla sin tener que esperar a que ARCore detecte la geometría de la superficie. La posición de los objetos se define mejor en tiempo real a medida que el usuario se desplaza por el entorno. Una vez que ARCore detecte la pose correcta en la región donde se colocó el objeto de RA, el objeto blanco se actualizará automáticamente para que sea preciso y se vuelva opaco.
En el siguiente clip, se muestra una figura virtual de Android en una tabla del mundo real. La figura es blanca y mucho más pequeña cuando se coloca por primera vez. Después de que ARCore perfecciona sus cálculos de las dimensiones de la escena, la figura salta 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:
Unity:
Novedades de ARCore v1.18.0
En esta versión, se agregan los siguientes cambios notables:
- Nueva API de Depth para Android, el NDK de Android y Unity.
- Se agregó una nueva guía 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 la 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 hacer que los objetos virtuales aparezcan con precisión delante o detrás de objetos del mundo real, lo que permite experiencias del usuario envolventes y realistas.
Por ejemplo, en las siguientes imágenes, se muestra una figura virtual de Android en un espacio real con 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:
Unity:
Novedades de ARCore v1.17.0
Se destaca en el SDK de ARCore para Android.
Se agregaron métodos nuevos que permiten almacenar en búfer varios fotogramas de cámara Junto con otras técnicas, como la renderización de varios subprocesos, se puede usar para disminuir la variabilidad en las velocidades de fotogramas.
Se agregaron el uso faltante del sensor de profundidad y los métodos get de FPS objetivo:
Consulta también las notas completas de la versión del SDK de Android para Android.
Se destaca en el SDK de ARCore para Unity
- Se agregó compatibilidad con la renderización multiproceso en Unity 2018.2 o versiones posteriores, lo que en la mayoría de los casos mejorará el rendimiento y puede ayudar a reducir la variabilidad en las velocidades de fotogramas. Esta es una configuración del proyecto de Unity, ubicada en Project Settings > Player > Android > Other Settings > Multithreaded Rendering. Si deseas obtener más detalles, consulta la guía para desarrolladores.
- Se agregaron
SessionStatus.ErrorCameraNotAvailable
ySessionStatus.ErrorIllegalState
para indicar estados específicos de error de la sesión de ARCore.
Consulta también las notas de la versión completas del SDK de ARCore para Unity.
Se destaca en el SDK de ARCore para iOS.
El tamaño de los objetos binarios del SDK de Cloud Anchors disminuyó significativamente.
Ahora, el código de bits es compatible con los rostros aumentados.
Consulta también las notas de la versión completas del SDK de ARCore para iOS.
Novedades de ARCore v1.16.0
Se destaca en el SDK de ARCore para Android y en el SDK de Sceneform para Android.
En esta versión, se agregan los siguientes cambios notables:
- La mayoría de los dispositivos ahora muestran configuraciones de cámara compatibles adicionales con resoluciones de texturas de GPU más bajas que la resolución de textura de GPU predeterminada del dispositivo.
Consulta los 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:
Se destaca en Extensiones de ARCore para RA Foundation
En esta versión, se agregan los siguientes cambios notables:
El objeto
XRCameraConfiguration
de AR Foundation se extiende con métodos que te permiten elegir la configuración de la 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 versión 2019.3 o posterior.
Unity ahora usa los términos Anchor, Cloud Anchor y, también, ID de Cloud Anchor en su API multiplataforma de RA. Se actualizó la documentación de las extensiones de ARCore para reflejar esto.
Consulta lo siguiente:
Se destaca en el SDK de ARCore para Unity
En esta versión, se agrega el siguiente cambio notable:
- La mayoría de los dispositivos ahora muestran configuraciones de cámara compatibles adicionales con resoluciones de texturas 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 completas del SDK de ARCore para Unity
Novedades de ARCore v1.15.0
Se destaca en Extensiones de ARCore para RA Foundation
Esta versión agrega los siguientes cambios notables.
Se agregó el ejemplo de CloudAnchors en el que se muestra cómo crear experiencias de RA compartidas para iOS y Android. 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 completas de las extensiones de ARCore
Se destaca en el SDK de ARCore para Unity
Esta versión tiene los siguientes problemas conocidos.
Instant Preview puede congelar Unity cuando se usa Android 9 y un cable USB 3. Para solucionar este problema, actualiza a Android 10 o usa un cable USB 2.
Es posible que Instant Preview 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 vista del juego de Unity en el editor.
Notas de la versión completas del SDK de ARCore para Unity
Cambios adicionales
Consulta las siguientes notas de la versión para obtener correcciones de errores adicionales y otros cambios rotundos.
Novedades de ARCore v1.14.0
Esta versión agrega los siguientes cambios notables.
Cuando una app pierde temporalmente la cámara ante 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 del uso que haces del paquete de extensiones de ARCore según 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
Esta versión agrega los siguientes cambios notables.
Compatibilidad con el uso de extensiones de ARCore para base de RA de Unity a fin de compilar apps para iOS con Cloud Anchors.
Compatibilidad con la estimación de iluminación HDR ambiental en Sceneform.
Consulta las siguientes notas de la versión para obtener correcciones de errores adicionales y otros cambios rotundos.
Novedades de ARCore v1.12.0
En esta versión, se agregan los siguientes cambios:
Se agregó la función de rostros aumentados a iOS. Para obtener más información, consulta esta descripción general, quickstart y guía para desarrolladores.
Compatibilidad con el uso de extensiones de ARCore para AR Foundation de Unity a fin de compilar apps para Android con Cloud Anchors.
Los siguientes cambios en Cloud Anchors:
- Para cumplir con nuestros requisitos de privacidad actualizados sobre el uso de los SDK de ARCore 1.12 o versiones posteriores, debes divulgar el uso de Cloud Anchors de forma destacada en tu aplicación incluyendo el siguiente texto, así como un vínculo para obtener más información, en una pantalla de aviso: “Para impulsar esta sesión, Google procesará los datos visuales de tu cámara”. Para ello, implementa el flujo recomendado de aviso al usuario disponible en nuestras apps de ejemplo de Cloud Anchor.
Para obtener más información, consulta los Requisitos de privacidad del usuario.
Para obtener más detalles sobre Cloud Anchors, consulta lo siguiente:
Android:
NDK de Android:
iOS:
Unity:
Extensiones de ARCore:
Novedades de ARCore v1.11.0
En esta versión, se agregan los siguientes cambios:
Se cambió el nombre del servicio de ARCore por Servicios de Google Play para RA. En los dispositivos de Google Play, ahora se distribuye como parte de los Servicios de Google Play.
La configuración de la cámara de ARCore tiene como objetivo 60 FPS en los dispositivos compatibles y prioriza el uso del sensor de profundidad en 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 según ambas opciones.
Para obtener más detalles sobre la configuración de la cámara, consulta lo siguiente:
Android:
NDK de Android:
Unity:
Novedades de ARCore v1.10.0
Esta versión agrega nuevas capacidades de estimación de iluminación HDR ambiental a la API de estimación de iluminación para Android, 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 la 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 parece más realista.
Para obtener más detalles:
Android:
NDK de Android:
Unity:
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 visualizador envolvente que habilita experiencias de RA desde tu sitio web. Permite a los usuarios de dispositivos móviles Android colocar, ver e interactuar con modelos 3D alojados en la Web en su entorno con facilidad.
Nuevas funciones de imágenes aumentadas:
ARCore ahora realiza un seguimiento de las imágenes aumentadas en movimiento. Algunos ejemplos de imágenes en movimiento son los anuncios de un autobús que pasa por el agua o una imagen de un objeto plano que sostiene el usuario mientras mueve la mano.
Después de que se detecta una imagen, ARCore puede continuar con el seguimiento de la posición y la orientación de la imagen, incluso si la imagen se movió temporalmente fuera de la vista de la cámara.
Usa
AugmentedImage#getTrackingMethod()
(Java) oArAugmentedImage_getTrackingMethod()
(NDK) para determinar si la cámara (FULL_TRACKING
) 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
).
En la documentación de Cloud Anchors, ahora se incluye una explicación más detallada sobre cómo se alojan y resuelven las anclas.
Novedades del SDK de ARCore para Unity
Nuevas funciones de imágenes aumentadas:
ARCore ahora realiza un seguimiento de las imágenes aumentadas en movimiento. Algunos ejemplos de imágenes en movimiento pueden ser un anuncio sobre un autobús que pasa por el agua o una imagen de un objeto plano que sostiene un usuario cuando lo mueve.
Después de que se detecta una imagen, ARCore puede continuar con el seguimiento de la posición y la orientación de la imagen, incluso si la imagen se movió temporalmente fuera de la vista de la cámara.
La nueva API de
AugmentedImage.GetTrackingMethod()
permite que tu app determine si la cámara (FullTracking
) está haciendo un seguimiento de la imagen aumentada o si se está realizando un seguimiento en función de su última posición conocida (LastKnownPose
).
En la documentación de Cloud Anchors, ahora se incluye una explicación más detallada sobre cómo se alojan y resuelven las anclas.
Novedades del SDK de ARCore para iOS
Compatibilidad con los siguientes dispositivos:
iPad Mini de quinta generación
iPad Air de tercera generación
En la documentación de Cloud Anchors, ahora se incluye una explicación más detallada sobre cómo se alojan y resuelven las anclas.