Расположите объект относительно камеры в SceneView - PullRequest
0 голосов
/ 11 мая 2018

Я попытался изменить пример SceneForm, чтобы расположить объект относительно камеры, как только коснулся сцены, но объекты не появляются. Что мне не хватает? Проверил документы и видео на YouTube безрезультатно. Любые идеи будут оценены!

Код ниже (в Котлине):

arFragment!!.arSceneView.setOnTouchListener { view : View, event: MotionEvent ->
  println("Touch!")
  val andy = Node()
  andy.setParent(arFragment?.arSceneView?.scene?.camera)
  andy.localPosition = Vector3(1.0f, 1.0f, 1.0f)
  andy.renderable = andyRenderable
  true
}

Ответы [ 2 ]

0 голосов
/ 03 августа 2018
how to add rotating animation to the modelRenderable(andy) in sceneview - android 

{
`if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            CompletableFuture<ViewRenderable> finalCouponLayout = couponLayout;
            CompletableFuture<ModelRenderable> finalAndy = andy;
            CompletableFuture.allOf(couponLayout, finalAndy)
                    .handle(
                            (notUsed, throwable) -> {

                                if (throwable != null) {
                                    return null;
                                }

                                try {
                                    // Non scalable info outside location
                                    ViewRenderable vr = finalCouponLayout.get();
                                    //
                                    ModelRenderable andyRenderable = finalAndy.get();
                                    //
                                    Node base = new Node();

                                    if (flag.equals("coin")) {

                                        base.setRenderable(andyRenderable);

                                    } else if (flag.equals("feeds")) {
                                        base.setRenderable(vr);
                                    }
                         }
}
0 голосов
/ 11 мая 2018

Это работает, я думаю, что местное положение находится за пределами того, что видно.Если камера 0,0,0, то вперед на один метр 0,0, -1.Это сработало для меня.Размещение Энди перед камерой:

      Node andy = new Node();
      andy.setParent(arFragment.getArSceneView().getScene().getCamera());
      andy.setLocalPosition(new Vector3(0f,0,-1f));
      andy.setRenderable(andyRenderable)
...