Stay organized with collections
Save and categorize content based on your preferences.
GARAugmentedFaceMesh
Object that holds face mesh and transform data for a detected face.
Summary
Inheritance
Inherits from:
NSObject
Properties
|
normals
|
const simd_float3 *
A buffer of 3D normals in (x, y, z) packing.
|
textureCoordinates
|
const simd_float2 *
A float buffer of UV texture coordinates in (u, v) packing.
|
triangleCount
|
NSUInteger
Number of triangles in the face mesh.
|
triangleIndices
|
const uint16_t *
A buffer of triangles' indices in consecutive (i0, i1, i2) triplets.
|
vertexCount
|
NSUInteger
Number of vertices in the Augmented Faces mesh.
|
vertices
|
const simd_float3 *
A float buffer of 3D vertex locations in (x, y, z) packing.
|
Properties
normals
@property(nonatomic, readonly) const simd_float3 *normals;
A buffer of 3D normals in (x, y, z)
packing.
Each (x, y, z)
is a unit vector of the normal to the surface at each vertex. There is exactly one normal vector for each vertex. These normals are relative to center transform of the face.
textureCoordinates
A float buffer of UV texture coordinates in (u, v)
packing.
There is a pair of texture coordinates for each vertex. The textureCoordinates
will not change.
triangleCount
Number of triangles in the face mesh.
This is equivalent to the number of elements in triangleIndices
divided by 3. The count will not change.
triangleIndices
A buffer of triangles' indices in consecutive (i0, i1, i2)
triplets.
Every three consecutive values are indices that represent a triangle. The front face of each triangle is defined by the face where the vertices are in counter clockwise winding order.
The triangleIndices
will not change.
vertexCount
Number of vertices in the Augmented Faces mesh.
The vertexCount
will not change. Currently, there are 468 vertices, although this might change in the future.
vertices
@property(nonatomic, readonly) const simd_float3 *vertices;
A float buffer of 3D vertex locations in (x, y, z)
packing.
These vertices are relative to the center transform of the face. Units are in meters.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-07-14 UTC.
[null,null,["Last updated 2025-07-14 UTC."],[[["\u003cp\u003e\u003ccode\u003eGARAugmentedFaceMesh\u003c/code\u003e provides face mesh and transform data for detected faces, including 3D vertex locations, normals, and texture coordinates.\u003c/p\u003e\n"],["\u003cp\u003eIt uses a triangle mesh representation with a fixed number of vertices and triangles, currently 468 vertices.\u003c/p\u003e\n"],["\u003cp\u003eThe mesh data is accessible through properties like \u003ccode\u003evertices\u003c/code\u003e, \u003ccode\u003enormals\u003c/code\u003e, \u003ccode\u003etextureCoordinates\u003c/code\u003e, \u003ccode\u003etriangleIndices\u003c/code\u003e, and \u003ccode\u003etriangleCount\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eVertex locations are relative to the center transform of the face and expressed in meters.\u003c/p\u003e\n"],["\u003cp\u003eThe mesh topology, defined by \u003ccode\u003etriangleIndices\u003c/code\u003e, remains constant, while vertex positions may change with each frame.\u003c/p\u003e\n"]]],["`GARAugmentedFaceMesh` provides data for a detected face mesh. It contains properties for: `normals` (3D surface normal vectors per vertex), `textureCoordinates` (UV texture coordinates per vertex), `triangleCount` (number of triangles), `triangleIndices` (triangle vertex index triplets), `vertexCount` (number of vertices, currently 468), and `vertices` (3D vertex locations). Triangles are defined by counter-clockwise winding order, normals and vertices are relative to the face's center transform, and the `triangleIndices`, `textureCoordinates` and `vertexCount` do not change.\n"],null,["# GARAugmentedFaceMesh Class Reference\n\nGARAugmentedFaceMesh\n====================\n\nObject that holds face mesh and transform data for a detected face.\n\nSummary\n-------\n\n### Inheritance\n\nInherits from: `NSObject`\n\n| ### Properties ||\n|-------------------------------------------|-------------------------------------------------------------------------------------------|\n| [normals](#normals) | `const simd_float3 *` A buffer of 3D normals in `(x, y, z)` packing. |\n| [textureCoordinates](#texturecoordinates) | `const simd_float2 *` A float buffer of UV texture coordinates in `(u, v)` packing. |\n| [triangleCount](#trianglecount) | `NSUInteger` Number of triangles in the face mesh. |\n| [triangleIndices](#triangleindices) | `const uint16_t *` A buffer of triangles' indices in consecutive `(i0, i1, i2)` triplets. |\n| [vertexCount](#vertexcount) | `NSUInteger` Number of vertices in the Augmented Faces mesh. |\n| [vertices](#vertices) | `const simd_float3 *` A float buffer of 3D vertex locations in `(x, y, z)` packing. |\n\nProperties\n----------\n\n### normals\n\n```gdscript\n@property(nonatomic, readonly) const simd_float3 */ar/reference/ios/interface/GARAugmentedFaceMesh#normals;\n``` \nA buffer of 3D normals in `(x, y, z)` packing.\n\nEach `(x, y, z)` is a unit vector of the normal to the surface at each vertex. There is exactly one normal vector for each vertex. These normals are relative to center transform of the face. \n\n### textureCoordinates\n\n```gdscript\n@property(nonatomic, readonly) const simd_float2 */ar/reference/ios/interface/GARAugmentedFaceMesh#texturecoordinates;\n``` \nA float buffer of UV texture coordinates in `(u, v)` packing.\n\nThere is a pair of texture coordinates for each vertex. The [textureCoordinates](/ar/reference/ios/interface/GARAugmentedFaceMesh#texturecoordinates) will not change. \n\n### triangleCount\n\n```transact-sql\n@property(nonatomic, readonly) NSUInteger /ar/reference/ios/interface/GARAugmentedFaceMesh#trianglecount;\n``` \nNumber of triangles in the face mesh.\n\nThis is equivalent to the number of elements in [triangleIndices](/ar/reference/ios/interface/GARAugmentedFaceMesh#triangleindices) divided by 3. The count will not change. \n\n### triangleIndices\n\n```gdscript\n@property(nonatomic, readonly) const uint16_t */ar/reference/ios/interface/GARAugmentedFaceMesh#triangleindices;\n``` \nA buffer of triangles' indices in consecutive `(i0, i1, i2)` triplets.\n\nEvery three consecutive values are indices that represent a triangle. The front face of each triangle is defined by the face where the vertices are in counter clockwise winding order.\n\nThe [triangleIndices](/ar/reference/ios/interface/GARAugmentedFaceMesh#triangleindices) will not change. \n\n### vertexCount\n\n```transact-sql\n@property(nonatomic, readonly) NSUInteger /ar/reference/ios/interface/GARAugmentedFaceMesh#vertexcount;\n``` \nNumber of vertices in the Augmented Faces mesh.\n\nThe [vertexCount](/ar/reference/ios/interface/GARAugmentedFaceMesh#vertexcount) will not change. Currently, there are 468 vertices, although this might change in the future. \n\n### vertices\n\n```gdscript\n@property(nonatomic, readonly) const simd_float3 */ar/reference/ios/interface/GARAugmentedFaceMesh#vertices;\n``` \nA float buffer of 3D vertex locations in `(x, y, z)` packing.\n\nThese vertices are relative to the center transform of the face. Units are in meters."]]