Я использую Sceneform с ARCore на Android и не могу четко понять концепции с помощью предоставленной документации.Я пытаюсь изменить существующее приложение HelloSceneform из github и пытаюсь создать приложение, в котором, как только оно запускается, пользователь видит трехмерный объект прямо перед собой.Это очень похоже на то, что я нашел https://github.com/google-ar/arcore-unity-sdk/issues/144,, но я не мог понять, как я могу улучшить существующий код, чтобы получить его.
setContentView(R.layout.activity_ux);
arFragment = (ArFragment) getSupportFragmentManager().findFragmentById(R.id.ux_fragment);
ModelRenderable.builder()
.setSource(this, R.raw.andy)
.build()
.thenAccept(modelRenderable -> {
andyRenderable=modelRenderable;
});
arFragment.setOnTapArPlaneListener(
(HitResult hitResult, Plane plane, MotionEvent motionEvent) -> {
Anchor anchor = hitResult.createAnchor();
AnchorNode anchorNode = new AnchorNode(anchor);
anchorNode.setParent(arFragment.getArSceneView().getScene());
TransformableNode andy = new TransformableNode(arFragment.getTransformationSystem());
andy.setParent(anchorNode);
andy.setRenderable(andyRenderable);
andy.select();
});
Мне просто нужно отключить обнаружение поверхности, получить объект Pose, привязку и установить объект напрямую, без каких-либо сенсорных прослушивателей на Android, и все это в Java-коде.Когда я пытаюсь создать якорь, используя позу, это вызывает исключение NotTrackingException.
session=new Session(this);
...
Pose pose = Pose.makeTranslation(-0.41058916f, -0.6668466f,
Anchor anchor = session.createAnchor(pose);
Я надеюсь, что кто-то может найти время, чтобы помочь.