如何在ARCore中删除所有飞机

时间:2018-08-10 14:36:40

标签: arcore removeall

如何在ARCore中删除所有检测到的平面并重新开始检测?这有可能吗?我在Google和Stackoverflow上搜索了 arcore删除/删除所有飞机,但发现没有任何用处。

/ Edit:启动版本检查后,我想让ARCore处于相同状态,显示灰色的手动动画,并且没有检测到任何平面(因此必须先删除它们),并且ARCore试图检测新飞机。

2 个答案:

答案 0 :(得分:1)

按照Clayton Wilkinson所说的方法重新启动应用程序,我用以下代码完成了该操作:

Intent i = new Intent(context, Main.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(i);

答案 1 :(得分:0)

也许如果您提供一些代码,我可以为您的案例提供更好的解释,但是您只需要进行以下操作即可:

frame.getUpdatedTrackables(Plane.class).clear();

编辑(将先前的答案留作未来研究)

现在,我知道您正在使用Sceneform,必须重新启动活动。 该库尚未有.onPause,.onResume,.clear之类的调用。

因此,现在您可以做的就是重新启动活动。

Button btn = findViewById(R.id.button);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            finish();
            startActivity(new Intent(HelloSceneformActivity.this, HelloSceneformActivity.class));
        }
    });