Создание игрового ландшафта. Процесс и тонкости.
Автор урока: Sirius
Проработка игрового окружения, как известно, очень важный элемент для того, чтобы ваш проект выглядел более привлекательным и интересным для игрока.
Этот урок направлен на то, чтобы ближе познакомить вас, картоделов сообщества Custom NPCs Forever, с небезызвестной программой WorldPainter, рассмотреть процесс создания собственного ландшафта и рассказать о некоторых фишках, которые помогут вам быстрее освоить эту программу и создавать уникальные миры для ваших карт.
Гайд может быть интересен как для тех, кто еще не знаком с WorldPainter, так и для опытных пользователей. Однако, как скачать и установить программу в этом уроке мы разбирать не будем, только работу в ней.
Приступим?
Для удобства урок разделен на 5 частей, так что вы можете пропустить некоторые этапы, если с ними знакомы.
▸ 1. Знакомство с интерфейсом
▸▸ 2. Добавление своих кистей
▸ 3. Создание нового мира
▸ 4. Пример — создание острова
▸ 5. Экспорт карты
1. Знакомство с интерфейсом
Итак, первое, что мы видим — множество непонятных столбиков, настроек, инструментов и сгенерированный программой участок мира. Сразу хочу отметить, это мой интерфейс и у вас он будет выглядеть иначе. Вы свободны настроить его так, как удобно вам, перетаскивая модули в нужные части экрана. Вы можете использовать мое расположение элементов, если считаете его удобным.
Также отмечу, что интерфейс программы полностью на английском.
Пройдемся по самым важным элементам интерфейса:
◆ ИНСТРУМЕНТЫ (Tools) — здесь все довольно просто и понятно, не станем здесь задерживаться надолго. Самые главные инструменты, которые мы будем использовать:
▸ Высота(Height), Выравнивание (Flatten) — для создания рельефа. Инструмента Наращивания горы (Raise Mountain) советую избегать, потому что он создает гору с самой высокой точки кисти, т.е. начинает растить с верхушки, а не целую гору.
▸ Спрей, Карандаш, Глобальные операции — для применения и редактирования слоев и текстур к нашему ландшафту.
◆ СЛОИ (Layers) — сюда же отнесу материалы (Terrain), биомы, аннотации. Слои применяются для, можно сказать, раскрашивания ландшафта — мы применяем к нему различные блоки, указываем биомы, добавляем леса, растительность и другие элементы.
◆ КИСТИ (Brushes) — название говорит за себя. В качестве кистей используются карты высот (Heightmaps), в которых чем светлее точка — тем выше высота. Далее мы рассмотрим, откуда брать и как добавлять свои кисти, помимо предлагаемых программой примитивных фигур, с которыми далеко не уедешь.
◆ НАСТРОЙКИ КИСТЕЙ (Brush settings) — настройки наших кистей. Здесь остановлюсь поподробнее, рассмотрим все элементы этого меню:
▸ Поворот кисти (Rotation) — тут все понятно. Кстати, удобно применять сокращение Alt+Колесо мыши для поворота кисти не отвлекаясь от рисования;
▸ Интенсивность (Intensity) — то, насколько сильно будет применяться кисть. Например, с низкой интенсивностью Спрей делает более рассеянное пятно, а инструмент Высота медленнее наращивает ландшафт;
▸ Внутри/изнутри выделения (Inside/outside selection) — применяется при использовании инструмента Выделения, названия говорят за себя. Может быть удобно при работе с каким-то небольшим участком карты, но при этом будьте осторожны, чтобы на границе выделения у вас не было резких переходов;
▸ Начиная на […] / заканчивая на […] (At or above / At or below) — позволяю себе вольный перевод. Первая характеристика показывает, начиная с какой высоты (координата Y) будут происходить ваши изменения. Вторая, соответственно, до какой высоты будут происходить изменения. Прилагающаяся опция Feather допускает при применении слоев немного заходить за указанные высоты, чтобы слой не обрывался резко на одной высоте, но по моему опыту, эта опция работает не должным образом, поэтому ей можно не уделять особого внимания.
▸ Только на […] / Кроме […] (Only on / Except on) — очень важная опция при наложении текстур и слоев. Здесь вы можете указать, к чему будет применяться ваш слой (или к чему НЕ будет): только к суше / воде / лаве / конкретному блоку / биому / аннотации / слою.
Соответственно, эти же элементы вы можете исключить с помощью Except on. Например, наложить биом только на блоки травы, но исключая пространство, на котором, например, другой биом.
▸Угол наложения (above / below […] degrees) — также очень важная функция, особенно незаменима при наложении камня на горы. Разбираться в том, как именно накладывается угол, не будем, иначе уйдем в геометрию. Экспериментируйте с разными значениями, чтобы добиться нужного результата.
ИТАК, мы познакомились с самыми главными элементами интерфейса, разобрав их подробно. Тяжело в учении — легко в бою, дальше будет интереснее!
2. Добавление своих кистей
Прежде, чем метнуться воздвигать горы и создавать дремучие леса, нам нужны кисти, о которых я уже говорил.
Откуда их брать? Тут все просто. Для начала советую скачать готовые наборы кистей, которые можно найти на просторах сети. Сам приведу паки, предоставленные публике господином TylerTimoJ и Evman. При этом советую не добавлять себе все подряд, а выделить основные важные кисти, вместо того, чтобы скачать сотню кистей и ими в результате не пользоваться. На практике, для создания интересного ландшафта хватает и 5 кистей. Пользоваться кистями, предназначенными для рек, или участками ландшафта с обрывающимися границами не рекомендую.
Скачали. Что дальше? Остается только добавить их.
Закрываем WorldPainter, если он вдруг открыт, и открываем директорию %AppData%/Roaming/WorldPainter/brushes
Если у вас нет папки brushes, то создайте ее. А внутри нее создайте еще одну папку, она будет отображаться как категория в кистях. У меня, на скриншоте выше, вы можете увидеть категории 1, Brushes, Own помимо стандартных кистей. Закидываем туда наши отобранные кисти и радуемся жизни.
3. Создание нового мира
Хватит теории, переходим к практике! А, еще не совсем. Для начала нам нужно создать мир и рассмотреть, какие при этом используются параметры.
Открывая меню создания нового мира, мы видим множество параметров. Я не буду останавливаться на параметрах Названия и Размера (Dimensions) (обратите внимание, что размеры строго кратны 128), здесь вы сами решаете.
Раздел топографии. Здесь нам по умолчанию предлагают создать мир со сгенерированными холмами. В пекло их, они выглядят убого. Выбираем тип мира Flat, плоский, и настраиваем стандартную высоту, на которой будет почва, и высоту уровня моря. Учитывая специфику нашего урока, а мы будем создавать остров, возьмем уровень почвы значительно ниже уровня воды, чтобы вокруг нашего острова был океан, а не лужа, в которой видно дно. Я возьму уровень почвы 40, а уровень воды оставлю стандартным. Пункт «Beaches» (пляжи) отключим, мы сами хотим раскрашивать наш мир.
Материал покрытия. Здесь хочу заострить внимание на том, что стандартно стоит Grass — нас это не устраивает. Почему? Это трава, на которой самостоятельно генерируется трава и цветы, и генерируется отдельными кусками. Мы сами будем решать, где и что растет, поэтому сейчас здесь выбираем Bare Grass — трава без растительности на ней. Пункт «Advanced» трогать не советую, там вы задаете примитивное автоматическое применение материалов к ландшафту, а мы будем делать это вручную, чтобы наш ландшафт выглядел красиво.
Здесь же идет пункт Extended block IDs — это нужно только если вы хотите использовать блоки из модов, собственноручно вбивая их ID в материалы. Нам к этому прибегать не нужно, да и вообще, как мне кажется, не имеет смысла, только если вы не пользуетесь модом Conquest Reforged или подобными.
Сид. Здесь советую просто оставить океан. Этот параметр отвечает за мир, который будет генерироваться за пределами нарисованного вами мира, если игрок туда вдруг сунется. Хочу сделать важное примечание, если вы также будете делать остров, в разделе топографии оставьте уровень моря 62 — в сиде будет такой же и вне острова везде будет безграничный океан. Однако, если вы хотите использовать другой уровень моря, мы обсудим это в последней части урока, при экспорте.
4. Пример — создание острова.
И тут начинается самое интересное, создадим свой собственный остров. Здесь будет много картинок, текста уже было достаточно.
Для этого мы будем следовать определенной последовательности этапов, я настоятельно рекомендую вам ее придерживаться, чтобы избежать множества ошибок, исправлений и попросту траты времени.
Шаг первый. Создание формы острова.
Для начала нам нужно определиться с формой острова. Вы можете пробовать повторить форму какого-либо острова, найдя его в сети, но мы начнем с нуля.
Здесь все довольно просто: вооружайтесь любой из скачанных кистей, поставив ей высокую интенсивность (или, если вы никуда не торопитесь, используйте любую) и просто создавайте произвольную кляксу, пока форма вас не устроит.
Обращайте при этом внимание на высоты. Ваши берега не должны быть резкими и гораздо выше уровня воды (разве что если вы к этому не стремитесь). Обратите внимание на образовавшиеся в процессе хребты — это наши будущие горы. Разумеется, некоторые можно будет сравнять с землей в угоду игровому пространству, мы ведь создаем это с расчетом на игрока.
Шаг второй. Работа над рельефом.
Итак, мы имеем грубый набросок формы. Пора задуматься о том, как это все будет видеть игрок, а увидит он кашу из блоков, по которой без прыжка нельзя пройти и пяти метров.
Это значит, что нам нужно немного выровнять ландшафт. Как это сделать?
Зачастую люди прибегают к инструменту Сглаживания (Smooth), что вполне логично. ОДНАКО! Сглаживание сделает наш ландшафт слишком плавным, это будет абсолютно неестественно.
Я советую использовать инструмент Выравнивания (Flatten) с низкой интенсивностью (10-20%) и выбрать при этом круглую кисть из стандартных кистей. Далее просто кликать в случайных местах, пока не добьемся нужного результата.
Обратите внимание, в процессе я не буду прорабатывать весь остров, а продемонстрирую все шаги на отдельных участках и применю все к одному.
Только что мы разравнивали, а теперь наоборот, в некоторых местах сделаем выступы и неровности, чтобы ландшафт был интереснее и реалистичнее:
А теперь перейдем к вышеупомянутым хребтам, которые станут основой наших гор. Первым делом мы их сгладим инструментом Сглаживание (Smooth), который я не советовал использовать для разравнивания основного ландшафта. Здесь мы на сглаженном месте вырастим горы, а хребты бы создали мешанину при наращивании.
При наращивании обращайте внимание на высоту горы. Разумеется, хочется огромные непроходимые горы, но выглядеть это будет не очень хорошо. Советую при этом проверять 3D-рендер мира, который можно открыть в меню View сверху, либо сокращением Ctrl+3
При этом иногда у подгорья или на самой горе можно заранее заметить интересное место, в котором в дальнейшем можно будет что-нибудь построить. Его можно заранее подровнять инструментом Выравнивания (Flatten), как мы уже выравнивали основной ландшафт.
Шаг третий. Текстурирование.
Итак, наш ландшафт на этом этапе полностью готов. Я советую перед тем, как приступать к этапу текстурирования, экспортировать наш ландшафт в игру, полетать и все осмотреть, возможно найдутся места, которые вам не понравятся. Когда вас будет все устраивать — можете приступать к наложению текстур.
Что подразумевается под «текстурированием»? Наложение на наш ландшафт различных блоков, потому что сейчас он состоит из одной земли.
Для начала рекомендую накладывать камень. Для этого мы берем инструмент Карандаш и во вкладке Terrain выбираем камень, кисть при этом берем из стандартных с резкими краями (сплошной круг или квадрат). Дальше — самое интересное, мы обращаемся ко вкладке настроек кисти (Brush settings) и выставляем градусную меру Above 45 degrees. Теперь карандашом тыкаем по ландшафту, получая замечательный и реалистичный паттерн.
Помимо того, вы можете использовать для наложения камня инструмент Глобальные операции. Для этого вы выбираете этот инструмент и в открывшемся меню выбираете операцию заливки камнем, а в настройках справа выбираете, чтобы изменения были применены только к суше и с градусной мерой 45 градусов. Вы можете экспериментировать со значением и добиваться своего результата. Однако, если вы используете глобальные операции, изменение будет применено ко всей карте, а ручной метод с использованием Карандаша позволяет вам в разных местах по-разному накладывать камень.
Помимо наложения камня я часто использую блоки земли, которые накладываю Спреем с низкой интенсивностью и настройками «только на суше; кроме камня» или аналогичными, чтобы не залезть с землей на горы. Это мелкое изменение, но разнообразит бескрайнюю траву для игрока в процессе игры.
Дальше займемся пляжем. Это не составит для нас проблем. Мы просто накладываем песок с помощью Карандаша с указанием максимальной высоты и других параметров (не забываем, что нам не нужно залезать на камень). Рекомендую отнестись к этому с умом и не применять песочные насыпи где попало, например у крутых берегов. Во-первых, это не реалистично, во-вторых, игрок там все равно не окажется. После того, как мы сделали грубый пляж карандашом, можно чуть-чуть повысить максимальную высоту, взять Спрей и пройтись вдоль пляжа, чтобы создать переход.
Обратите внимание, Спрей используется со стандартной кистью шума. Это наиболее подходящая для Спрея кисть.
Однако, под водой у нас стандартно земля. Исправим это с помощью Глобальной операции, заполнив все землей только там, где вода:
Шаг четвертый. Объекты и слои.
На мой взгляд, самый интересный этап. Здесь мы добавляем растения и деревья, облагораживая наш голый кусок земли, песка и камня.
Для начала создадим слой травы. Для этого во вкладке Layers. Под всеми дефолтными слоями видим «+», который позволяет нам создать свой слой. Создадим слой растений, с помощью «Add a custom plants layer…». Здесь я обычно выбираю траву, высокую траву, папоротник, причем обычная трава в подавляющем большинстве. Если высокой травы будет много, игроку будет сложно ориентироваться и в целом играть. Называем слой, опционально выбираем цвет.
Сразу же настроим и слой цветов.
После того, как мы создали наши слои, с помощью Спрея наносим на ландшафт. Не забываем про настройки кисти, чтобы не залезть куда не надо. При этом цветы добавим с очень низкой интенсивностью. Почему мы не добавили их к слою травы? Потому что тогда они могут расти повсеместно, а не в определенных местах, а также их легче редактировать, когда они в отдельном слое.
Траву мы не добавляем повсеместно, так выглядит лучше и разнообразнее.
Когда разобрались с мелкой растительностью, добавим леса. Для этого нам нужны схематики деревьев: вы можете скачать их в сети или, если есть желание и умение, сделать самостоятельно. Для примера я использую свои деревья.
Для этого мы создаем новый слой с помощью «Add a custom object layer…».
Добавляем схематики с помощью иконки конструктора со знаком «+». Но на этом не останавливаемся, нам нужно проверить каждый схематик, дважды на него кликнув и в открывшемся меню нас интересует пункт Offset. Нажимаем на Auto и затем на выделенные синим координаты. Делаем это мы для того, чтобы наше дерево точно стояло на земле.
Здесь мы видим референсный блок, относительно которого и будет применяться схематик. При текущем расположении дерево может заспавниться, например, над уступом и парить в воздухе.
С помощью кнопки «Auto» мы уже поправили координаты X и Z, но нам нужно еще слегка прикопать дерево, чтобы оно ТОЧНО было в земле.
Эта деталь очень часто проявляется на картах неопытных пользователей WorldPainter, поэтому учитывайте это.
Затем, настройте частоту (Sparseness). В помощь предпросмотр справа.
Когда наш слой готов, с помощью спрея применяем его к нужным местам, учитывая, что деревья должны расти только на блоках земли.
На этом наше заполнение ландшафта окончено и мы можем экспортировать готовую карту.
5. Экспорт карты.
Наконец, мы можем экспортировать наш мир. Здесь все также интуитивно понятно.
Здесь заострю внимание на следующих пунктах:
Border — граница. Если выбрать No border, то за границами нарисованного мира будет генерироваться мир из сида, с которым мы встречались при создании мира. Если у вас при создании уровень воды был стандартный, 62, можно оставить этот вариант. Вариант Void просто обрубит мир. Вариант Water позволяет вам за границами продолжить сплошной океан на определенном уровне, который вы можете настроить, что полезно, если при создании мира указывался свой уровень моря. С вариантом Lava все аналогично.
Все остальное понятно. Также отмечу, что при экспорте можно экспортировать либо всю карту, либо только определенные участки (Export selected tiles). Советую использовать в процессе создания, когда нужно просто проверить изменения, не дожидаясь полного экспорта.
На этом наш ландшафт готов.
Надеюсь, что гайд был для вас полезен и теперь вы сможете создать свой собственный ландшафт для вашей карты, который игроку будет гораздо интереснее исследовать!
Источник статьи: http://vk.com/@customnpcforever-sozdanie-igrovogo-landshafta-process-i-tonkosti