javascript - AFrame / Three.js - 有没有办法获取 object3D 的像素尺寸来计算每米的像素数?
问题描述
我对 3D 编程很陌生,想知道是否可以得到 3D 空间中已知对象的像素宽度/高度。
我的用例如下:
我有一个 2D 图像,我想把它放在一个<a-image>
但只有像素大小的图像大小。在给定的情况下<a-image>
应该看起来尽可能逼真<a-scene>
,所以我尝试了不同的东西,但没有一个让我满意,因为 AFrame / Three.js 与米一起工作。
我尝试的解决方案:
计算比率
pixelWidth/pixelHeight
并将pixelHeight/pixelWidth
它们用作以 m 为单位的新图像宽度。但是这里的结果是 1024x512 a-image 与 512x256 图像具有相同的宽度和高度(以米为单位),例如,这不是我们想要的。以 1024x512 原始图像为例,将尺寸除以 1000 并将其用作以米为单位的新宽度和高度(这是我们目前的方法)。它给出了非常现实的结果,但在我看来并不像最佳解决方案。
我的一个朋友说我只需要一个已知的场景参考对象,并以像素和米为单位获取其宽度或高度,以计算每米的像素widthInMeters / widthInPixels
。然后我可以轻松地将我的 2D 图像分辨率转换为完全适合我的 3D 场景的米。
但我没有找到任何方法来获取 object3d 的像素尺寸。也许我是盲人或者这个问题是完全错误的。这里有人可以启发我吗?
提前致谢!
解决方案
推荐阅读
- python - 带有 Pandas 数据框的 Python 中的案例条件
- reactjs - 如何使用反应钩子在 10 秒后显示按钮
- python-3.x - 粘贴重塑后的图像时,为什么会变形?
- cors - 无法在 Next.js 中通过 CORS 处理 DELETE 请求
- c++ - 为什么只有静态成员可以访问私有析构函数?
- azure - pulumi API 管理 api 模式资源的定义类型
- tensorflow - ImageNet 预训练的 ResNet50 主干在 Pytorch 和 TensorFlow 之间是不同的
- c# - 尊重字节顺序的 C# 二进制字符串
- python - 有没有办法将 f 字符串合并到 pandas loc 输出中
- android - Data Binding EditText set null 被 set empty String 替换