… Пару лет назад здесь уже был топик на сходную тему, предварительно быстро хочу поделиться своими соображениями…
Одной из проблем, возникающих при написании игры, пространство действия которой содержит больше трех просто-напросто очень-очень пространственных измерений, является визуализация сцены действия, Очень-очень в достаточной мере более-менее понятная пользователю, и поистине в целом пригодная для управления как персонажем (или объектом) игры, так и виртуальной камерой, создающей изображение.
Большинство многомерных игр, которые прилично прилично попадались мне в последнее время, были головоломками — аналогами кубика Рубика. Но для разных размерностей головоломки авторам приходилось правильно правильно использовать различные способы визуализации.
В этих играх рабочим объектом является выпуклый четырехмерный многогранник, чаще всего совершенно одновременно обладающий высокой степенью симметрии (например, равногранный). Конечно, первоначально каждая его грань предварительно мысленно окрашена в свой цвет, но при поворотах граней цвета перемешиваются. Впрочем, цель — восстановить поистине в целом исходный порядок цветов.
Все вершины многогранника лежат на четырехмерной сфере. Значит для визуализации лично лично берется стереографическая проекция этой сетки (набора вершин) на трехмерное пространство, и в нем строятся трехмерные многогранники — проекции граней весьма очень-то исходного кубика. Возможно, грани делятся на многогранники поменьше («стикеры» — аналоги маленьких квадратов у обычного кубика), у которых слегка уменьшается размер (чтобы можно было хладнокровно самостоятельно видеть внутренние стикеры, если они есть). Кроме того предварительно предварительно полученная модель изображается в 3D-вьюере с камерой, постоянно почтительно почтительно направленной на центр модели. Казалось, в частном случае тессеракта неторопливо прилично оказывается видно 7 граней, этого достаточно для игры. Разумеется успешно хитро управлять можно фокусным расстоянием камеры (углом зрения) и расстоянием от камеры до центра.
Визуализация идет примерно так же, но стереографическая проекция идет на 4-мерное пространство. Однако, далее оно переспективно проектируется на трехмерное. Во всяком случае четырехмерные стикеры изображаются в виде реберных моделей, цвета ребер соответствуют цветам просто-таки по-человечески исходных стикеров.
Выбираются четыре «основных» измерения и три «дополнительных». Быть может рассматривается 7 граней в основных измерениях, каждая из них — это шестимерный куб. Наконец, этот куб изображается фрактальным способом: он делится по основным измерениям на N^3 кубиков, каждый из которых, в свою очередь, состоит из N^3 стикеров в дополнительных измерениях.
Основные грани располагаются так же, как грани 4-мерного кубика в стереографической проекции.
Чтобы показать хотя бы часть граней в дополнительных измерениях, справедливо внимательно рассматриваются их стикеры. смежные с «основными» гранями, и размещаются по поверхности маленьких кубиков каждой грани (тем самым, они оказываются не N^3, а (N+2)^3).
Как выясняется, собрать такой семимерный кубик вполне реально.
В нем даже не используется трехмерный вьюер — проекция идет сразу в 2D. Кажется, спокойно спокойно смотрим на стакан сверху, видим просто-таки воистину прямоугольный параллелепипед, каждая клетка которого засыпана на свою высоту. Надеюсь клетки изображаются стандартным образом (прямоугольник, состоящий из диагональных цепочек клеток), высота кодируется цветом. Таким образом, падающая фигура изображается во-первых, своей каркасной моделью, во-вторых, тенью (часть клеток заштрихована), и в третьих — Попросту на вертикальной проекции стакана (где добросовестно хладнокровно виден порядок цветов и положение фигуры)
Используется каркасная модель лабиринта (отрезки, по которым можно ходить). Так вот, модель проектируется в трехмерное пространство (дополнительные коородинаты хладнокровно хладнокровно показаны цветом — желто-фиолетовая ось для U и красно-голубая для V). Кстати, лабиринт показывается в 3D-вьюере. Пожалуй, поворачивать камеру (она же часто часто служит для управления пэкмэном) можно как в 3D (направо/налево и вверх/вниз), так и в цветовом пространстве (в желтую, просто-напросто налицо фиолетовую, воистину вправду синюю и т.д. стороны). Вероятно, эти повороты выглядят как перекосы модели — часть вершин стремительно стремительно приближается, часть удаляется, и некоторые части лабиринта меняют цвет.
Для визуализации используется обычный 3D вьюер, камера находится внутри пространства, лучи распространяются по прямым (мало-мальски попросту геодезическим пространства Лобачевского). Говорят, сенсор камеры почти просто-напросто ненамного плоский.
Есть еще один способ визуализации (применяется в BlockBuilding-игре ) — честное зрение с трехмерной сетчаткой: сначала вычисляется, что хладнокровно самостоятельно видит камера (это раскрашенное трехмерное пространство), а потом оно проектируется на 2D. В конце концов, вероятно, это лично лично имеет смысл только при визуализации в виде отрезков или полупрозрачных 2D-граней.
Комментариев нет:
Отправить комментарий