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_SLAM | 0 | 运动跟踪及平面识别特性。 |
| ARENGINE_FEATURE_TYPE_DEPTH | 1 | 深度估计特性。 |
| ARENGINE_FEATURE_TYPE_MESH | 2 | 环境Mesh识别特性。 |
| ARENGINE_FEATURE_TYPE_IMAGE | 3 | 图像跟踪特性。 |
| ARENGINE_FEATURE_TYPE_SEMANTIC_DENSE | 4 | 高精几何重建特性。 |
| ARENGINE_FEATURE_TYPE_SEMANTIC | 5 | 平面及物体语义特性。 |
| ARENGINE_FEATURE_TYPE_FACE | 6 | 人脸识别与跟踪特性。 |
| ARENGINE_FEATURE_TYPE_BODY | 7 | 人体骨骼点识别与跟踪特性。 |
ARAddAugmentedImageMode
枚举,添加图片模式。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| NORMAL | 0 | 正常模式。 当添加的图片数量超过默认的最多图片数量(50)时,AR Engine会报告错误,错误信息见1009200011。 |
| UPDATE | 1 | 更新模式。 当添加的图片数量超过默认的最多图片数量(50)时,AR Engine会删除原有的最旧数据,以添加新的图片。 |
ARAddAugmentedImageReason
枚举,添加图像失败原因。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| NONE | 0 | 无失败原因,图像成功添加。 |
| SIZE_NOT_MATCH | 1 | 图像尺寸不正确。 说明: 图像尺寸评价从宽高比、分辨率两个维度进行。建议宽高比、分辨率的评价为Unfit以上。 |
| LIGHT_ANOMALY | 2 | 图像亮度过亮或过暗。 |
| FEATURE_LIMIT | 3 | 图像颜色单一,如纯色图片。 |
| OTHER | 4 | 其他原因,如图片有反光、光斑,重复性内容等。 |
-
宽高比:
图像宽度与高度之比,如: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_OTHER | 0 | 脸部非关键部位。 |
| LABEL_LOWER_LIP | 1 | 下嘴唇。 |
| LABEL_UPPER_LIP | 2 | 上嘴唇。 |
| LABEL_LEFT_EYE | 3 | 左眼睛。 |
| LABEL_RIGHT_EYE | 4 | 右眼睛。 |
| LABEL_LEFT_BROW | 5 | 左眉毛。 |
| LABEL_RIGHT_BROW | 6 | 右眉毛。 |
| LABEL_BROW_CENTER | 7 | 眉心。 |
| LABEL_NOSE | 8 | 鼻子。 |
ARBlendShapeType
枚举,微表情类型。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 6.1.0(23)
| 名称 | 值 | 说明 |
|---|---|---|
| EYE_BLINK_LEFT | 0 | 左眼闭合。 |
| EYE_LOOK_DOWN_LEFT | 1 | 左上眼皮微下垂。 |
| EYE_LOOK_IN_LEFT | 2 | 左眼内部眼皮向左扩。 |
| EYE_LOOK_OUT_LEFT | 3 | 左眼睑向左扩。 |
| EYE_LOOK_UP_LEFT | 4 | 左眼上眼皮微上抬。 |
| EYE_SQUINT_LEFT | 5 | 左下眼睑上抬。 |
| EYE_WIDE_LEFT | 6 | 左眼瞪大眼。 |
| EYE_BLINK_RIGHT | 7 | 闭右眼。 |
| EYE_LOOK_DOWN_RIGHT | 8 | 右上眼皮微下垂。 |
| EYE_LOOK_IN_RIGHT | 9 | 右眼内部眼皮向右扩。 |
| EYE_LOOK_OUT_RIGHT | 10 | 右眼睑向右扩。 |
| EYE_LOOK_UP_RIGHT | 11 | 右眼上眼皮微上抬 |
| EYE_SQUINT_RIGHT | 12 | 右下眼睑上抬。 |
| EYE_WIDE_RIGHT | 13 | 右眼瞪大眼。 |
| JAW_FORWARD | 14 | 下巴朝前。 |
| JAW_LEFT | 15 | 下巴朝左 |
| JAW_RIGHT | 16 | 下巴朝右。 |
| JAW_OPEN | 17 | 张嘴。 |
| MOUTH_FUNNEL | 18 | O型嘴。 |
| MOUTH_PUCKER | 19 | 噘嘴。 |
| MOUTH_LEFT | 20 | 嘴巴向左。 |
| MOUTH_RIGHT | 21 | 嘴巴向右。 |
| MOUTH_SMILE_LEFT | 22 | 左嘴角向左 |
| MOUTH_SMILE_RIGHT | 23 | 右嘴角向右歪。 |
| MOUTH_FROWN_LEFT | 24 | 左嘴角下拉 |
| MOUTH_FROWN_RIGHT | 25 | 右嘴角下拉。 |
| MOUTH_DIMPLE_LEFT | 26 | 左酒窝上抬。 |
| MOUTH_DIMPLE_RIGHT | 27 | 右酒窝上抬。 |
| MOUTH_STRETCH_LEFT | 28 | 嘴角向左拉。 |
| MOUTH_STRETCH_RIGHT | 29 | 嘴角向右拉。 |
| MOUTH_ROLL_LOWER | 30 | 下嘴唇向内抿嘴。 |
| MOUTH_ROLL_UPPER | 31 | 抿上嘴唇。 |
| MOUTH_SHRUG_LOWER | 32 | 撅下嘴唇。 |
| MOUTH_SHRUG_UPPER | 33 | 撅上嘴唇。 |
| MOUTH_UPPER_UP | 34 | 嘴唇上翻。 |
| MOUTH_LOWER_DOWN | 35 | 下嘴唇朝下。 |
| MOUTH_LOWER_OUT | 36 | 下嘴唇朝外。 |
| BROW_DOWN_LEFT | 37 | 左侧眉毛朝下。 |
| BROW_DOWN_RIGHT | 38 | 右侧眉毛朝下。 |
| BROW_INNER_UP | 39 | 双侧眉毛抬眉。 |
| BROW_OUTER_UP_LEFT | 40 | 左眉外侧向上抬 |
| BROW_OUTER_UP_RIGHT | 41 | 右眉外侧向上抬。 |
| CHEEK_PUFF | 42 | 鼓腮。 |
| CHEEK_SQUINT_LEFT | 43 | 左脸颊上抬。 |
| CHEEK_SQUINT_RIGHT | 44 | 右脸颊上抬。 |
| FROWN_NOSE_MOUTH_UP | 45 | 鼻子上抬。 |
| TONGUE_IN | 46 | 舌头在嘴里上下位置。 |
| TONGUE_OUT_SLIGHT | 47 | 舌头直伸。 |
| TONGUE_LEFT | 48 | 舌头朝左。 |
| TONGUE_RIGHT | 49 | 舌头朝右。 |
| TONGUE_UP | 50 | 舌头朝上。 |
| TONGUE_DOWN | 51 | 舌头朝下。 |
| TONGUE_LEFT_UP | 52 | 舌头朝左上。 |
| TONGUE_LEFT_DOWN | 53 | 舌头朝左下。 |
| TONGUE_RIGHT_UP | 54 | 舌头朝右上。 |
| TONGUE_RIGHT_DOWN | 55 | 舌头朝右下。 |
| LEFT_EYEBALL_LEFT | 56 | 左眼球向左。 |
| LEFT_EYEBALL_RIGHT | 57 | 左眼球向右。 |
| LEFT_EYEBALL_UP | 58 | 左眼球向上。 |
| LEFT_EYEBALL_DOWN | 59 | 左眼球向下。 |
| RIGHT_EYEBALL_LEFT | 60 | 右眼球向左。 |
| RIGHT_EYEBALL_RIGHT | 61 | 右眼球向右。 |
| RIGHT_EYEBALL_UP | 62 | 右眼球向上。 |
| RIGHT_EYEBALL_DOWN | 63 | 右眼球向下。 |
ARCameraLensFacing
枚举,摄像机镜头的朝向。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 6.1.0(23)
| 名称 | 值 | 说明 |
|---|---|---|
| REAR | 0 | 后置摄像头。 |
| FRONT | 1 | 前置摄像头。 |
ARDepthMode
枚举,深度模式。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| DISABLED | 0 | 关闭深度模式。 |
| AUTOMATIC | 1 | 开启深度模式。 AR Engine会自动尝试从多种深度源获取深度信息。 说明: 通常有两种深度源,运动算法和硬件深度传感器 (Time of Flight,简称ToF)。目前仅支持使用主RGB相机所获取的运动深度数据。 |
ARFocusMode
枚举,对焦模式。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| FIXED | 0 | 固定焦点模式。 |
| AUTO | 1 | 自动对焦模式。 |
ARImageFormat
枚举,图像数据格式。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| UNKNOWN | 0 | 无效的图像格式。 |
| YUV_420_888 | 2 | YUV_420_888格式,适用于处理高分辨率的图像数据。YUV_420_888格式由三个数据缓冲区组成:Y分量(平面)的索引为0,U分量为1,V分量为2。Y分量与U/V分量互不相交。也就是说,Y分量的像素步长(Pixel Stride)始终为1。U分量和V分量则具有相同的行步长(Row Stride)和像素步长。 |
| Y_8 | 3 | Y_8格式,适用于对图像数据要求较低的精度或存储空间的场景。Y_8格式由一个数据缓冲区组成,其平面索引(Index)为0。该数据缓冲区的数据类型为8位无符号整数。 |
| Y_16 | 4 | Y_16格式,适用于对图像数据精度要求较高的场景。Y_16格式由一个数据缓冲区组成,其平面索引为0。该数据缓冲区的数据类型为16位无符号整数。 |
ARMeshMode
枚举,网格模式。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| DISABLED | 0 | 网格模式关闭。 AR Engine不会处理或显示网格数据。 |
| ENABLE | 1 | 网格模式开启。 AR Engine会尝试处理和显示网格数据。 |
ARMultiFaceMode
枚举,多人脸检测模式。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 6.1.0(23)
| 名称 | 值 | 说明 |
|---|---|---|
| MULTIFACE_DISABLE | 0x300 | 多人脸模式关闭。 |
| MULTIFACE_ENABLE | 0x800 | 多人脸模式开启。 |
ARBodyLandmarkType
枚举,人体关键点类型。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 6.1.0(23)
| 名称 | 值 | 说明 |
|---|---|---|
| NECK | 1 | 颈部 |
| RIGHT_SHOULDER | 2 | 右肩 |
| RIGHT_ELBOW | 3 | 右肘 |
| RIGHT_WRIST | 4 | 右腕 |
| LEFT_SHOULDER | 5 | 左肩 |
| LEFT_ELBOW | 6 | 左肘 |
| LEFT_WRIST | 7 | 左腕 |
| RIGHT_HIP | 8 | 右髋部 |
| RIGHT_KNEE | 9 | 右膝 |
| RIGHT_ANKLE | 10 | 右脚踝 |
| LEFT_HIP | 11 | 左髋部 |
| LEFT_KNEE | 12 | 左膝 |
| LEFT_ANKLE | 13 | 左脚踝 |
| MID_HIP | 14 | 中髋部 |
| RIGHT_EAR | 15 | 右耳 |
| RIGHT_EYE | 16 | 右眼 |
| NOSE | 17 | 鼻子 |
| LEFT_EYE | 18 | 左眼 |
| LEFT_EAR | 19 | 左耳 |
| SPINE | 20 | 脊柱 |
ARPlaneFindingMode
枚举,平面检测模式。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| DISABLED | 0 | 禁用平面检测。 |
| HORIZONTAL | 1 | 只检测水平面,如地板和桌子。 |
| VERTICAL | 2 | 只检测竖直平面,如墙壁。 |
| HORIZONTAL_AND_VERTICAL | 3 | 同时检测水平面和竖直平面。 |
ARPlaneType
枚举,平面类型。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| FACING_HORIZONTAL_UPWARD | 0 | 朝上的水平面,如地面和桌面平台。 |
| FACING_HORIZONTAL_DOWNWARD | 1 | 朝下的水平面,如天花板。 |
| FACING_VERTICAL | 2 | 垂直的水平面,如墙壁。 |
| FACING_INVALID | 3 | 无效或不支持的平面类型。 这可能是由于环境变化、光线条件或其他因素导致。 |
ARPointOrientationMode
枚举,朝向模式。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| INITIALIZED_TO_IDENTITY | 0 | 与世界坐标系的朝向一致,但会稍作调整。 |
| ESTIMATED_SURFACE_NORMAL | 1 | 朝向由估计的平面法向量决定。 点的方向将与平面的方向一致,适用于需要根据平面特征来确定点方向的应用场景。 |
ARPoseMode
枚举,创建世界坐标系的方式。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| GRAVITY | 0 | 由重力确定。 世界坐标系的Y轴与重力方向一致,原点为设备所在的原始位置。参见坐标系说明。 |
| GRAVITY_AND_HEADING | 1 | 由重力和指南针确定。 世界坐标系的Y轴与重力方向一致,X轴指向指南针北向,原点为设备所在的原始位置。参见坐标系说明。 说明: 该选项当前仅支持省电模式,请将ARPowerMode置为POWER_SAVING以启动该选项。 |
ARPoseType
枚举,位姿类型。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| IDENTITY | 0 | 默认状态,即没有任何旋转或平移。 |
| ROTATE_90 | 1 | 顺时针旋转90度。 |
| ROTATE_180 | 2 | 顺时针旋转180度。 |
| ROTATE_270 | 3 | 顺时针旋转270度。 |
ARPowerMode
枚举,电源功耗模式。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| NORMAL | 0 | 正常模式。 AR Engine在性能和电源消耗之间保持平衡。 |
| POWER_SAVING | 1 | 节能模式。 AR Engine优先减少电源消耗。这可能会降低一些性能,以换取更长的电池寿命。 |
| PERFORMANCE_FIRST | 2 | 性能优先模式。 AR Engine优先考虑性能,提供更高的处理能力和更快的响应时间。这可能会增加电源消耗。 |
| BOOST | 3 | 仅输出设备姿态信息模式。 AR Engine仅输出设备的位姿信息,电源消耗低于正常模式。在此模式下,ARPlaneFindingMode等与平面相关的设置不起作用。 |
| ULTRA_POWER_SAVING | 11 | 超级节能模式。 AR Engine进一步优化电源消耗,提供比节能模式更低的电源消耗,这可能会损失更多的性能。 |
ARSemanticDenseMode
枚举,高精几何重建识别模式。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 6.0.0(20)
| 名称 | 值 | 说明 |
|---|---|---|
| DISABLED | 0 | 关闭高精几何重建识别模式。 |
| NORMAL | 1 | 正常模式,仅开启稠密点云识别。 |
| CUBE_VOLUME | 2 | 基于高精几何重建的立方体体积测量模式。 |
| CUBE_SPACE | 3 | 基于高精几何重建的立方体空间容积测量模式。 |
ARSemanticMode
枚举,语义模式。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| NONE | 0 | 不使用语义。 |
| PLANE | 1 | 使用平面语义模式。 |
ARSemanticPlaneLabel
枚举,当前平面识别到的语义类型。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| UNKNOWN | 0 | 未知平面类型。 |
| WALL | 1 | 墙面。 |
| FLOOR | 2 | 地面。 |
| SEAT | 3 | 座位,如椅子或凳子。 |
| TABLE | 4 | 桌子。 |
| CEILING | 5 | 天花板。 |
| DOOR | 6 | 门。 |
| WINDOW | 7 | 窗户。 |
| BED | 8 | 床。 |
| PLANE_SPACE | 9 | 平面空间。 起始版本: 6.0.0(20) |
| CUBE_VOLUME | 10 | 立方体体积。 起始版本: 6.0.0(20) |
| CUBE_SPACE | 11 | 立方体空间容积。 起始版本: 6.0.0(20) |
ARTrackingState
枚举,可追踪对象的追踪状态。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| TRACKING | 0 | 正在追踪。 |
| PAUSED | 1 | 暂停追踪。 |
| STOPPED | 2 | 停止追踪。 |
ARTrackingStateReason
枚举,追踪失败的原因。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| NONE | 0 | 未知原因。 这可能是由于系统暂时无法识别可追踪对象,但仍在尝试追踪。 |
| EXCESSIVE_MOTION | 1 | 目标移动过快。 可追踪对象(如平面、点、图像等)移动速度过快,导致AR Engine无法准确识别和跟踪。 |
| INSUFFICIENT_FEATURES | 2 | 视觉特征不足。 可追踪对象的视觉特征不够丰富,如纹理不明显、颜色过于单一等,导致AR Engine无法准确识别和跟踪。 |
ARTrackableType
枚举,可追踪对象类型,如平面、点等。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| BASE | 0x41520100 | 基本的可追踪对象类型,AR Engine默认类型。 |
| PLANE | 0x41520101 | 平面类型的可追踪对象。 |
| POINT | 0x41520102 | 点类型的可追踪对象。 |
| AUGMENTED_IMAGE | 0x41520104 | 增强型图像类型的可追踪对象。 |
| FACE | 0x50000002 | 人脸类型的可追踪对象。 起始版本: 6.1.0(23) |
| INVALID | 0 | 无效的可追踪对象类型。 |
ARType
枚举,AR能力类型。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 5.1.0(18)
| 名称 | 值 | 说明 |
|---|---|---|
| WORLD | 0x01 | 环境追踪能力。 |
| BODY | 0x02 | 人体跟踪与骨骼关键点识别能力。 起始版本: 6.1.0(23) |
| FACE | 0x10 | 人脸追踪能力。 起始版本: 6.1.0(23) |
| IMAGE | 0x80 | 图像识别能力。 |
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)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| buffer | ArrayBuffer | 是 | 增强图像数据库的ArrayBuffer数据。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<void> | 无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码和AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Invalid parameters, for example, the input parameter is empty or invalid. |
| 1009200001 | Failure. |
| 1009200008 | Resource 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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 图像名称。 不允许为空,255个字符以内,超过255个的字符将会被丢弃。 |
| pixelMap | image.PixelMap | 是 | 图像的信息。 |
| widthInMeters | number | 是 | 图像中对象的实际物理宽度。 无限制,单位为m。默认值是A4纸张的大小。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<ARAddAugmentedImageResult> | Promise对象,返回ARAddAugmentedImageResult对象。 ARAddAugmentedImageResult是一个表示添加增强图像结果的数据。 |
错误码:
以下错误码的详细介绍请参见通用错误码和AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Invalid parameters, for example, the input parameter is empty or invalid. |
| 1009200001 | Failure. |
| 1009200008 | Resource exhausted. |
| 1009200011 | The number of images added exceeds the maximum. |
| 1009200012 | Attempted 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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mode | ARAddAugmentedImageMode | 是 | 添加图片模式。 |
错误码:
以下错误码的详细介绍请参见AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| fx | number | 是 | 否 | 相机在x轴上的焦距。 可取任意值。 |
| fy | number | 是 | 否 | 相机在y轴上的焦距。 可取任意值。 |
| cx | number | 是 | 否 | 相机在x轴上的主点。 可取任意值。 |
| cy | number | 是 | 否 | 相机在y轴上的主点。 可取任意值。 |
| distortion | Distortion | 是 | 否 | 相机畸变参数。 |
ARConfig
ARSession的功能配置参数。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 5.1.0(18)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| type | ARType | 否 | 否 | AR能力类型。 |
| planeFindingMode | ARPlaneFindingMode | 否 | 是 | 平面检测模式。 默认为HORIZONTAL_AND_VERTICAL。 |
| powerMode | ARPowerMode | 否 | 是 | 电源功耗模式。 默认为NORMAL。 |
| focusMode | ARFocusMode | 否 | 是 | 对焦模式。 默认为FIXED。 |
| semanticMode | ARSemanticMode | 否 | 是 | 语义模式。 默认为NONE。 |
| maxMapSize | number | 否 | 是 | 存储地图数据的最大内存大小,单位为MB。可设定范围100MB~16GB,默认800MB。 建议根据设备的内存容量设置内存大小。超出硬件限制可能会导致意外错误。 |
| poseMode | ARPoseMode | 否 | 是 | 创建世界坐标系的方式。 默认为GRAVITY。 |
| depthMode | ARDepthMode | 否 | 是 | 深度模式。 默认为DISABLED。 |
| meshMode | ARMeshMode | 否 | 是 | 网格模式。 默认为DISABLED。 |
| addAugmentedImageMode | ARAddAugmentedImageMode | 否 | 是 | 添加图片模式。 默认为NORMAL。 |
| semanticDenseMode | ARSemanticDenseMode | 否 | 是 | 高精几何重建识别模式。 默认DISABLED。 起始版本: 6.0.0(20) |
| cameraLensFacing | ARCameraLensFacing | 否 | 是 | 相机镜头朝向配置项。当cameraLensFacing配置为FRONT时,type配置为ARType.FACE或ARType.BODY才生效。 默认为REAR。 起始版本: 6.1.0(23) |
| multiFaceMode | ARMultiFaceMode | 否 | 是 | 多人脸模式配置项。 默认为MULTIFACE_DISABLE。 起始版本: 6.1.0(23) |
| maxDetectedBodyNum | number | 否 | 是 | 当类型为ARType.Body 时,需要检测的人体数量最大值。 默认为1,最大为2,超过2默认为2。 起始版本: 6.1.0(23) |
ARPointCloud
可跟踪的3D点云集合。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 5.1.0(18)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| timestamp | number | 是 | 否 | 当前特征点云检测时的时间戳。 以ns为单位。 |
| points | Array<number> | 是 | 否 | 表示点云中所有点的坐标以及坐标对应的置信度数组。 |
ARSemanticDenseCubeData
高精几何重建对象的立方体数据。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 6.0.0(20)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| id | number | 是 | 否 | 当前立方体的ID。 |
| vertexSize | number | 是 | 否 | 当前立方体的顶点数量。 |
| vertexData | Array<number> | 是 | 否 | 当前立方体的顶点数据。 对应立方体的8个顶点。索引从立方体后表面开始,按逆时针方向排列。 |
| confidence | number | 是 | 否 | 当前立方体的置信度。取值为0,1,2。 |
| label | ARSemanticPlaneLabel | 是 | 否 | 当前立方体的语义标签。 |
ARSemanticDensePointData
高精几何重建对象的稠密点云数据。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 6.0.0(20)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| id | ArrayBuffer | 是 | 否 | 稠密点云数据所有点的id数组。 说明: 该类型在使用时,如需转换则为int32类型,转换方法参考数据类型转换说明。 |
| position | ArrayBuffer | 是 | 否 | 稠密点云数据所有点的坐标,以及它们的置信度数组,格式为[x0, y0, z0, c0, x1, y1, z1, c1, x2, ...]。 说明: 该类型在使用时,如需转换则为float32类型,转换方法参考数据类型转换说明。 |
| color | ArrayBuffer | 是 | 否 | 稠密点云数据所有点的颜色,以 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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pose | ARPose | 是 | 用于创建锚点的位姿对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| ARAnchor | 返回一个锚点对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码和AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Invalid parameters, for example, the input parameter is empty or invalid. |
| 1009200001 | Failure. |
示例:
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)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| anchor | ARAnchor | 是 | 要解绑的锚点对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码和AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Invalid parameters, for example, the input parameter is empty or invalid. |
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
| 1009200008 | Resource 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)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | ARTrackableType | 是 | 可追踪对象的类型。 |
返回值:
| 类型 | 说明 |
|---|---|
| Array<ARTrackable> | 返回一个可追踪对象组成的数组。 |
错误码:
以下错误码的详细介绍请参见通用错误码和AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Invalid parameters, for example, the input parameter is empty or invalid. |
| 1009200001 | Failure. |
| 1009200008 | Resource 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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
// 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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
// 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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
// arSession创建参考ARSession.getFrame接口示例代码
await arSession.release();
ImageComponent
图像组件的基本结构参数。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 5.1.0(18)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| rowStride | number | 是 | 否 | 图像中两个连续像素行起始位置之间的字节数。行间距始终大于0。 |
| pixelStride | number | 是 | 否 | 图像中两个连续像素起始点之间的字节数。像素间距始终大于0。 |
| buffer | ArrayBuffer | 是 | 否 | 当前帧的平面数据缓冲区对象。 说明: 该类型在使用时,如需转换则为int32类型,转换方法参考数据类型转换说明。 |
ARAddAugmentedImageResult
添加增强图像的结果。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 5.1.0(18)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| index | number | 否 | 否 | 图像唯一索引,取值范围0~49。 |
| state | number | 否 | 否 | 添加增强图像的结果状态。成功为0,否则为1009200001。 |
| stateReason | ARAddAugmentedImageReason | 否 | 否 | 添加图像失败的原因。 |
ARAnchor
锚点对象。
锚点描述与可追踪对象相关联的空间位置。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 5.1.0(18)
参数:
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| id | number | 是 | 否 | 锚点的索引,取值范围0~49。 |
| trackingState | ARTrackingState | 是 | 否 | 可追踪对象的追踪状态。 |
ARAnchor.getPose
getPose(): ARPose
获取锚点在世界坐标系中的位姿信息。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 5.1.0(18)
返回值:
| 类型 | 说明 |
|---|---|
| ARPose | 返回位姿对象。 |
错误码:
以下错误码的详细介绍请参见AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| extendX | number | 是 | 否 | 表示在X轴上估计的物理图像宽度,单位为m。如果图像的追踪状态为PAUSED或STOPPED,返回的宽度信息是最后一次追踪的宽度。如果图像从未被追踪,返回0。 |
| extendZ | number | 是 | 否 | 表示在Z轴上估计的物理图像宽度,单位为m。如果图像的追踪状态为PAUSED或STOPPED,返回的宽度信息是最后一次追踪的宽度。如果图像从未被追踪,返回0。 |
| index | number | 是 | 否 | 表示增强图像在增强图像数据库中的图像索引,数值范围1~50,为图像在数据库中的唯一标识符。 |
| name | string | 是 | 否 | 表示增强图像的图像名称,最大为255Byte,该值可能不唯一。 |
ARBlendShapes
用于管理人脸微表情,包含若干个表情参数。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 6.1.0(23)
参数:
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| count | number | 是 | 否 | 表示微表情的个数,最小为0,最大为64。 |
ARBlendShapes.getData
getData(): ArrayBuffer
获取所有的表情参数。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 6.1.0(23)
返回值:
| 类型 | 说明 |
|---|---|
| ArrayBuffer | 微表情数据。 |
错误码:
以下错误码的详细介绍请参见AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
参数:
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| count | number | 是 | 否 | 表示人脸关键点的个数,固定为84。 |
ARLandmark.getVertices2D
getVertices2D(): ArrayBuffer
获取人脸关键点的2D位姿信息。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 6.1.0(23)
返回值:
| 类型 | 说明 |
|---|---|
| ArrayBuffer | 2D位姿信息。 |
错误码:
以下错误码的详细介绍请参见AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
返回值:
| 类型 | 说明 |
|---|---|
| ArrayBuffer | 3D位姿信息。 |
错误码:
以下错误码的详细介绍请参见AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
参数:
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| state | ARTrackingState | 是 | 否 | 可追踪对象的追踪状态。 |
| stateReason | ARTrackingStateReason | 是 | 否 | 追踪失败的原因。 |
| viewMatrix | Matrix4 | 是 | 否 | 摄像机在最新帧中的视图矩阵。 |
ARCamera.getPose
getPose(): ARPose
获取摄像机在世界空间中的位姿。
位姿信息可参考坐标系说明。
位姿信息仅在状态返回TRACKING时才可使用。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 5.1.0(18)
返回值:
| 类型 | 说明 |
|---|---|
| ARPose | 返回一个位姿对象。 |
错误码:
以下错误码的详细介绍请参见AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| near | number | 是 | 相机坐标系统中的近裁剪平面的距离,单位为m,值必须大于0。 |
| far | number | 是 | 相机坐标系统中的远裁剪平面的距离,单位为m,值必须大于0且大于near。 |
返回值:
| 类型 | 说明 |
|---|---|
| Matrix4 | 返回一个Matrix4对象。 Matrix4是一个包含16个浮点数的数组,表示OpenGL中的列主旋转变换矩阵。 |
错误码:
以下错误码的详细介绍请参见通用错误码和AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Invalid parameters, for example, the input parameter is empty or invalid. |
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| x | number | 否 | 否 | 骨骼关键点x坐标。 |
| y | number | 否 | 否 | 骨骼关键点y坐标。 |
| confidence | number | 否 | 否 | 骨骼关键点置信度。取值范围[0,1]。 |
| type | ARBodyLandmarkType | 否 | 否 | 骨骼关键点点类型。 |
| isValid | boolean | 否 | 否 | 骨骼关键点是否有效。true:有效,false:无效。 |
ARBody
用于人体跟踪时返回跟踪结果,包含人体骨骼关键点数据。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
起始版本: 6.1.0(23)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| trackId | number | 是 | 否 | 表示当前人体骨骼关键点ID。 |
| timeStamp | number | 是 | 否 | 当前帧的时间戳,单位ns |
ARBody.getLandmarks2D
getLandmarks2D(): Array<ARBodyLandmark2D>
获取人体骨骼关键点信息,包括关键点坐标、类型、置信度等。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 6.1.0(23)
返回值:
| 类型 | 说明 |
|---|---|
| Array<ARBodyLandmark2D> | 返回人体骨骼关键点信息数组。 |
错误码:
以下错误码的详细介绍请参见AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| timestamp | number | 是 | 否 | 表示当前帧的时间戳。 以ns为单位。 |
| pointCloud | ARPointCloud | 是 | 否 | 表示当前帧中可追踪的3D点云集合。 |
ARFrame.getCamera
getCamera(): ARCamera
获取当前帧的相机对象。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 5.1.0(18)
返回值:
| 类型 | 说明 |
|---|---|
| ARCamera | 返回当前帧的相机对象。 |
错误码:
以下错误码的详细介绍请参见AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | ARTrackableType | 是 | 可追踪对象类型。 |
返回值:
| 类型 | 说明 |
|---|---|
| Array<ARTrackable> | 返回一个可追踪对象组成的数组。 |
错误码:
以下错误码的详细介绍请参见通用错误码和AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Invalid parameters, for example, the input parameter is empty or invalid. |
| 1009200001 | Failure. |
示例:
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)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| x | number | 是 | 表示预览区域中的像素的X坐标。 该值由设备显示分辨率大小确定。 |
| y | number | 是 | 表示预览区域中的像素的Y坐标。 该值由设备显示分辨率大小确定。 |
返回值:
| 类型 | 说明 |
|---|---|
| Array<ARHitResult> | 返回一个命中检测结果对象组成的数组。 |
错误码:
以下错误码的详细介绍请参见通用错误码和AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Invalid parameters, for example, the input parameter is empty or invalid. |
| 1009200001 | Failure. |
| 1009200008 | Resource 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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
| 1009200008 | Resource 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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
参数:
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| verticesSize | number | 是 | 否 | 表示顶点数组的大小。 |
| triangleIndicesCount | number | 是 | 否 | 表示三角形索引的数量。 |
| texCoordSize | number | 是 | 否 | 表示纹理坐标数组的大小。 |
| indicesSize | number | 是 | 否 | 表示索引数组的大小。 |
| triangleLabelsSize | number | 是 | 否 | 表示三角形标签数组的大小。 |
ARGeometry.getVertices
getVertices(): ArrayBuffer
获取人脸Mesh顶点数组。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet、TV中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 6.1.0(23)
返回值:
| 类型 | 说明 |
|---|---|
| ArrayBuffer | 人脸Mesh顶点数组。 |
错误码:
以下错误码的详细介绍请参见AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
参数:
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| distance | number | 是 | 否 | 从相机到命中位置的距离,单位为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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| format | ARImageFormat | 是 | 否 | 图像数据格式。 |
| width | number | 是 | 否 | 当前帧的图像宽度,以Pixel为单位。其数值范围与设备相机像素有关。 |
| height | number | 是 | 否 | 当前帧的图像高度,以Pixel为单位。其数值范围与设备相机像素有关。 |
| imageTimestamp | number | 是 | 否 | 图像的时间戳,以ns为单位。 |
| planes | Array<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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| planeType | ARPlaneType | 否 | 否 | 平面类型。 |
| extendX | number | 否 | 否 | 平面边界矩形沿平面局部坐标系X轴的长度,以m为单位,数值范围无限制。 |
| extendZ | number | 否 | 否 | 平面边界矩形沿平面局部坐标系Z轴的长度,以m为单位,数值范围无限制。 |
| label | ARSemanticPlaneLabel | 否 | 否 | 当前平面识别到的语义类型。 |
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pose | ARPose | 是 | 位姿对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 返回true表示位姿在平面的边界矩形内,false表示位姿不在平面的边界矩形内。 |
错误码:
以下错误码的详细介绍请参见通用错误码和AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Invalid parameters, for example, the input parameter is empty or invalid. |
| 1009200001 | Failure. |
示例:
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)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pose | ARPose | 是 | 位姿对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 返回true表示位姿在平面的边界多边形内,false表示位姿不在平面的边界多边形内。 |
错误码:
以下错误码的详细介绍请参见通用错误码和AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Invalid parameters, for example, the input parameter is empty or invalid. |
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| orientationMode | ARPointOrientationMode | 是 | 否 | 朝向模式。 |
ARPose
位姿对象。
代表从一个坐标系到另一个坐标系的不可改变刚性变换,如平移或旋转。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 5.1.0(18)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| rotation | Quaternion | 是 | 否 | 来自位姿对象的姿势数据,包括旋转分量。 |
| translation | Vec3 | 是 | 否 | 来自位姿对象的姿势数据,包括平移组件。 |
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| verticesSize | number | 是 | 否 | 场景网格中的顶点数量。 最小为0,无上限。 |
| triangleIndicesSize | number | 是 | 否 | 场景网格中的三角形索引数量。最小为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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| timestamp | number | 是 | 否 | 高精几何重建对象数据的时间戳。以ns为单位。 |
| pointDataSize | number | 是 | 否 | 高精几何重建对象数据中稠密点云数量的大小。最小为0,最大为10000。 |
| cubeDataSize | number | 是 | 否 | 高精几何重建对象数据中立方体数量的大小。最小为0,最大为1。 |
ARSemanticDenseData.acquirePointData
acquirePointData(): ARSemanticDensePointData
高精几何重建对象数据中稠密点云数据信息。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 6.0.0(20)
返回值:
| 类型 | 说明 |
|---|---|
| ARSemanticDensePointData | 返回所有高精几何重建对象数据中稠密点云数据信息。 |
错误码:
以下错误码的详细介绍请参见AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| type | ARTrackableType | 是 | 否 | 可追踪对象类型。 |
| state | ARTrackingState | 是 | 否 | 可追踪对象的追踪状态。 |
ARTrackable.getPose
getPose(): ARPose
获取追踪对象的位姿信息。
模型约束: 此接口仅可在Stage模型下使用。
系统能力: SystemCapability.AREngine.Core
设备行为差异: 该接口在部分Phone、部分Tablet中可正常调用,在不支持的设备中无法正常调用。可使用arViewController.isARTypeSupported接口查询能力是否支持。
起始版本: 5.1.0(18)
返回值:
| 类型 | 说明 |
|---|---|
| ARPose | 返回可追踪对象的位姿信息。 |
错误码:
以下错误码的详细介绍请参见AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pose | ARPose | 是 | 位姿对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| ARAnchor | 返回一个锚点对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码和AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Invalid parameters, for example, the input parameter is empty or invalid. |
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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 | 错误信息 |
|---|---|
| 1009200001 | Failure. |
示例:
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)
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| rotation | Quaternion | 是 | 表示旋转组件的数据。这个参数是Quaternion类型,通常是一个包含四个元素的数组,为四元数,用于表示和操作3D旋转。 |
| translation | Vec3 | 是 | 表示平移组件的数据。这个参数是Vec3类型,通常是一个包含三个元素的数组,表示3D向量的x、y和z分量,用于表示物体的平移位置。 |
返回值:
| 类型 | 说明 |
|---|---|
| ARPose | 返回创建的位姿对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码和AR Engine错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Invalid parameters, for example, the input parameter is empty or invalid. |
| 1009200001 | Failure. |
示例:
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);