Cambios nuevos y notables en ARCore.
Novedades de ARCore v1.48.0
Se lanzó por completo 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 las extensiones de ARCore para AR Foundation:
- Hasta el
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 que se denote conarf6
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 beta con Unity 6 y AR Foundation 6
Las extensiones de ARCore para AR Foundation de Unity ahora admiten la versión beta de AR Foundation 6 para brindar compatibilidad con Unity 6. Usa los siguientes métodos de instalación para obtener una versión compatible de las extensiones de ARCore para AR Foundation:
- Hasta el
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 que se denote conarf6
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 plano de la muestra de ancla de nube que no era transparente para Unity 6.
Otros cambios
- Se cambió la rama
main
del repositorio de GitHub de ARCore Extensions para hacer un seguimiento de la ramaarf5
.
Novedades de ARCore v1.46.0
Cambios en targetSdkVersion
del SDK de ARCore
targetSdkVersion
de ARCore se actualizó al nivel de API 35 de Android. Si tu
app no especifica un
targetSdkVersion
,
el targetSdkVersion
de tu app se convertirá en 35 debido a la combinación de manifiestos.
En Unity, especificar un nivel de API de destino en Project Settings > Player > Android > Other Settings de tu proyecto anulará el valor de targetSdkVersion
de ARCore.
Novedades de ARCore v1.45.0
API de Flash Mode
ARCore ahora admite la habilitación del modo linterna del dispositivo, lo que permite mejores capacidades de percepción en entornos oscuros.
Android (Kotlin/Java)
Config.FlashMode
: Es la 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 de flash y cómo habilitar el modo linterna.
NDK de Android (C)
ArFlashMode
: Es la 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 de flash y cómo habilitar el modo linterna.
Las extensiones de ARCore para AR Foundation de Unity admiten AR Foundation 5.
Las extensiones de ARCore para AR Foundation ahora son compatibles oficialmente 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:
- A través de
Add package from git url...
: Usahttps://github.com/google-ar/arcore-unity-extensions.git#arf5
. - A través de
Add package from tarball...
: Usa una versión que se denote conarf5
desde la página de versiones.
Los proyectos que permanecen en la versión 4 de AR Foundation pueden usar los siguientes métodos de instalación:
- A través de
Add package from git url...
: Usahttps://github.com/google-ar/arcore-unity-extensions.git#arf4
. - A través de
Add package from tarball...
: Usa una versión que se denote conarf4
desde la página de versiones.
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 tiene funciones nuevas.
Novedades de ARCore v1.43.0
API de Places en la migración de Geospatial Creator
La función de búsqueda de Geospatial Creator ahora usa la API de New 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
Ajuste a la tarjeta en el Creador de Geospatial para Unity
Se agregó un botón “Ajustar a la tarjeta” al panel del Inspector de editor ARGeospatialCreatorAnchor
. Este botón establece el valor de altitud de solo editor de una ancla de terreno o techo en la parte superior de una geometría de mosaico 3D en la latitud y longitud actuales de la 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 durante el tiempo de ejecución.
Novedades de ARCore v1.41.0
API de Geospatial Creator
Geospatial Creator para Unity ahora incluye compatibilidad para crear y manipular objetos de Geospatial Creator en el modo Editor. Las clases y las APIs recién disponibles se describen en la Guía de la API de Geospatial Creator.
Compatibilidad con 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 orientadas a la plataforma iOS. La API de Scene Semantics permite a los desarrolladores comprender la escena que rodea al usuario en tiempo real y etiquetar los píxeles en 11 clases de componentes al aire libre. 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 el Creador de Geospatial para Unity
Geospatial Creator para Unity ahora admite una búsqueda textual para posicionar la vista de tarjetas fotográficas en 3D. 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 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
Las semánticas de escenas proporcionan 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 imágenes de la cámara y proporciona una imagen semántica con cada píxel correspondiente a una de las 11 etiquetas de conceptos de exteriores.
Consulta Introducción a la semántica de escenas 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 geometría del paisaje urbano (C) para obtener más información.
Unity (AR Foundation)
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 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 mundial de la sesión.GARStreetscapeGeometry.trackingState
mantiene el estado de seguimiento.GARStreetscapeGeometry.type
indica si se trata de un terreno o de una geometría de 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 contra la geometría del paisaje urbano cargada en la escena.
Anclajes de techo
Los marcadores de techos son un nuevo tipo de marcador geoespacial que te ayuda a fijar contenido en un techo.
Android (Kotlin/Java)
Consulta Anclajes geoespaciales (Java). Además, se actualizó la app de ejemplo geospatial_java para incluir anclas de techos.
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 anclas de techos.
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
proporciona una ancla para los objetos del juego en tu escena en la latitud, longitud, altitud sobre el techo y orientación especificadas.ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
iOS
Consulta Anclajes geoespaciales (iOS) para obtener más información. Además, se actualizó la app GeospatialExample para incluir anclas de techos.
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 en relación con la Tierra.GARCreateAnchorOnRooftopFuture
contiene el estado asíncrono de la resolución de un ancla de techo.GARRooftopAnchorState
describe el estado de resolución de un ancla de techo.
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 de 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 es necesario realizar ningún cambio 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 (AR Foundation)
Consulta Profundidad geoespacial (C) para obtener más información.
iOS
Actualmente, la semántica de escenas no está disponible para iOS.
Compatibilidad con 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
. Para usar este búfer de hardware, vincúlalo a un VkImage
.
Consulta Cómo renderizar tu aplicación de ARCore con Vulkan y la app de ejemplo hello_ar_vulkan_c para obtener más información.
Android (Kotlin/Java)
NDK de Android (C)
Unity (AR Foundation)
Actualmente, la renderización 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 de imagen electrónica, 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
causará una falla en lugar de arrojarIllegalArgumentException
. 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 cancele en lugar de mostrarAR_ERROR_INVALID_ARGUMENT
. Se resolverá en la siguiente versión.
Unity (AR Foundation)
Actualmente, EIS no está disponible para Unity con AR Foundation.
iOS
Actualmente, EIS no está disponible para iOS.
APIs asíncronas de ARCore
Esta versión presenta nuevas APIs asíncronas de ARCore 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 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. - 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. - Anclas de Hosting Cloud: Usa
Session.hostCloudAnchorAsync()
para obtener unHostCloudAnchorFuture
. Los símbolos anterioresSession.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 dejó de estar disponible.
NDK de Android (C)
- Resolución de anclas 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 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. - Anclas de hosting en la nube: Usa
ArSession_hostCloudAnchorAsync()
para obtener unArHostCloudAnchorFuture
o usaArHostCloudAnchorCallback
. Los símbolos anterioresArSession_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 dejó de estar disponible.
Unity (AR Foundation)
- Resolución de 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. - 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. - Anclas de Hosting Cloud: 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 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. - 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. - Anclas de Hosting Cloud: Usa
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:
para obtener unGARHostCloudAnchorFuture
. Los símbolos anterioresGARSession.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 oficialmente compatible con Swift Package Manager. Consulta Habilita la RA en tu app para iOS para obtener instrucciones sobre cómo realizar la integración con ARCore con Swift Package Manager.
Novedades de ARCore v1.35.0
La precisión de la posición geoespacial reemplaza el rumbo por el guiñada
Todas las posiciones geoespaciales ahora exponen su precisión de orientación de la rotación de guiñada, 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 de ARCore para el NDK de Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de ARCore Extensions para AR 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 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 "Entrar a 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 pose 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
Las posiciones geoespaciales ahora se pueden convertir a posiciones del espacio mundial (RA) y viceversa.
Para obtener la pose geoespacial a partir de una pose de RA, haz lo siguiente:
- Java/Kotlin:
Earth.getGeospatialPose()
- C:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
Para obtener la pose de RA a partir de una pose geoespacial, haz lo siguiente:
- Java/Kotlin:
Earth.getPose()
- C:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unity:
AREarthManager.Convert(GeospatialPose)
Las posiciones geoespaciales que se obtienen de estas funciones tienen un valor de rumbo establecido en cero. En su lugar, usa lo siguiente:
- Android (Java/Kotlin/C): El cuaternion EUS de la pose
- iOS: El
eastUpSouthQTarget
de la pose - Unity: El
EunRotation
de la pose
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 de ARCore para el NDK de Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de ARCore Extensions 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 Cloud Anchors de ARCore anterior, que ahora 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 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 que está restringida por la 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 anterior 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 de ARCore para el NDK de Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de ARCore Extensions para AR Foundation
Novedades de ARCore v1.32.0
Esta versión no tiene funciones nuevas.
Android y Unity (AR Foundation) para Android
targetSdkVersion
de ARCore se actualizó al nivel de API 32 de Android. Si tu app no especifica untargetSdkVersion
, eltargetSdkVersion
de tu app se convertirá en 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 de destino en Project Settings > Player > Android > Other Settings 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 de ARCore para el NDK de Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de ARCore Extensions 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 permitir que tu app ofrezca 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 para desarrolladores específica de la plataforma y comenzar a usar la nueva API de Geospatial.
Profundidad de largo alcance
La API de Depth de ARCore ahora está optimizada para incluir un sensor de profundidad de mayor alcance, lo que aumenta el rango de observaciones de profundidad representables. Se usan los 16 bits de la imagen de profundidad, lo que proporciona un rango máximo de 65,535 milímetros. Anteriormente, solo se propagaban 13 bits, con un límite de 8191 milímetros.
Consulta Cambios en 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 coordenadas relativas a la Tierra.Earth.createAnchor()
crea unAnchor
nuevo 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 la capacidad de localización en coordenadas relativas a la Tierra.ArEarth_acquireNewAnchor()
crea unAnchor
nuevo 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
- Las llamadas a funciones de la API de Depth cambiaron:
Frame.acquireDepthImage
aFrame.acquireDepthImage16Bits
.Frame.acquireRawDepthImage
aFrame.acquireRawDepthImage16Bits
.- Los formatos de imagen de salida de ambas llamadas cambiaron de
android.graphics.ImageFormat#DEPTH16
aandroid.hardware.HardwareBuffer#D_16
. - La profundidad aún se representa 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 un rango máximo expresable vaya de 8191 mm a 65,535 mm.
- Las llamadas a función
Frame.acquireDepthImage
yFrame.acquireRawDepthImage
de la API de Depth dejaron de estar disponibles. En su lugar, usaFrame.acquireDepthImage16Bits
yFrame.acquireRawDepthImage16Bits
.
- Las llamadas a funciones de la API de Depth cambiaron:
C
- Las llamadas a funciones de la API de Depth cambiaron:
ArFrame_acquireDepthImage
aArFrame_acquireDepthImage16Bits
.- De
ArFrame_acquireRawDepthImage
aArFrame_acquireRawDepthImage16Bits
- Los formatos de imagen de salida de ambas llamadas cambiaron de
AR_IMAGE_FORMAT_DEPTH16
aAR_IMAGE_FORMAT_D_16
. - La profundidad aún se representa 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 un rango máximo expresable vaya de 8191 mm a 65,535 mm.
- Las llamadas a función
ArFrame_acquireDepthImage
yArFrame_acquireRawDepthImage
de la API de Depth dejaron de estar disponibles. En su lugar, usaArFrame_acquireDepthImage16Bits
yArFrame_acquireRawDepthImage16Bits
.
- Las llamadas a funciones de la API de Depth cambiaron:
Unity (AR Foundation)
Nuevas APIs de ARCore Geospatial:
AREarthManager
proporciona la 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 Earth.
GeospatialPose
describe una ubicación, una elevación y un rumbo de brújula específicos en relación con la Tierra.ARGeospatialAnchor
proporciona una ancla para los objetos del juego en tu escena, especificada en una ubicación y orientación en relación con la Tierra.
iOS
Nuevas APIs de ARCore Geospatial:
GAREarth
Proporciona una 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 obligatorio para los datos geoespaciales.
GARGeospatialTransform
Representación de una transformación global que incluye la ubicación, el rumbo, la altitud y las estimaciones de precisión.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
Crea un ancla geoespacial en la ubicación y orientación especificadas con respecto a 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 de ARCore para el NDK de Android
- Notas de la versión del SDK de ARCore para iOS
- Notas de la versión de ARCore Extensions para AR Foundation
Novedades de ARCore v1.30.0
Esta versión no tiene funciones nuevas.
Android
- Los valores que muestra la API con anotaciones se muestran con
@NonNull
y@Nullable
. - Se actualizaron las versiones de las herramientas de compilación que se usan para compilar muestras: Gradle a la versión 7.0.2 y el complemento de Android para Gradle a la versión 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 lanzamiento no agrupa dependencias externas, como External Dependency Manager para Unity, y permite actualizaciones a EDM. El uso de esta versión lite puede resolver incompatibilidades cuando se usan 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 brindar una mejor 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 configuraba cada fotograma, incluso si no había cambios en la configuración de la sesión, lo que causaba 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 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 la Ubicación instantánea. - persistent_cloud_anchor_java: Se agregó una dependencia de compilación faltante al ejemplo. Se corrigió un error en el que alojar cualquier ancla tendría el estado
CloudAnchorState ERROR_NOT_AUTHORIZED
, incluso si el proyecto se configuraba correctamente.
Unity (AR Foundation)
- El paquete de extensiones de ARCore ahora depende del complemento de XR de ARKit para garantizar que la versión instalada de AR Foundation sea compatible con la versión del complemento de XR de ARKit. Se corrigió un error de compilación cuando se instalaban extensiones de ARCore en Unity 2019.x y se habilitaba el complemento ARKit XR.
- 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 de 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 completa del SDK de ARCore para Android
- Notas de la versión completas de ARCore para el NDK de Android
- Notas de la versión completas del SDK de ARCore para iOS
- Notas de la versión de ARCore Extensions 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 ni metadatos de NDK. Las versiones de 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 mostrará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 mostraránfalse
. AR Foundation 4.x y versiones posteriores no se ven afectadas, y las llamadas aXRCameraSubsystem.TryGetLatestImage(out XRCameraImage)
se comportarán de forma normal. - 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()
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 ver varias correcciones de errores y mejoras de rendimiento.
- Notas de la versión completa del SDK de ARCore para Android
- Notas de la versión completas de ARCore para el NDK de Android
- Notas de la versión completas del SDK de ARCore para iOS
- Notas de la versión de ARCore Extensions 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 modelos de aprendizaje automático para obtener más información.
Novedades de ARCore v1.26.0
En esta versión, se agregaron los siguientes cambios importantes:
- 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 completa del SDK de ARCore para Android
- Notas de la versión completas de ARCore para el NDK de Android
- Notas de la versión completas del SDK de ARCore para iOS
- Notas de la versión de ARCore Extensions para AR Foundation
Novedades de ARCore v1.25.0
Esta versión no tiene funciones nuevas. Consulta las siguientes notas de la versión para ver varias correcciones de errores y mejoras de rendimiento.
- Notas de la versión completa del SDK de ARCore para Android
- Notas de la versión completas de ARCore para el NDK de Android
- Notas de la versión completas del SDK de ARCore para iOS
- Notas de la versión completas del SDK de ARCore para Unity
- Notas de la versión de ARCore Extensions para AR Foundation
Novedades de ARCore v1.24.0
En esta versión, se agregaron los siguientes cambios importantes:
- Una nueva API de Raw Depth que proporciona una imagen de profundidad sin filtrado de espacio de imagen
- Se agregó la función de grabación de segmentos de datos personalizados a la API de Recording & Playback.
- La capacidad de realizar pruebas de hit de profundidad
Profundidad sin procesar
La API de Raw Depth proporciona datos de profundidad para una imagen de la cámara que tiene una precisión más alta que los datos completos de la API de Depth, pero no siempre cubre todos los píxeles. Las imágenes de profundidad sin procesar, junto con sus imágenes de confianza coincidentes, también se pueden procesar más, lo que permite que las apps usen solo los datos de profundidad que tienen suficiente precisión 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 seguimiento de datos personalizados 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 hit solo se podían realizar en planos detectados, lo que limitaba las ubicaciones a superficies grandes y planas. Las pruebas de hits de profundidad aprovechan la información de profundidad suave y sin procesar para proporcionar resultados de hits más precisos, incluso en superficies no planas y de baja textura.
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 completa del SDK de ARCore para Android
- Notas de la versión completas de ARCore para el NDK de Android
- Notas de la versión completas del SDK de ARCore para iOS
- Notas de la versión completas del SDK de ARCore para Unity
- Notas de la versión de ARCore Extensions para AR Foundation
Novedades de ARCore v1.23.0
Compatibilidad con cámara doble 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
Cuando se envía un intent de emisió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 anclas en la nube
Las apps compatibles con RA compiladas con el SDK de ARCore 1.11.0 o versiones anteriores ya no pueden alojar ni resolver anclas de Cloud.
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 muestran
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 ver otras correcciones de errores y cambios importantes.
Novedades de ARCore v1.22.0
Esta versión agrega nuevas APIs de grabación y reproducción y APIs de filtro de configuración de la cámara para las extensiones de ARCore para AR Foundation. Consulta las notas de la versión completas de ARCore Extensions para obtener más información.
Cambios y actualizaciones adicionales
Consulta las siguientes notas de la versión para ver otras correcciones de errores y cambios importantes.
Novedades de ARCore v1.21.0
Esta versión agrega nuevas APIs de grabación y reproducción para Android, NDK de Android y Unity.
Grabación y reproducción
Con las APIs de Recording y Playback, puedes grabar datos de RA y video 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 indicarle a tu app que use estos datos en lugar de una sesión de cámara en vivo. Esto te permite volver a 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 agregaron los siguientes cambios importantes:
Nueva compatibilidad con los Cloud Anchors persistentes.
Se actualizaron las funciones de metadatos de imagen para Android y el NDK de Android.
Nueva guía que requiere la versión 5.6.4 de Gradle o una posterior para admitir extensiones de ARCore para AR Foundation o el SDK de ARCore para Unity (1.19 o versiones posteriores) con Unity 2018.4 o versiones posteriores.
Nueva compatibilidad con Cloud Anchors persistentes
Antes de la versión 1.20 de ARCore, las Cloud Anchors solo se podían resolver durante un período de 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 del ancla después de que ya se aloje con 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 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 para Android: Guía para desarrolladores,
XPSession.CreateCloudAnchor(Anchor, int)
yXPSession.EstimateFeatureMapQualityForHosting(Pose)
.Unity con orientación 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 ver otras correcciones de errores y cambios importantes.
Novedades de ARCore v1.19.0
En esta versión, se agregaron los siguientes cambios importantes:
- Nueva API de Instant Placement para Android, NDK de Android y Unity.
- Nueva guía para compilar para Android 11 con Unity.
Ubicación instantánea
La API de Instant Placement 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 ubicación de los objetos se define mejor en tiempo real a medida que el usuario se mueve 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 sea preciso en la posición y se vuelve opaco.
En el siguiente clip, se muestra una figura virtual de Android en 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 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 agregaron los siguientes cambios importantes:
- Nueva API de Depth para Android, NDK de Android y Unity.
- Nueva guía para crear recursos de caras aumentadas 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 que los objetos virtuales aparezcan con precisión 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:
Unity:
Novedades de ARCore v1.17.0
Novedades en el 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 multiproceso, se puede usar para disminuir la variabilidad en las velocidades de fotogramas.
Se agregó el uso faltante del sensor de profundidad y los métodos get de FPS objetivo:
Consulta también las notas de la versión completas del SDK de Android para Android.
Novedades en el SDK de ARCore para Unity
- Se agregó compatibilidad con la renderización multiproceso en Unity versión 2018.2 o posterior, que en la mayoría de los casos mejorará el rendimiento y puede ayudar a disminuir la variabilidad en las tasas 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 en el SDK de ARCore para iOS
El tamaño binario del SDK de Cloud Anchors disminuyó significativamente.
Ahora se admite el código de bytes para 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
Destacado en el SDK de ARCore para Android y el SDK de Sceneform para Android
En esta versión, se agregaron los siguientes cambios importantes:
- La mayoría de los dispositivos ahora muestran 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 la página Dispositivos compatibles con ARCore para obtener más información.
Estas resoluciones de GPU expandidas están disponibles a través de la API de
getSupportedCameraConfigs(CameraConfigFilter)
.
Consulta lo siguiente:
Notas de la versión completa del SDK de Android para Android
Notas de la versión completas del SDK de Sceneform para Android
Novedades en las Extensiones de ARCore para AR Foundation
En esta versión, se agregaron los siguientes cambios importantes:
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 versión 2019.3 o posterior.
Unity ahora usa los términos ancla, ancla en la nube y ID de ancla en la nube en su API de RA multiplataforma. La documentación de ARCore Extensions se actualizó para reflejar esto.
Consulta lo siguiente:
Novedades en el SDK de ARCore para Unity
Esta versión agrega el siguiente cambio importante:
- La mayoría de los dispositivos ahora muestran 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 la página Dispositivos compatibles con ARCore para obtener más información). 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
Novedades en las Extensiones de ARCore para AR Foundation
Esta versión agrega los siguientes cambios importantes.
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 completas de las extensiones de ARCore
Novedades en el SDK de ARCore para Unity
Esta versión tiene los siguientes problemas conocidos.
Es posible que la vista previa instantánea congele 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 de juego de Unity sea demasiado alta. Para solucionarlo, reduce la resolución de la vista de 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 ver otras correcciones de errores y cambios importantes.
Notas de la versión completa del SDK de Android para Android
Notas de la versión completas del SDK de Sceneform para Android
Novedades de ARCore v1.14.0
Esta versión agrega los siguientes cambios importantes.
Cuando una app pierde temporalmente la cámara para otra app en el 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 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
Esta versión agrega los siguientes cambios importantes.
Compatibilidad con el uso de extensiones de ARCore para AR Foundation de Unity para 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 ver otras correcciones de errores y cambios importantes.
Notas de la versión completa del SDK de Android para Android
Notas de la versión completas del SDK de Sceneform para Android
Novedades de ARCore v1.12.0
Esta versión agrega los siguientes cambios:
Se agregó la función Rostros aumentados a 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.
Compatibilidad con el uso de extensiones de ARCore para AR Foundation de Unity para compilar apps para Android con Cloud Anchors
Se realizaron los siguientes cambios en las anclas de Cloud:
- Para cumplir con nuestros requisitos de privacidad actualizados para usar los SDK de ARCore 1.12 o versiones posteriores, debes divulgar el uso de las anclas de Cloud de forma destacada en tu aplicación. Para ello, incluye el siguiente texto, además de 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". Para ello, implementa el flujo de avisos para el usuario recomendado disponible en nuestras apps de ejemplo de anclas de Cloud.
Para obtener más detalles, consulta los requisitos de privacidad del usuario.
Para obtener más información sobre los anclajes de Cloud, consulta los siguientes recursos:
Android:
NDK de Android:
iOS:
Unity:
Extensiones de ARCore:
Novedades de ARCore v1.11.0
Esta versión agrega los siguientes cambios:
El servicio de ARCore se renombró a Servicios de Google Play para RA. En los dispositivos con Google Play, ahora se distribuye como parte de los Servicios de Google Play.
La configuración de la cámara de ARCore se orienta a 60 fps en dispositivos compatibles y prioriza el uso del sensor de profundidad en los dispositivos que tienen uno. Puedes usar los 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 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 Lighting Estimation para Android, Android NDK y Unity.
Estas APIs usan el aprendizaje automático para analizar la imagen de entrada de la cámara 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, reflejos especulares y reflejos en objetos virtuales. El resultado es un contenido virtual que se siente más realista.
Para obtener más detalles:
Android:
NDK de Android:
Unity:
Novedades de la versión 1.9.0 de ARCore
Novedades del SDK de ARCore para Android
Esta versión agrega 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 3D alojados en la Web en su entorno.
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 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 la imagen 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 según su última posición conocida (LAST_KNOWN_POSE
).
La documentación de Cloud Anchors ahora incluye una explicación más detallada de cómo se alojan y resuelven los 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 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 la imagen 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 con realidad 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 de cómo se alojan y resuelven los anclas.
Novedades del SDK de ARCore para iOS
Compatibilidad con estos 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 de cómo se alojan y resuelven los anclas.