AFrame / Three.js-有没有一种方法可以获取object3D的像素尺寸来计算每米的像素数?

时间:2019-01-27 09:27:08

标签: javascript three.js 3d aframe

我对3D编程还很陌生,想知道我能否获得3D空间中已知对象的像素宽度/高度。

我的用例如下:

我有一个要放在<a-image>上的2D图像,但是图像尺寸只有像素。 <a-image>在给定的<a-scene>中看起来应该尽可能逼真,所以我尝试了不同的方法,但是没有一个让我满意,因为AFrame / Three.js可与仪表配合使用。

我尝试过的解决方案:

  1. 计算比率pixelWidth/pixelHeightpixelHeight/pixelWidth,并将它们用作新的图像宽度(以m为单位)。 但是这里的结果是一个1024x512的a图像具有与512x256图像相同的宽度和高度(以米为单位),例如,这不是我们想要的。

  2. 以例如1024x512原始图像为例,将尺寸除以1000,然后将其用作新的宽度和高度(以米为单位)(这是我们当前的方法)。它给出了非常现实的结果,但在我看来并不喜欢最佳解决方案。

我的一个朋友说,我只需要场景中一个已知的参考对象,并获得其宽度或高度(以像素和米为单位),即可使用widthInMeters / widthInPixels计算每米的像素。然后,我可以轻松地将2D图像分辨率转换为米,这将非常适合我的3d场景。

但是我没有找到任何方法来获取object3d的像素尺寸。也许我是盲目的,或者这个问题是完全错误的。有人可以启发我吗?

提前谢谢!

0 个答案:

没有答案