【发布时间】:2018-08-04 11:27:12
【问题描述】:
我正在尝试使用 SceneKit 在 ARKit 中缩放椅子的 3D 模型。这是我的捏合手势代码:
@objc func pinched(recognizer :UIPinchGestureRecognizer) {
var deltaScale :CGFloat = 0.0
deltaScale = 1 - self.lastScale - recognizer.scale
print(recognizer.scale)
let sceneView = recognizer.view as! ARSCNView
let touchPoint = recognizer.location(in: sceneView)
let scnHitTestResults = self.sceneView.hitTest(touchPoint, options: nil)
if let hitTestResult = scnHitTestResults.first {
let chairNode = hitTestResult.node
chairNode.scale = SCNVector3(deltaScale,deltaScale,deltaScale)
self.lastScale = recognizer.scale
}
}
它确实可以缩放,但出于某种奇怪的原因,它会将 3D 模型倒置。任何想法为什么?此外,虽然缩放有效,但在使用捏合缩放的多个进程中使用时,它并不平滑,并且从不同的缩放因子有点跳跃。
【问题讨论】: