У меня проблема с плавающей маской в scnode, которая отображается на моем экране. Но я не хочу показывать эту плавающую маску, вместо этого я хочу показать изображение, показанное ниже. Может ли кто-нибудь помочь мне решить эту проблему.
Изображение: https://imgur.com/a/sUkRcv2
Вот мой код:
var maskNode: Mask?
override func viewDidLoad() {
super.viewDidLoad()
self.sceneView.backgroundColor = .clear
self.sceneView.scene = SCNScene()
self.sceneView.rendersContinuously = true
if let device = MTLCreateSystemDefaultDevice(),
let geo = ARSCNFaceGeometry(device: device) {
self.maskNode = Mask(geometry: geo)
self.sceneView.scene?.rootNode.addChildNode(self.maskNode!)
self.maskNode?.position = SCNVector3(x: 0.0, y: 0.0, z: 0.0)
}
Маска:
import ARKit
import SceneKit
class Mask: SCNNode, VirtualFaceContent {
init(geometry: ARSCNFaceGeometry) {
let material = SCNMaterial()
material.diffuse.contents = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
geometry.firstMaterial = material
super.init()
self.geometry = geometry
}
required init?(coder aDecoder: NSCoder) {
fatalError("\(#function) has not been implemented")
}
func update(withFaceAnchor anchor: ARFaceAnchor) {
let faceGeometry = geometry as! ARSCNFaceGeometry
faceGeometry.update(from: anchor.geometry)
}
}