Stay organized with collections
Save and categorize content based on your preferences.
public class
Camera
Provides information about the camera that is used to capture images. The Camera is a
long-lived object and the properties of Camera are updated every time Session.update() is called.
Returns the virtual camera pose in world space for rendering AR content onto the latest frame.
This is an OpenGL camera pose with +X pointing right, +Y pointing up, and -Z pointing in the
direction the camera is looking, with "right" and "up" being relative to current logical
display orientation.
Returns the pose of the physical camera in world space for the latest frame. This is an OpenGL
camera pose with +X pointing right, +Y pointing right up, and -Z pointing in the direction the
camera is looking, with "right" and "up" being relative to the image readout in the usual
left-to-right, top-to-bottom order. Specifically, this is the camera pose at the center of
exposure of the center row of the image.
For applications using the SDK for ARCore 1.5 and earlier, the returned pose is
rotated around the Z axis by a multiple of 90° so that the axes correspond approximately to
those of the Android
Sensor Coordinate System.
See Also:
getDisplayOrientedPose() for the pose of the virtual camera. It will differ by a
local rotation about the Z axis by a multiple of 90°.
Frame.getAndroidSensorPose() for the pose of the Android sensor frame. It will
differ in both orientation and location.
public
void
getProjectionMatrix
(float[] dest, int offset, float near, float far)
getProjectionMatrix
public void getProjectionMatrix(
float[] dest,
int offset,
float near,
float far
)
Returns a projection matrix for rendering virtual content on top of the camera image. Note that
the projection matrix reflects the current display geometry and display rotation.
Note: When using Session.Feature.FRONT_CAMERA, the returned projection matrix will
incorporate a horizontal flip.
Details
Parameters
dest
storage for at least 16 floats representing a 4x4 matrix in column major order
offset
the offset in dest at which to begin writing the matrix (often 0)
Returns the current motion tracking state of this camera. If this state is anything other than
TrackingState.TRACKING the pose should not be considered useful. Use getTrackingFailureReason() to determine the best recommendation to provide to the user to
restore motion tracking.
Note: Starting in ARCore 1.12, changing the active camera config using Session.setCameraConfig(CameraConfig) may cause the tracking state on certain devices to
become permanently TrackingState.PAUSED. For consistent behavior across all supported
devices, release any previously created anchors and trackables when setting a new camera
config.
public
void
getViewMatrix
(float[] viewMatrix, int offset)
getViewMatrix
public void getViewMatrix(
float[] viewMatrix,
int offset
)
Returns the view matrix for the camera for this frame. Note that the view matrix incorporates
the display orientation. This is equivalent to: camera.getDisplayOrientedPose().inverse().asMatrix()
Details
Parameters
viewMatrix
storage for at least 16 floats representing a 4x4 matrix in column major
order
offset
the offset in viewMatrix at which to begin writing the matrix