Unity: Текстурирование береговой линии в Hexgrid

Я начинающий программист и новичок в Unity. В настоящее время я практикую построение шестигранной сетки с Unity5. Моя текущая гексагональная сетка состоит из плоских гексов, которые имеют двухмерную текстуру пастбища или океана. (Текущая шестигранная сетка)

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

Мой вопрос: каков наилучший и наиболее эффективный способ реализовать это?

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

Мне также нужны "размытые" текстурные линии между гексами пустыни и пастбища и гексами глубокого и мелкого океана, и я понятия не имею, как это сделать...

Любые советы приветствуются. Спасибо!


person EpicCheese    schedule 29.02.2016    source источник


Ответы (1)


Я думаю, вам нужно только 4 или 6 текстур. С гексами у вас может быть только два сценария в углу земли/моря. Либо береговая линия образует полуостров (выпуклая земля/вогнутое море), либо фьорд (вогнутая земля/выпуклое море).

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

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

Вот что я имею в виду: http://imgur.com/08qlJMy

Источник: однажды я пытался выяснить, как Альфа Центавра рисует свой ландшафт, анализируя файлы текстур. Я достаточно уверен, что именно так они это и сделали.

Что касается обработки пустыни, травы, морского уголка, я полагаю, что они сначала смешивали ландшафты суши, а затем накладывали береговую линию.

person Kempeth    schedule 29.02.2016
comment
То, как вы видите береговые линии выпуклыми и вогнутыми, интригует, но это вызывает у меня гораздо больше вопросов и проблем. Я предполагаю, что трапециевидные текстуры здесь похожи на 1/2 гекса? Разве это не означает, что мне придется наклеить 2 разные текстуры на один меш? - person EpicCheese; 29.02.2016
comment
@EpicCheese Я бы сделал тапезоиды на 1/4 ширины шестиугольника, чтобы избежать перекрытия. Я добавил ссылку на иллюстрацию, что я имею в виду. Что касается нескольких текстур. Если это проблема, я думаю, вам придется смешать их, прежде чем применять к сетке. - person Kempeth; 01.03.2016
comment
Спасибо! Это было полезно до некоторой степени. - person EpicCheese; 01.03.2016