DuXRFrameFaceMode
从 基础库 1.10.3 开始支持
人脸模式的帧对象。调用 DuXRSessionFrameMode#getFrame 返回。
通过该对象你可以获取到相机的变换矩阵以及当前画面中帧检测到的人脸对象(DuXRFace)
代码示例
1 | function update() { |
getViewMatrix()
获取当前帧三维相机(三维渲染中的相机概念,非手机上的物理相机)的视图变换矩阵,在需要绘制人脸画面上绘制三维模型的时候会有用。一般和 getProjectionMatrix 一起使用
返回一个 4x4 长度的 Float32Array。你可以将该矩阵数据应用到像 THREE.js 这样的 3D 库的相机对象中。
THREE.js 的代码示例:
1 | // 获得视图变换矩阵 |
注: 目前该矩阵固定为单位矩阵,所以也可以忽略不用,但是我们不能保证后面是否会不再用单位矩阵。
getProjectionMatrix()
获取当前帧三维相机(三维渲染中的相机概念,非手机上的物理相机)的投影变换矩阵。
返回一个 4x4 长度的 Float32Array。你可以将该矩阵数据应用到像 THREE.js 这样的 3D 库的相机对象中。
注: 当前算法使用的投影参数为:fov: 55.766, aspect: 9/16, near: 4, far: 300 你也可以根据这几个参数构建投影矩阵。
getUpdatedTrackableFaces()
返回当前相机中检测到的人脸对象(DuXRFace)数组。
目前等的人脸算法只支持单人脸的检测,因此你只需要取数组的第一项就可以了,参考上面的示例代码。如果数组长度为 0 的话则是无法检测到人脸。
具体所有人脸相关的数据见 DuXRFace 的接口文档。