自定义平移手势处理器实现模型旋转的问题求助
自定义平移手势处理器实现模型旋转的问题求助
我想实现一个功能:让用户通过平移手势来旋转3D模型,旋转动作要完全跟随手指的移动,理想的效果是可以绕包括Z轴在内的各个轴自由旋转,实现流畅的3D模型交互体验。
我已经写了一个平移手势的处理方法,代码如下:
@objc private func handlePan(recognizer: UIPanGestureRecognizer) { let currentTouchPoint = recognizer.location(in: self.arView) guard let ray = self.arView.ray(through: currentTouchPoint) else { return } anchorEntity.transform.rotation = .init(angle: .pi, axis: ray.direction) }
但这段代码存在几个问题:
- 角度设置为
.pi时,模型会直接被完全翻转,之后虽然能从这个状态继续旋转,但这不是我想要的初始交互效果;可如果把角度设为.zero,模型又完全没法旋转了。 - 旋转起来非常费力,我需要做很长的手指滑动才能让模型有明显的旋转变化...
备注:内容来源于stack exchange,提问作者Programmer54
相关产品推荐
相关产品推荐

