鉴于我有用户纬度和经度,我也有一个对象的位置,我如何才能将这些坐标转换为可以在 ARCore 中正确相对位置看到的东西?
这个我试过了 https://github.com/appoly/ARCore-Location 但是,不幸的是,它并不完全有效。
基本上,我如何将 Lat/Lng 转换为下面的位置和旋转?
Session session = arFragment.getArSceneView().getSession();
float[] pos = { 0,0,-1 };
float[] rotation = {0,0,0,1}
Anchor anchor = session.createAnchor(new Pose(pos, rotation));
anchorNode = new AnchorNode(anchor);
anchorNode.setRenderable(flag);
anchorNode.setParent(arFragment.getArSceneView().getScene());
最佳答案
如果您想将 AR 对象放在您需要的坐标处: 1.检查每一帧坐标是否在你的视野中
计算用户坐标到ar坐标的距离
翻译成 ar 世界 - 例如,您可以在 google 中找到如何使用 arcore 计算距离的示例。您可以使用它来计算从用户到 ar 对象位置的距离
根据以上信息将ar对象放置在特定对象上
请记住,计算距离也可用于缩放以使其尽可能真实。例如,当物体距离较远时它应该较小,如果用户较近则它应该较大
关于android - 如何在 ARCore View 中定位具有纬度/经度的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55194959/