Инструкция по использованию редактора локаций — различия между версиями
VolgaIgor (обсуждение | вклад) (Новая страница: «== Панель инструментов и функционал == обрамить|без Основной инструмент…») |
(нет различий)
|
Версия 20:40, 24 мая 2018
Панель инструментов и функционал
Основной инструмент для работы с локациями — панель Landscape.
Панель свойств ландшафта (landscape properties) «P» - открывает в правой части экрана панель редактирования ландшафта. | |
Рисовать холмы/маску (Hill up/ draw mask mode) «1» - переводит курсор в режим рисования холмов на хейтмапе (красная сфера вместо курсора). В режиме редактирования маски — рисует маску (фиолетовая сфера вместо курсора). Размер курсора меняется кнопками «[» и «]». | |
Рисовать овраги/стирать маску (Hill down/erase mask mode) «2» - переводит курсор в режим рисования оврагов на хейтмапе (красная сфера вместо курьера). В режиме редактирования маски — стирает маску (фиолетовая сфера вместо курсора). Размер курсора меняется кнопками «[» и «]». | |
Выравнивание ландшафта/режим «пальца» при редактировании маски (align landscape/finger mode) «3» - переводит курсор в режим выравнивания хейтмапа. В режиме редактирования маски действует как инструмент «палец» (размазывает текущий цвет). | |
Сглаживание ландшафта/размытие маски (blur mode) «4» - переводит курсор в режим сглаживания ландшафта. В режиме редактирования маски размывает резкую границу. | |
Просчет освещения на данном участке (calculate lighting mode) «5» - просчитывает тени там, где будет нарисовано кистью. Удобно, если вы не хотите пересчитывать освещение для всего уровня (что может быть долго), но хотите увидеть как ваши изменения ландшафта повлияют на игру света и тени. | |
Применить скрипт на данном участке (Apply script mode) «6» - применяет изменения скрипта (новые лендклассы, изменённые правила генерации) там, где будет нарисовано кистью. В случае, если вы поменяли чтото в скрипте, необязательно полностью генерить все маски на всём уровне, это может быть долго, а за это время можно будет внести другие изменения. Помазав этой кисточкой в интересующих вас местах вы увидите, правильно ли работают ваши лендклассы гораздо быстрее. | |
Режим выделения (Select mode) «Q» - выделяет объекты, не применяя трансформаций. | |
Режим перемещения (move mode) «W» - позволяет перемещать выделенные объекты, либо выделять объекты и сразу перемещать их. Когда выбран этот режим кнопка «Shift» позволяет клонировать объекты. | |
Режим перемещения по ландшафту (move over surface) «Alt-Ctrl-W» - позволяет передвигать объекты вдоль ландшафта. | |
Режим вращения объекта (Rotate mode) «E» - позволяет вращать выбранный объект. Если выбрано несколько объектов, то вращение будет происходить относительно пивота первого выделенного объекта. Если выбрано несколько объектов, то вращение будет происходить относительно пивота первого выделенного объекта. Когда выбран этот режим кнопка «Shift» позволяет клонировать объекты. | |
Режим масштабирования объекта (scale mode) «R» - позволяет масштабировать объект по одной, двум или всем трём осям. Если выбраны несколько объектов, масштабироваться каждый из них будет относительно собственного центра. Когда выбран этот режим кнопка «Shift» позволяет клонировать объекты. | |
Уронить объект на поверхность (drop object) «Ctrl-Alt-D» - роняет выбранный объект на коллижен. | |
Выбрать объект по имени (Select objects by name) «H» - открывает панель выбора объектов по имени. | |
Панель свойств объекта (Show/hide objects' properties) «P» - показывает (или скрывает, если она уже открыта) панель свойств выделенного объекта в правой части экрана. | |
Спрятать сплайны (Hide splines) «Ctrl-0» - скрывает все сплайны на локации. Обратите внимание что эта опция не влияет на экспорт. | |
Выделять только точки (Select points) «1» - в режимах выделения и редактирования будут выделяться только точки сплайнов и полигонов. | |
Выделять только сплайны (Select splines) «2» - в режимах выделения и редактирования будут выделяться сплайны и полигоны (потому что они, по сути, всего лишь замкнутые сплайны). | |
Выделять только объекты (Select entities) «3» - в режимах выделения и редактирования будут выделяться только отдельные объекты, вручную вставленные в уровень (объекты, расставляемые из лендкласса/сплайнкласса/полигона а также динамические объекты, расставленные в редакторе миссий, выделяться не будут). | |
Создать объект (Create entity) – открывает панель создания объекта, где можно выбрать ассет, который будет вставлен в игру. | |
Создать сплайн (Create spline) – открывает панель выбора ассета для сплайна. В отличие от создания объекта в таком режиме можно создать пустой сплайн, без ассета. | |
Создать полигон (Create polygon) – открывает панель выбора ассета для полигона. Так же как и сплайн, полигон можно создать пустым, без ассета. | |
Создать точку на сплайне (Refine spline) – позволяет создавать дополнительные точки на сплайнах/полигонах. | |
Разделить сплайн (Split spline) – разъединяет сплайн в выбранной точке (точках). В случае, если был выбран полигон, создаст меньший полигон, замкнутый в выделенной точке и сплайн, идущий от неё к следующей точке по номеру. | |
Разделить полигон (Split polygon) – позволяет выбрать на полигоне две произвольные точки, между которыми будет проложен отрезок, разделяющий полигон на два новых. Оба полигона унаследуют родительские свойства. | |
Развернуть сплайн (Reverse spline) – разворачивает направление сплайнкласса в обратную сторону. В случае если сплайнкласс был несимметричным (расставлял ассеты А справа и рисовал текстуру Б слева, например), то он отзеркалится относительно сплайна (ассеты А будут слева, а текстура Б справа). | |
Закрыть выбранный сплайн (Close selected spline) — замыкает выбранный сплайн (при этом не делая его полигоном!). | |
Разделить сплайн в выделенной точке (Un-close spline at selected spline) — разделяет замкнутый сплайн в выбранной точке. | |
Включить ручное обновление объектов, расставляемых сплайнами/полигонами (Use manual obj\geom update for spline\poly) – переключает редактор в режим ручного создания и обновления объектов, расставляемых сплайнами и полигонами. По умолчанию эти объекты рисуются в реальном времени. | |
Обновить объекты, расставляемые сплайнами/полигонами (Manual spline\poly obj\geom update) «F1» - при включенной предыдущей кнопке обновляет объекты, созданные сплайнами/полигонами. | |
Обновить маску сплайнов (Rebuild splines bitmask) «F2» - обновляет маски, по которым сплайны добавляют и удаляют ассеты. |
В первой вкладке «Export parameters» мы можем выбрать способ выгрузки ландшафта. В проекте Warthunder наш ландшафт мы всегда выгружаем как Optimized landmesh.
Вторая вкладка посвящена созданию лендмеша. Лендмеш - геометрический ландшафт из треугольников, создаваемый по импортированной или нарисованной карте высот (хейтмапу).
- Первая строчка Preview distance задает расстояние, на котором будет виден лендмеш в редакторе. Она никак не влияет на экспорт и нужня только для оптимизации быстродействия редактора.
Кнопка Rebuild mesh пересоздаёт лендмеш. Её стоит нажать, если вы внесли изменения в хейтмап и хотите понять, насколько точно они перенеслись в лендмеш.
Далее идут настройки лендмеша:
- Количество ячеек лендмеша: Cell Grid — нельзя менять.
- Значение погрешности (Errors threshold): чем меньше эта цифра, тем равномернее будет сетка.
- Вершины (Vertices): количество вершин. Чем больше вершин, тем точнее будет ваш лендмеш. Рекомендованное максимальное значение — 200000. Помните что большое количество точек может негативно повлиять на производительность локации.
- Плотность LOD (LOD1 density): задаёт в процентах сколько точек от оригинального меша останется в первом ЛОДе (от английского Level Of Detail – упрощение геометрии по мере отдаления от неё).
Рекомендуется ставить как можно меньшее значение, при котором всё ещё не будет заметно щелчка.
- Коэффициент маски важности (Importance scale): говорит во сколько раз места, помеченные маской важности, должны точнее передавать хейтмап.
Далее идёт блок трёхмерной воды, начиная с переключателя.
- Поверхность воды (Has water surface). Создаёт поверхность воды с материалом из следующего пункта. Эта поверхность автоматически растягивается на весь хейтмап+world ocean expand.
- Материал воды (Water mat) – задаёт материал океана.
- Высота поверхности воды (water surface level) – Указывает высоту, на которой рисуется поверхность воды. По этой высоте разделится лендмеш, если включена галка «Add world ocean».
- Минимальная глубина (min underwater depth) — все точки, находящиеся очень близко к поверхности воды, будут опущены на это значение вниз, чтобы избежать «мерцания» вдоль береговой линии.
- Галочка Добавить мировой океан (Add world ocean) – если она активна, поверхность ландшафта делится на две части — подводную и надводную (для оптимизации производительности и отсутствия «мерцания» воды при взгляде с большой высоты).
- Расширить поверхность воды (World ocean expand): растягивает поверхность воды на заданное расстояние от границы хейтмапа (чтобы игрок, долетевший до границы локации, не увидел конца водной поверхности)
- Точность береговой линии (Shoreline tolerance): максимальное расстояние между двумя точками береговой линии после разделения лендмеша. Меньшее значение создаёт более аккуратную береговую линию, но может влиять на производительность.
- Служебный переключатель «подсвечивать ячейки» (Highlight cells for debug) позволяет выделить каждую ячейку лендмеша. Не влияет на экспорт.
Следующий блок отвечает за настройки кисти (и может быть также вызван нажатием и удержанием кнопки Tab)
- Сила (Power): влияет на то, насколько сильно терраформирующая кисть выдавливает ландшафт (в случае редактирования маски влияет на прозрачность)
- Радиус кисти (Brush radius) – задаёт радиус кисти
- Прозрачность (Opacity) – влияет на прозрачность кисти в режиме маски и умножается (в качестве процентов) на высоту в терраформирующем режиме.
- Жесткость (Hardness) – указывает насколько резкие края будут у кисти
- Расстояние между мазками (Spacing) – задаёт расстояние между мазками кисти. Для создания непрырывной линии эта цифра должна быть максимум в два раза больше радиуса, лучше меньше.
- Автоповторение (Autorepeat) – в режиме редактирования ландшафта позволяет наращивать/срывать землю не только на одно значение силы (power), но и больше него, если не отжимая левую кнопку мыши
- Использовать маску (Use mask) – позволяет рисовать не только круглой кистью (по умолчанию), а использовать одну из двух дополнительных масок кисти. Дополнительные маски можно положить в формате r.16 по адресу «диск:\папка игры\WarThunderCDK\dagor3_cdk\commondata\brushes»
- Применить однажды (Apply once) – позволяет использовать кисть один раз за клик, вне зависимости от того двигается ли кисть или нет.
- Автоматический угол поворота (Auto angle) – позволяет автоматически поворачивать маску кисти вдоль линии движения кисти.
- Угол поворота (Angle) – поворачивает маску кисти на заданное значение в градусах.
- Использовать лимит (Use limit) — в режиме терраформирования задаёт максимальное значение в метрах (лимит), выше которого кисть не будет действовать на ландшафт.
Меню настройки текстуры детализации (Tile detail texture)
- В нём можно настроить поведение текстуры детализации(которая накладывается поверх всех остальных текстур ландшафта, кроме вертикальной текстуры для придания большей детализации на среднем и близком расстоянии).
Блок размера (Tile X size, Tile Y size) задаёт размер в метрах для текстуры детализации.
- Кнопка tex: позволяет загрузить любую текстуру в качестве текстуры детализации для этой локации.
Блок параметров вертикальной текстуры (vertical texture). Это специальная текстура, рисующаяся на всех достаточно крутых (параметры задаются внутри блока) склонах ландшафта.
- Использовать вертикальную текстуру (Use vertical texture) – включает или выключает использование вертикальной текстуры на локации.
- Использовать вертикальную текстуру для детальной части ландшафта (Use VT for detailed HMAP) — позволяет отключить использование вертикальной текстуры на детальной части ландшафта.
- Текстура (tex:) — загрузка основной текстуры в качестве вертикальной.
- Нормалмап (nm tex:) - для загрузки нормалмапа вертикальной текстуры.
- Текстура детализации (det tex:) - позволяет использовать отдельную текстуру детализации для вертикальной текстуры (по умолчанию используется общая детальная текстура).
- Размер текстуры по горизонтали (XZ tile) – задаёт размер вертикальной текстуры по горизонтали в метрах.
- Размер текстуры по вертикали (XZ tile) – задаёт размер вертикальной текстуры по вертикали в метрах.
- Вертикальный сдвиг (Y offset) – задаёт сдвиг текстуры относительно нуля.
- Стартовый угол (Start angle) — угол в градусах, с которого будет начинать проявляться вертикальная текстура.
- Полный угол (Full angle) – угол в градусах, на котором вертикальная текстура будет полностью проявлена.
Горизонтальное смешивание (Horizontal blend) – поскольку вертикальная текстура кладется без развертки, то по сути она проецируется планарно по двум взаимоперпендикулярным плоскостям. На некоторых углах этот стык будет очень хорошо заметен. Параметр горизонтального смешивания отвечает за резкость стыка (ближе к нулю = резче стык)
- Размер детальной текстуры по горизонтали (XZ tile) – задаёт размер детальной текстуры по горизонтали в метрах.
- Размер детальной текстуры по вертикали (XZ tile) – задаёт размер детальной текстуры по вертикали в метрах.
- Вертикальный сдвиг детальной текстуры (Y offset) – задаёт сдвиг детальной текстуры относительно нуля.
Настройки скрипта и генерации лендклассов — одни из самых важных во всём редакторе.
- Скрипт (Script:) - кнопка для загрузки скрипта лендклассов
- Сбросить скрипт (Reset script) – позволяет удалить скрипт и его влияние на ландшафт
- Перезагрузить скрипт (Reload scritp) – перезагружает скрипт (нужна в случае его изменений)
- Создать маски цвета (Generate colormap) — применяет все настройки скрипта и/или слоёв, создавая цветовую маску для всего уровня.
- Галочка «Показывать бело-голубую маску» позволяет удобно визуализировать процесс рисования маски, при котором маскированный участок обозначен белым, а остальная поверхность — синим.
Далее показан весь блок используемых на данной локации слоёв. Слои рисуются по порядку сверху вниз — первый слой самый первый.
- Кнопка «Добавить новый слой генерации» (Add new gen layer) добавляет следующий по нумерации слой.
- Опции слоя (…) открывают выпадающее меню, в котором можно вставить новый слой выше выбранного (Insert), удалить текущий слой (Remove), передвинуть текущий слой вверх (Move up) или вниз (Move down).
- Галка «Включить слой» (Layer enabled) – включает или выключает текущий слой из общей генерации.
- Свойства (Props) — вызывает меню свойств и правил слоя.
- Две кнопки лендкласса позволяют загрузить лендкласс в первый или второй слой. Обратите внимание что лендкласс2 не печется в текстуру (то есть не рисуется), а его объекты отключаются на слабых компьютерах, поэтому туда не стоит ставить геймплейно важные вещи. Лендкласс2 создан для наполнения уровня мелкими деталями - кустами, камешками и прочим.
- Кнопка маски слоя позволяет сменить маску или создать новую.
- Кнопка редактирования (Edit) переключает в режим редактирования маски текущего слоя.
Рассмотрим меню свойств и правил слоя (Props)
- Переключатель «Применять к части земли» (Apply to land region) указывает где будет применяться данный слой - к главному лендмешу (Main only), детальному хейтмапу (Detailed only) или на всю локацию (Main and detailed)
Далее следует блок Веса слоя (Weight formula).
- Вне зависимости от способа подсчета, итоговый вес в 0 обозначает в данном пикселе абсолютно прозрачный, нерисующийся слой, а вес 1 - абсолютно непрозрачный, рисующийся слой со всеми промежуточными значениями.
- Переключатель «Суммировать веса» (Sum weights) переключает систему весов так, что все компоненты суммируются (значения больше единицы отбрасываются). По умолчанию все компоненты умножаются. На практике это значит что при умножении весов нулевое значение любой компоненты делает нулевым финальный вес всего лендкласса (ничего не рисуется), а при сложении нулевая компонента просто не влияет на финальный вес лендкласса в данном пикселе.
Далее следуют компоненты суммарного веса:
- Маска (Mask weight), высота (Height weight), угол (Angle weight) и искривление (Curv. weight). У каждой компоненты может быть 4 значения - «0», «1», «Как указано» (As is) и «Сглаженная ступенька» (Smooth Step).
- У маски можно указать применяется ли она ко всему ландафту целиком или только к детальной части (Mapped to detailed area).
- Режим «Сглаженная ступенька» нужен в тех случаях, когда используется плохо смешивающийся с другими лендкласс (город и лес, например).
- У остальных компонент настройки абсолютно одинаковые - если выбран режим «Как указано» или «Сглаженная ступенька» можно указать значения Базы (base) и Дельты (delta).
- Вес каждого компонента увеличивается в промежутке от Базы до База+Дельта (в случае если Дельта отрицательная до Базы-Дельта). В итоге при положительной Дельте: при всех значениях компоненты меньше Базы вес равен нулю, при всех значениях компоненты больше Базы+Дельта - вес равен единице. При отрицательной Дельте: при всех значениях компоненты больше Базы вес равен нулю, при всех значениях компоненты меньше Базы+Дельта - вес равен единице.
- Высота измеряется в метрах, Угол в градусах, Искривление - в относительных величинах (от минус бесконечности до нуля - вогнутая поверхность, от нуля до плюс бесконечности - выпуклая, 0 - абсолютно плоская)
Следующий блок - рисования лендкласса (Output and thresholds)
- «Писать вес в маску детальной текстуры» (Write weight to DetTex) - показывает, будет ли лендкласс1 рисоваться на ландшафте
- «Пороговое значение веса» (DetTex weight threshold) - указывает начиная с какого минимального значения веса будет рисоваться текстура.
- «Писать вес в маску важности» (Write weight to importance mask) - задаёт надо ли переносить значения веса в маску важности хейтмапа. Там, где нарисована маска важности, хейтмап будет более детально триангулироваться в лендмеш.
- «Писать вес в первый слой лендкласса» (Write weight to Land#1) - указывает надо ли создавать объекты лендкласса1 там, где вес больше заданного.
- «Пороговое значение веса для первого слоя» (Land#1 weight threshold) - указывает начиная с какого минимального значения веса будут создаваться объекты.
- «Писать вес во второй слой лендкласса» (Write weight to Land#2) - указывает надо ли создавать объекты лендкласса2 там, где вес больше заданного.
- «Пороговое значение веса для второго слоя» (Land#2 weight threshold) - указывает начиная с какого минимального значения веса будут создаваться объекты.
Параметры хейтмапа (карты высот).
- Размер ячейки (cell size) - задаёт размер одной ячейки хейтмапа. Этот параметр напрямую влияет на размер локации, который равен (Размеру ячейки)*(размер хейтмапа). В примерном уровне размер хейтмапа 2048 точек, в итоге получаем 2048*16=32768 метров (в длину по одной из сторон квадрата). Размер ячейки должен быть одним из квадратов двойки (числом из ряда 2, 4,8,16,32).
- Высота хейтмапа (heightmap scale) - расстояние от самой низкой до самой высокой точки хейтмапа.
- Сдвиг хейтмапа (heightmap offset) - сдвиг самой нижней точки хейтмапа относительно ноля координат.
- Сдвиг координат (Origin offset) - опция, которая позволяет в случае необходимости передвинуть весь хейтмап (и лендмеш после его пересчета). По умолчанию она неактивна и в полях введены координаты левого нижнего угла хейтмапа (если смотреть на локацию сверху вниз).
- Галка «Автоматически центровать» позволяет воспользоваться возможностями сдвига хейтмапа, если её отключить. По умолчанию включена.
- Детальность масок лендклассов (Land class map detail) - переключатель, позволяющий повысить точность рисования масок лендклассов и объектов, генерящихся лендклассами. В случае необходимости можно повысить точность в 2 или 4 раза.
- Блок Детализированного хейтмапа (Detailed Heightmap area) позволяет создать внутри обычного хейтмапа ещё один, высокодетальный хейтмап. Этой возможностью следует пользоваться только для танково/самолётных локаций.
- Размер ячейки (Сell size): задает размер ячейки детализованного хейтмапа. Необходимо учитывать что у детального хейтмапа размер ячейки влияет не на размер участка, а на размер самого файла хейтмапа. Поскольку наша игра поддерживается на широком спектре устройств, размер детального хейтмапа не может быть больше чем 2048х2048 точек. Например: локация размером 32768х32768 метра, детальная часть занимает 4 квадрата, её размер - 4096х4096 метров. Максимальный размер ячейки должен быть 0.5, чтобы получить хейтмап 2048х2048 точек.
- Координаты детального участка (Area origin): задаёт координаты левого нижнего угла танковой локации (если смотреть на локацию сверху вниз)
- Размер детального участка (Area size): задаёт размеры детального участка в метрах.
Внимание! Необходимо помнить что детальный участок должен быть квадратным и должен состоять из целого числа ячеек большого, главного хейтмапа (удобно посмотреть на них, включив опцию «подсвечивать ячейки» во вкладке настроек меша). То есть детальная часть может занимать 1, 4, 8,16 и так далее квадратов.
- Кнопка «Принять» (Apply!) фиксирует внесённые в детальный хейтмап изменения.
Меню Рендера (Render) несёт в себе служебные переключатели рендера, используемого в редакторе и никак не влияет на выгрузку уровня.
Единственный, интересующий нас в нём параметр - переключатель как показывать хейтмап:
- Начальный (initial)или финальный (final) - вариант в котором будут показаны все модифицирующие хейтмап полигоны и сплайны.
Вкладка «Карта нормалей» (Normalmap)
- Состоит из единственной кнопки «посчитать нормалмэп» - это необходимо сделать в случае если большие изменения были внесены в хейтмап и карта нормалей перестала ему соответствовать.