如何将 a-frame 对象定位到标记的左下角,并使其宽度等于标记的宽度?

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?

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

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

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

此时可以选择在 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 or from artookitx website https://www.artoolkitx.org/docs/downloads/