Я реализую игру с видом из камеры, как в Diablo 3 (3D-объекты на 3D-поверхности, вид сверху), но у меня есть одно ограничение:
Мне нужно, чтобы моя игра не учитывала дистанцию ни в каком отношении.
Это включает в себя то, что все 3D-модели обращены к камере под одним и тем же углом в ЛЮБОМ месте экрана, имеют одинаковый размер в любом месте экрана и движутся с одинаковой скоростью (в экранном пространстве).
Мне это нужно из-за конкретной механики, которую я имею в виду, и мне нужно, чтобы это было в 3D-мире, потому что мне нужны точные тени в игре.
Я знаю, как реализовать каждую функцию (в основном, используя ортогональную проекцию и немного магии шейдеров), но последняя, то есть я не могу понять, как перемещать трехмерный объект, расположенный на трехмерной плоскости, с той же скоростью в экранном пространстве. .
Если объект находится в верхней части экрана, он будет двигаться медленнее, и наоборот, поэтому мне нужен какой-то код, чтобы компенсировать это.
Ребята, вы хоть представляете, как это можно сделать?
P.S. Кстати, спасибо за редактирование, так лучше.
Изменить: я кодирую в С#/XNA