当前位置: 代码迷 >> java >> 如何在 ARCore 和 Sceneform 中翻译对象?
  详细解决方案

如何在 ARCore 和 Sceneform 中翻译对象?

热度:105   发布时间:2023-08-04 09:35:22.0

我使用 ARCore 和 Sceneform 在 Android 上构建了一个 AR 应用程序,我想在用户单击按钮时在xyz轴上平移对象。

我怎样才能做到这一点?

我尝试这样做,当用户按下按钮时,我正在用翻译姿势组合对象姿势,删除对象并通过翻译创建新对象。 但是点击几下后,我有 SIG 9(杀死应用程序)。

还有其他方法吗?

您可以使用按钮和在两个锚点之间平移 3D 对象。

或者

为了沿表面平移您的对象,您应该使用接口及其有用的公共方法,例如:

  • onDown(MotionEvent e)
  • onFling(MotionEvent e1, MotionEvent e2, 浮动速度X, 浮动速度Y)
  • onLongPress(MotionEvent e)
  • onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
  • onShowPress(MotionEvent e)
  • onSingleTapUp(MotionEvent e)

这是一个关于如何在onScroll()方法中重绘对象的onScroll()

android.view.GestureDetector.OnGestureListener

@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distX, float distY) {
   if (ptrCount < 2) {
       queuedSingleTaps.offer(motionEvent);
       return true;
   } else {
       return false;
   }
}

希望这可以帮助。