Войти
ПрограммированиеФорум2D графика и изометрия

Как сделать волнистые края (скрин внутри)? (2 стр)

Страницы: 1 2
#15
16:42, 17 фев. 2018

TirexiK
> можно подробнее?
Актуально ещё ?
Давно не трогал Юнити, как там своей сетке задать нормали вершинам? На основе этой информации можно обрабатывать края: осветлять/затемнять или добавлять рваный край.


#16
4:51, 18 фев. 2018

Я бы сделал такой эффект с помощью шейдера и меша..
т.е. там где рядом должны быть обычный и темный цвета - это 2 разных меша (сгенерированных в рунтайме или взятых в билд), причем UV у них продолжают друг-друга, чтобы волнистый этот узор переходил гладко с 1 меша на 2й. А рисовать эти меши с помощью разного шейдера: один из которых затемняет пиксели (просто пиксельно цвет умножать например на 0.8 каждую из RGB компонент).

Кривые (не квадратные) тайлы также можно отрезать с помощью меша, т.е. надо натягивать (в рунтайме или при билде) на квадрат.
В данном примере X,Y == U,V координатам, а меш обрезан.
http://prntscr.com/ig98dm

Далее дополним этот меш кваратный до какой-то части 2м мешем: до полного ли квадрата, или до любой другой фигуры.
Далее эти 2 меша будут иметь соответствующие UV.

в юнити класс Mesh. каждая вершина там может иметь позицию, UV координату, нормаль, цвет - свои, задается через массив pos, uv, normal, color, и отдельно треугольники.
Как вырезать красиво меш чтобы получить скос - отдельный вопрос. Можно и ломаными линиями как на изначальных скринах из игры.

"правые края немного светлее. Плюс обводка." - также через шейдер и меш. Обводку думаю можно и через меш созданный на 0.1 масштаб побольше (так можно и для стратегий делать выделяемые юниты), а можно и спец шейдером красящий что-то с краю (по удаленности от края не уверен как сделать - другие может подскажут, предположу что также динамически чтото нахимичить с вершинными компонентами - ну там в normal или uv2 компоненту записать меру удаленности от края и в шейдере проверять и если близко к краю - применять пиксельный фильтр).

#17
13:42, 18 фев. 2018

leonardo98
> Актуально ещё ?

Да :)

> Давно не трогал Юнити, как там своей сетке задать нормали вершинам? На основе
> этой информации можно обрабатывать края: осветлять/затемнять или добавлять
> рваный край.

Мысль понял в общих чертах, спасибо. Нормали задать легко, в классе Mesh всё есть для этого.


Alex_Hell
Спасибо, направление понял!

Страницы: 1 2
ПрограммированиеФорум2D графика и изометрия

Тема в архиве.