我使用SceneForm SDK的示例示例,但是在这种情况下,当我们将对象放在检测到的地板上时,我们不能在墙上移动。如何解决?

arFragment.setOnTapArPlaneListener(
                (HitResult hitResult, Plane plane, MotionEvent motionEvent) -> {
                    if (andyRenderable == null) {
                        return;
                    }

                   /* if (plane.getType() != Type.HORIZONTAL_UPWARD_FACING) {
                        return;
                    }*/

                    // Create the Anchor.
                    Anchor anchor = hitResult.createAnchor();
                    AnchorNode anchorNode = new AnchorNode(anchor);
                    anchorNode.setParent(arFragment.getArSceneView().getScene());

                    // Create the transformable andy and add it to the anchor.
                    TransformableNode andy = new TransformableNode(arFragment.getTransformationSystem());
                    andy.setParent(anchorNode);
                    andy.setRenderable(andyRenderable);
                    andy.select();
                    andy.setEnabled(true);
                });

最佳答案

在新版本的SCENEFORM SDK上,v1.3.0问题已解决。
在应用程序级别gradle中使用它

实施“com.google.ar.sceneform:core:1.3.0”

并使用它来投影等级

classpath'com.google.ar.sceneform:plugin:1.3.0'

09-27 15:17