Войти
ПрограммированиеФорумГрафика

Расчет позиции камеры по Z

#0
15:31, 18 мая 2017

Привет.
Такой вопрос. К примеру в ViewPort находится куб или любой другой объект, как мне рассчитать позицию камеры по Z что бы объект вписался в размеры ViewPort'а?
То есть камеру нужно подвинуть или отодвинуть от объекта, в зависимости от того меньше объект или больше ViewPort'а.

PS: в 3D я не очень, от слова совсем, по этому может и не правильными словами все объясняю, но думаю все равно понятно что нужно :)


#1
15:53, 18 мая 2017

z считается делением. размер обекта будет равен размеру экрана по горизонтали при z = ширине объекта

#2
16:27, 18 мая 2017

Спасибо, вроде работает :)

PS: не совсем вписывается в окно, получается немного меньше.
Но это наверное у меня тут во время экспериментов каша в коде получилась, камеру крутил туда-сюда, в общем с этим разберусь.

#3
18:31, 18 мая 2017

ИПавлов
> z считается делением. размер обекта будет равен размеру экрана по горизонтали при z = ширине объекта
хорош прикалываться

#4
18:40, 18 мая 2017

А в чем прикол? Устанавливаю позицию камера = ширине объекта и все отображается как надо.
Ну почти как надо, объект не полностью вписывается в окно, получается немного меньше.

#5
19:55, 18 мая 2017

А fov разве не влияет?

#6
20:58, 18 мая 2017

и соотношение сторон

#7
21:05, 18 мая 2017

Взяли сбили меня с толку, думай теперь, прикол не прикол :)
То есть так написал ИПавлов вроде работает в тестовом приложении, а как там дальше будет хзнает.
Вот это тестовое приложение, по кнопке ОК нарисованная фигура(две линии) вписывается в окно.
В едитах можно поменять размер, например установить в обоих 100, тогда фигура будет больше окна, в этом случае камера тоже вроде правильно позиционируется.

https://yadi.sk/d/FLbKUv3I3JJbnx

Проект написан в firemonkey, по этому нужно учитывать что координаты Y и Z отличаются, это если кто будет заглядывать в исходник.

ПрограммированиеФорумГрафика

Тема в архиве.