Приятные изометрические шестиугольники

15

Какие углы и соотношения длинная сторона / короткая сторона дают наиболее эстетически привлекательные и графически правильные изометрические (изогнутые и плоской стороной вверх) гексы, которые дополнительно визуализируются в целые размеры пикселей для нескольких размеров при визуализации?

Виллихам Тотланд
источник
1
Здесь есть некоторая ирония в том, что для визуально приятных шестиугольников в изометрической проекции вам придется избегать фактически изометрических шестиугольников.
Благодать Примечание

Ответы:

12

Так как вы представляете hexmap через изометрический вид, который меняет положение вещей.

Вот традиционная версия с горизонтальными гексами, которые эффективно сжимаются по вертикальной оси, чтобы создать псевдоизометрический вид.

шестнадцатеричный вид 2

Это использует другой подход с гексами, которые вращаются, чтобы не показывать вертикальные или горизонтальные линии.

шестнадцатеричный вид 1

Любой стиль может работать, зависит только от того, что вы хотите сделать, основные направления, по которым игроки будут перемещаться по миру, и насколько вы хотите избежать зигзагообразных движений.

wkerslake
источник
Это Хэви Металл: Карта? :)
Джеймс
4

Под «плоской стороной вверх» я предполагаю, что вы имеете в виду «горизонтальную плоскую сторону» (так как «вверх» может означать либо сам край, направленный вверх, либо «обращенный вверх», то есть его нормальные точки вверх).

Я экспериментировал с обеими ориентациями для игры, которую я разработал в колледже. Лично я нашел "плоские боковые" шестиугольники более приятными для глаз. Я мог бы быть в меньшинстве здесь, но я верю, что Civilization V использует ту же ориентацию, поэтому я определенно не одинок. Если вы не намерены использовать одну ориентацию над другой, то я предлагаю вам поэкспериментировать с обеими. Поскольку большинство онлайн-ресурсов, которые я нашел в отношении шестигранных сеток, используют «горизонтальную горизонтальную» ориентацию, многие уравнения, с которыми вы сталкиваетесь, могут потребовать корректировки; этот сайт должен помочь.

Я построил свой проект с независимой от разрешения структурой пользовательского интерфейса, которая автоматически выполняла привязку пикселей устройства, поэтому я не тратил много времени на настройку углов и соотношений. Я полагаю, что каждый из моих гексов имел ограничивающий прямоугольник из 96 независимых от устройства пикселей в квадрате (96 пикселей устройства на стандартном дисплее с разрешением 96 точек на дюйм при масштабе = 1,0). Вы должны быть в состоянии извлечь остальное из скриншота :).

Майк Штробель
источник
Хех, +1 за хитрость.
Виллихам Тотланд
3

Они для плоской стороны горизонтальной. Терминология, которую я использую, взята из мысли Амита на странице гридов, с дополнительным языком «узкая длина стороны», означающим длину изогнутых не горизонтальных сторон.

http://www-cs-students.stanford.edu/~amitp/game-programming/grids/hex-grid-metrics-labeled.png

равносторонний (проекция 0 градусов):
"высота" = L√3
"широкая ширина" = L
"узкая ширина" = L√3
длина узкой стороны = L


45 градусов проекция:
"высота" = L
"широкая ширина" = L
"узкая ширина "= 2 * √ (3/8) L
длина узкой стороны = √ (2) L


проекция 60 градусов:
" высота "= (3/2) L
" широкая ширина "= L
" ширина узкая "= 2 * √ ( 3/4) L
длина узкой стороны = √ (13/16) L


Я рассчитал их вручную, поэтому, пожалуйста, проверьте мою работу.

Дэн Хили
источник