You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义平移手势处理器实现模型旋转的问题求助

自定义平移手势处理器实现模型旋转的问题求助

我想实现一个功能:让用户通过平移手势来旋转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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 13:29:38