我正在运行新版本(1.7.0)的arcore示例。

在AugmentedFace的示例中,为什么下面的语句仅返回一张脸?

Collection<AugmentedFace> faceList =
          sceneView.getSession().getAllTrackables(AugmentedFace.class);

我错过了什么?还是只是一种限制?

最佳答案

ARCore的增广面孔功能旨在将主要用于一张脸。但是您可以将其用于更多面孔。

// Get a list of detected faces.
Collection<AugmentedFace> faceList = session.getAllTrackables(AugmentedFace.class);


for (AugmentedFace face : faceList) {

    // Create a face nodes and add it to the scene.
    AugmentedFaceNode faceNode1 = new AugmentedFaceNode(face);
    AugmentedFaceNode faceNode2 = new AugmentedFaceNode(face);
    faceNode1.setParent(scene);
    faceNode2.setParent(scene);

    // Overlay the 3D assets on faces.
    faceNode1.setFaceRegionsRenderable(faceRegionsRenderable1);
    faceNode2.setFaceRegionsRenderable(faceRegionsRenderable2);

    // Overlay textures on faces.
    faceNode1.setFaceMeshTexture(faceMeshTexture1);
    faceNode2.setFaceMeshTexture(faceMeshTexture2);
}

关于java - 为什么getAllTrackables方法只返回一张脸?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54823514/

10-12 02:43