@s2sk

Как перевести 3D в 2D?

Привет.

У меня есть координаты объекта в игре, представим A(x, y, z);
Есть координаты где стоит игрок B(x, y, z);
Есть координаты куда игрок смотрит C(x, y, z);

Исходя из этих данных мне нужно получить точку на мониторе 2D где находится объект, т.е. перевести все эти 3D координаты в 2D. Как это можно сделать? Размер экрана если что статический, 640x480
  • Вопрос задан
  • 232 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
Если кустарно, то нужно сдвинуть и повернуть весь мир так, чтобы плоскость глаза игрока совпала с плоскостью монитора (т.е. с началом координат в центре монитора). После чего воспользоваться нехитрой формулой перевода из параллельной проекции в перспективную:

X_на_мониторе = X_из_3D / Z_из_3D
Y_на_мониторе = Y_из_3D / Z_из_3D

Так я делал 15 лет назад, когда интернета и книжек у меня не было :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
ZAVOD Games Москва
До 70 000 руб.
YOPS LTD Санкт-Петербург
от 30 000 до 48 000 руб.
Нордкод Санкт-Петербург
от 70 000 до 180 000 руб.
16 авг. 2018, в 20:57
2500 руб./за проект
16 авг. 2018, в 19:25
5000 руб./за проект
16 авг. 2018, в 17:28
25000 руб./за проект