Террейн в Unity 3D. Часть Вводная – для затравки. Создание лабиринтов и подземелий в Unity3D

Террейн в Unity 3D… О нем можно рассказывать бесконечно долго, поэтому я начинаю публиковать цикл статей, посвященный созданию ландшафтов, еще называемых террейнами, в Unity3D, сторонних бесплатных программах для создания ландшафтов, 3D приложениях, в которых также можно создавать ландшафты для игровых движков Unity3D, Unreal Engine, Amazon lumberyard, CryEngine, Neoaxis 3d Engine и других.

В данной статье (являющейся вводной для серии статей — уроков по созданию террейнов) описывается создание пользовательских (“кастомных”) кистей для редактирования террейна в Unity3D, а также использующихся для создания в Unity 3D лабиринтов, подземелий, коридоров, пещер и живых изгородей.

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

Создаем кисть для террейна Unity3D в графическом редакторе GIMP

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

Кисти для редактирования террейна являются ничем иным, как изображением с прозрачным фоном, на котором черным цветом нанесен ваш шаблон будущей кисти. Создайте новый изображение (файл, холст, документ) в GIMP, для чего нажмите сочетание клавиш Ctrl+N, или выберите вкладку “File”, чтобы открыть меню работы с документом/файлом и выберите в открывшемся меню вкладку “New”. Установите размер изображения равным 512 на 512 пикслей (или 256 x 256 пикселей) в меню создания нового изображения. Разверните список расширенных настроек изображения “Advanced Options”, в котором для цветовой гаммы/режима цвета изображения “Color space”выберите “RGB” или градации серого “Greyscale”, а фон оставьте прозрачным, для чего выберите “Transparency” для параметра “Fill With” (Залить с помощью…).

create new image in gimp for terrain brush
На рисунке показан процесс создания нового изображения в GIMP под кисть для редактирования террейна в Unity3D.

Теперь выберите цвет, которым мы будем рисовать. Здесь действуют те же принципы, что и для карты высот: по сути, изображение для кисти, которое мы сейчас создаем, работает как карта высот, из которой даже можно создать террейн в Unity 3D, просто экспортировав ее, за тем лишь исключением, что вместо белого фона для определения самой низкой точки террейна, здесь используется прозрачный фон. Т.е. достаточно сохранить такую кисть с белым или серым фоном в формате RAW в градациях серого в восьмибитном (8бит/8 bit) или шестнадцатибитном (16 бит/16 bit) режиме (Color Mode/Color Space).

Как только вы завершите создание своей кисти, необходимо сохранить ее в формате PNG, поддерживающем прозрачный фон изображения. Назовите файл с кистью “brush_0.png

create brush for unity 3d in gimp export image
На рисунке показан процесс экспорта изображения в GIMP в формате PNG.

Осталось перенести созданное изображение кисти в Unity3D, чтобы начать изменять с ее помощью террейн в Unity 3D.

Импорт изображения кисти в Unity3D для редактирования террейна или создания нового красивого ландшафта в Unity3D

Одним из условий для того чтобы Unity увидел ваши кисти, является создание папки “Gizmos” в ассетах “Assets” проекта (окно “Project“). Вы можете создать папку гизмо “Gizmos” (на рисунке ниже отмечено оранжевым цветом) в ассетах Юнити “Assets” и импортировать в нее файлы, содержащие кисти (перетащить файлы с изображениями кистей из папки, в которой они хранятся на жестком диске или даже SSD вашего компьютера в созданную в ассетах папку “Gizmos”, как показано на рисунке ниже зеленым цветом). Вы также можете создать папку “Gizmos” на жестком диске своего компьютера, поместить в нее свои кисти, созданные в одном из графических редакторов – Photoshop или GIMP, и импортировать ее в ассеты “Assets”, например, Unity 3D путем простого перетаскивания (drag’n’drop/Drag-and-Drop) ее в окно с ассетами “Assets” Юнити.

import brushes to unity 3d
На рисунке показан процесс импорта в Unity 3D созданных кистей для редактирования террейна.

Как только вы импортируете созданные кисти в Unity3D, то они сразу же появятся во всех вкладках-инструментах, поддерживающих работу с кистями, в компоненте Terrain: “Raise/Lower Terrain”, “Paint Height”, “Smooth Height” и “Paint Texture”. Если этого не произошло, закройте Unity3D и откройте проект с террейном, куда вы импортировали кисти. Если кисти не появились, то читайте ниже.

Как вы можете видеть на рисунке выше, в инструментах редактирования ландшафта отобразились не все кисти, которые мы загрузили в Unity, а лишь первые три, которые были сохранены в файлах с именами “brush_0”, “brush_1”, “brush_2” (показано на рисунке выше бирюзовым цветом). А вот кисти “brush_4” и “brush_mg” (отмечены красным на рисунке выше) не воспринимаются по причине, описанной ниже.

Вторым условием для того, чтобы иметь возможность использовать ваши кисти, является правильное название кистей. Если вы назовете свою кисть “my-brush”, “brush-1”, “моя кисть”, “магическая кисть под террейн Unity3D” и т.д., то Unity, хотя и отобразит их в папке “Gizmos”, но не даст вам их использовать для изменения созданного террейна. Для того чтобы Unity “подхватил” созданные вами кисти, необходимо называть их следующим образом: “brush_0”, “brush_1”, “brush_2”, “brush_3” и так далее. Unity 3D не допускает начало именования кистей с единицы и если вы пропустите кисть с названием “brush_0” или удалите ее из папки “Gizmos”, то кисти с именами “brush_1”, “brush_2”, “brush_3” видны редактором террейна Unity 3D не будут. Также, если у вас в папке “Gizmos” будет присутствовать кисть с именем “brush_0”, “brush_1” и “brush_2”, но не будет кисти с именем “brush_3”, то если вы добавите в папку гизмо “Gizmos” кисть с именем “brush_4”, то кисть “brush_4” и все последующие “brush_5”, “brush_6”, “brush_7” и так далее (brush_N+1) видны не будут, хотя и будут отображаться в папке гизмо “Gizmos”.

Не обязательно удалять изображения импортированных кистей из проекта (папки “Gizmos”, содержащей гизмо/ штучки) и потом заново импортировать файлы кистей с измененными названиями, чтобы переименовать текстуры кистей и заново импортировать их в Unity. Вы всегда можете изменить название импортированных кистей в Unity3D на правильные. Если после изменения имен кистей в папке гизмо, они не появились в инструментах модифицирования ландшафта, то вы можете немного подождать, когда Unity идентифицирует их, либо перезагрузите проект, закрыв и заново открыв Unity 3D с вашим проектом. Все сказанное выше про названия кистей, касается и про название папки со штуковинами/ гизмо “Gizmos”.

После импорта изображений кистей в Unity 3D в папке гизмо “Gizmos” они представляют собой черный квадрат. Такие кисти будут работать (если вы сделали все, как описано в данном уроке), но вот определить какой кисти в редакторе ландшафта Юнити 3Д они соответствуют, будет затруднительно.

change brush image transparency in unity3d. Смена прозрачности изображения для кисти, используемой в террейн в Unity 3D
На рисунке показан процесс изменения настроек импортированного изображения в Unity3D для создания изображению прозрачного фона в редакторе Unity.

 

Изменяем прозрачность изображения в Unity3D, чтобы оно отображалось в редакторе Unity3D с прозрачным фоном

Если вы хотите, чтобы в папке гизмо отображалась миниатюра изображения кисти, как, например, они отображаются в папках Windows, чтобы можно было идентифицировать, какая кисть в инструментах террейн в Unity 3D какому рисунку соответствует, то вы можете щелкнуть (“кликнуть”) на изображении кисти в папке гизмо “Gizmo”, и в открывшемся меню настройки изображения (настроек импорта изображений) в окне Инспектора (“Inspector”) изменить настройки изображения, поставив галочку (флаг) напротив параметра “Alpha is Transparent”, чтобы указать движку Unity3D, что у данного изображения – прозрачный фон, после чего нажать кнопку “Apply”, чтобы применить произведенные изменения. Если вы забудете применить сделанные изменения в меню настройки текстуры/изображения кисти, то при выходе из меню настройки импортированного изображения/текстуры, например, при выборе другого изображения, 3D объекта, скрипта (C# или Javascript/Unityscript) или террейна, Unity 3D напомнит вам о совершенных модификациях текстуры и откроет диалоговое окно “Unapplied import settings for ‘Assets/Gizmos/…’”, в котором предложит принять (“Apply”) или отменить (“Revert”) сделанные вами изменения для установок импорта текстуры/изображения.

Теперь вы можете рисовать кистями, которые создали сами.

Собственно… Террейн в Unity 3D. Создание лабиринта — живой изгороди или пещер и корридоров подземелий в Unity3D

При помощи кистей можно создавать не только горный, скалистый ландшафт, плато и другие элементы и формы, которые может принимать террейн в Unity 3D, но и лабиринты из живых изгородей, или подземной пещеры. Чтобы создать свой лабиринт или катакомбы, достаточно лишь нарисовать несколько кистей, соответствующих участкам лабиринта, или использовать в качестве кистей найденные в Интернете и загруженные карты лабиринтов (желательно, но не обязательно, в черно-белом варианте), либо использовать генератор подземелий, пещер или лабиринтов. Вы же не раз встречали в газетах или журналах, особенно детских журналах, задание найти выход из лабиринта, например, проведя по нему ручкой или карандашом? Так вот, один клик кистью, созданной из такой картинки, на террейне и уровень готов. Или часть уровня, поскольку вы можете создать несколько кистей, чтобы иметь возможность собирать уровень из “модулей”, где в качестве модулей будут использоваться кисти. Останется лишь раскрасить получившийся уровень по вашему усмотрению.

maze terrain unity 3d. Террейн в Unity 3D, созданный при помощи одной кисти
На рисунке показан лабиринт, созданный через террейн в Unity 3D при помощи всего одной кисти для редактора ландшафта Юнити

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

Понравилась статья? Поддержи автора статьи!

Сделать пожертвование на улучшение контента сайта.

Автор: Максим Голдобин (aka MANMANA)

goldmaxval@gmail.com

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