gpt4 book ai didi

ios - presentationNode 的位置正在重置

转载 作者:行者123 更新时间:2023-11-28 06:44:12 26 4
gpt4 key购买 nike

我首先使用 UIPinchGestureRecognizer 和 applyForce 向前或向后移动物理体。然后我使用 UIRotationGestureRecognizerSCNAction 来旋转它的节点。对象正在向前移动并旋转,但在旋转发生之前,对象跳回到(节点的)起始位置。 cameraNode1.presentationNode 的位置正在更新,但在使用第二个手势监听器时正在重置。为什么?

func handlePinch(recognizer: UIPinchGestureRecognizer) {
var dz = 5 * (1 - recognizer.scale)
self.cameraNode1.physicsBody?.applyForce(SCNVector3(0, 0, dz), impulse: true)
recognizer.scale = 1
}


func handleRotate(recognizer: UIRotationGestureRecognizer) {
let rot = -recognizer.rotation
recognizer.rotation = 0
let action = SCNAction.rotateByX(0, y: rot, z: 0, duration: NSTimeInterval(0))
self.cameraNode1.runAction(action)
}

最佳答案

我通过更新渲染器委托(delegate)方法中的位置解决了这个问题:

func renderer(renderer: SCNSceneRenderer, updateAtTime time:   NSTimeInterval) {
self.cameraNode1.position = self.cameraNode1.presentationNode.position
self.cameraNode1.rotation = self.cameraNode1.presentationNode.rotation
}

关于ios - presentationNode 的位置正在重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37022791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com