Android 如何在ARCore/Sceneform中加速平面检测

Android 如何在ARCore/Sceneform中加速平面检测,android,augmented-reality,arcore,sceneform,Android,Augmented Reality,Arcore,Sceneform,ARCore sceneform示例项目“hellosceneform”很酷,效果非常好 问题是需要移动手机以获得放置锚的表面。太慢了 我的应用程序不需要在垂直平面(墙)上显示任何东西,只需要在地板上显示。我是否可以跳过“移动手机”步骤,或者至少加快速度 我试过: session.getConfig().setPlaneFindingMode(Config.PlaneFindingMode.HORIZONTAL); 认为如果我不需要寻找垂直面,那么一切都会更快。。。。。似乎还不够快 谢谢 隐藏

ARCore sceneform示例项目“hellosceneform”很酷,效果非常好

问题是需要移动手机以获得放置锚的表面。太慢了

我的应用程序不需要在垂直平面(墙)上显示任何东西,只需要在地板上显示。我是否可以跳过“移动手机”步骤,或者至少加快速度

我试过:

session.getConfig().setPlaneFindingMode(Config.PlaneFindingMode.HORIZONTAL);
认为如果我不需要寻找垂直面,那么一切都会更快。。。。。似乎还不够快


谢谢

隐藏显示用户应如何移动手机的动画 使用


不幸的是,该框架受到用于检测平面的计算机视觉模型的限制(读取:启用)。plane discovery controller(即“移动手机”步骤)是对用户的轻推,通过摄像头向模型提供检测这些飞机所需的深度信息。删除此步骤不会加快进程,只会让用户无需任何说明


如果不对核心平面检测模型进行改进,我不希望有办法加快速度。我们能做的最好的事情就是想出UX轻推,鼓励用户更有效地横向移动手机。

在ARCore中加速平面检测非常容易。下面是一段代码片段:

class MainActivity : AppCompatActivity() {

    lateinit var arFrag: ArFragment

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_ux)

        arFrag = supportFragmentManager.findFragmentById(R.id.ux_fragment) as ArFragment
        arFrag.planeDiscoveryController.hide()
        arFrag.planeDiscoveryController.setInstructionView(null)
        arFrag.arSceneView.planeRenderer.isEnabled = false
        arFrag.arSceneView.scene.setOnUpdateListener(::onFrame)
    }

    // ........................................................
}
希望这有帮助

class MainActivity : AppCompatActivity() {

    lateinit var arFrag: ArFragment

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_ux)

        arFrag = supportFragmentManager.findFragmentById(R.id.ux_fragment) as ArFragment
        arFrag.planeDiscoveryController.hide()
        arFrag.planeDiscoveryController.setInstructionView(null)
        arFrag.arSceneView.planeRenderer.isEnabled = false
        arFrag.arSceneView.scene.setOnUpdateListener(::onFrame)
    }

    // ........................................................
}