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.
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 | |
void | |
void | |
void |
setVerticalFovDegrees(float verticalFov)
Définit le champ de vision vertical en degrés de la caméra autre que RA.
|
void | |
void | |
Vecteur 3 |
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.