我正在运行新版本(1.7.0)的arcore示例。
在AugmentedFace的示例中,为什么下面的语句仅返回一张脸?
Collection<AugmentedFace> faceList =
sceneView.getSession().getAllTrackables(AugmentedFace.class);
我错过了什么吗?还是只是一种限制?
答案 0 :(得分:0)
如果可能,它将返回多个面孔。
使用for循环进行访问:
for (AugmentedFace face : faceList) {
AugmentedFaceNode node = new AugmentedFaceNode(face);
//create models/texture, setParent, etc
}
答案 1 :(得分:0)
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);
}