Как сделать ландшафт в unity

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

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

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

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

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

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

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

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

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

Как сделать ландшафт в unity

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

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

Как сделать ландшафт в unity

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

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

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

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

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

Как сделать ландшафт в unity

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

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

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

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

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

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

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

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

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

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

Как сделать ландшафт в unity

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

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

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

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

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

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

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

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

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

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

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

Как сделать ландшафт в unity

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

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

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

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

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

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

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

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

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

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

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

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

Как сделать ландшафт в unity

Как можно видеть, у вас теперь есть аналогичный интерфейс, как и у 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.

Как сделать ландшафт в unity

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

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

Как сделать ландшафт в unity

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

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

Заключение

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

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

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

Источник

Unity5. Создание ландшафта реальной местности

Создаем ландшафт реальной местности.

Создание ландшафтной местности в игровых движках всегда требует большого объема работ и затрат времени, тем более если вы пытаетесь создать ландшафт с какой-нибудь реальной местности. Для упрощения этих работ в Unity5 есть функция импорта ландшафтной местности из других программ. Давайте попробуем создать ландшафт реальной местности при помощи сайта terrain.party и программы GeoControl v2.

Делаем карты высот.

Для на чала перейдем на сайт и сохраним участок какой-нибудь местности.

Как сделать ландшафт в unity

Выберете участок местности и увеличьте масштаб до максимума, далее уменьшите размеры квадрата до минимальных (8 км) и нажмите на облачко.

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

Далее установите программу GeoControl v2. Настройки установки программы можно оставить стандартные. Запустите программу, потребуется ввести имя Team GRB и затем ключ 323825dc6fe6784994206bf8b9db2b45.

Как сделать ландшафт в unity

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

Как сделать ландшафт в unity

Осталось только экспортировать все это в Unity. Нажимаем Generation — Terrain export — Raw(16bit)fot Carrara, напишем имя и укажем место сохранения.

Как сделать ландшафт в unity

Открываем Unity5 и создаем террейн (если у он вас еще не создан). переходим в настройки Terrain и в самом низу нажмем import raw. Выберите ту карту высот которую мы сохранили и нажмите Import.

Как сделать ландшафт в unity

Как сделать ландшафт в unity

При сохранении карты высот в программе GeoControl v2 были указаны размеры карты 2048 х 2048, по этому и в настройках terrain в Unity желательно указать такие же параметры (тут на ваше усмотрение я указал размер карты 3000 х 3000)

Как сделать ландшафт в unity

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *