Unity: работа с Terrain

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Обзор | Компьютерные и мобильные игры
Предисловие

Привет, народец! Меня всё-таки попросили написать отдельную статью, как работать с Terrain и создать локацию. Предыдущие статьи Вы можете обнаружить по ссылкам:

  1. Как создать игру, ничего не умея. Часть первая: модели и анимации
  2. Как создать игру, ничего не умея. Часть вторая: сцена (уровень), квесты, интерактивные объекты
Terrain

Пойдем мы с вами по протоптанной дорожке, создадим Scene, а в ней GameObject -> 3D Object -> Terrain и выставим значения Terrain Width(Length, Height) 100-100-120. И перед нами появляется серый квадрат!

Отлично, половина работы сделана. Давайте придадим некие очертания нашему квадрату, а именно, создадим горы у краёв Terrain. Для этого переходим в Inspector и находим кисточку Paint Terrain, в ней выбираем графу Raise or Lower Terrain.

После выбираем подходящую кисть, размер(Brush size) и Opacity(силу воздействия). Я выбрал параметры 7 и 10. Начинаем водить нашей кистью по краям Terrain и получаем горы по краям, если Вы всё сделали правильно, у Вас должно получиться что-то подобное.

После я возьму другую кисть (тут уже на ваш выбор), выставлю Opacity на 3 и начну водить ей по ровным поверхностям что бы создать эффект российских ровных дорог =). Получилось вот так.

Мне кажется, я объяснил, как пользоваться кистями. Поигравшись с настройками, вы вполне сможете создать от пустыни до тропиков, всё зависит от фантазии, единственное что еще скажу, если вы ходите сделать возвышенность меньше, то просто зажмите клавишу Shift, от этого будет обратный эффект. Сейчас же не будем на этом зацикливаться и двинемся дальше.

 Текстуры

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

  1. Нарисовать текстуры самому (если умеем)
  2. Купить готовые в Asset Store
  3. Скачать бесплатный пак стандартных асетов (это мы и сделаем)

Идём в Asset Store и вводим в поисковике standard assets, он сразу же нам выдаст необходимый пак. Скачиваем, интегрируем, радуемся =).

Снова нажимаем на кисточку в Inspector Terrain и выбираем строку Paint Textures. Ниже видим строку Edit Terrain Layers, выбираем Create Layer. В появившемся окне я нахожу текстуру травы(GraceHillAlbedo) применяю и вижу, что моя серая постройка стала зеленой.

Добавляем очередную текстуру, у меня это CliffAlbedoSpecular, её я буду использовать для разрисовки гор, негоже что бы всё было одного цвета. Выбираю кисть, размер, и текстуру гор, начинаю рисовать.

Мне кажется, стало выглядеть немного лучше. Тут вам стоит поиграть с текстурами (добавить больше одной на основание и возвышенность) и придать максимально реалистичную картину, я же не буду заострять на этом внимание, просто добавлю еще по текстуре и всё.

Получился конечно не шедевр, но у меня нет желание тратить на это больше 5 минут =). А теперь, для Зеленых, посадим несколько деревьев! Выбираем Paint Trees рядом с кистью, нажимаем Edit Trees и выбираем Add Tree. Нажимаем на кружочек в поле Tree Prefab и выбираем дерево которое нам понравилось. В паке оказалось всего три дерева, и я решил добавить их все. Поставив первое дерево, я обнаружил что оно слишком уж большое, поэтому перетаскиваем бегунок Tree Height влево до нужного нам размера и начинаем посадку деревьев.

Партия зеленых может спать спокойно! Проделываем похожую процедуру с травой. Для тех, кто не нашел, куда же добавлять текстуру травы, ищем строчку Details в ней Edit Details -> Add Grass Texture. В строке Detail Texture нажимаем на кружок и добавляем траву, у меня это GrassFrond02AlbedoAlpha. Обратите внимание на две полоски с цветом, они отображают, какой цвет будет у травы в живом и сухом виде, а когда мы добавляем траву в сцену, бегунками можно настроить сколько будет мертвой травы, а сколько живой, это покажет мир более живым. Дальше играем с бегунками Setting и выставляем значение подходящие Вам.

Наша местность всё живее и живее! Но всё еще чего-то не хватает. Точно! Нам не хватает неба, давайте добавим небо! Иду в ассет стор, в поисковике вбиваю Sky Free и первое что мне выдает это Sky5x, скачиваю и добавляю в проект. Далее нажимаем на Window -> Rendering ->Lighting Setting, находим строчку Skybox Material нажимаем на кружок и выбираем понравившееся Вам небо,  я выбрал небо с облаками.

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

Если посмотреть на игровую сторону, то мы имеем покачивающиеся деревья и траву на ветру. Не поленитесь потратить  достаточно времени, на создание локации и она Вам будет приносить только удовольствие.

Заключение

Создание локации — довольно сложный и очень трудозатратное удовольствие, вам нужно сразу понимать что вы будете создавать, чтобы в дальнейшем не пришлось всё делать заново. А в данной статье я рассказал основы, как пользовать кистями для изменения Terrain. Надеюсь, вам это было полезно. А мы с вами встретимся уже в следующей статье по созданию игры, используя только интернет!

Автор не входит в состав редакции iXBT.com (подробнее »)

11 комментариев

182749768@vkontakte
Коротко и понятно. Люблю такое читать. У меня вопрос, как насчет UE4? Тоже хороший движок, может стоит хоть немного сравнить разработку на этих движках. Но если нет, так нет.
n
Хорошо, как закончу с проектом на Unity, возьмусь за серию статей на UE.
182749768@vkontakte

Ответ nonp на комментарий
Хорошо, как закончу с проектом на Unity, возьмусь за серию статей на UE.


Жду с нетерпением. Подписался.
114808253857932665800@google
Терейн в юнити гавно как и само юнити, покупайте получше компы и учите анриал.
n
Это исключительно Ваше мнение.
114808253857932665800@google
Я бывший юнити разработчик (4 года), сейчас анриал. Верь мне — юнити шлак, рад что вылез с этого забаганого «навоза» с кривыми пайплайнами и ущербной средой разработки… как страшный сон забыл.
n
Я повторюсь, это Ваше мнение.Моё же, любой движок имея понимание как он работает можно привести к нужным Вам результатам. Я так же работаю на UE и не вижу в них особой разницы.
П.С: Не работаю над ААА проектами, возможно поэтому и не встречалось мне больших отличий в производительности.
114808253857932665800@google
К примеру перечислю быстрые фичи среды разработки unreal чего нет в unity:
1) Качество света, он мягкий и секси… Сделать такой в юньке это танец с бубном на неделю беременного вождя апачи… и то, до первого апдейта.
2) мало кто сейчас использует террейн в его чистом виде и на юньке я делал красоту с помощью микросплата и прочих бубнов… Вот скрин:
https://drive.google.com/file/d/1yPVoMtHoY1tTpuSa8z-Du4zVQUDcd6yX/view?usp=drivesdk
Но, на unreal это работает с коробки без прочих усилий.
3) Теперь AI and pathfinding… Ну тут вообще лучше не вспоминать юнити.
4) шейдера… Вот тут реально надо быть или слепым или тупым я хз… Чтоб говорить что они на юньке такие же и разницу не видеть…
Я понимаю что логику одинаково можно закодить что на шарпе что на спп, всегда останусь при мнении что юнити движок для бедных что не могут комп прочитать под анриал… у меня самого компиляция шейдеров на анриале вызывает боль и нервный тик но оно того стоит.
B
Захотелось вставить свои 5 копеек. Все что ниже — передрал с некого сайта, с корявым переводом от Гугла.
Хотя обе платформы создают высококачественные визуальные эффекты, большинство пользователей обнаружили, что Unreal Engine имеет небольшое преимущество перед Unity в качестве визуальных эффектов. Он может создавать фотореалистичные визуализации, которые погружают геймеров и позволяют им свободно путешествовать по потрясающему новому миру, а также включать высококачественные активы из различных источников. Благодаря мощным возможностям рендеринга и первоклассным визуальным эффектам, качество анимации не имеет себе равных. Это был явный фаворит среди пользователей по качеству инструментов анимации и визуализации анимации.
Unity немного медленнее обрабатывает и рендерит, чем Unreal Engine. Это может не иметь значения, если у вас есть неограниченное время для создания игры, но если вы разработчик, который работает в сжатые сроки, вы можете увидеть преимущество в молниеносных возможностях рендеринга Unreal Engine.
Для кого лучше всего подходит Unity?
Unity — отличная платформа для начинающего инди-разработчика игр. Благодаря собственному языку C# и огромному сообществу других разработчиков и дизайнеров Unity является отличной платформой для независимых дизайнеров, которые хотят начать создавать прямо сейчас и не хотят платить платформе гонорар за свои игры на серверной части.
Для кого лучше всего подходит Unreal Engine?
Unreal Engine — это полностью отлаженная графика и молниеносная скорость рендеринга, что делает его идеальным для разработчиков игр корпоративного уровня или независимых разработчиков, которые хотят получить сверхвысокое качество в своих играх и не возражают платить лицензионные платежи за конечную игру.
Л
Вы очень помогли. Спасибо за время которое вы посветили этим уроком. +500 к карме!)

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

Сейчас на главной

Новости

Публикации

Обзор бюджетной оперативной памяти DDR3L RZX с Aliexpress

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

Chibbis — тестируем сервис доставки еды

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

Взгляните на Вселенную глазами Chandra: таймлапс-видео взрывающихся звезд

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

Тонировка автомобильных стёкол: стандарты, рекомендации и ответственность

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

Как правильно поливать редис, чтобы корнеплоды были крупными и без лишней ботвы

Начало весны — время, когда каждый огородник мечтает о своем первом урожае. Редис — одна из самых быстрорастущих культур, способная радовать хрустящими и сочными корнеплодами...

Как беговая дорожка прошла путь от «орудия пыток» до современного тренажёра

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