跳到主要内容

arEngine(AR增强现实能力)

本模块提供AR Engine(AR引擎服务)的arEngine(AR增强现实能力)相关接口。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

导入模块

import { arEngine } from '@kit.AREngine';

ARFeatureType

枚举,AR特性类别。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.1.0(23)

名称说明
ARENGINE_FEATURE_TYPE_SLAM0运动跟踪及平面识别特性。
ARENGINE_FEATURE_TYPE_DEPTH1深度估计特性。
ARENGINE_FEATURE_TYPE_MESH2环境Mesh识别特性。
ARENGINE_FEATURE_TYPE_IMAGE3图像跟踪特性。
ARENGINE_FEATURE_TYPE_SEMANTIC_DENSE4高精几何重建特性。
ARENGINE_FEATURE_TYPE_SEMANTIC5平面及物体语义特性。
ARENGINE_FEATURE_TYPE_FACE6人脸识别与跟踪特性。
ARENGINE_FEATURE_TYPE_BODY7人体骨骼点识别与跟踪特性。

ARAddAugmentedImageMode

枚举,添加图片模式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
NORMAL0正常模式。 当添加的图片数量超过默认的最多图片数量(50)时,AR Engine会报告错误,错误信息见1009200011
UPDATE1更新模式。 当添加的图片数量超过默认的最多图片数量(50)时,AR Engine会删除原有的最旧数据,以添加新的图片。

ARAddAugmentedImageReason

枚举,添加图像失败原因。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
NONE0无失败原因,图像成功添加。
SIZE_NOT_MATCH1图像尺寸不正确。 说明: 图像尺寸评价从宽高比、分辨率两个维度进行。建议宽高比、分辨率的评价为Unfit以上。
LIGHT_ANOMALY2图像亮度过亮或过暗。
FEATURE_LIMIT3图像颜色单一,如纯色图片。
OTHER4其他原因,如图片有反光、光斑,重复性内容等。
  • 宽高比:

    图像宽度与高度之比,如:640*480分辨率的图像,其宽高比为1.33,对应评价Excellent。

    图像宽高比评价
    [6, ∞)Invalid
    [4, 6)Bad
    [2.5, 4)Unfit
    [2, 2.5)Fit
    [1.5, 2)Good
    [1, 1.5)Excellent
  • 分辨率:

    以640*480为基准,按比例计算。如:选取图像分辨率为320*240,以基准分辨率计算其比值为0.5,对应评价Fit。

    图像分辨率比值评价
    [0, 0.2]Invalid
    (0.2, 0.3]Bad
    (0.35, 0.45]Unfit
    (0.45, 0.7]Fit
    (0.7, 0.9]Good
    (0.9, ∞)Excellent

ARAnimojiTriangleLabel

枚举,人脸Mesh三角面标签。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.1.0(23)

名称说明
LABEL_NON_FACE-1不是脸部部位。
LABEL_FACE_OTHER0脸部非关键部位。
LABEL_LOWER_LIP1下嘴唇。
LABEL_UPPER_LIP2上嘴唇。
LABEL_LEFT_EYE3左眼睛。
LABEL_RIGHT_EYE4右眼睛。
LABEL_LEFT_BROW5左眉毛。
LABEL_RIGHT_BROW6右眉毛。
LABEL_BROW_CENTER7眉心。
LABEL_NOSE8鼻子。

ARBlendShapeType

枚举,微表情类型。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.1.0(23)

名称说明
EYE_BLINK_LEFT0左眼闭合。
EYE_LOOK_DOWN_LEFT1左上眼皮微下垂。
EYE_LOOK_IN_LEFT2左眼内部眼皮向左扩。
EYE_LOOK_OUT_LEFT3左眼睑向左扩。
EYE_LOOK_UP_LEFT4左眼上眼皮微上抬。
EYE_SQUINT_LEFT5左下眼睑上抬。
EYE_WIDE_LEFT6左眼瞪大眼。
EYE_BLINK_RIGHT7闭右眼。
EYE_LOOK_DOWN_RIGHT8右上眼皮微下垂。
EYE_LOOK_IN_RIGHT9右眼内部眼皮向右扩。
EYE_LOOK_OUT_RIGHT10右眼睑向右扩。
EYE_LOOK_UP_RIGHT11右眼上眼皮微上抬
EYE_SQUINT_RIGHT12右下眼睑上抬。
EYE_WIDE_RIGHT13右眼瞪大眼。
JAW_FORWARD14下巴朝前。
JAW_LEFT15下巴朝左
JAW_RIGHT16下巴朝右。
JAW_OPEN17张嘴。
MOUTH_FUNNEL18O型嘴。
MOUTH_PUCKER19噘嘴。
MOUTH_LEFT20嘴巴向左。
MOUTH_RIGHT21嘴巴向右。
MOUTH_SMILE_LEFT22左嘴角向左
MOUTH_SMILE_RIGHT23右嘴角向右歪。
MOUTH_FROWN_LEFT24左嘴角下拉
MOUTH_FROWN_RIGHT25右嘴角下拉。
MOUTH_DIMPLE_LEFT26左酒窝上抬。
MOUTH_DIMPLE_RIGHT27右酒窝上抬。
MOUTH_STRETCH_LEFT28嘴角向左拉。
MOUTH_STRETCH_RIGHT29嘴角向右拉。
MOUTH_ROLL_LOWER30下嘴唇向内抿嘴。
MOUTH_ROLL_UPPER31抿上嘴唇。
MOUTH_SHRUG_LOWER32撅下嘴唇。
MOUTH_SHRUG_UPPER33撅上嘴唇。
MOUTH_UPPER_UP34嘴唇上翻。
MOUTH_LOWER_DOWN35下嘴唇朝下。
MOUTH_LOWER_OUT36下嘴唇朝外。
BROW_DOWN_LEFT37左侧眉毛朝下。
BROW_DOWN_RIGHT38右侧眉毛朝下。
BROW_INNER_UP39双侧眉毛抬眉。
BROW_OUTER_UP_LEFT40左眉外侧向上抬
BROW_OUTER_UP_RIGHT41右眉外侧向上抬。
CHEEK_PUFF42鼓腮。
CHEEK_SQUINT_LEFT43左脸颊上抬。
CHEEK_SQUINT_RIGHT44右脸颊上抬。
FROWN_NOSE_MOUTH_UP45鼻子上抬。
TONGUE_IN46舌头在嘴里上下位置。
TONGUE_OUT_SLIGHT47舌头直伸。
TONGUE_LEFT48舌头朝左。
TONGUE_RIGHT49舌头朝右。
TONGUE_UP50舌头朝上。
TONGUE_DOWN51舌头朝下。
TONGUE_LEFT_UP52舌头朝左上。
TONGUE_LEFT_DOWN53舌头朝左下。
TONGUE_RIGHT_UP54舌头朝右上。
TONGUE_RIGHT_DOWN55舌头朝右下。
LEFT_EYEBALL_LEFT56左眼球向左。
LEFT_EYEBALL_RIGHT57左眼球向右。
LEFT_EYEBALL_UP58左眼球向上。
LEFT_EYEBALL_DOWN59左眼球向下。
RIGHT_EYEBALL_LEFT60右眼球向左。
RIGHT_EYEBALL_RIGHT61右眼球向右。
RIGHT_EYEBALL_UP62右眼球向上。
RIGHT_EYEBALL_DOWN63右眼球向下。

ARCameraLensFacing

枚举,摄像机镜头的朝向。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.1.0(23)

名称说明
REAR0后置摄像头。
FRONT1前置摄像头。

ARDepthMode

枚举,深度模式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
DISABLED0关闭深度模式。
AUTOMATIC1开启深度模式。 AR Engine会自动尝试从多种深度源获取深度信息。 说明: 通常有两种深度源,运动算法和硬件深度传感器 (Time of Flight,简称ToF)。目前仅支持使用主RGB相机所获取的运动深度数据。

ARFocusMode

枚举,对焦模式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
FIXED0固定焦点模式。
AUTO1自动对焦模式。

ARImageFormat

枚举,图像数据格式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
UNKNOWN0无效的图像格式。
YUV_420_8882YUV_420_888格式,适用于处理高分辨率的图像数据。YUV_420_888格式由三个数据缓冲区组成:Y分量(平面)的索引为0,U分量为1,V分量为2。Y分量与U/V分量互不相交。也就是说,Y分量的像素步长(Pixel Stride)始终为1。U分量和V分量则具有相同的行步长(Row Stride)和像素步长。
Y_83Y_8格式,适用于对图像数据要求较低的精度或存储空间的场景。Y_8格式由一个数据缓冲区组成,其平面索引(Index)为0。该数据缓冲区的数据类型为8位无符号整数。
Y_164Y_16格式,适用于对图像数据精度要求较高的场景。Y_16格式由一个数据缓冲区组成,其平面索引为0。该数据缓冲区的数据类型为16位无符号整数。

ARMeshMode

枚举,网格模式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
DISABLED0网格模式关闭。 AR Engine不会处理或显示网格数据。
ENABLE1网格模式开启。 AR Engine会尝试处理和显示网格数据。

ARMultiFaceMode

枚举,多人脸检测模式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.1.0(23)

名称说明
MULTIFACE_DISABLE0x300多人脸模式关闭。
MULTIFACE_ENABLE0x800多人脸模式开启。

ARBodyLandmarkType

枚举,人体关键点类型。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.1.0(23)

名称说明
NECK1颈部
RIGHT_SHOULDER2右肩
RIGHT_ELBOW3右肘
RIGHT_WRIST4右腕
LEFT_SHOULDER5左肩
LEFT_ELBOW6左肘
LEFT_WRIST7左腕
RIGHT_HIP8右髋部
RIGHT_KNEE9右膝
RIGHT_ANKLE10右脚踝
LEFT_HIP11左髋部
LEFT_KNEE12左膝
LEFT_ANKLE13左脚踝
MID_HIP14中髋部
RIGHT_EAR15右耳
RIGHT_EYE16右眼
NOSE17鼻子
LEFT_EYE18左眼
LEFT_EAR19左耳
SPINE20脊柱

ARPlaneFindingMode

枚举,平面检测模式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
DISABLED0禁用平面检测。
HORIZONTAL1只检测水平面,如地板和桌子。
VERTICAL2只检测竖直平面,如墙壁。
HORIZONTAL_AND_VERTICAL3同时检测水平面和竖直平面。

ARPlaneType

枚举,平面类型。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
FACING_HORIZONTAL_UPWARD0朝上的水平面,如地面和桌面平台。
FACING_HORIZONTAL_DOWNWARD1朝下的水平面,如天花板。
FACING_VERTICAL2垂直的水平面,如墙壁。
FACING_INVALID3无效或不支持的平面类型。 这可能是由于环境变化、光线条件或其他因素导致。

ARPointOrientationMode

枚举,朝向模式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
INITIALIZED_TO_IDENTITY0与世界坐标系的朝向一致,但会稍作调整。
ESTIMATED_SURFACE_NORMAL1朝向由估计的平面法向量决定。 点的方向将与平面的方向一致,适用于需要根据平面特征来确定点方向的应用场景。

ARPoseMode

枚举,创建世界坐标系的方式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
GRAVITY0由重力确定。 世界坐标系的Y轴与重力方向一致,原点为设备所在的原始位置。参见坐标系说明
GRAVITY_AND_HEADING1由重力和指南针确定。 世界坐标系的Y轴与重力方向一致,X轴指向指南针北向,原点为设备所在的原始位置。参见坐标系说明说明: 该选项当前仅支持省电模式,请将ARPowerMode置为POWER_SAVING以启动该选项。

ARPoseType

枚举,位姿类型。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
IDENTITY0默认状态,即没有任何旋转或平移。
ROTATE_901顺时针旋转90度。
ROTATE_1802顺时针旋转180度。
ROTATE_2703顺时针旋转270度。

ARPowerMode

枚举,电源功耗模式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
NORMAL0正常模式。 AR Engine在性能和电源消耗之间保持平衡。
POWER_SAVING1节能模式。 AR Engine优先减少电源消耗。这可能会降低一些性能,以换取更长的电池寿命。
PERFORMANCE_FIRST2性能优先模式。 AR Engine优先考虑性能,提供更高的处理能力和更快的响应时间。这可能会增加电源消耗。
BOOST3仅输出设备姿态信息模式。 AR Engine仅输出设备的位姿信息,电源消耗低于正常模式。在此模式下,ARPlaneFindingMode等与平面相关的设置不起作用。
ULTRA_POWER_SAVING11超级节能模式。 AR Engine进一步优化电源消耗,提供比节能模式更低的电源消耗,这可能会损失更多的性能。

ARSemanticDenseMode

枚举,高精几何重建识别模式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.0.0(20)

名称说明
DISABLED0关闭高精几何重建识别模式。
NORMAL1正常模式,仅开启稠密点云识别。
CUBE_VOLUME2基于高精几何重建的立方体体积测量模式。
CUBE_SPACE3基于高精几何重建的立方体空间容积测量模式。

ARSemanticMode

枚举,语义模式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
NONE0不使用语义。
PLANE1使用平面语义模式。

ARSemanticPlaneLabel

枚举,当前平面识别到的语义类型。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
UNKNOWN0未知平面类型。
WALL1墙面。
FLOOR2地面。
SEAT3座位,如椅子或凳子。
TABLE4桌子。
CEILING5天花板。
DOOR6门。
WINDOW7窗户。
BED8床。
PLANE_SPACE9平面空间。 起始版本: 6.0.0(20)
CUBE_VOLUME10立方体体积。 起始版本: 6.0.0(20)
CUBE_SPACE11立方体空间容积。 起始版本: 6.0.0(20)

ARTrackingState

枚举,可追踪对象的追踪状态。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
TRACKING0正在追踪。
PAUSED1暂停追踪。
STOPPED2停止追踪。

ARTrackingStateReason

枚举,追踪失败的原因。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
NONE0未知原因。 这可能是由于系统暂时无法识别可追踪对象,但仍在尝试追踪。
EXCESSIVE_MOTION1目标移动过快。 可追踪对象(如平面、点、图像等)移动速度过快,导致AR Engine无法准确识别和跟踪。
INSUFFICIENT_FEATURES2视觉特征不足。 可追踪对象的视觉特征不够丰富,如纹理不明显、颜色过于单一等,导致AR Engine无法准确识别和跟踪。

ARTrackableType

枚举,可追踪对象类型,如平面、点等。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
BASE0x41520100基本的可追踪对象类型,AR Engine默认类型。
PLANE0x41520101平面类型的可追踪对象。
POINT0x41520102点类型的可追踪对象。
AUGMENTED_IMAGE0x41520104增强型图像类型的可追踪对象。
FACE0x50000002人脸类型的可追踪对象。 起始版本: 6.1.0(23)
INVALID0无效的可追踪对象类型。

ARType

枚举,AR能力类型。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

名称说明
WORLD0x01环境追踪能力。
BODY0x02人体跟踪与骨骼关键点识别能力。 起始版本: 6.1.0(23)
FACE0x10人脸追踪能力。 起始版本: 6.1.0(23)
IMAGE0x80图像识别能力。

Distortion

type Distortion = [number, number, number, number, number]

类型别名,用于表示一个包含五个数字的数组,为相机的畸变系数。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

类型说明
number表示值类型为数字,相机内参,取值范围无限制。 其中Distortion [0]~Distortion [2]表示k1,k2,k3(径向畸变系数),Distortion [3]~Distortion [4]是切向畸变系数。

ARAugmentedImageDatabase

增强图像数据库对象。

用于表示增强图像数据库的相关操作,如序列化、反序列化、添加图像、获取图像数量等。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

ARAugmentedImageDatabase.deserialize

deserialize(buffer: ArrayBuffer): Promise<void>

将增强图像数据库数据反序列化为一个新的增强图像数据库对象。使用Promise异步回调。

这个操作是耗时的,建议在后台线程中运行。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

参数:

参数名类型必填说明
bufferArrayBuffer增强图像数据库的ArrayBuffer数据。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见通用错误码AR Engine错误码

错误码ID错误信息
401Invalid parameters, for example, the input parameter is empty or invalid.
1009200001Failure.
1009200008Resource exhausted.

示例:

import { arEngine } from '@kit.AREngine';

let buffer: ArrayBuffer = new ArrayBuffer(0);
let imageDatabase: arEngine.ARAugmentedImageDatabase = await arEngine.createARAugmentedImageDatabase();
await imageDatabase.deserialize(buffer);

ARAugmentedImageDatabase.serialize

serialize(): Promise<ArrayBuffer>

将增强图像数据库数据序列化为一个缓冲区。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

返回值:

类型说明
Promise<ArrayBuffer>Promise对象,返回ArrayBuffer对象。 ArrayBuffer是一个缓冲区,这个缓冲区包含了增强图像数据库的序列化数据。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

let imageDatabase: arEngine.ARAugmentedImageDatabase = await arEngine.createARAugmentedImageDatabase();
await imageDatabase.serialize();

ARAugmentedImageDatabase.addImage

addImage(name: string, pixelMap: image.PixelMap, widthInMeters: number): Promise<ARAddAugmentedImageResult>

将图像添加到图像数据库中,并输出相应图像的索引(Index)。开发者可以通过ARAugmentedImageDatabase.getCapacity获取可添加图像的最大数量,通过ARConfig.addAugmentedImageMode接口来设置调用此接口后的行为。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

参数:

参数名类型必填说明
namestring图像名称。 不允许为空,255个字符以内,超过255个的字符将会被丢弃。
pixelMapimage.PixelMap图像的信息。
widthInMetersnumber图像中对象的实际物理宽度。 无限制,单位为m。默认值是A4纸张的大小。

返回值:

类型说明
Promise<ARAddAugmentedImageResult>Promise对象,返回ARAddAugmentedImageResult对象。 ARAddAugmentedImageResult是一个表示添加增强图像结果的数据。

错误码:

以下错误码的详细介绍请参见通用错误码AR Engine错误码

错误码ID错误信息
401Invalid parameters, for example, the input parameter is empty or invalid.
1009200001Failure.
1009200008Resource exhausted.
1009200011The number of images added exceeds the maximum.
1009200012Attempted to add an image with insufficient quality to the image database.

示例:

import { image } from '@kit.ImageKit';
import { arEngine } from '@kit.AREngine';

let color: ArrayBuffer = new ArrayBuffer(96); // 96为需要创建的像素buffer大小,取值为:height * width *4
let opts: image.InitializationOptions = {
editable: true,
pixelFormat: image.PixelMapFormat.RGBA_8888,
size: { height: 4, width: 6 }
}
let pixelMap: image.PixelMap = image.createPixelMapSync(color, opts);
let imageDatabase: arEngine.ARAugmentedImageDatabase = await arEngine.createARAugmentedImageDatabase();
await imageDatabase.addImage('xx', pixelMap, 0.3);

ARAugmentedImageDatabase.getImageCount

getImageCount(): number

获取图像数据库中图像的数量。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

返回值:

类型说明
number返回图像的数量。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

let imageDatabase: arEngine.ARAugmentedImageDatabase = await arEngine.createARAugmentedImageDatabase();
imageDatabase.getImageCount();

ARAugmentedImageDatabase.getCapacity

getCapacity(): number

获取通过调用ARAugmentedImageDatabase.addImage接口所能添加的图像最大数量。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

返回值:

类型说明
number返回可添加图像的最大数量。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

let imageDatabase: arEngine.ARAugmentedImageDatabase = await arEngine.createARAugmentedImageDatabase();
imageDatabase.getCapacity();

ARAugmentedImageDatabase.getImageAddMode

getImageAddMode(): ARAddAugmentedImageMode

获取图片添加模式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

返回值:

类型说明
ARAddAugmentedImageMode返回图片的添加模式。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

let imageDatabase: arEngine.ARAugmentedImageDatabase = await arEngine.createARAugmentedImageDatabase();
imageDatabase.getImageAddMode();

ARAugmentedImageDatabase.setImageAddMode

setImageAddMode(mode: ARAddAugmentedImageMode): void

设置图片添加模式。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

参数:

参数名类型必填说明
modeARAddAugmentedImageMode添加图片模式。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

let imageDatabase: arEngine.ARAugmentedImageDatabase = await arEngine.createARAugmentedImageDatabase();
imageDatabase.setImageAddMode(arEngine.ARAddAugmentedImageMode.UPDATE);

ARAugmentedImageDatabase.release

release(): Promise<void>

释放增强图像数据库对象ARAugmentedImageDatabase占用的内存。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

let imageDatabase: arEngine.ARAugmentedImageDatabase = await arEngine.createARAugmentedImageDatabase();
await imageDatabase.release();

ARCameraIntrinsics

相机内参。

包括fx、fy、cx、cy和畸变参数。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

名称类型只读可选说明
fxnumber相机在x轴上的焦距。 可取任意值。
fynumber相机在y轴上的焦距。 可取任意值。
cxnumber相机在x轴上的主点。 可取任意值。
cynumber相机在y轴上的主点。 可取任意值。
distortionDistortion相机畸变参数。

ARConfig

ARSession的功能配置参数。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

名称类型只读可选说明
typeARTypeAR能力类型。
planeFindingModeARPlaneFindingMode平面检测模式。 默认为HORIZONTAL_AND_VERTICAL。
powerModeARPowerMode电源功耗模式。 默认为NORMAL。
focusModeARFocusMode对焦模式。 默认为FIXED。
semanticModeARSemanticMode语义模式。 默认为NONE。
maxMapSizenumber存储地图数据的最大内存大小,单位为MB。可设定范围100MB~16GB,默认800MB。 建议根据设备的内存容量设置内存大小。超出硬件限制可能会导致意外错误。
poseModeARPoseMode创建世界坐标系的方式。 默认为GRAVITY。
depthModeARDepthMode深度模式。 默认为DISABLED。
meshModeARMeshMode网格模式。 默认为DISABLED。
addAugmentedImageModeARAddAugmentedImageMode添加图片模式。 默认为NORMAL。
semanticDenseModeARSemanticDenseMode高精几何重建识别模式。 默认DISABLED。 起始版本: 6.0.0(20)
cameraLensFacingARCameraLensFacing相机镜头朝向配置项。当cameraLensFacing配置为FRONT时,type配置为ARType.FACE或ARType.BODY才生效。 默认为REAR。 起始版本: 6.1.0(23)
multiFaceModeARMultiFaceMode多人脸模式配置项。 默认为MULTIFACE_DISABLE。 起始版本: 6.1.0(23)
maxDetectedBodyNumnumber当类型为ARType.Body 时,需要检测的人体数量最大值。 默认为1,最大为2,超过2默认为2。 起始版本: 6.1.0(23)

ARPointCloud

可跟踪的3D点云集合。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

名称类型只读可选说明
timestampnumber当前特征点云检测时的时间戳。 以ns为单位。
pointsArray<number>表示点云中所有点的坐标以及坐标对应的置信度数组。

ARSemanticDenseCubeData

高精几何重建对象的立方体数据。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.0.0(20)

名称类型只读可选说明
idnumber当前立方体的ID。
vertexSizenumber当前立方体的顶点数量。
vertexDataArray<number>当前立方体的顶点数据。 对应立方体的8个顶点。索引从立方体后表面开始,按逆时针方向排列。
confidencenumber当前立方体的置信度。取值为0,1,2。
labelARSemanticPlaneLabel当前立方体的语义标签。

ARSemanticDensePointData

高精几何重建对象的稠密点云数据。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.0.0(20)

名称类型只读可选说明
idArrayBuffer稠密点云数据所有点的id数组。 说明: 该类型在使用时,如需转换则为int32类型,转换方法参考数据类型转换说明
positionArrayBuffer稠密点云数据所有点的坐标,以及它们的置信度数组,格式为[x0, y0, z0, c0, x1, y1, z1, c1, x2, ...]。 说明: 该类型在使用时,如需转换则为float32类型,转换方法参考数据类型转换说明
colorArrayBuffer稠密点云数据所有点的颜色,以 rgba 格式表示,格式为 [r0, g0, b0, a0, r1, g1, b1, a1, r2,...]。 说明: 该类型在使用时,如需转换则为int32类型,转换方法参考数据类型转换说明

ARSession

管理AR Engine的系统状态。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

ARSession.getFrame

getFrame(): ARFrame

获取AR Engine处理后的一帧数据。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARFrame返回AR Engine处理后的一帧数据。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine, arViewController } from '@kit.AREngine';
import { Node } from '@kit.ArkGraphics3D';

class ARViewCallbackImpl extends arViewController.ARViewCallback {
onAnchorAdd(ctx: arViewController.ARViewContext, node: Node, anchor: arEngine.ARAnchor): void {
// ...
}

onAnchorUpdate(ctx: arViewController.ARViewContext, node: Node, anchor: arEngine.ARAnchor): void {
// ...
}

async onFrameUpdate(ctx: arViewController.ARViewContext, sysBootTs: number): Promise<void> {
if (!ctx.session) {
// 如果没有创建session则退出,关于如何创建session请参考开发指南
return;
}

let arSession: arEngine.ARSession = ctx.session;
let frame: arEngine.ARFrame = arSession.getFrame();
await frame.release();
}
}

ARSession.createAnchor

createAnchor(pose: ARPose): ARAnchor

创建一个用于连续跟踪的锚点。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

参数:

参数名类型必填说明
poseARPose用于创建锚点的位姿对象。

返回值:

类型说明
ARAnchor返回一个锚点对象。

错误码:

以下错误码的详细介绍请参见通用错误码AR Engine错误码

错误码ID错误信息
401Invalid parameters, for example, the input parameter is empty or invalid.
1009200001Failure.

示例:

import { Quaternion, Vec3 } from '@kit.ArkGraphics3D';
import { arEngine } from '@kit.AREngine';

let r: Quaternion = {
x: 0,
y: 0,
z: 0,
w: 0
}
let t: Vec3 = { x: 0, y: 0, z: 0 };
let pose: arEngine.ARPose = arEngine.createARPose(r, t);
// arSession创建参考ARSession.getFrame接口示例代码
arSession.createAnchor(pose);

ARSession.detachAnchor

detachAnchor(anchor: ARAnchor): void

停止追踪并解绑锚点。

由于此函数并没有释放锚点ARAnchor,开发者需要通过调用ARAnchor.release来释放锚点。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

参数:

参数名类型必填说明
anchorARAnchor要解绑的锚点对象。

错误码:

以下错误码的详细介绍请参见通用错误码AR Engine错误码

错误码ID错误信息
401Invalid parameters, for example, the input parameter is empty or invalid.
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let pose: arEngine.ARPose = arSession.getFrame().getCamera().getPose();
let anchor: arEngine.ARAnchor = arSession.createAnchor(pose);
arSession.detachAnchor(anchor);

ARSession.getAllAnchors

getAllAnchors(): Array<ARAnchor>

获取所有状态的锚点。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
Array<ARAnchor>返回一个锚点对象组成的数组。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.
1009200008Resource exhausted.

示例:

// arSession创建参考ARSession.getFrame接口示例代码
arSession.getAllAnchors();

ARSession.getAllTrackables

getAllTrackables(type: ARTrackableType): Array<ARTrackable>

获取指定类型的所有可追踪对象。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

参数:

参数名类型必填说明
typeARTrackableType可追踪对象的类型。

返回值:

类型说明
Array<ARTrackable>返回一个可追踪对象组成的数组。

错误码:

以下错误码的详细介绍请参见通用错误码AR Engine错误码

错误码ID错误信息
401Invalid parameters, for example, the input parameter is empty or invalid.
1009200001Failure.
1009200008Resource exhausted.

示例:

// arSession创建参考ARSession.getFrame接口示例代码
arSession.getAllTrackables(arEngine.ARTrackableType.BASE);

ARSession.openFlash

openFlash(): Promise<boolean>

打开设备的闪光灯。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
Promise<boolean>Promise对象,返回true表示设备的闪光灯已开启,返回false表示设备闪光灯未开启。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

// arSession创建参考ARSession.getFrame接口示例代码
await arSession.openFlash();

ARSession.closeFlash

closeFlash(): Promise<boolean>

关闭设备的闪光灯。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
Promise<boolean>Promise对象,返回true表示设备的闪光灯已关闭,返回false表示设备闪光灯未关闭。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

// arSession创建参考ARSession.getFrame接口示例代码
await arSession.closeFlash();

ARSession.release

release(): Promise<void>

释放管理AR Engine系统状态对象ARSession占用的内存。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

// arSession创建参考ARSession.getFrame接口示例代码
await arSession.release();

ImageComponent

图像组件的基本结构参数。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

名称类型只读可选说明
rowStridenumber图像中两个连续像素行起始位置之间的字节数。行间距始终大于0。
pixelStridenumber图像中两个连续像素起始点之间的字节数。像素间距始终大于0。
bufferArrayBuffer当前帧的平面数据缓冲区对象。 说明: 该类型在使用时,如需转换则为int32类型,转换方法参考数据类型转换说明

ARAddAugmentedImageResult

添加增强图像的结果。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

名称类型只读可选说明
indexnumber图像唯一索引,取值范围0~49。
statenumber添加增强图像的结果状态。成功为0,否则为1009200001。
stateReasonARAddAugmentedImageReason添加图像失败的原因。

ARAnchor

锚点对象。

锚点描述与可追踪对象相关联的空间位置。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

参数:

名称类型只读可选说明
idnumber锚点的索引,取值范围0~49。
trackingStateARTrackingState可追踪对象的追踪状态。

ARAnchor.getPose

getPose(): ARPose

获取锚点在世界坐标系中的位姿信息。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARPose返回位姿对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let anchors: Array<arEngine.ARAnchor> = arSession.getAllAnchors();
anchors[0].getPose();

ARAnchor.detach

detach(): void

停止追踪并解绑锚点。

这个函数不会释放锚点,开发者需要通过调用ARAnchor.release方法来释放锚点。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let anchors: Array<arEngine.ARAnchor> = arSession.getAllAnchors();
anchors[0].detach();

ARAnchor.release

release(): Promise<void>

释放锚点对象ARAnchor占用的内存。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let anchors: Array<arEngine.ARAnchor> = arSession.getAllAnchors();
await anchors[0].release();

ARAugmentedImage

增强图像对象。

这个类继承自ARTrackable类。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

名称类型只读可选说明
extendXnumber表示在X轴上估计的物理图像宽度,单位为m。如果图像的追踪状态为PAUSED或STOPPED,返回的宽度信息是最后一次追踪的宽度。如果图像从未被追踪,返回0。
extendZnumber表示在Z轴上估计的物理图像宽度,单位为m。如果图像的追踪状态为PAUSED或STOPPED,返回的宽度信息是最后一次追踪的宽度。如果图像从未被追踪,返回0。
indexnumber表示增强图像在增强图像数据库中的图像索引,数值范围1~50,为图像在数据库中的唯一标识符。
namestring表示增强图像的图像名称,最大为255Byte,该值可能不唯一。

ARBlendShapes

用于管理人脸微表情,包含若干个表情参数。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.1.0(23)

参数:

名称类型只读可选说明
countnumber表示微表情的个数,最小为0,最大为64。

ARBlendShapes.getData

getData(): ArrayBuffer

获取所有的表情参数。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
ArrayBuffer微表情数据。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
let faceBlendShapes: arEngine.ARBlendShapes = face.getBlendShapes();
faceBlendShapes.getData();

ARBlendShapes.getTypes

getTypes(): Array<ARBlendShapeType>

获取所有表情参数类型。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
Array<ARBlendShapeType>微表情的类型。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
let faceBlendShapes: arEngine.ARBlendShapes = face.getBlendShapes();
faceBlendShapes.getTypes();

ARBlendShapes.release

release(): Promise<void>

释放ARBlendShapes对象。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
let faceBlendShapes: arEngine.ARBlendShapes = face.getBlendShapes();
faceBlendShapes.release();

ARLandmark

用于管理人脸关键点对象。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.1.0(23)

参数:

名称类型只读可选说明
countnumber表示人脸关键点的个数,固定为84。

ARLandmark.getVertices2D

getVertices2D(): ArrayBuffer

获取人脸关键点的2D位姿信息。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
ArrayBuffer2D位姿信息。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
let faceLandmark: arEngine.ARLandmark = face.getLandmark();
faceLandmark.getVertices2D();

ARLandmark.getVertices3D

getVertices3D(): ArrayBuffer

获取人脸关键点的3D位姿信息。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
ArrayBuffer3D位姿信息。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
let faceLandmark: arEngine.ARLandmark = face.getLandmark();
faceLandmark.getVertices3D();

ARLandmark.release

release(): Promise<void>

释放ARLandmark对象。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
let faceLandmark: arEngine.ARLandmark = face.getLandmark();
await faceLandmark.release();

ARCamera

当前帧的摄像机信息。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

参数:

名称类型只读可选说明
stateARTrackingState可追踪对象的追踪状态。
stateReasonARTrackingStateReason追踪失败的原因。
viewMatrixMatrix4摄像机在最新帧中的视图矩阵。

ARCamera.getPose

getPose(): ARPose

获取摄像机在世界空间中的位姿。

位姿信息可参考坐标系说明

位姿信息仅在状态返回TRACKING时才可使用。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARPose返回一个位姿对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let camera: arEngine.ARCamera = frame.getCamera();
camera.getPose();

ARCamera.getDisplayOrientedPose

getDisplayOrientedPose(): ARPose

获取面向显示屏的虚拟摄像机在世界空间中的位姿。

位姿信息可参考坐标系说明

位姿信息仅在状态返回TRACKING时才可使用。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARPose返回一个位姿对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let camera: arEngine.ARCamera = frame.getCamera();
camera.getDisplayOrientedPose();

ARCamera.getProjectionMatrix

getProjectionMatrix(near: number, far: number): Matrix4

获取用于在相机图像上渲染虚拟内容的投影矩阵。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

参数:

参数名类型必填说明
nearnumber相机坐标系统中的近裁剪平面的距离,单位为m,值必须大于0。
farnumber相机坐标系统中的远裁剪平面的距离,单位为m,值必须大于0且大于near。

返回值:

类型说明
Matrix4返回一个Matrix4对象。 Matrix4是一个包含16个浮点数的数组,表示OpenGL中的列主旋转变换矩阵。

错误码:

以下错误码的详细介绍请参见通用错误码AR Engine错误码

错误码ID错误信息
401Invalid parameters, for example, the input parameter is empty or invalid.
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let camera: arEngine.ARCamera = frame.getCamera();
camera.getProjectionMatrix(0, 1);

ARCamera.getImageIntrinsics

getImageIntrinsics(): ARCameraIntrinsics

获取离线相机的内参对象。

该对象可用于获取相机的焦距、图像尺寸、主点和畸变参数。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARCameraIntrinsics返回一个相机内参对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let camera: arEngine.ARCamera = frame.getCamera();
camera.getImageIntrinsics();

ARFace

用于人脸跟踪时返回人脸跟踪的结果。

这个类继承自ARTrackable类。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.1.0(23)

ARFace.getGeometry

getGeometry(): ARGeometry

获取人脸拓扑结构对象,即人脸Mesh对象。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
ARGeometry人脸拓扑结构对象,即人脸Mesh对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
face.getGeometry();

ARFace.getBlendShapes

getBlendShapes(): ARBlendShapes

获取人脸微表情对象。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
ARBlendShapes人脸微表情对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
face.getBlendShapes();

ARFace.getLandmark

getLandmark(): ARLandmark

获取人脸关键点对象。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
ARLandmark人脸关键点对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
face.getLandmark();

ARFaceAnchor

一个人脸类型的锚点对象。

这个类继承自ARAnchor类。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.1.0(23)

ARFaceAnchor.getFace

getFace(): ARFace

获取人脸跟踪的结果。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
ARFace人脸跟踪的结果。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine, arViewController } from '@kit.AREngine';
import { Node } from '@kit.ArkGraphics3D';

// 该方法在ARViewCallback中使用
async onAnchorAdd(ctx: arViewController.ARViewContext, node: Node, anchor: arEngine.ARAnchor): Promise<void> {
let faceAnchor: arEngine.ARFaceAnchor = anchor as arEngine.ARFaceAnchor;
let face: arEngine.ARFace = faceAnchor.getFace();
await face.release();
}

ARBodyLandmark2D

人体骨骼关键点信息基本结构参数。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.1.0(23)

名称类型只读可选说明
xnumber骨骼关键点x坐标。
ynumber骨骼关键点y坐标。
confidencenumber骨骼关键点置信度。取值范围[0,1]。
typeARBodyLandmarkType骨骼关键点点类型。
isValidboolean骨骼关键点是否有效。true:有效,false:无效。

ARBody

用于人体跟踪时返回跟踪结果,包含人体骨骼关键点数据。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.1.0(23)

名称类型只读可选说明
trackIdnumber表示当前人体骨骼关键点ID。
timeStampnumber当前帧的时间戳,单位ns

ARBody.getLandmarks2D

getLandmarks2D(): Array<ARBodyLandmark2D>

获取人体骨骼关键点信息,包括关键点坐标、类型、置信度等。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
Array<ARBodyLandmark2D>返回人体骨骼关键点信息数组。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
const frame: arEngine.ARFrame = arSession.getFrame();
const arbodys: arEngine.ARBody[] = frame.acquireBodySkeleton();
if (arbodys.length > 0) {
arbodys[0].getLandmarks2D();
}

ARFrame

AR Engine处理的一帧数据。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

名称类型只读可选说明
timestampnumber表示当前帧的时间戳。 以ns为单位。
pointCloudARPointCloud表示当前帧中可追踪的3D点云集合。

ARFrame.getCamera

getCamera(): ARCamera

获取当前帧的相机对象。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARCamera返回当前帧的相机对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
frame.getCamera();

ARFrame.getUpdatedTrackables

getUpdatedTrackables(type: ARTrackableType): Array<ARTrackable>

获取更新后的指定类型的可追踪对象。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

参数:

参数名类型必填说明
typeARTrackableType可追踪对象类型。

返回值:

类型说明
Array<ARTrackable>返回一个可追踪对象组成的数组。

错误码:

以下错误码的详细介绍请参见通用错误码AR Engine错误码

错误码ID错误信息
401Invalid parameters, for example, the input parameter is empty or invalid.
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
frame.getUpdatedTrackables(arEngine.ARTrackableType.BASE);

ARFrame.hitTest

hitTest(x: number, y: number): Array<ARHitResult>

根据相机投射光线,获取预览区域中的像素坐标(pixelX和pixelY)来确定射线方向,然后检测这个射线在平面或点云中是否有交点。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

参数:

参数名类型必填说明
xnumber表示预览区域中的像素的X坐标。 该值由设备显示分辨率大小确定。
ynumber表示预览区域中的像素的Y坐标。 该值由设备显示分辨率大小确定。

返回值:

类型说明
Array<ARHitResult>返回一个命中检测结果对象组成的数组。

错误码:

以下错误码的详细介绍请参见通用错误码AR Engine错误码

错误码ID错误信息
401Invalid parameters, for example, the input parameter is empty or invalid.
1009200001Failure.
1009200008Resource exhausted.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
frame.hitTest(0, 0);

ARFrame.acquireSceneMesh

acquireSceneMesh(): ARSceneMesh

获取当前帧的场景网格数据。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARSceneMesh返回环境网格数据的集合。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.
1009200008Resource exhausted.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
frame.acquireSceneMesh();

ARFrame.acquireDepthImage16Bits

acquireDepthImage16Bits(): ARImage

获取当前帧对应的深度图像对象。

深度图像是索引0处的单个16位平面。每个像素包含到相机平面的距离,以mm为单位,可表示的深度范围在0mm~65535mm之间,即约65m。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARImage返回相机视频流帧对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
frame.acquireDepthImage16Bits();

ARFrame.acquireDepthConfidenceImage

acquireDepthConfidenceImage(): ARImage

获取当前帧的深度置信度图像。

置信度值为0、1和2,0表示估计深度值的置信度最低,1表示估计深度值置信度中等,2表示估计深度值置信度最高,深度置信度图像的宽高与深度图像一致。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARImage返回相机视频流帧对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
frame.acquireDepthConfidenceImage();

ARFrame.acquireSemanticDense

acquireSemanticDense(): ARSemanticDenseData

获取高精几何重建对象数据。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.0.0(20)

返回值:

类型说明
ARSemanticDenseData返回当前帧的高精几何重建对象数据。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
frame.acquireSemanticDense();

ARFrame.acquireBodySkeleton

acquireBodySkeleton(): Array<ARBody>

获取人体对象,该对象包含人体骨骼关键点信息。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
Array<ARBody>返回人体对象组成的数组。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
frame.acquireBodySkeleton();

ARFrame.release

release(): Promise<void>

释放帧数据对象ARFrame占用的内存。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
await frame.release();

ARGeometry

用于描述人脸拓扑结构,即人脸Mesh。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 6.1.0(23)

参数:

名称类型只读可选说明
verticesSizenumber表示顶点数组的大小。
triangleIndicesCountnumber表示三角形索引的数量。
texCoordSizenumber表示纹理坐标数组的大小。
indicesSizenumber表示索引数组的大小。
triangleLabelsSizenumber表示三角形标签数组的大小。

ARGeometry.getVertices

getVertices(): ArrayBuffer

获取人脸Mesh顶点数组。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
ArrayBuffer人脸Mesh顶点数组。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
let faceGeometry: arEngine.ARGeometry = face.getGeometry();
faceGeometry.getVertices();

ARGeometry.getTexCoord

getTexCoord(): ArrayBuffer

获取人脸Mesh纹理坐标点数组。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
ArrayBuffer人脸Mesh纹理坐标点数组。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
let faceGeometry: arEngine.ARGeometry = face.getGeometry();
faceGeometry.getTexCoord();

ARGeometry.getIndices

getIndices(): ArrayBuffer

获取人脸Mesh三角面下标数组

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
ArrayBuffer人脸Mesh三角面下标数组。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
let faceGeometry: arEngine.ARGeometry = face.getGeometry();
faceGeometry.getIndices();

ARGeometry.getTriangleLabels

getTriangleLabels(): ArrayBuffer

获取人脸Mesh三角面标签。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
ArrayBuffer人脸Mesh三角面标签。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
let faceGeometry: arEngine.ARGeometry = face.getGeometry();
faceGeometry.getTriangleLabels();

ARGeometry.release

release(): Promise<void>

释放ARGeometry对象。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.1.0(23)

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = session.getAllTrackables(arEngine.ARTrackableType.FACE);
let face: arEngine.ARFace = trackables[0] as arEngine.ARFace;
let faceGeometry: arEngine.ARGeometry = face.getGeometry();
await faceGeometry.release();

ARHitResult

命中检测结果对象,描述单个可跟踪对象的命中检测结果。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

参数:

名称类型只读可选说明
distancenumber从相机到命中位置的距离,单位为m,其值范围0~65535。

ARHitResult.getHitPose

getHitPose(): ARPose

获取交点位姿。

位姿信息可参考坐标系说明

如果ARPointOrientationMode是ESTIMATED_SURFACE_NORMAL,则 X+ 是射线的垂直向量,也就是平面的平行向量,Y+ 是平面的法向量,Z+ 是平面的平行向量,大致指向相机。

如果ARPointOrientationMode是INITIALIZED_TO_IDENTITY,则坐标的旋转不会随着平面的角度变化而变化。X+ 是射线的垂直向量,指向右侧(从设备的视角),Y+ 指向上方,Z+ 大致指向相机。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARPose返回一个位姿对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let hitResult: Array<arEngine.ARHitResult> = frame.hitTest(0, 0);
hitResult[0].getHitPose();

ARHitResult.getTrackable

getTrackable(): ARTrackable

获取被命中的可追踪对象。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARTrackable返回可被追踪的对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let hitResult: Array<arEngine.ARHitResult> = frame.hitTest(0, 0);
hitResult[0].getTrackable();

ARHitResult.createAnchor

createAnchor(): ARAnchor

在交点(intersection)处创建一个锚点。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARAnchor返回一个锚点对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let hitResult: Array<arEngine.ARHitResult> = frame.hitTest(0, 0);
hitResult[0].createAnchor();

ARHitResult.release

release(): Promise<void>

释放命中检测结果对象ARHitResult占用的内存。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let hitResult: Array<arEngine.ARHitResult> = frame.hitTest(0, 0);
await hitResult[0].release();

ARImage

相机视频流帧对象。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

名称类型只读可选说明
formatARImageFormat图像数据格式。
widthnumber当前帧的图像宽度,以Pixel为单位。其数值范围与设备相机像素有关。
heightnumber当前帧的图像高度,以Pixel为单位。其数值范围与设备相机像素有关。
imageTimestampnumber图像的时间戳,以ns为单位。
planesArray<ImageComponent>图像组件的基本结构参数列表。

ARImage.release

release(): Promise<void>

释放相机视频流帧对象ARImage占用的内存。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let image: arEngine.ARImage = frame.acquireDepthImage16Bits();
await image.release();

ARPlane

平面对象,描述被检测到的可跟踪平面信息。

这个类继承自ARTrackable类。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

名称类型只读可选说明
planeTypeARPlaneType平面类型。
extendXnumber平面边界矩形沿平面局部坐标系X轴的长度,以m为单位,数值范围无限制。
extendZnumber平面边界矩形沿平面局部坐标系Z轴的长度,以m为单位,数值范围无限制。
labelARSemanticPlaneLabel当前平面识别到的语义类型。

ARPlane.getPolygonXZ

getPolygonXZ(): ArrayBuffer

获取检测到的平面2D顶点数组。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ArrayBuffer返回一个ArrayBuffer缓冲区对象,这个对象包含顶点坐标的数组。表示平面局部坐标系X-Z平面的坐标。 说明: 该类型在使用时,如需转换则为float32类型,转换方法参考数据类型转换说明

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = arSession.getAllTrackables(arEngine.ARTrackableType.PLANE);
let plane = trackables[0] as arEngine.ARPlane;
plane.getPolygonXZ();

ARPlane.getSubsumedBy

getSubsumedBy(): ARPlane

获取平面的父平面(当平面与另一个平面合并时会生成父平面)。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARPlane返回一个平面对象,表示父平面。如果没有父平面,将返回undefined。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = arSession.getAllTrackables(arEngine.ARTrackableType.PLANE);
let plane: arEngine.ARPlane = trackables[0] as arEngine.ARPlane;
plane.getSubsumedBy();

ARPlane.isPoseInExtents

isPoseInExtents(pose: ARPose): boolean

检查给定位姿是否在平面的边界矩形内。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

参数:

参数名类型必填说明
poseARPose位姿对象。

返回值:

类型说明
boolean返回true表示位姿在平面的边界矩形内,false表示位姿不在平面的边界矩形内。

错误码:

以下错误码的详细介绍请参见通用错误码AR Engine错误码

错误码ID错误信息
401Invalid parameters, for example, the input parameter is empty or invalid.
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = arSession.getAllTrackables(arEngine.ARTrackableType.PLANE);
let pose: arEngine.ARPose = trackables[0].getPose();
let plane: arEngine.ARPlane = trackables[0] as arEngine.ARPlane;
plane.isPoseInExtents(pose);

ARPlane.isPoseInPolygon

isPoseInPolygon(pose: ARPose): boolean

检查给定位姿是否在平面的边界多边形内。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

参数:

参数名类型必填说明
poseARPose位姿对象。

返回值:

类型说明
boolean返回true表示位姿在平面的边界多边形内,false表示位姿不在平面的边界多边形内。

错误码:

以下错误码的详细介绍请参见通用错误码AR Engine错误码

错误码ID错误信息
401Invalid parameters, for example, the input parameter is empty or invalid.
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = arSession.getAllTrackables(arEngine.ARTrackableType.PLANE);
let pose: arEngine.ARPose = trackables[0].getPose();
let plane: arEngine.ARPlane = trackables[0] as arEngine.ARPlane;
plane.isPoseInPolygon(pose);

ARPlaneAnchor

一个平面类型的锚点对象。

这个类继承自ARAnchor类。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

ARPlaneAnchor.getPlane

getPlane(): ARPlane

获取平面。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARPlane返回平面对象,描述被检测到的可跟踪平面信息。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine, ARView, arViewController } from '@kit.AREngine';
import { Node } from '@kit.ArkGraphics3D';
// 该方法在ARViewCallback中使用
async onAnchorAdd(ctx: arViewController.ARViewContext, node: Node, anchor: arEngine.ARAnchor): Promise<void> {
let planeAnchor: arEngine.ARPlaneAnchor = anchor as arEngine.ARPlaneAnchor;
let plane: arEngine.ARPlane = planeAnchor.getPlane();
await plane.release();
}

ARPoint

可被追踪的3D点云对象。

这个类继承自ARTrackable类。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

名称类型只读可选说明
orientationModeARPointOrientationMode朝向模式。

ARPose

位姿对象。

代表从一个坐标系到另一个坐标系的不可改变刚性变换,如平移或旋转。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

名称类型只读可选说明
rotationQuaternion来自位姿对象的姿势数据,包括旋转分量。
translationVec3来自位姿对象的姿势数据,包括平移组件。

ARPose.getMatrix

getMatrix(): Matrix4

将位姿数据转换为一个4x4的矩阵。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
Matrix4返回一个包含16个浮点数的数组,按照列主序(column-major order)存储。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let camera: arEngine.ARCamera = frame.getCamera();
let pose: arEngine.ARPose = camera.getPose();
pose.getMatrix();

ARPose.release

release(): Promise<void>

释放位姿对象ARPose占用的内存。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let camera: arEngine.ARCamera = frame.getCamera();
let pose: arEngine.ARPose = camera.getPose();
await pose.release();

ARSceneMesh

环境网格数据集合。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

名称类型只读可选说明
verticesSizenumber场景网格中的顶点数量。 最小为0,无上限。
triangleIndicesSizenumber场景网格中的三角形索引数量。最小为0,无上限。

ARSceneMesh.getVertices

getVertices(): ArrayBuffer

获取场景网格中的顶点坐标数据。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ArrayBuffer返回一个ArrayBuffer缓冲区对象。这个缓冲区包含了顶点在平面局部坐标系X-Z平面的坐标。 说明: 该类型在使用时,如需转换则为float32类型,转换方法参考数据类型转换说明

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let sceneMesh: arEngine.ARSceneMesh = frame.acquireSceneMesh();
sceneMesh.getVertices();

ARSceneMesh.getVertexNormals

getVertexNormals(): ArrayBuffer

获取场景网格中的顶点法线坐标数据。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ArrayBuffer返回一个ArrayBuffer缓冲区对象。这个缓冲区包含了顶点在平面局部坐标系X-Z平面的坐标。 说明: 该类型在使用时,如需转换则为float32类型,转换方法参考数据类型转换说明

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let sceneMesh: arEngine.ARSceneMesh = frame.acquireSceneMesh();
sceneMesh.getVertexNormals();

ARSceneMesh.getTriangleIndices

getTriangleIndices(): ArrayBuffer

获取场景网格中的三角形索引数据。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ArrayBuffer返回一个ArrayBuffer缓冲区对象。这个缓冲区包含了顶点在平面局部坐标系X-Z平面的坐标。 说明: 该类型在使用时,如需转换则为int32类型,转换方法参考数据类型转换说明

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let sceneMesh: arEngine.ARSceneMesh = frame.acquireSceneMesh();
sceneMesh.getTriangleIndices();

ARSceneMesh.release

release(): Promise<void>

释放环境网格数据对象ARSceneMesh占用的内存。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let sceneMesh: arEngine.ARSceneMesh = frame.acquireSceneMesh();
await sceneMesh.release();

ARSemanticDenseData

表示高精几何重建对象数据的集合。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.0.0(20)

名称类型只读可选说明
timestampnumber高精几何重建对象数据的时间戳。以ns为单位。
pointDataSizenumber高精几何重建对象数据中稠密点云数量的大小。最小为0,最大为10000。
cubeDataSizenumber高精几何重建对象数据中立方体数量的大小。最小为0,最大为1。

ARSemanticDenseData.acquirePointData

acquirePointData(): ARSemanticDensePointData

高精几何重建对象数据中稠密点云数据信息。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.0.0(20)

返回值:

类型说明
ARSemanticDensePointData返回所有高精几何重建对象数据中稠密点云数据信息。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let semanticData: arEngine.ARSemanticDenseData = frame.acquireSemanticDense();
semanticData.acquirePointData();

ARSemanticDenseData.acquireCubeData

acquireCubeData(): Array<ARSemanticDenseCubeData>

高精几何重建对象数据中立方体数据信息。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.0.0(20)

返回值:

类型说明
Array<ARSemanticDenseCubeData>返回一个高精几何重建对象数据的立方体数据信息的列表。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let semanticData: arEngine.ARSemanticDenseData = frame.acquireSemanticDense();
semanticData.acquireCubeData();

ARSemanticDenseData.release

release(): Promise<void>

释放高精几何重建对象数据ARSemanticDenseData占用的内存。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 6.0.0(20)

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let frame: arEngine.ARFrame = arSession.getFrame();
let semanticData: arEngine.ARSemanticDenseData = frame.acquireSemanticDense();
await semanticData.release();

ARTrackable

可追踪的对象。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

名称类型只读可选说明
typeARTrackableType可追踪对象类型。
stateARTrackingState可追踪对象的追踪状态。

ARTrackable.getPose

getPose(): ARPose

获取追踪对象的位姿信息。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
ARPose返回可追踪对象的位姿信息。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = arSession.getAllTrackables(arEngine.ARTrackableType.BASE);
trackables[0].getPose();

ARTrackable.getAnchors

getAnchors(): Array<ARAnchor>

获取可跟踪对象的锚点信息。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
Array<ARAnchor>返回一个锚点对象组成的数组。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = arSession.getAllTrackables(arEngine.ARTrackableType.BASE);
trackables[0].getAnchors();

ARTrackable.createAnchor

createAnchor(pose: ARPose): ARAnchor

使用可追踪对象的位姿信息创建一个锚点对象。这个锚点将与当前可追踪对象绑定。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

参数:

参数名类型必填说明
poseARPose位姿对象。

返回值:

类型说明
ARAnchor返回一个锚点对象。

错误码:

以下错误码的详细介绍请参见通用错误码AR Engine错误码

错误码ID错误信息
401Invalid parameters, for example, the input parameter is empty or invalid.
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = arSession.getAllTrackables(arEngine.ARTrackableType.BASE);
let pose: arEngine.ARPose = trackables[0].getPose();
trackables[0].createAnchor(pose);

ARTrackable.release

release(): Promise<void>

释放被追踪对象ARTrackable占用的内存。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。

起始版本: 5.1.0(18)

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

// arSession创建参考ARSession.getFrame接口示例代码
let trackables: Array<arEngine.ARTrackable> = arSession.getAllTrackables(arEngine.ARTrackableType.BASE);
await trackables[0].release();

arEngine.createARAugmentedImageDatabase

createARAugmentedImageDatabase(): Promise<ARAugmentedImageDatabase>

创建一个增强型图像数据库。使用Promise异步回调。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

返回值:

类型说明
Promise<ARAugmentedImageDatabase>Promise对象,返回ARAugmentedImageDatabase对象。

错误码:

以下错误码的详细介绍请参见AR Engine错误码

错误码ID错误信息
1009200001Failure.

示例:

import { arEngine } from '@kit.AREngine';

await arEngine.createARAugmentedImageDatabase();

arEngine.createARPose

createARPose(rotation: Quaternion, translation: Vec3): ARPose

在AR Engine中创建和初始化一个新的ARPose对象并返回。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.AREngine.Core

起始版本: 5.1.0(18)

参数:

参数名类型必填说明
rotationQuaternion表示旋转组件的数据。这个参数是Quaternion类型,通常是一个包含四个元素的数组,为四元数,用于表示和操作3D旋转。
translationVec3表示平移组件的数据。这个参数是Vec3类型,通常是一个包含三个元素的数组,表示3D向量的x、y和z分量,用于表示物体的平移位置。

返回值:

类型说明
ARPose返回创建的位姿对象。

错误码:

以下错误码的详细介绍请参见通用错误码AR Engine错误码

错误码ID错误信息
401Invalid parameters, for example, the input parameter is empty or invalid.
1009200001Failure.

示例:

import { Quaternion, Vec3 } from '@kit.ArkGraphics3D';
import { arEngine } from '@kit.AREngine';

let r: Quaternion = {
x: 0,
y: 0,
z: 0,
w: 0
};
let t: Vec3 = { x: 0, y: 0, z: 0 };
arEngine.createARPose(r, t);