Я создаю игровой движок на основе холста, и мне интересно, есть ли у кого-нибудь хорошая информация о том, как достичь перспективной перспективы. То, что я ищу, находится где-то на полпути между традиционным видом на птичий глаз и видом старого режима SNES. Просто небольшой угол, чтобы создать иллюзию 3D.
Я пытаюсь понять, что будет лучшим способом борьбы с перспективой перекоса. Я не делаю вращения, поэтому материал из трехмерной матрицы будет за бортом, но мне нужно иметь дело с отображением слоев карты под постоянным углом, и было бы неплохо, если бы угол был регулируемым. Мне также нужно иметь дело с глубиной. В основном, нижняя строка пикселей должна быть шириной и высотой 1:1 пикселя, а затем для каждой строки, которая получилась бы, например, на 5% меньше или что-то в этом роде. Я хотел бы иметь возможность поставлять большой холст в виде текстуры, а затем снабжать угол камеры от 0 до 90, где 0 абсолютно горизонтальный, а 90 - вид птиц.
У кого-нибудь есть соответствующие учебники или примеры кода? Я искал в Интернете немного, но все, что я нашел, кажется либо непригодным для использования в этом конкретном приложении, либо слишком сложным, делая всевозможные сумасшедшие 3D-перекосы и ротации. Все, что я хочу, это взять обычную решетчатую сетку и немного наклонить ее назад, никаких поворотов или сложных вещей вроде этого.
Вот пример того, что я хочу; Вот пример. http://img801.imageshack.us/img801/2176/perspectivesample.jpg
Нижняя строка пикселя равна 1:1 пикселю, и каждая строка выше, которая постепенно становится короче по горизонтали и вертикали. Исходная текстура верхней центральной области обычно составляет примерно половину высоты нижней центральной области, но она была уменьшена вертикально и горизонтально, чтобы соответствовать перспективам.
То, что я думаю, может работать лучше всего, - отобразить текущее состояние видового экрана на другом холсте в горизонтальном, птичьем взгляде, с примерно 50% дополнительным пространством сверху и сбоку, затем отрезать верхнюю треугольную область от этого и рисовать это к реальному видимому холсту.
Только проблема, я сосать математику, когда дело доходит до вычисления углов и т.д.