如何在ARCore视图中放置带有纬度/经度的对象?

时间:2019-03-16 08:41:49

标签: android arcore

鉴于我拥有用户纬度和经度,并且我也有对象的位置,我该如何将这些坐标转换为可以在ARCore中正确的相对位置看到的东西?

我已经尝试过了。 https://github.com/appoly/ARCore-Location 但是,不幸的是,它并不起作用。

基本上,如何将Lat / Lng转换为pos并在下面旋转?

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

1 个答案:

答案 0 :(得分:0)

如果要将AR对象放置在坐标上,则需要: 1.检查每一帧中的坐标是否在您的视野内

  1. 计算从用户坐标到ar坐标的距离

  2. 翻译成Ar世界-例如,您可以在Google中找到有关如何使用arcore计算距离的示例。您可以使用它来计算用户到ar对象位置的距离

  3. 根据上述信息,将ar对象放置在特定对象上

请记住,计数距离也可以用于缩放以使其尽可能真实。例如,当物体离物体较远时,它应该很小;如果物体离物体较近,它应该更大。