我一直在尝试使2D画布/平面中的面部纹理仅沿着X / Y轴移动,跟随面部的运动而不旋转,并且2D背景摄影机纹理准确地反映在顶部。现在,当我将画布连接到面部跟踪器时,比例会失真,并且2D平面在3D空间中旋转。有关当前的画布/相机纹理/面部跟踪器设置,请参见下文。手动缩放会导致跟踪效果不佳。
这是我的代码:
const FaceTracking = require('FaceTracking')
const Scene = require('Scene')
export const Diagnostics = require('Diagnostics');
// Locate the plane in the Scene
// Enable async/await in JS [part 1]
(async function () {
const [plane] = await Promise.all([
Scene.root.findFirst('blur_plane')
])
// Store a reference to a detected face
const face = FaceTracking.face(0)
// To access scene objects
const planeTransform = plane.transform
const faceTransform = face.cameraTransform
// const blurCanvas = Scene.root.find('canvas0');
// To access class properties
planeTransform.rotationX = faceTransform[0]
planeTransform.rotationY = faceTransform[0]
planeTransform.rotationZ = faceTransform[0]
})()
答案 0 :(得分:0)
结果证明,Facebook有一个处理2D运动但不进行缩放的示例: https://sparkar.facebook.com/ar-studio/learn/reference/classes/facetrackingmodule