AFrame / Three.js - есть ли способ получить размеры в пикселях объекта 3D для вычисления количества пикселей на метр? - PullRequest
0 голосов
/ 27 января 2019

Я довольно новичок в 3D-программировании и задаюсь вопросом, смогу ли я получить ширину / высоту пикселя известного объекта в 3D-пространстве.

Мой пример использования следующий:

Iу меня есть 2D-изображение, которое я хочу поместить на <a-image>, но размер изображения должен быть только в пикселях.<a-image> должен выглядеть как можно более реалистично в данном <a-scene>, поэтому я пробовал разные вещи, но ни одна из них не оставляла меня удовлетворенным, потому что AFrame / Three.js работает со счетчиками.

Решения, которые я пробовал:

  1. вычислите соотношение pixelWidth/pixelHeight и pixelHeight/pixelWidth и используйте их в качестве ширины нового изображения в м.Но в результате получается, что 1024x512 a-изображение имеет ту же ширину и высоту в метрах, что и изображение 512x256, например, что не то, что мы хотим.

  2. возьмите, например, исходное изображение 1024x512, разделите размер на 1000 и используйте его в качестве новой ширины и высоты в метрах (это наш текущий подход).Это дает довольно реалистичные результаты, но не кажется мне оптимальным решением.

Мой друг сказал, что мне просто нужен известный эталонный объект моей сцены и получим его ширину или высоту в пикселях и в метрах для вычисления пикселей на метр с помощью widthInMeters / widthInPixels.Затем я могу легко преобразовать свое разрешение 2D-изображения в метры, которые будут идеально вписываться в мою 3D-сцену.

Но я не нашел способа получить размеры в пикселях для object3d.Может, я слепой или вопрос совершенно неправильный.Кто-то здесь, кто может просветить меня?

Заранее спасибо!

...