Как сделать текстуру для ландшафта

UnrealEd

Изучение Unreal Engine, документация на русском языке

Создание материалов ландшафта

Настройка системы папок

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

Мы создали следующие папки для данного урока.

Должно получится что-то типа этого.

Перенос текстур

Теперь, когда наши папки на месте, давайте перенесем некоторые текстуры из проекта Landscape Content Example, чтоб у нас было, с чем работать.

Когда вы переносите контент между проектами, у вас могут появляться ненужные папки. Чтоб избежать этого, выберете нужные текстуры внутри Content Browser и перетащите их из существующей локации в желаемую папку.

Вы можете найти текстуры в следующей папке, которая находится внутри проекта Landscapes Content example.

/Game/ExampleContent/Landscapes/Textures/

Из проекта Landscape Content Example мы будем переносить следующие текстуры.

  1. T_ForestGround_D
  2. T_ForestGround_N
  3. T_GroundGrass_D
  4. T_GroundGrass_N
  5. T_Noise_N

После переноса текстур, убедитесь в том, что они появились в папке Textures, которую мы создали ранее. Теперь давайте создадим материалы для ландшафта.

Создание материалов ландшафта

  1. Откройте папку Materials.
  2. Выполните правый клик в ContentBrowser и выберете Material из списка BasicAssets.
  3. Назовите как-нибудь созданный Материал, чтоб его было легко найти, например, Landscape_Material.

Теперь у вас должно получиться нечто такое:

Теперь, когда у нас создан новый Landscape Material, откроем Материал, дважды кликнув по нему внутри Content Browser. Теперь вы должны увидеть нечто такое:

Теперь, прежде чем мы начнем наслаивать узлы в Material Editor, мы должны убедиться в том, что установили этот материал для его дальнейшего использования в Ландшафте. Чтоб сделать это, открываем секцию Usage в панели Details и ставим галочку напротив Used with Landscape . Таким образом мы сможем использовать Материал в Ландшафте.

Теперь самое время начать наслаивать узлы внутри Material Editor. Первый узел – это узел LandscapeLayerCoords UV. Этот узел – помощник в генерации UV-связей, которые можно использовать для того, чтоб связать Сеть Материалов с Landscape Terrain.

Самый простой способ найти узлы, специфичные для Ландшафта – это использовать поиск узлов в боксе Materials Palette, вбив слово Landscape, как ключевое

Следующие Material-узлы, которые мы собираемся наслоить, это узлы текстур для Base Color настила и карт Normal. Для снега мы будем использовать Vector Parameter (V + левый клик), который использует белый цвет. Чтоб убедиться в том, что не используется Metallicinformation,используйте Constant (1 + левый клик) в значении 0 с подключением к Metallicinput. И наконец, для Roughness, мы установили Scalar Parameter (S + левый клик), и это значение мы сможем твикнуть с помощью Material Instance позже. Наконец, давайте убедимся, что мы прицепили каждый LandscapeCoord к UV каждого Texture Sample. У вас должно получиться нечто такое:

Чтоб добавить узлы Texture Sample для различных текстур, сначала выберете нужную текстуру в Content Browser, затем нажмите T + левый клик в графе Material Editor, чтоб создать узел.

Чтоб узнать больше об этих привязанных клавишах, откройте окно Edit > Editor Preferences > Keyboard Shortcuts и выберете Material Editor – секция Spawn Nodes.

Номер Название текстуры
1 T_ForestGround_D
2 T_Ground_Grass_D
3 T_ForestGround_N
4 T_Ground_Grass_N
5 T_Noise_N

После того, как мы наслоили Material-узлы, а LandscapeCoords были связаны с текстурами UV, самое время добавить узел Landscape Layer Blend. Этот узел используется, чтоб смешать все текстуры, которые используются для ландшафта, таким образом, что их можно будет раскрасить на ландшафте по отдельности, используя инструменты Landscape Painting. Таблица ниже показывает, какие текстуры связаны с названием уровня и, какие режимы смешивания они используют.

Когда вы первый раз закладываете узел Landscape Layer Blend, он будет пустым, как показано на картинке с номером один. Чтоб добавить к нему Layers, вам сначала нужно выбрать узел в Material Graph, а затем в панели Details, кликните на иконку Plus, которая находится между словом Elements и иконкой Урна. Эта иконка отмечена желтым на картинка с номером 2.

Режим смешивания уровня Base Color

Текстура Название уровня Тип смешивания Вес привью
T_ForestGround_D Soil LB Weight Blend 1.0
T_Ground_Grass_D Grass LB Height Blend 0.0
Snow as a Vector 3 Snow LB Height Blend 0.0

Режим смешивания уровня Normal

Текстура Название уровня Режим смешивания Вес привью
T_ForestGround_N Soil LB Weight Blend 1.0
T_Ground_Grass_N Grass LB Height Blend 0.0
T_Noise_N Snow LB Weight Blend 0.0

После закладки узлов Layer Blend, самое время связать их с Texture-картами. После чего у вас должно получиться нечто такое:

Связи материалов были раскрашены в Photoshop, чтоб вам было проще понять, как все это соединяется. В настоящее время Unreal Engine 4 не дает возможности изменять цвета линий, соединяющих узлы материалов.

Источник статьи: http://unrealed.ru/landscape/rabota-v-instrumentami-landscape/4-2/

Смешивание текстур ландшафта

В данной статье я расскажу об алгоритме смешивания текстур, который позволяет привести внешний вид ландшафта ближе к естественному. Этот алгоритм легко может быть использован как в шейдерах 3D игр, так и в 2D играх.

Статья рассчитана на начинающих разработчиков игр.

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

Теперь перейдем к самому интересному — алгоритмам смешивания текстур. Для простоты и наглядности наш ландшафт будет состоять из песка переходящего в крупные булыжники.

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

Именно такая техника используется в Unity 3D в стандартном редакторе ландшафта. В глаза сразу бросается плавный, но неестественный переход. Камни выглядят равномерно испачканными песком, а ведь так не бывает в реальности. Песок не прилипает к камням, наоборот, он осыпается и заполняет щели между ними, оставляя верхушки камней более чистыми.

Давайте попробуем смоделировать эту ситуацию в самом обыкновенном Excel с его таблицами и графиками. Так как мы хотим, чтобы песок «проваливался» между булыжниками, для каждой текстуры нам понадобится карта ее глубины. В данном примере я сгенерировал ее из самой текстуры в оттенках серого и поместил в альфа-канал.

Первым делом рассмотрим упрощенную модель карты глубин песка и камней.

Синей линией условно обозначена карта высот песка, а красной — булыжников. Можно заметить, что верхушки булыжников выступают над уровнем песка. Учитывая этот факт, попробуем выводить пиксели той текстуры, которая находится выше.

Отлично! Верхушки камней остаются чистыми, тогда как песок кажется осыпавшимся в щели между ними. Но мы еще не учли степени прозрачности слоев. Для этого мы просто сложим карту высот с картой прозрачности.

За счет суммирования менее прозрачная текстура будет находиться выше, чем обычно.

Так мы получили более естественный переход от песка к камням. Видно как песчинки начинают заполнять промежутки между булыжниками, постепенно скрывая их за собой. Но так как отрисовка происходит попиксельно, на границе между текстурами стали проступать артефакты. Чтобы как-то их сгладить, мы будем брать не один, а несколько пикселей в глубину и смешивать их.

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

А потом нормализуем его для того, чтобы получить новые степени прозрачности.

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

В заключение я хочу рассказать о том, для чего был разработан этот алгоритм и как мы его используем.

Шейдер разрабатывался для инди-игры Steam Squad в жанре изометрической 2D стратегии. В качестве фреймворка для разработки мы используем Unity 3D. А так как среда разработки Unity чрезвычайно гибка, мы сделали свое расширение — редактор уровней. По большому счету, редактор является упрощенной копией стандартного редактора ландшафтов с элементами взятыми из редактора игры Titan Quest.

При рисовании текстурой по ландшафту происходит пересчет соответствующей ей карты прозрачности. А так как сумма всех степеней прозрачности должна составлять 100%, карты прозрачности всех остальных слоев нормализуются. Как это выглядит в самом редакторе можно посмотреть на коротком видео.

Источник статьи: http://habr.com/ru/post/180743/

Инструменты ландшафтного движка Unity

Unity — это мультиплатформенный игровой движок, разработанный Unity Technologies, который используется для создания видеоигр и приложений для множества устройств (ПК, консолей, мобильных устройств и даже веб-сайтов). Основными преимуществами Unity являются его надежность и мобильность; Unity нацеливается на несколько известных API, таких, как Direct3D, OpenGL, OpenGL ES и недавний Vulkan.

Благодаря вышеупомянутым характеристикам Unity становится все более популярным среди компаний разработчиков программного обеспечения уровня AAA и начинающих программистов.

Unity поддерживает несколько технологий и компонентов. Одним из ключевых компонентов системы является ландшафтный движок. Система ландшафтов Unity позволяет создавать обширные ландшафты для ваших игр или приложений. Вы можете использовать набор инструментов для создания ландшафтов легко и быстро.

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

Необходимые условия

Во-первых, убедитесь, что у вас установлена ​​последняя версия Unity. В этом уроке мы используем версию 5.6. Убедитесь, что вы используете последнюю версию Unity; В противном случае вы можете найти небольшие различия во время прохождения урока и использования физических соединений.

Для этого урока вы не будете использовать стартовый файл. Цель состоит в создании нового проекта и выполнении всего урока.

Инструменты ландшафта

Первый шаг — это создать новый проект Unity. Теперь добавьте новую сцену (File > New Scene). Новая сцена была создана с двумя игровыми объектами, Main Camera и Directional Light (Unity 5 автоматически добавит skybox в сцену).

Теперь, чтобы добавить игровой объект terrain, перейдите в меню GameObject и выберите 3D Object > Terrain. Это добавит плоскую поверхность (называемую Terrain) в вашу сцену. Эта поверхность является сеткой, которую мы собираемся сделать для создания на этом уровне ландшафта.

Если вы проверите свой каталог Assets (в нижней части интерфейса Unity), вы увидите, что был создан файл New Terrain.

Выберите Terrain и посмотрите вкладку Inspector. Вы увидите, что terrain имеет три компонента: Transform, Terrain script и компонент Terrain Collider.

Компонент terrain предоставляет вам инструменты, необходимые для редактирования вашего ландшафта. Все инструменты на панели инструментов, за исключением инструмента размещения деревьев и панели настроек, предоставляют набор «кистей» и параметры для настройки размера и прозрачности кисти, так же как инструменты рисования из обычного редактора изображений. Это позволяет создавать ландшафт подобно инструменту рисования.

Если вы выберете любую кисть под компонентом Terrain и наведите указатель мыши на поверхность, вы увидите синюю область, проецируемую на этой поверхности. Это позволяет узнать область ландшафта, на которую повлияет ваша кисть.

Как вы, возможно, уже поняли, объект Terrain довольно большой. Для навигации по Scene (сцене) вы можете использовать мышь и клавиатуру. Внутри вкладки Scene нажмите и удерживайте правую кнопку мыши (курсор должен измениться на глаз).

Удерживая кнопку мыши:

  • Вы можете изменить угол обзора, перемещая мышь.
  • Используйте клавиши W, S, A, D для перемещения по 3D-сцене.

Прежде чем приступать к изучению инструментов ландшафта, давайте посмотрим на свойства Terrain. Последняя кнопка на компоненте Terrain (внутри вкладки Inspector) покажет вам базовые параметры объекта terrain.

Свойства делятся на разделы:

  • Base Terrain
  • Tree & Detail Objects
  • Wind Settings for Grass
  • Resolution
  • Heightmap

Внутри первой секции Base Terrain вы найдете несколько свойств и параметров.

Опция Draw включает или выключает рендеринг ландшафта. Pixel Error представляет значение точности преобразования между картами terrain’а (например, текстур, heightmaps и самого сгенерированного terrain’а). Более высокие значения представляют меньшую точность, а меньшие значения будут приводить к излишней обработке. Вы обязаны сбалансировать это значение, чтобы создать хорошее, насыщенное окружение.

Base Map dist. — максимальное расстояние, на котором текстуры ландшафта будут отображаться с полным разрешением. Вы можете включить или отключить тени, выбрав Cast Shadows.

Затем у нас есть Material. Здесь вы устанавливаете материал, который будет использоваться для рендеринга ландшафта. Это повлияет на то, как интерпретируются цветовые каналы текстуры ландшафта. Вы можете выбрать:

  • Built In Standard представляет материал, основанный на физическом рендеринге, который был введен в Unity 5. Если выбран этот параметр, для каждого слоя наложения можно использовать одну текстуру для альбедо и сглаживания, одну текстуру для нормали и одно скалярное значение для сдвига металла. Имейте в виду, что если проверяется «Overwrite Smoothness», вместо того, чтобы читать из текстурных карт, ровность всего terrain’а будет контролироваться только значением Smoothness.
  • Built In Legacy Diffuse представляет собой устаревший встроенный материал ландшафта из предыдущих релизов Unity (Unity 4 и более ранних). Он использует модель освещения Ламберта и имеет дополнительную поддержку обычной карты.
  • Built In Legacy Specular использует модель освещения Blinn-Phong (пожалуйста, обратитесь к этому предыдущему Unity 5 уроку по освещению) и имеет дополнительную поддержку обычной карты. Этот параметр также позволяет задать общий цвет отражения и блеск для ландшафта.
  • Опция Custom использует настраиваемый материал для вашего ландшафта. Этот материал должен быть шейдером, который ориентирован для рендеринга ландшафта. Это вариант, который я рекомендую только продвинутым пользователям. Однако, если вы хотите попробовать, взгляните на исходный код некоторых встроенных шейдеров и внесите изменения одного из них.

Вы можете также установить Reflection Probes (оптические датчики) для некоторых материалов, но они будут использоваться только при использовании встроенного стандартного материала или пользовательского материала,который поддерживает рендеринг с отражением. Возможные варианты reflection probes:

  • Off: Reflection probes отключены, и для отражения будет использоваться только skybox.
  • Blend Probes: Reflection probes включены. Смешивание происходит только между датчиками. Если поблизости нет датчиков отражения, то будет использоваться отражение по умолчанию, но между отражением по умолчанию и датчиком не будет никакого смешивания.
  • Blend Probes And Skybox: Reflection probes включены. Смешивание происходит между датчиками или датчиками и отражением по умолчанию.
  • Simple: Reflection probes включены, но между датчиками не происходит смешивания, если имеется два перекрывающихся объема.

Наконец, последний параметр в этом разделе — Thickness. Это значение указывает, насколько объем столкновения terrain’а должен простираться вдоль отрицательной оси Y. Считается, что объекты пересекаются с ландшафтом от поверхности до глубины, равной толщине. Это помогает предотвратить проникновение высокоскоростных движущихся объектов в ландшафт без дорогостоящего непрерывного обнаружения столкновения.

Следующий раздел настроек — Tree & Detail Objects.

Первая опция — Draw. Здесь можно настроить прорисовку деталей. В основном, это говорит движку, хотите ли вы, чтобы деревья и трава рисовались или нет. Затем у вас есть Bake Light Probes для деревьев. Если вы включите эту опцию, Unity создаст световые датчики в позиции каждого дерева. Затем датчики будут применены к рендерингу деревьев. Если отключить этот параметр, на деревья по-прежнему будут влиять датчики группы источников света. Обратите внимание, что этот параметр доступен только для деревьев, на которых установлены световые датчики на их префабах.

Detail Distance — это расстояние от камеры, после которого детали будут отсекаться. Detail Density представляет количество объектов деталей/травы в данной условной единице площади. Tree Distance представляет собой расстояние от камеры, за которым деревья будут отсекаться. Billboard Start — это расстояние от камеры, начиная с которого 3D деревья начнут заменяться на спрайтовые изображения. Fade Length представляет собой расстояние перехода деревьев из 3D объектов в плоские спрайты. Наконец, Max Mesh Trees — максимальное количество видимых деревьев, которые будут представлены в качестве полноценных 3D мешей.

Идем дальше, вы увидите параметры Wind Settings for Grass

Speed определяет скорость обдувающего траву ветра. Size представляет собой размер ряби на травянистых участках. Bending позволяет определить степень, наклона объектов травы под действием ветра. Grass Tint позволяет выбрать общий оттенок цвета, применяемый к объектам травы.

В разделе Resolution вы найдете несколько свойств разрешения, а именно: Terrain Width, Length, и Height. Все три имеют очень четкое значение. Heightmap Resolution — разрешение карты высот terrain’а в пикселях. Должно быть степенью двойки плюс один, например, 513 = 512 + 1.

Detail Resolution позволяет определить разрешение карты. Чем выше разрешение, тем меньше и более детальны будут участки травы. Detail Resolution per Patch устанавливает длину и ширину квадрата островков, отрендеренного за один вызов рисования. Control Texture Resolution — разрешение карты splat, которая контролирует смешивание разных текстур terrain’а. Наконец, Base Texture Resolution разрешение композитной текстуры, используемой на terrain’е когда вы смотрите на него с расстояния, большего чем значение base map distance.

Последний раздел — Heightmap. Здесь вы можете импортировать исходный файл heightmap в raw формате или экспортировать текущий terrain в файл изображения в RAW формате. Это может быть очень полезно, если вы хотите использовать внешнее стороннее программное обеспечение для взаимодействия с вашим приложением или игрой.

Инструменты для изменения высоты

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

Первыми тремя инструментами на панели инструментов Terrain Inspector являются инструменты изменения высоты. Эти инструменты используются для рисования изменений высоты на поверхности.

Они предоставляют набор «кистей» с настройками Brush Size и Opacity; Эти инструменты очень похожи на инструменты рисования из любого редактора изображений. Они позволяют рисовать детали ландшафта, как если бы вы рисовали изображение.

Если вы переместите курсор на вкладку Scene, вы увидите синюю область, проецируемую на поверхности. Это позволяет узнать область ландшафта, на которую повлияет ваша кисть.

Первым инструментом является Raise / Lower Height. При рисовании с помощью этого инструмента высота ландшафта будет увеличиваться пока вы водите мышкой с зажатой левой кнопкой по terrain’у. Если удерживать мышь в одной конкретной области, высота будет суммироваться. Такой эффект визуально изображен на следующем рисунке.

Чтобы опустить ландшафт, просто удерживайте клавишу Shift во время рисования инструментом, и это уменьшит высоту вашего ландшафта.

Второй инструмент в редакторе ландшафта — Paint Height. Этот инструмент используется для установки целевой высоты для области ландшафта.

Он работает аналогично инструменту Raise/Lower, но имеет дополнительное свойство для установки целевой высоты Height. Вы можете выбрать желаемую высоту Height, изменив значение параметра Height. Кнопка Flatten рядом с свойством height, которая просто устанавливает высоту у всего terrain’а в заданное значение Height.

Наконец, третий инструмент — Smooth Height. Этот инструмент не будет резко увеличивать или уменьшать высоту terrain’а; Вместо этого он смягчит ландшафт и уменьшит появление резких изменений. Вы могли бы использовать этот инструмент, например, когда вы нарисовали деталь используя одну из «шумящих» кистей из доступного набора, поскольку эти кисти созданы для привнесения острых, скалистых камней в ландшафт и вы можете использовать этот инструмент, чтобы смягчить их.

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

Инструмент для создания текстур

Ландшафт создан теперь пора текстурировать его.

Прежде чем двигаться дальше, вам нужно импортировать aссеты окружающей среды, доступные в Unity 5. Для этого выберите Assets > Import Package и выберите Environment. Нажмите Import, чтобы импортировать все относящийся к окружающей среде ассеты.

Unity позволяет рисовать ландшафты используя текстуры. Вы можете нарисовать свой ландшафт различными текстурами в разных областях. Например, вы можете иметь текстуру для скалы, другую для песка еще одну для травы. Текстуры могут применяться с различной прозрачностью, что означает, что вы можете делать плавные переходы между двумя текстурами. Для достижения наилучших результатов следует нарисовать ландшафт с бесшовными текстурами.

Как вы могли заметить на вкладке Inspector, инструмент Paint Texture имеет несколько кистей и позволяет вам изменять Brush Size, Opacity и Target Strength.

В первый раз, когда вы используете инструмент для рисования Texture Tool, на нем не будет текстур. Первое, что вам нужно сделать, это добавить новую текстуру в палитру. Для этого нажмите кнопку Edit Textures и выберите Add Texture. Появится новое окно.

Как можно видеть, в этом окне можно выбрать Select нужную текстуру и ее обычную карту, если такова имеется. Нажмите на квадрат под текстурой и выберите текстуру. Появится окно, позволяющее выбрать текстуру. Выберите текстуру SandAlbedo и нажмите Add.

Теперь ваш ландшафт должен иметь вид песка. Обратите внимание, что вы всегда можете изменить ландшафт в опциях редактирования текстуры или удалить его.

Первая созданная вами текстура всегда должна быть базовой текстурой для ландшафта. Полный список текстур, используемых в этом примере:

  1. SandAlbedo
  2. GrassHillAlbedo
  3. GrassRockAlbedo
  4. MudRockyAlbedo
  5. CliffAlbedo

Все они являются частью импортированных ассетов и могут быть найдены так же, как и текстура SandAbedo. Продолжайте и импортируйте их все.

Когда у вас есть все импортированные текстуры, пришло время текстурировать ваш ландшафт, как вы хотите. Выберите текстуру и нарисуйте нужную среду. Пример текстурированной карты.

Когда вы удовлетворены результатом, перейдите к следующему разделу.

Инструмент для создания деревьев

Теперь, когда вы нарисовали свой ландшафт, пришло время добавить к нему несколько деревьев. Unity 3D позволяет размещать деревья на вашем ландшафте так же, как вы рисовали текстуры. Используя настройки спрайтов для удаленных деревьев, Unity поддерживает хорошую производительность для рендеринга, так что вы можете иметь плотно засаженные леса с тысячами деревьев.

Чтобы начать рисовать деревья, выберите Terrain на вкладке Hierarchy и на вкладке Inspector выберите пятую кнопку.

Аналогично текстурам, необходимо также добавить деревья. Щелкните Edit Trees > Add Tree.

Unity предложит вам префаб дерева, которое вы хотите использовать. Нажмите на маленький круг, и появится другое окно. На этот раз оно покажет вам все готовые префабы, которые у вас есть в вашем проекте.

Выберите префаб дерева Broadleaf_desktop и нажмите Add. Это закроет окно prefab и добавит выбранное дерево в проект.

Теперь вы можете выбрать пальму, чтобы нарисовать ее на своем ландшафте.

В разделе Settings вы найдете несколько параметров, которые вы можете настроить, когда размещаете деревья в своей сцене. Brush Size определяет область, где вы будете рисовать, в то время как Tree Density определяет количество деревьев, которые вы будете иметь в нарисованной площади. Высокие значения будут означать больше деревьев. Tree Height позволит определить, как изменяется высота. Можно задать значение в произвольном порядке и использовать интервал значений, или задать определенное значения. Вы можете отключить параметр Lock Width to Height, чтобы сделать их одинаковыми.

В разделе Lighting вы можете установить, как генерируются световые карты для ваших деревьев.

Чтобы нарисовать деревья на поверхности, переместите указатель мыши на сцену. Синяя область представляет собой кисть. Если выбран тип дерева, нажмите левую кнопку мыши на поверхности и начните создавать деревья.

Чтобы удалить деревья из определенной области, нажмите Shift и используйте левую кнопку мыши. Это очистит все деревья в области кисти. Если вы просто хотите стереть определенный тип дерева, удерживайте Control вместо Shift. Это очистит только выбранный тип дерева.

Вы всегда можете изменить или удалить тип дерева, выбирая его и нажав кнопку Edit Trees. Чтобы изменить дерево, нажмите кнопку Edit Tree и, чтобы удалить его, нажмите кнопку Remove Tree.

Наконец, вы заметите, что внутри компонента Terrain Collider у вас есть поле с именем Enable Tree Colliders. При выборе этого параметра можно включить коллизии между другими игровыми объектами и деревьями.

Если вы не хотите вручную рисовать деревья, вы можете использовать кнопку Mass Place Trees. Если вы нажмете ее, появится новое окно. Затем Unity попросит вас создать несколько деревьев. Установите Number of Trees и нажмите Place. Затем Unity рандомно размещает деревья на поверхности.

Следующий шаг — творческое заполнение ландшафта деревьями. Чтобы создать разные деревья, вы также можете добавить новые деревья, такие как Palm_Desktop, Broadleaf_Mobile и Conifer_Desktop. Для этого используйте параметр Edit Trees в меню Trees (на вкладке Inspector).

Вы можете создать что-то вроде этого изображения (или что-то совершенно другое).

Когда вы будете готовы, можете переходить к следующему шагу.

Инструмент для создания других элементов

Unity позволяет создавать траву и другие небольшие объекты, такие как камни, которые покрывают поверхность. Трава рендерится с использованием двумерных изображений, а другие объекты обычно являются стандартными мешами.

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

Как можно видеть, у вас теперь есть аналогичный интерфейс, как и у Height Tools. Здесь также имеется набор кистей, которые можно выбрать, чтобы нарисовать список деталей.

Поскольку вы не выбрали какие-либо детали объекта, добавим их, нажав Edit Details > Add Grass Texture.

Откроется окно, в котором можно задать несколько свойств для травы. Detail Texture позволяет вам определить текстуру, которая будет использоваться для травы. Вы также можете установить несколько свойств, таких как Max Width, Min Width, Max Height, Min Height, Noise Spread, Healthy Color, Dry Color и Billboard. Все эти свойства определят, как будет выглядеть ваша трава.

Для этого урока вы можете оставить параметры по умолчанию или изменить их по своему желанию.

Нажмите на круг перед полем Detail Texture. Это откроет новое окно. Найдите GrassFrond01AlbedoAlpha, выберите его и нажмите Add.

Как и для деревьев, вы можете использовать несколько кистей для рисования травы. Вы можете установить различные размеры Brush Sizes, изменить Opacity и Target Strength.

Настало время быть креативным, и покрасить ландшафт травой.

Если вы хотите добавить меши, чтобы нарисовать детали на вашем ландшафте, например камни, вам нужно повторить тот же процесс, что вы делали с импортом травы. Однако на этот раз при нажатии кнопки Edit Details выберите Add Detail Mesh. Откроется окно, где можно задать несколько параметров для мешей деталей, очень похожее на то, которое использовалась для импорта травы.

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

Заключение

На этом заканчивается руководство по инструментам ландшафтного движка Unity. Вы узнали о нескольких инструментах и ​​конфигурациях ландшафта. Благодаря этим знаниям вы можете создавать, изменять и улучшать текущие или новые ландшафты для своей новой передовой игры или приложения.

Unity имеет активную экономику. Существует много других продуктов, помогающих построить проект. Характер платформы также делает ее великолепным вариантом, благодаря которому вы можете улучшить свои навыки. В любом случае, вы можете видеть все, что у нас есть на Envato Marketplace.

Если у вас есть вопросы или комментарии, как всегда, не стесняйтесь писать в разделе для комментариев.

Источник статьи: http://gamedevelopment.tutsplus.com/ru/tutorials/unity-terrain-engine-tools—cms-28623

Читайте также:  Оформление цветников пластиковыми бутылками
Оцените статью