Cámara

clase pública Camera

Representa una cámara virtual, que determina la perspectiva a través de la cual se ve la escena.

Si la cámara es parte de un ArSceneView, la cámara realizará automáticamente un seguimiento de la pose de la cámara desde ARCore. Además, los siguientes métodos mostrarán UnsupportedOperationException cuando se los llame:

Todas las demás funciones de Node son compatibles. Puedes acceder a la posición y la rotación de la cámara, asignarle una forma de colisión o agregar niños a ella. Si inhabilitas la cámara, se desactivará la renderización.

Métodos públicos

float
float
float
getVerticalFovDegrees()
Obtiene el campo visual vertical de la cámara.
Ray
screenPointToRay(float x, float y)
Calcula un rayo en el espacio mundial que pasa desde el plano cercano de la cámara y atraviesa un punto en el espacio de la pantalla.
void
setLocalPosition(posición Vector3)
Establece la posición de la cámara.
void
setLocalRotation(rotación Quaternion)
Establece la rotación de la cámara.
void
setParent(NodeParent)
Operación no admitida.
void
setVerticalFovDegrees(float verticalFov)
Establece el campo visual vertical de la cámara que no es de RA en grados.
void
setWorldPosition(posición Vector3)
Establece la posición de la cámara.
void
setWorldRotation(rotación Quaternion)
Establece la rotación de la cámara.
Vector 3
worldToScreenPoint(punto Vector3)
Convierte un punto del espacio del mundo en un espacio de pantalla.

Métodos heredados

Métodos públicos

flotante público getFarClipPlane ()

public float getNearClipPlane ()

public float getVerticalFovDegrees ()

Obtiene el campo visual vertical de la cámara.

Si se trata de una cámara de RA, se calcula en función de la información de ARCore sobre la cámara y puede variar según el dispositivo. No se puede calcular hasta que se reanude el primer fotograma después de que se reanude la sesión de ARCore. En ese caso, se genera una IllegalStateException.

De lo contrario, se mostrará el valor establecido por setVerticalFovDegrees(float), con un valor predeterminado de 90 grados.

Arroja
IllegalStateException si se llama antes del primer fotograma después de que se reanuda ARCore

público Ray screenPointToRay (float x, float y)

Calcula un rayo en el espacio mundial que pasa desde el plano cercano de la cámara y atraviesa un punto en el espacio de la pantalla. El espacio de la pantalla está en las coordenadas de la pantalla del dispositivo Android: TopLeft = (0, 0) BottomRight = (Screen Width, Screen Height) El espacio de coordenadas del dispositivo no se ve afectado por la orientación del dispositivo.

Parámetros
x Posición X en las coordenadas de la pantalla del dispositivo.
y Posición Y en las coordenadas de la pantalla del dispositivo.

vacío público setLocalPosition (posición de Vector3)

Establece la posición de la cámara. La cámara siempre isTopLevel(), por lo que esto se comporta de la misma manera que setWorldPosition(Vector3).

Si la cámara es parte de un ArSceneView, no se admite esta operación. No se puede cambiar la posición de la cámara porque está controlada por la pose de la cámara de ARCore.

Parámetros
position Posición que se aplicará.

vacío público setLocalRotation (rotación Quaternion)

Establece la rotación de la cámara. La cámara siempre isTopLevel(), por lo que esto se comporta de la misma manera que setWorldRotation(Quaternion).

Si la cámara es parte de un ArSceneView, no se admite esta operación. La rotación de la cámara no se puede cambiar y la posición de la cámara de ARCore la controla.

Parámetros
rotación La rotación que se aplicará.

vacío público setParent (NodeParent)

Operación no admitida. El padre o la madre no se puede cambiar; siempre es la escena.

Parámetros
elemento superior El nuevo superior del que será nodo este nodo. Si es nulo, este nodo se desvinculará de su superior.

vacío público setVerticalFovDegrees (float verticalFov)

Establece el campo visual vertical de la cámara que no es de RA en grados. Si se trata de una cámara de RA, el fov proviene de ARCore y no se puede establecer, por lo que se arroja una excepción. El valor predeterminado es 90 grados.

Parámetros
VerticalFov
Arroja
UnsupportedOperationException si esta es una cámara de RA

vacío público setWorldPosition (posición de Vector3)

Establece la posición de la cámara. La cámara siempre isTopLevel(), por lo que esto se comporta de la misma manera que setLocalPosition(Vector3).

Si la cámara es parte de un ArSceneView, no se admite esta operación. No se puede cambiar la posición de la cámara porque está controlada por la pose de la cámara de ARCore.

Parámetros
position Posición que se aplicará.

vacío público setWorldRotation (rotación Quaternion)

Establece la rotación de la cámara. La cámara siempre isTopLevel(), por lo que esto se comporta de la misma manera que setLocalRotation(Quaternion).

Si la cámara es parte de un ArSceneView, no se admite esta operación. La rotación de la cámara no se puede cambiar y la posición de la cámara de ARCore la controla.

Parámetros
rotación La rotación que se aplicará.

público Vector3 worldToScreenPoint (punto Vector3)

Convierte un punto del espacio del mundo en un espacio de pantalla.

El valor X es negativo cuando el punto se encuentra a la izquierda del viewport, entre 0 y el ancho de SceneView cuando el punto está dentro del viewport, y mayor que el ancho cuando el punto está a la derecha del viewport.

El valor Y es negativo cuando el punto está por debajo del viewport, entre 0 y la altura del SceneView cuando el punto está dentro del viewport, y mayor que el alto cuando el punto está por encima del viewport.

El valor Z siempre es 0, ya que el valor que se muestra es una coordenada 2D.

Parámetros
point el punto en el espacio mundial para convertir
Resultado que se muestra
  • un vector nuevo que representa el punto en el espacio de pantalla.