VKSession

vision kit 会话对象

支持情况:VKSession - 图1 VKSession - 图2 VKSession - 图3

参考文档

方法

参数 类型 说明
state keyof State 会话状态
config Config 会话配置
cameraSize Size 相机尺寸

cancelAnimationFrame

取消由 requestAnimationFrame 添加到计划中的动画帧请求

支持情况:VKSession - 图4 VKSession - 图5 VKSession - 图6

参考文档

  1. (requestID: number) => void
参数 类型
requestID number

destroy

销毁会话

支持情况:VKSession - 图7 VKSession - 图8 VKSession - 图9

参考文档

  1. () => void

getVKFrame

获取帧对象,每调用一次都会触发一次帧分析过程

支持情况:VKSession - 图10 VKSession - 图11 VKSession - 图12

参考文档

  1. (width: number, height: number) => VKFrame
参数 类型 说明
width number 宽度
height number 高度

hitTest

触摸检测,v1 版本只支持单平面(即 hitTest 生成一次平面后,后续 hitTest 均不会再生成平面,而是以之前生成的平面为基础进行检测)。

如果需要重新识别其他平面,可以在调用此方法时将 reset 参数置为 true。

支持情况:VKSession - 图13 VKSession - 图14 VKSession - 图15

参考文档

  1. (x: number, y: number, reset?: boolean) => hitTestResult[]
参数 类型 说明
x number 相对视窗的横坐标,取值范围为 [0, 1],0 为左边缘,1 为右边缘
y number 相对视窗的纵坐标,取值范围为 [0, 1],0 为上边缘,1 为下边缘
reset boolean 是否需要重新识别其他平面,v2 版本不再需要此参数

off

取消监听会话事件。

支持情况:VKSession - 图16 VKSession - 图17 VKSession - 图18

参考文档

  1. (eventName: string, fn: Function) => void
参数 类型 说明
eventName string 事件名称
fn Function 事件监听函数

on

监听会话事件。

支持情况:VKSession - 图19 VKSession - 图20 VKSession - 图21

参考文档

  1. (eventName: string, fn: Function) => void
参数 类型 说明
eventName string 事件名称
fn Function 事件监听函数

requestAnimationFrame

在下次进行重绘时执行。

支持情况:VKSession - 图22 VKSession - 图23 VKSession - 图24

参考文档

  1. (callback: Function) => number
参数 类型 说明
callback Function 执行函数

start

开启会话。

支持情况:VKSession - 图25 VKSession - 图26 VKSession - 图27

参考文档

  1. (callback: (status: keyof StartStatus) => void) => void
参数 类型 说明
callback (status: keyof StartStatus) => void 开启会话回调

stop

停止会话。

支持情况:VKSession - 图28 VKSession - 图29 VKSession - 图30

参考文档

  1. () => void

参数

State

state 的合法值

参数 说明
0 不可用
1 运行中
2 暂停中

Config

会话配置

参数 类型 说明
version keyof version 不可用
track track 运行中

version

vision kit 版本

参数 说明
v1 旧版本
v2 v2 版本,目前只有 iOS 基础库 2.22.0 以上支持

track

跟踪配置

参数 类型 说明
plane plane 平面跟踪配置

plane

平面跟踪配置

参数 类型 说明
mode keyof PlaneMode 平面跟踪配置模式

PlaneMode

平面跟踪配置模式合法值

参数 说明
1 检测横向平面
2 检测纵向平面,只有 v2 版本支持
3 检测横向和纵向平面,只有 v2 版本支持

Size

相机尺寸

参数 类型 说明
width number 宽度
height number 高度

hitTestResult

hitTest 检测结果

参数 类型 说明
transform Float32Array 包含位置、旋转、放缩信息的矩阵,以列为主序

StartStatus

start status 的合法值

参数 说明
0 成功
2000000 系统错误
2000001 参数错误
2000002 设备不支持
2000003 系统不支持
2003000 会话不可用
2003001 未开启系统相机权限
2003002 未开启小程序相机权限

API 支持度

API 微信小程序 H5 React Native
VKSession ✔️
VKSession.cancelAnimationFrame ✔️
VKSession.destroy ✔️
VKSession.getVKFrame ✔️
VKSession.hitTest ✔️
VKSession.off ✔️
VKSession.on ✔️
VKSession.requestAnimationFrame ✔️
VKSession.start ✔️
VKSession.stop ✔️