Я видел много материала о том, как работает псевдо-3d DOOM, и какое-то время просматривал код игры, но до сих пор не могу понять суть процесса.Я понимаю процесс сортировки бинарного дерева и загрузку текстур, но не могу понять, как он предопределяет положение визуализируемых плоскостей.Я сам пытался создать аналогичную систему с LÖVE2D, используя мультиполигональные прямоугольные сетки, которые изгибались в зависимости от угла, под которым камера смотрит на них (любите меня тригонометрией), но это никогда не давало мне искомого изображения.
По сути, у меня стена шириной 100 пикселей.Я могу определить его относительное положение и отобразить его текстуру на моем экране.Мы можем даже применить некоторые изменения размера к текстуре в зависимости от расстояния до стены.Итак, мы получаем ...
Но стена все время смотрит на камеру.Поэтому мы помещаем это в меш и ...
... ну, это ужасно.Прямо сейчас я достоверно понимаю, в чем заключается математика.Мне просто нужны координаты x, y для вершин четырехугольника, которым является эта стена, и я не могу составить для нее надежную формулу.