37.8 AugmentedFace API
          
             
  less than 1 minute read
          
        
      
      
        
        Create Session
  void onCreate(Bundle savedInstanceState) {
    session = new Session(this, EnumSet.of(Session.Feature.FRONT_CAMERA));
    Config config = new Config(session);
    config.setAugmentedFaceMode(AugmentedFaceMode.MESH3D);
    session.configure(config);
    session.setCameraTextureName(backgroud_texture_id);
  }
The update loop
  void onDrawFrame(GL10 gl) {
    try {
      Frame frame = session.update();
      Collection<AugmentedFace> faces = session.getAllTrackables(AugmentedFace.class);
      for (AugmentedFace face : faces) {
        // Do your rendering work with the face data
      }
    } catch(Throwable t) {
      ...
    }
  }
Get tracking state
  face.getTrackingstate();
  ...
  TrackingState trackingState = face.getTrackingstate();
  ...
Trackable API
  // tracking face
  public class AugmentedFace extends TrackingBase {
    public FloatBuffer getMeshVertices();
    public FloatBuffer getMeshNormals();
    public ShortBuffer getMeshTriangleIndices();
    public Pose getCenterPose();
    public Pose getRegionPose(RegionType regionType);
  }
  // tracking plane
  public class Plane extends TrackableBase {
    public Plane.Type getType();
    public Plane getSubsumedBy();
    public Pose getCenterPose();
  }
  // tracking point
  public class Point extends TrackableBase {
    public com.google.ar.core.Pose getPose();
    public com.google.ar.core.Point.OrientationMode getOrientationMode();
  }
  // tracking image
  public class AugmentedImage extends TrackableBase {
    public Pose getCenterPose();
  }
Pose API
参考