Appareil photo

classe publique Camera

Représente une caméra virtuelle, qui détermine la perspective dans laquelle la scène est regardée.

Si la caméra fait partie d'un ArSceneView, elle suit automatiquement la position de la caméra depuis ARCore. De plus, les méthodes suivantes lèveront UnsupportedOperationException lorsqu'elles seront appelées:

  • setParent(NodeParent) : le parent de la caméra ne peut pas être modifié. Il s'agit toujours de la scène.
  • setLocalPosition(Vector3) : la position de la caméra ne peut pas être modifiée. Elle est contrôlée par la position de la caméra ARCore.
  • setLocalRotation(Quaternion) - La rotation de la caméra ne peut pas être modifiée. Elle est contrôlée par la position de la caméra ARCore.
  • setWorldPosition(Vector3) : la position de la caméra ne peut pas être modifiée. Elle est contrôlée par la position de la caméra ARCore.
  • setWorldRotation(Quaternion) - La rotation de la caméra ne peut pas être modifiée. Elle est contrôlée par la position de la caméra ARCore.
Toutes les autres fonctionnalités de Node sont compatibles. Vous pouvez accéder à la position et à la rotation de la caméra, lui attribuer une forme de collision ou y ajouter des enfants. La désactivation de la caméra entraîne la désactivation du rendu.

Méthodes publiques

float
float
float
getVerticalFovDegrees()
Récupère le champ de vision vertical de la caméra.
Rayon
screenPointToRay(float x, float y)
Calcule un rayon dans l'espace allant du proche de la caméra jusqu'à un point dans l'espace.
void
setLocalPosition(position Vector3)
Définissez la position de la caméra.
void
setLocalRotation(rotation Quaternion)
Définissez la rotation de la caméra.
void
setParent(parent NodeParent)
Opération non prise en charge.
void
setVerticalFovDegrees(float verticalFov)
Définit le champ de vision vertical en degrés de la caméra autre que RA.
void
setWorldPosition(position Vector3)
Définissez la position de la caméra.
void
setWorldRotation (rotation Quaternion)
Définissez la rotation de la caméra.
Vecteur 3
worldToScreenPoint(point Vector3)
Convertissez un point du monde en espace à l'écran.

Méthodes héritées

Méthodes publiques

float public getFarClipPlane ()

float public getNearClipPlane ()

public floatgetVerticalFovDegrees()

Récupère le champ de vision vertical de la caméra.

S'il s'agit d'une caméra de RA, elle est calculée en fonction des informations de la caméra ARCore et peut varier d'un appareil à l'autre. Il ne peut pas être calculé avant la première image après la reprise de la session ARCore, auquel cas une exception IllegalStateException est levée.

Sinon, elle renvoie la valeur définie par setVerticalFovDegrees(float), avec une valeur par défaut de 90 degrés.

Génère
IllegalStateException Si appelé avant la première image après la reprise d'ARCore

public Ray screenPointToRay (float x, float y)

Calcule un rayon dans l'espace allant du proche de la caméra jusqu'à un point dans l'espace. L'espace d'écran correspond aux coordonnées de l'écran d'appareil Android: Haut/Gauche = (0, 0) Angle inférieur droit = (Largeur de l'écran, Hauteur de l'écran) L'espace des coordonnées de l'appareil n'est pas affecté par l'orientation de l'appareil.

Paramètres
x Position X dans les coordonnées de l'écran de l'appareil.
y Position Y dans les coordonnées de l'écran de l'appareil.

public void setLocalPosition (position Vector3)

Définissez la position de la caméra. Comme la caméra est toujours isTopLevel(), le comportement de cette caméra est identique à celui de setWorldPosition(Vector3).

Si la caméra fait partie d'un ArSceneView, il s'agit d'une opération non acceptée. La position de la caméra ne peut pas être modifiée. Elle est contrôlée par la position de la caméra ARCore.

Paramètres
position Poste à appliquer.

public void setLocalRotation (rotation Quaternion)

Définissez la rotation de la caméra. Comme la caméra est toujours isTopLevel(), le comportement de cette caméra est identique à celui de setWorldRotation(Quaternion).

Si la caméra fait partie d'un ArSceneView, il s'agit d'une opération non acceptée. La rotation de la caméra ne peut pas être modifiée. Elle est contrôlée par la position de la caméra ARCore.

Paramètres
rotation Rotation à appliquer.

public void setParent (parent NodeParent)

Opération non prise en charge. Le parent de la caméra ne peut pas être modifié. Il s'agit toujours de la scène.

Paramètres
parent Nouveau parent dont ce nœud sera un enfant. Si la valeur est nulle, ce nœud sera dissocié de son nœud parent.

public voidsetVerticalFovDegrees(float verticalFov)

Définit le champ de vision vertical en degrés de la caméra autre que RA. S'il s'agit d'une caméra en RA, le FoV provient d'ARCore et ne peut pas être défini. Une exception est donc générée. La valeur par défaut est de 90 degrés.

Paramètres
verticalFov
Génère
UnavailableOperationException s'il s'agit d'une caméra RA

public void setWorldPosition (position Vector3)

Définissez la position de la caméra. Comme la caméra est toujours isTopLevel(), le comportement de cette caméra est identique à celui de setLocalPosition(Vector3).

Si la caméra fait partie d'un ArSceneView, il s'agit d'une opération non acceptée. La position de la caméra ne peut pas être modifiée. Elle est contrôlée par la position de la caméra ARCore.

Paramètres
position Poste à appliquer.

public void setWorldRotation (rotation Quaternion)

Définissez la rotation de la caméra. Comme la caméra est toujours isTopLevel(), le comportement de cette caméra est identique à celui de setLocalRotation(Quaternion).

Si la caméra fait partie d'un ArSceneView, il s'agit d'une opération non acceptée. La rotation de la caméra ne peut pas être modifiée. Elle est contrôlée par la position de la caméra ARCore.

Paramètres
rotation Rotation à appliquer.

public Vector3 worldToScreenPoint (point Vector3)

Convertissez un point du monde en espace à l'écran.

La valeur X est négative lorsque le point se trouve à gauche de la fenêtre d'affichage, entre 0 et la largeur de SceneView lorsque le point se trouve dans la fenêtre d'affichage, et une largeur supérieure à la largeur lorsque le point se trouve à droite de la fenêtre d'affichage.

La valeur Y est négative lorsque le point est situé en dessous de la fenêtre d'affichage, entre 0 et la hauteur de SceneView lorsque le point se trouve dans la fenêtre d'affichage, et une valeur supérieure à la hauteur lorsque le point est au-dessus de la fenêtre d'affichage.

La valeur Z est toujours égale à 0, car la valeur renvoyée est une coordonnée 2D.

Paramètres
point le point de conversion dans le monde
Renvoie
  • un nouveau vecteur qui représente le point dans l'espace d'écran.