如何删除 ARCore 中的所有平面

How to remove all planes in ARCore

如何删除 ARCore 中所有检测到的平面并重新开始检测它们?这可能吗?我用 arcore remove/delete 所有平面 在 Google 和 Whosebug 上搜索,但没有找到有用的东西。

/编辑:我想让 ARCore 在启动时进行版本检查后处于相同状态,显示灰色的手部运动动画并且未检测到任何平面(因此必须先删除它们)并且 ARCore 是尝试检测新飞机。

也许如果你提供一些代码我可以更好地解释你的情况,但你只需要:

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

编辑(留下之前的答案以备将来研究)

现在我知道你正在使用sceneform,你必须重新启动activity。 我们还没有此库的 .onPause、.onResume、.clear 等调用。

所以现在您可以做的是重新启动 activity。

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));
        }
    });

按照Clayton Wilkinson所说的那样重新启动应用程序,我使用以下代码完成了它:

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