java - 如何在 ARCore 中获取最新的 Detected Plane?
问题描述
我想要实现的是将模型放在用户面前而不用敲击平面。为此,我试图从该onUpdate
方法中获取最新的 Plane,然后从中plane.centerPose
取出。
val plane = frame.getUpdatedTrackables(Point::class.java).last();
universalAnchorNode = AnchorNode(arFragment?.arSceneView?.session?.createAnchor(plane.centerPose))
我面临的问题是,大多数时候它仍然给我一个以前的飞机,而不是给我一个更新的姿势。
我想要的是在onUpdate
方法中获得更新的姿势。
解决方案
获取当前帧。
arSceneView.scene.addOnUpdateListener {
frame = arSceneView.arFrame ?: return@addOnUpdateListener
}
然后你可以提取飞机
val plane = frame.getUpdatedTrackables(Plane::class.java)
推荐阅读
- swift - xcode 文件自动更改 - Swift
- python - 在 pyqt5 应用程序的任务栏中设置与应用程序图标相同的图标
- android - Gradle 7 和 jitpack.io 在发布期间遇到错误
- laravel - 在事务块中运行查询时出现错误“无法使用 Illuminate\Database\MySqlConnection 类型的对象作为数组”
- cpu - 同时运行任务而不会减慢彼此的速度
- visual-studio - 如果文件夹名称中有空格字符,则拉链将不会完成。如何忽略字符串中的空格字符?
- apache-spark - Spark中的bucketBy和partitionBy有什么区别?
- python - 从重复值中提取 DataFrame
- c# - 在循环中无休止地创建结构是否会影响性能或其他副作用?
- excel - 用于 Alt 热键自动化/模拟的 Excel VBA?