Escena de vista

clase pública ArSceneView

Una SurfaceView que se integra con ARCore y renderiza una escena

Constantes heredadas

Campos heredados

Constructores públicos

ArSceneView(contexto Context)
Construye un objeto ArSceneView y lo vincula a un contexto de Android.
ArSceneView(contexto Context, atributos AttributeSet)
Construye un objeto ArSceneView y lo vincula a un contexto de Android.

Métodos públicos

Marco
getArFrame()
Muestra el ARCore Frame más reciente si está disponible.
int
getCameraStreamRenderPriority()
Obtén la prioridad de renderización que controla el orden de procesamiento de la transmisión de la cámara.
PlaneRenderer
getPlaneRenderer()
Muestra PlaneRenderer, que se usa para controlar la visualización del plano.
Sesión
getSession()
Muestra la sesión de ARCore que usa esta vista.
boolean
isEnvironmentalHdrLightingAvailable()
Muestra true si la cámara ARCore está configurada con Config.LightEstimationMode.ENVIRONMENTAL_HDR.
boolean
isLightDirectionUpdateEnabled()
Verifica si la luz solar se actualiza en cada fotograma según la estimación de iluminación HDR ambiental.
boolean
void
Pausar()
Pausa el subproceso de procesamiento y la sesión de ARCore.
CompletableFutureVoid
pauseAsync(ejecutor Executor)
Llamada sin bloqueo para pausar el subproceso de procesamiento y la sesión de ARCore.
void
reanudar()
Reanuda el subproceso de procesamiento y la sesión de ARCore.
CompletableFutureVoid
resumeAsync(ejecutor Executor)
Llamada sin bloqueo para reanudar el subproceso de procesamiento y la sesión de ARCore en segundo plano

Se debe llamar desde onResume().

void
setCameraStreamRenderPriority(prioridad int)
Establece la prioridad de renderización para controlar el orden en que se renderiza la transmisión de la cámara.
void
setLightDirectionUpdateEnabled(boolean isLightDirectionUpdateEnabled)
Establece si se debe actualizar la dirección de la luz solar generada a partir de la iluminación HDR ambiental en cada fotograma.
void
setLightEstimationEnabled(booleano habilitado)
Habilita la estimación de la luz según el feed de la cámara.
void
setupSession(Session)
Configura la vista con una sesión de RA.

Métodos heredados

Constructores públicos

público ArSceneView (contexto Context)

Construye un objeto ArSceneView y lo vincula a un contexto de Android.

Para que el procesamiento funcione correctamente, se debe llamar a setupSession(Session).

Parámetros
Contexto el contexto de Android

public ArSceneView (Contexto el contexto AtributoSet atributos)

Construye un objeto ArSceneView y lo vincula a un contexto de Android.

Para que el procesamiento funcione correctamente, se debe llamar a setupSession(Session).

Parámetros
Contexto el contexto de Android
attrs el Android AttributeSet con el que se asociará
Consulta también

Métodos públicos

public Frame getArFrame ()

Muestra el ARCore Frame más reciente si está disponible. El marco se actualiza al principio de cada marco de dibujo. Los llamadores de este método no deberían retener una referencia al valor de retorno, ya que no será válido usar el marco de ARCore a partir del siguiente.

public int getCameraStreamRenderPriority ()

Obtén la prioridad de renderización que controla el orden de procesamiento de la transmisión de la cámara. La prioridad está entre un rango de 0 (primer procesamiento) y 7 (última representación).

El valor predeterminado es 7, lo que fuerza la última transmisión de la transmisión de la cámara. Esto es mejor para el rendimiento porque evita la superposición. Sin embargo, cuando se usa un material como oclusor (por ejemplo, en la muestra de rostros aumentados), se debe cambiar. De lo contrario, el ocluyente ocultará la transmisión de la cámara y se renderizará en negro.

PlaneRenderer getPlaneRenderer ()

Muestra PlaneRenderer, que se usa para controlar la visualización del plano.

public Session getSession ()

Muestra la sesión de ARCore que usa esta vista.

Booleano público isEnvironmentalHdrLightingAvailable ()

Muestra true si la cámara ARCore está configurada con Config.LightEstimationMode.ENVIRONMENTAL_HDR. Cuando el modo de iluminación HDR ambiental está habilitado, se aplicarán las estimaciones de luz resultantes a la escena de Sceneform.

Resultado que se muestra
  • true si la iluminación HDR está habilitada en Sceneform porque la estimación de la iluminación HDR de ARCore está habilitada.

Booleano público isLightDirectionUpdateEnabled ()

Verifica si la luz solar se actualiza en cada fotograma según la estimación de iluminación HDR ambiental.

Resultado que se muestra
  • true si la dirección de la luz solar se actualiza en cada fotograma, de lo contrario, false.

Booleano público isLightEstimationEnabled ()

Resultado que se muestra
  • El resultado es verdadero si la estimación de luz está habilitada.

vacío público pausa ()

Pausa el subproceso de procesamiento y la sesión de ARCore.

Se debe llamar desde onPause().

público CompletableFuture<Void> pauseAsync (Ejecutor ejecutor)

Llamada sin bloqueo para pausar el subproceso de procesamiento y la sesión de ARCore.

Se debería llamar desde onPause().

Si se llama a pausaAsync mientras otra pausa o reanudación está en curso, la pausa se pondrá en cola y ocurrirá después de que se complete la operación actual.

Parámetros
ejecutor
Resultado que se muestra
  • Se completó un CompletableFuture en la conversación principal. El futuro se completará de forma excepcional si no se puede completar el currículum.

vacío público reanudar ()

Reanuda el subproceso de procesamiento y la sesión de ARCore.

Se debe llamar desde onResume().

Arroja
Excepción de cámara no disponible si la cámara no se puede abrir

públicoble CompletableFuture<Void> resumeAsync (Ejecutor ejecutor)

Llamada sin bloqueo para reanudar el subproceso de procesamiento y la sesión de ARCore en segundo plano

Se debe llamar desde onResume().

Si se llama mientras otra pausa o reanudación está en curso, el currículum se pondrá en cola y ocurrirá después de que se complete la operación actual.

Parámetros
ejecutor
Resultado que se muestra
  • Una CompletableFuture se completa en el subproceso principal una vez que se completa el currículum. El futuro se completará de manera excepcional si no se puede completar el currículum.

vacío público setCameraStreamRenderPriority (prioridad int)

Establece la prioridad de renderización para controlar el orden en que se renderiza la transmisión de la cámara. La prioridad está entre un rango de 0 (primer procesamiento) y 7 (última representación).

El valor predeterminado es 7, lo que fuerza la última transmisión de la transmisión de la cámara. Esto es mejor para el rendimiento porque evita la superposición. Sin embargo, cuando se usa un material como oclusor (por ejemplo, en la muestra de rostros aumentados), se debe cambiar. De lo contrario, el ocluyente ocultará la transmisión de la cámara y se renderizará en negro.

Parámetros
priority

vacío público setLightDirectionUpdateEnabled (boolean isLightDirectionUpdateEnabled)

Establece si se debe actualizar la dirección de la luz solar generada a partir de la iluminación HDR ambiental en cada fotograma. Si es falso, la dirección de la luz se actualizará una vez y ya no cambiará.

Se puede usar para desactivar las actualizaciones de dirección paralela cuando se distraen o no son deseados.

El estado predeterminado es verdadero con la dirección de luz solar actualizada en cada fotograma.

Parámetros
isLightDirectionUpdateEnabled

vacío público setLightEstimationEnabled (habilitación booleana)

Habilita la estimación de la luz según el feed de la cámara. El color y la intensidad de la luz indirecta del sol se modificarán según los valores proporcionados por la estimación de luz de ARCore. Los objetos de Lit en la escena se verán afectados.

Parámetros
habilitar se establece en verdadero para habilitar la estimación de la luz o falso a fin de usar la estimación predeterminada, que es una intensidad de píxeles de 1.0 y el valor de corrección de color del blanco (1.0, 1.0, 1.0).

public void setupSession (sesión)

Configura la vista con una sesión de RA. Se debe llamar a este método una vez para proporcionar la sesión de ARCore. La sesión es necesaria para que se produzca cualquier renderización.

Se espera que la sesión se configure con el modo de actualización de LATEST_CAMERA_IMAGE. Sin esta configuración, la actualización de la sesión de ARCore podría bloquear el subproceso de IU y provocar una experiencia deficiente de la IU.

Parámetros
sesión la sesión de ARCore que se usará en esta vista