Редактор воды
Редактор воды [water]
является встроенным инструментом Редактора карт.
Используется для создания на картах водоемов: озер, рек, моря.
Переключиться в Редактор воды можно двумя способами:
нажать на иконку water бокового меню Редактора Карт;
нажать клавишу 3 на клавиатуре.
Бассейны
Бассейн - один цельный меш поверхности воды. Примеры бассейнов:
река
озеро,
море,
река, впадающая в озеро.
Список всех Бассейнов карты находится в окне Pools
.
Уровень Бассейна
Значение параметра Altitude
задает высоту уровня поверхности воды для выделенного в списке Бассейна.
Бассейны воды со значениями параметра Altitude
в пределах 10 игровых единиц (0.5м) при рендере будут объединены в один уровень воды с целью оптимизации.
Рендер в Gem RTS поддерживает до 16 различных уровней поверхности воды.
При создании нескольких уровней воды необходимо учитывать, что рендер каждого уровня эквивалентен рендеру целой сцены, и, соответственно, сказывается на fps. Хорошей практикой при проектировании карты является обоснование необходимости различных уровней воды с точки зрения игрового дизайна.
Правила создания бассейнов
Если водные поверхности не соединены между собой (например, 2 озера), то рекомендуется делать их разными бассейнами
Рукава рек с разным течением допускается делать разными бассейнами (подробности описаны ниже)
Каждый уровень воды должен быть обоснован игровым дизайном
Создание Бассейна
Подготовительный этап
Прежде, чем приступить к созданию Бассейна, рекомендуется при помощи инструментов Редактора ландшафта [Land] подготовить рельеф поверхности земли на месте предполагаемого водоема.
Название Бассейна
Вызвать контекстное меню ПКМ на пустом месте окна Pools
Выбрать пункт
Add...INSERT
Ввести имя Бассейна в открывшемся окне
Input
и нажать кнопку Ok.
Имя Бассейна появится в списке окна Pools.
Создание меша поверхности воды
Принцип создания меша водной поверхности аналогичен созданию и редактированию полигонов меша поверхности земли в Редакторе полигонов.
Выбрать в списке окна Pools имя Бассейна, для которого необходимо создать или отредактировать меш поверхности воды
Установить значение параметра
Altitude
Возпользоваться кистью
Polygons
для создания и редактирования меша поверхности воды
При создании и редактировании меша поверхности воды необходимо следить, чтобы полигоны меша воды пересекались в мешем поверхности земли в местах предполагаемого побережья, чтобы не возникало дыр между поверхностями.
Бассейн можно озвучить с помощью Объекта area
Инструменты Редактора воды
Polygons
Кисть Polygons используется для создания и редактирования меша поверхности воды Бассейна. Движение мыши с зажатой ЛКМ приводит к добавлению полигонов меша поверхности воды, с зажатой ПКМ - полигоны удаляются.
Параметры кисти Polygons | Описание |
---|---|
Флажок | Включить/выключить отображение полигональной сетки меша поверхности воды |
| Дробность полигональной сетки меша поверхности воды |
На поворотах русла Бассейна реки рекомендуется разбивать полигоны на более мелкие , чтобы текстура материала воды более плавно накладывалась на меш поверхности
Flow
Инструмент для создания течения в Бассейнах рек.
Алгоритм действий
Выставить направляющие точки для Кривой течения - движок сформирует текстурные координаты для создания видимости течения.
Отредактировать положение точек кривой так, чтобы образовалась плавная линия, соотвествующая руслу и течению реки
Режимы редактора кривой Flow
Название режима | Описание |
---|---|
Создание | Активируется при отсутствии кривой. Каждый ЛКМ на карту добавляет точку-узел. Клик ПКМ - добавляет последнюю точку и выходит из режима создания. |
Редактирование | Активируется при наведении на существующую линию или точку. ЛКМ на кривой (не в точку) создает новую точку на кривой. Зажатый ЛКМ на точке кривой позволяет перемещать выбранную точку кривой по карте. ПКМ на точке кривой удаляет точку. |
Правила формирования кривой Flow
Начальная и конечная точки должны немного выступать за видимую часть реки (заходить в берега или за край карты)
На поворотах рекомендуется располагать точку кривой Flow ближе к внутреннему углу русла, чтобы анимация течения выглядела более естественной
В местах смены направления течения воды рекомендуется делать более дробный меш (воспользоваться кистью Polygons level 5) для более плавного смешивания анимаций движения воды
Ограничений на количество точек кривой и длины кривой нет
Слайдеры Soft-Sharp
и Slow-Fast
Soft-Sharp
и Slow-Fast
Положением слайдеров Soft-Sharp
и Slow-Fast
задаются плавность и скорость работы кистей Colors и Materials Редактора воды.
Colors
Кисть для подкраски вертексов меша воды. Работает аналогично кисти Colors Редактора ландшафта.
При использовании кисти Color рекомендуется выставить в свойствах материала воды параметр сolor равный белому цвету, так как во время подкрашивания кистью Color цвета вертексов меша и материала воды перемножаются, поэтому дефолтный цвет вертексов в схеме материала будет нивелировать цвет из кисточки.
Materials
Кисть Materials предназначена для разукрашивания поверхности воды. Каждый бассейн содержит свой список материалов. Добавлять материалы в выбранный Бассейн можно с помощью кнопки Add. Доступен импорт материалов из других бассейнов или карт по нажатию кнопки Import.
Настройка параметров материала воды
Окно настройки параметров материала воды открывается при выборе соответствующего материала из списка на вкладке Materials.
Параметр land_texture_basis
присутствует во всех материалах карты и задает значение базового тайла материала земли.
По умолчанию установлено значение 15.
Базовая настройка материала воды
Материалы воды делятся на два вида:
однослойные;
двухслойные.
Базовая схема, определяющая количество слоев в материале, выбирается из списка в строке с именем материала.
При добавлении нового материала воды по умолчанию в материале используется схема однослойного материала water/flow
.
Настройка однослойного материала
SDL файл схемы находится в ресурсах по ссылке:
\resource\entity\service\water\water.mtl
Значения параметров материала можно настраивать непосредственно в Редакторе воды на вкладке Materials, выбрав соответствующий материал в списке.
Параметр | Описание | Значение по умолчанию |
---|---|---|
textures | В блоке textures необходимо выбрать текстуры для шума (bumpvolume_noise) и волн (bumpvolume_wave). Текстуры не должны быть одинаковыми | |
color | Цвет меша поверхности воды | Синий |
specular_power | Степень блеска поверхности, влияет на размер пятна спекуляра от "Солнца" | 3000 |
bumpiness_noise | Степень рельефности текстуры ряби | 1 |
specular_amount | Величина спекуляра | |
soft_attenuation | Влияет на размытость краев воды и косвенно на соотношение refract/reflect. Этот параметр надо менять совместно с fresnel_power | 0.1 |
refraction_scale | Коэффициент искажения refract-составляющей колебаниями воды (0 - не искажается совсем). | 0.1 |
density | Коэффициент соотношения color/refract для иммитации прозрачности воды. Чем больше значение, тем больше кажущаяся толща воды и меньше видно дно | 0.002 |
reflection_scale | Коэффициент искажения reflect-составляющей колебаниями воды (0 - не искажается совсем). | 0.1 |
fresnel_power | Коэффициент соотношения refract/reflect - отражающая способность поверхности воды. Чем больше значение, тем менее отражающей будет поверхность воды. | 2 |
fresnel_scale | Коэффициент усиления Френеля | 1.2 |
bumpiness_wave | Степень выраженности неровностей текстуры волн, рельефность волн | 0.05 |
period_wave | Частота колебаний волн | 1 |
tile_wave | Растянутость текстуры волн. На больших плоскостях воды нельзя использовать большое значение tile_wave, иначе будут видны тайлы текстуры. | 1 |
period_noise | Частота колебаний ряби. Параметр period_noise нужно настроить так, чтобы его значение не было равно значению period_wave | 1 |
tile_noise | Растянутость текстуры ряби. Необходимо настроить параметры tile_noise и tile_wave так, чтобы tile_noise был как минимум в 2 раза больше, чем tile_wave | 2 |
speed_noise | Скорость проигрывания анимации на текстуре ряби | 0.001 |
speed_wave | Скорость проигрывания анимации на текстуре, имитирующей течение воды | 0.01 |
angle | Угол поворота текстуры при прокрашивании материалом | 0 |
alpha_min | Минимальное значение альфа-канала | 1 |
Настройки двухслойного материала
Двухслойные материалы water\layered_2
используются для создания визуально разной воды на разных участках в пределах одного Бассейна (например, река впадает в озеро)
Принцип настройки двухслойного материала
В первом слое настроить параметры материала, аналогично одному однослойному материалу (например, реки)
Во втором слое настроить параметры материала, аналогично второму материалу (озера)
Параметры для каждого слоя аналогичны параметрам однослойного материала.
Переходы материалов воды
Переход с помощью двухслойного материала
Переходы между материалами воды делаются аналогично тому, как делаются переходы между материалами на поверхности земли.
Переход между однослойными материалами необходимо прокрасить двухслойным материалом так, чтобы материалы двухслойного материала стыковались с соответствующими материалами каждого из двух стыкуемых однослойных материалов. При раскрашивании использовать ЛКМ и ПКМ для материалов из слоя 1 и 2 соответственно.
ПКМ с зажатым Ctrl (‘pick’ feature) выбирает материал воды в точке клика, при этом возможны следующие варианты:
если это материал из текущего бассейна, то он станет активным в списке материалов;
если текущий бассейн пустой (в бассейне еще нет полигонов), материал со сцены заменит текущий материал;
иначе материал добавится в список материалов текущего бассейна.
Разные материалы в одном бассейне
Пятна с иными свойствами воды можно сделать с помощью двухслойного материала water/layered_2
:
первый слой в точности повторяет настройки основного материала бассейна, но значение параметра
alpha_min=1
второй слой настроить согласно визуальным требованиям пятна иной воды и выставить значение параметра
alpha_min=1
Пятна иной воды красить с зажатой ПКМ
Объединение материалов с разным направлением течения воды
Если необходимо создать разное направление течения воды на разных участках водной поверхности, то это можно сделать несколькими способами.
С помощью двухслойного материала, с разными значениями параметра
angle
в слояхС помощью создания нескольких бассейнов, с последующим визуальным объединением бассейнов
Объединение нескольких бассейнов
Если необходимо визуально объединить несколько бассейнов с разными кривыми течения, то бленд материалов воды в бассейнах удобно делать с использованием материала water\flow
с параметром alpha_min = 0
Чтобы места соединения Бассейнов не мерцали, необходимо установить параметры Altitude
бассейнов с разницей высоты в 0.001
.
Дополнительная информация о настройках воды
Цвет воды состоит из следующих составляющих:
reflect - отражение (берется из текстуры отражений)
refract - дно (берется из текстуры сцены)
color - цвет толщи воды, к нему применяется освещение источниками света
specular - блики на поверхности от источников света
Параметры воды, влияющие на ее цвет:
color
density
fresnel_power
specular_power
soft_attenuation
Параметры воды, влияющие на ее внешний вид:
bumpiness
tile
period
refraction_scale
reflection_scale
Last updated