我正在尝试开发一种过滤器,您必须在其中吃掉屏幕上的元素。我的问题是我找不到在世界上获取 facemesh 位置和旋转的方法,这样我就可以将 facemesh 的坐标与要吃的元素的坐标进行比较。我尝试使用 worldtransform,但总是为我的网格返回 0。有没有办法做到这一点?
非常感谢
我正在尝试开发一种过滤器,您必须在其中吃掉屏幕上的元素。我的问题是我找不到在世界上获取 facemesh 位置和旋转的方法,这样我就可以将 facemesh 的坐标与要吃的元素的坐标进行比较。我尝试使用 worldtransform,但总是为我的网格返回 0。有没有办法做到这一点?
非常感谢
我不知道你的场景树配置。假设你在焦距内拥有一切
const FaceTracking = require('FaceTracking');
const Scene = require('Scene');
const R = require('Reactive');
const face = FaceTracking.face(0);
const focalDistance = -Scene.root.find('Focal Distance').transform.z.pinLastValue();
const mouthFocal = face.cameraTransform.applyTo(face.mouth.center).add(R.point(0, 0, focalDistance));
将焦点距离添加到 Z 是为了从相机空间进行转换。