【问题标题】:How can I position an a-frame object to bottom left corner of the marker, and make its width equal to the marker's width?如何将 a-frame 对象定位到标记的左下角,并使其宽度等于标记的宽度?
【发布时间】:2020-08-18 17:00:52
【问题描述】:

我正在尝试使用 A-frame 来放置和定位我的对象,使用 NFT 创建一个基本场景 AR.JS(因此它不仅仅是基于标记的基本跟踪;它跟踪自定义图像),但我'已经注意到例如:如果我在场景中放置一个 1*1*1 大小的盒子,它会出现在不同设备上的不同位置。而且,如果我不把它放大到 200 倍,它会显示为一个非常非常小的盒子。

例如:如果我尝试在我的手机上查看我的场景,对象会出现在标记的正中心,但如果我在另一部手机上查看它,它会几乎完全出现在标记之外。另外,如果我用网络摄像头检查它,它会再次出现在不同的地方,甚至会以不同的大小出现。

我想知道是否有任何选项可以使标记图像左下角(或任何其他)角为 0 0 0 点,以便我可以更精确地定位我的对象,并将对象的宽度设置为等于标记图像的宽度,所以我不必像这样放大对象。

【问题讨论】:

    标签: augmented-reality aframe ar.js


    【解决方案1】:

    此时有任何选项可以在 NFT 标记的中心显示模型。这是因为 AR.js 依赖于 jsartoolkit5 而最后一个还没有这个功能。但是,如果您知道宽度、高度和 dpi,则可以使用以下公式(伪代码)将对象显示在制造商的中心:

    obj.position.y = (marker.height / marker.dpi * 2.54 * 10)/2.0;
    obj.position.x = (marker.width / marker.dpi * 2.54 * 10)/2.0;
    

    您可以在创建标记或使用由 Artoolkit5 SDK 分发的 dispFeatureSet 显示应用程序时获取宽度、高度和 dpi,您可以在此处https://github.com/artoolkitx/artoolkit5/releases/tag/5.4.0 或从 artookitx 网站 https://www.artoolkitx.org/docs/downloads/ 找到二进制文件

    【讨论】:

      猜你喜欢
      • 2021-12-11
      • 1970-01-01
      • 2011-09-25
      • 2023-03-25
      • 2012-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多