问题描述
我正在使用ARCore和Sceneform开发AR应用程序。我想为鼻子,嘴唇,脸部和眼睛等地标添加纹理。我想知道如何创建纹理,以便可以将其覆盖在增强面网格上吗?
Texture.builder()
.setSource(this,R.drawable.makeupforlips)
.setUsage(Texture.Usage.COLOR)
.build()
.thenAccept(texture -> faceMeshTexture = texture);
addOnUpdateListener:
for (AugmentedFace face: faceList) {
if (!faceNodeMap.containsKey(face)) {
AugmentedFaceNode faceNode = new AugmentedFaceNode(face);
faceNode.setParent(scene);
// faceNode.setFaceRegionsRenderable(faceRegionsRenderable);
faceNode.setFaceMeshTexture(faceMeshTexture);
faceNodeMap.put(face,faceNode);
}
}
解决方法
在构建具有Augmented Faces功能的ARCore应用时,您需要使用.fbx
,.obj
或.glTF
文件中的canonical face mesh格式。将此规范面导入Maya,Blender或3dsMax,然后使用“ UV纹理编辑器”创建一个UV-mapped 2D texture,您可以在Adobe Photoshop中对其进行编辑。