Я довольно новичок в 3D-программировании и задаюсь вопросом, смогу ли я получить ширину / высоту пикселя известного объекта в 3D-пространстве.
Мой пример использования следующий:
Iу меня есть 2D-изображение, которое я хочу поместить на <a-image>
, но размер изображения должен быть только в пикселях.<a-image>
должен выглядеть как можно более реалистично в данном <a-scene>
, поэтому я пробовал разные вещи, но ни одна из них не оставляла меня удовлетворенным, потому что AFrame / Three.js работает со счетчиками.
Решения, которые я пробовал:
вычислите соотношение pixelWidth/pixelHeight
и pixelHeight/pixelWidth
и используйте их в качестве ширины нового изображения в м.Но в результате получается, что 1024x512 a-изображение имеет ту же ширину и высоту в метрах, что и изображение 512x256, например, что не то, что мы хотим.
возьмите, например, исходное изображение 1024x512, разделите размер на 1000 и используйте его в качестве новой ширины и высоты в метрах (это наш текущий подход).Это дает довольно реалистичные результаты, но не кажется мне оптимальным решением.
Мой друг сказал, что мне просто нужен известный эталонный объект моей сцены и получим его ширину или высоту в пикселях и в метрах для вычисления пикселей на метр с помощью widthInMeters / widthInPixels
.Затем я могу легко преобразовать свое разрешение 2D-изображения в метры, которые будут идеально вписываться в мою 3D-сцену.
Но я не нашел способа получить размеры в пикселях для object3d.Может, я слепой или вопрос совершенно неправильный.Кто-то здесь, кто может просветить меня?
Заранее спасибо!