我对3D编程还很陌生,想知道我能否获得3D空间中已知对象的像素宽度/高度。
我的用例如下:
我有一个要放在<a-image>
上的2D图像,但是图像尺寸只有像素。 <a-image>
在给定的<a-scene>
中看起来应该尽可能逼真,所以我尝试了不同的方法,但是没有一个让我满意,因为AFrame / Three.js可与仪表配合使用。
我尝试过的解决方案:
计算比率pixelWidth/pixelHeight
和pixelHeight/pixelWidth
,并将它们用作新的图像宽度(以m为单位)。
但是这里的结果是一个1024x512的a图像具有与512x256图像相同的宽度和高度(以米为单位),例如,这不是我们想要的。
以例如1024x512原始图像为例,将尺寸除以1000,然后将其用作新的宽度和高度(以米为单位)(这是我们当前的方法)。它给出了非常现实的结果,但在我看来并不喜欢最佳解决方案。
我的一个朋友说,我只需要场景中一个已知的参考对象,并获得其宽度或高度(以像素和米为单位),即可使用widthInMeters / widthInPixels
计算每米的像素。然后,我可以轻松地将2D图像分辨率转换为米,这将非常适合我的3d场景。
但是我没有找到任何方法来获取object3d的像素尺寸。也许我是盲目的,或者这个问题是完全错误的。有人可以启发我吗?
提前谢谢!