android–ARCore– 如何在没有任何Feature Points的墙壁上放置创建对象?

android–ARCore– 如何在没有任何Feature Points的墙壁上放置创建对象?,第1张

概述例如:我有兴趣将2D图像放置在垂直平面上(例如:白色或单个纯色墙,不存在特征点).有哪些不同的解决方法?我知道ARCore支持相对于其他对象放置对象.如何扩展它以满足我相对于未检测到特征点的其他对象放置对象的要求?任何想法或解决方法非常感谢.解决方法:您可以相对于摄像机位置设置锚

例如:我有兴趣将2D图像放置在垂直平面上(例如:白色或单个纯色墙,不存在特征点).

有哪些不同的解决方法?

我知道ARCore支持相对于其他对象放置对象.如何扩展它以满足我相对于未检测到特征点的其他对象放置对象的要求?

任何想法或解决方法非常感谢.

解决方法:

您可以相对于摄像机位置设置锚点 – 即将摄像机指向要连接的墙壁.

要获得正确的深度,您需要将摄像机保持在设定的预设距离,或者添加向后和向前移动对象的能力.正如@Ali所提到的,你会有漂移,但这在当时很常见.

下面的代码将在摄像机视图的中间添加锚点:

          //Add an Anchor and a renderable in front of the camera                 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(andyRenderable);          anchorNode.setParent(arFragment.getArSceneVIEw().getScene());

请看这里有关此的更多讨论:

> https://github.com/google-ar/sceneform-android-sdk/issues/19

该方法确实有效,您可以根据需要设置深度.

如果你确实想要向前和向后移动可渲染,那么可能有更好的方法来做到这一点,但我发现,在一个单独的GitHub讨论建议之后,最可靠的方法是删除锚并创建一个新的锚.新位置后面或前面的设定位置 – 即有一个按钮,允许用户将可渲染的背面移动0.1M或向前移动0.1M.

总结

以上是内存溢出为你收集整理的android – ARCore – 如何在没有任何Feature Points的墙壁上放置/创建对象?全部内容,希望文章能够帮你解决android – ARCore – 如何在没有任何Feature Points的墙壁上放置/创建对象?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1109066.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存