Как перевести объект в ARCore и Sceneform? - PullRequest
0 голосов
/ 27 февраля 2019

Я создаю приложение AR на Android, используя ARCore и Sceneform, и я хочу перевести объект по оси x, y или z, когда пользователь нажимает кнопку.

Как я могу это сделать?

Я пытаюсь сделать это, когда пользователь нажимает кнопку, я создаю объект Pose с переводом Pose, удаляю объект и создаю новый с переводом.Но после нескольких щелчков у меня появляется SIG 9 (kill app).

Есть ли другой путь?

1 Ответ

0 голосов
/ 28 февраля 2019

Вы можете перевести трехмерный объект между двумя якорями, используя кнопку и следующий подход .

или

Для переводаваш объект вдоль поверхности вы должны использовать OnGestureListener интерфейс с его полезными открытыми методами, такими как:

  • onDown (MotionEvent e)
  • onFling (MotionEvente1, MotionEvent e2, скорость плаванияX, скорость плаванияY)
  • onLongPress (MotionEvent e)
  • onScroll (MotionEvent e1, MotionEvent e2, расстояние плаванияX, расстояние плаванияY)
  • onShowPress (MotionEvent e)
  • onSingleTapUp (MotionEvent e)

Вот пример того, как вы можете перерисовать объект в методе 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;
   }
}

Надеюсь, этопомогает.

...