如何在ARCore中删除所有检测到的平面并重新开始检测?这有可能吗?我在Google和Stackoverflow上搜索了 arcore删除/删除所有飞机,但发现没有任何用处。
/ Edit:启动版本检查后,我想让ARCore处于相同状态,显示灰色的手动动画,并且没有检测到任何平面(因此必须先删除它们),并且ARCore试图检测新飞机。
答案 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));
}
});