Vue Scène

classe publique ArSceneView

SurfaceView qui s'intègre à ARCore et affiche une scène.

Constantes héritées

Champs hérités

Constructeurs publics

ArSceneView(contexte Context)
Construit un objet ArSceneView et le lie à un contexte Android.
ArSceneView(contexte Context, attributs AttributeSet)
Construit un objet ArSceneView et le lie à un contexte Android.

Méthodes publiques

Cadre
getArFrame
Renvoie l'image ARCore la plus récente, si elle est disponible.
int
getCameraStreamRenderPriority()
Obtenez la priorité d'affichage qui contrôle l'ordre d'affichage du flux de la caméra.
PlaneRenderer
getPlaneRenderer ()
Renvoie PlaneRenderer, qui permet de contrôler la visualisation du plan.
Session
getSession.
Renvoie la session ARCore utilisée par cette vue.
booléen
isEnvironmentalHdrLightingAvailable
Renvoie la valeur "true" si la caméra ARCore est configurée avec Config.LightEstimationMode.ENVIRONMENTAL_HDR.
booléen
isLightDirectionUpdateEnabled()
Vérifie si la lumière du soleil est mise à jour à chaque image en fonction de l'estimation de la luminosité HDR.
booléen
void
pause
Met en veille le thread de rendu et la session ARCore.
CompletableFuture<Void>
pauseAsync(exécuteur Executor)
Appel non bloquant visant à suspendre le thread de rendu et la session ARCore.
void
Reprendre
Reprend le thread de rendu et la session ARCore.
CompletableFuture<Void>
ResumeAsync(exécuteur Executor)
Appel non bloquant pour reprendre le thread de rendu et la session ARCore en arrière-plan

Cette méthode doit être appelée à partir de onResume().

void
setCameraStreamRenderPriority(Priorité)
Définissez la priorité d'affichage pour contrôler l'ordre d'affichage du flux de la caméra.
void
setLightDirectionUpdateEnabled(valeur booléenne isLightDirectionUpdateEnabled)
Détermine si la direction du soleil générée par l'éclairage HDR environnemental doit être mise à jour pour chaque image.
void
setLightEstimationEnabled(activé booléen)
Activez l'estimation de la luminosité en fonction du flux de la caméra.
void
setupSession(session Session)
Configurez la vue avec une session de RA.

Méthodes héritées

Constructeurs publics

public ArSceneView (contexte Context)

Construit un objet ArSceneView et le lie à un contexte Android.

Pour que le rendu fonctionne correctement, setupSession(Session) doit être appelé.

Paramètres
context le contexte Android à utiliser

public ArSceneView (Contexte Context, AttributeSet attrs)

Construit un objet ArSceneView et le lie à un contexte Android.

Pour que le rendu fonctionne correctement, setupSession(Session) doit être appelé.

Paramètres
context le contexte Android à utiliser
attrs Android AttributeSet à associer
Voir également

Méthodes publiques

public Frame getArFrame ()

Renvoie l'image ARCore la plus récente, si elle est disponible. Le cadre est mis à jour au début de chaque cadre de dessin. Les appelants de cette méthode ne doivent pas conserver de référence à la valeur renvoyée, car il ne peut pas utiliser le cadre ARCore à partir du cadre suivant.

public intgetCameraStreamRenderPriority()

Obtenez la priorité d'affichage qui contrôle l'ordre d'affichage du flux de la caméra. La priorité est comprise entre 0 (affiché en premier) et 7 (affiché en dernier).

La valeur par défaut est 7, ce qui force le rendu du flux de la caméra en dernier. Cette approche est préférable pour les performances, car elle évite les superpositions. Cependant, lorsque vous utilisez un matériau comme obturateur (par exemple, dans l'échantillon de visages augmentés), cette valeur doit être modifiée. Sinon, l'obstructeur obstruera le flux de la caméra et le noir sera rendu.

public PlaneRenderer getPlaneRenderer ()

Renvoie PlaneRenderer, qui permet de contrôler la visualisation du plan.

public Session getSession ()

Renvoie la session ARCore utilisée par cette vue.

public boolean isEnvironmentalHdrLightingAvailable ()

Renvoie la valeur "true" si la caméra ARCore est configurée avec Config.LightEstimationMode.ENVIRONMENTAL_HDR. Lorsque le mode d'éclairage HDR environnemental est activé, les estimations de luminosité obtenues sont appliquées à la scène Sceneform.

Renvoie
  • Vrai si l'éclairage HDR est activé dans Sceneform, car l'estimation de l'éclairage HDR est activée dans ARCore.

booléen public isLightDirectionUpdateEnabled ()

Vérifie si la lumière du soleil est mise à jour à chaque image en fonction de l'estimation de la luminosité HDR.

Renvoie
  • "true" si la direction du soleil est mise à jour à chaque image, sinon "false".

booléen public isLightEstimationEnabled ()

Renvoie
  • renvoie la valeur "true" si l'estimation de la luminosité est activée.

public void pause ()

Met en veille le thread de rendu et la session ARCore.

Cette méthode doit être appelée à partir de onPause().

public CompletableFuture<Void> pauseAsync (Exécuteur)

Appel non bloquant visant à suspendre le thread de rendu et la session ARCore.

Cette méthode doit être appelée à partir de onPause().

Si pauseAsync est appelé alors qu'une autre pause ou reprise est en cours, la pause sera mise en file d'attente et se produira une fois l'opération actuelle terminée.

Paramètres
exécuteur
Renvoie
  • Un CompletableFuture terminé dans le thread principal de la pause est terminé. L'avenir sera terminé de façon exceptionnelle si le CV ne peut pas être réalisé.

public void Resume ()

Reprend le thread de rendu et la session ARCore.

Cette méthode doit être appelée à partir de onResume().

Génère
Exception de l'appareil photo non disponible si la caméra ne peut pas être ouverte

public CompletableFuture<Void> ResumeAsync (Exécuteur)

Appel non bloquant pour reprendre le thread de rendu et la session ARCore en arrière-plan

Cette méthode doit être appelée à partir de onResume().

S'il est appelé alors qu'une autre pause ou reprise est en cours, le CV sera mis en file d'attente et se produira une fois l'opération actuelle terminée.

Paramètres
exécuteur
Renvoie
  • Un CompletableFuture terminé dans le fil de discussion principal une fois le CV terminé. Le futur sera terminé de manière exceptionnelle si le CV ne peut pas être réalisé.

public voidsetCameraStreamRenderPriority(priorité prioritaire)

Définissez la priorité d'affichage pour contrôler l'ordre d'affichage du flux de la caméra. La priorité est comprise entre 0 (affiché en premier) et 7 (affiché en dernier).

La valeur par défaut est 7, ce qui force le rendu du flux de la caméra en dernier. Cette approche est préférable pour les performances, car elle évite les superpositions. Cependant, lorsque vous utilisez un matériau comme obturateur (par exemple, dans l'échantillon de visages augmentés), cette valeur doit être modifiée. Sinon, l'obstructeur obstruera le flux de la caméra et le noir sera rendu.

Paramètres
priority

public void setLightDirectionUpdateEnabled (valeur booléenne isLightDirectionUpdateEnabled)

Détermine si la direction du soleil générée par l'éclairage HDR environnemental doit être mise à jour pour chaque image. Si la valeur est "false", l'itinéraire est mis à jour une seule fois, puis ne change plus.

Cela peut être utilisé pour désactiver les mises à jour de direction d'ombre qui détournent votre attention.

L'état par défaut est "true", et la direction du soleil est mise à jour à chaque image.

Paramètres
IsLightDirectionUpdateEnabled

public void setLightEstimationEnabled (activation booléenne)

Activez l'estimation de la luminosité en fonction du flux de la caméra. La couleur et l'intensité de la lumière indirecte du soleil seront modulées par les valeurs fournies par l'estimation de la lumière ARCore. Les objets Lit de la scène seront affectés.

Paramètres
activer Définissez ce paramètre sur "true" pour activer l'estimation de la luminosité ou sur "false" pour utiliser l'estimation par défaut, qui correspond à une intensité de pixel de 1,0 et une valeur de correction des couleurs de blanc (1,0, 1,0, 1,0).

public void setupSession (session )

Configurez la vue avec une session de RA. Cette méthode doit être appelée une fois pour fournir la session ARCore. La session est nécessaire pour tout affichage.

La session devrait être configurée avec le mode de mise à jour de LATEST_CAMERA_IMAGE. Sans cette configuration, la mise à jour de la session ARCore risque de bloquer le thread UI, ce qui peut nuire à l'expérience utilisateur.

Paramètres
session La session ARCore à utiliser pour cette vue