Swift 如何使用lefteyetransform ARKit2移动圆

Swift 如何使用lefteyetransform ARKit2移动圆,swift,arkit,Swift,Arkit,我正在尝试开发一个根据左眼移动圆圈的游戏 let screenSize = UIScreen.main.bounds let screenWidth = screenSize.width let screenHeight = screenSize.height let camera = self.sceneView.session.currentFrame?.camera let pippo = simd_m

我正在尝试开发一个根据左眼移动圆圈的游戏

        let screenSize = UIScreen.main.bounds
        let  screenWidth = screenSize.width
        let screenHeight = screenSize.height
        let    camera = self.sceneView.session.currentFrame?.camera
        let pippo = simd_mul((anchor.transform),faceAnchor.leftEyeTransform)
        var j: SCNVector3 = SCNVector3(pippo.columns.3.x ,pippo.columns.3.y , -pippo.columns.3.z);
        self.circlePath = UIBezierPath(arcCenter: CGPoint(x: CGFloat(   j.x * Float(screenHeight/2) ),y:CGFloat(  j.y * Float(screenWidth/2) )), radius: CGFloat(20), startAngle: CGFloat(0), endAngle:CGFloat(Double.pi * 2), clockwise: true)
        self.shapeLayer = CAShapeLayer()
        self.shapeLayer.path = self.circlePath.cgPath
        self.shapeLayer.fillColor = UIColor.clear.cgColor
        self.shapeLayer.strokeColor = UIColor.red.cgColor
        self.shapeLayer.lineWidth = 3.0
        self.view.layer.addSublayer(self.shapeLayer)
我在圆上移动了一点,但它集中在屏幕最左边的部分(而不是中间),并且移动没有覆盖整个屏幕,只是其中的一部分,我如何解决它?
提前感谢。

您能提供更多代码和图片吗?不太清楚发生了什么,例如,为什么要使用CAShapeLayer而不是SKShapeNode,为什么要重新创建它而不是仅仅移动。