Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
litovets
7 лет назад

Обучение разработке на Unity3D. Написание небольшого шутера. Разбираемся с террейном.

Содержание всех постов:


Итак, в прошлой статье мы установили Unity Editor и разобрали в кратце для чего предназначены разные окна. Дальнейшее обучение будет основываться на практике, чтобы небыло так скучно.

Начнем пожалуй с написания небольшого, очень простого шутера. Заодно разберем как создаются локации встроенными средствами Юнити, а так же механику выстрела пули, как хотел @tristamoff в самой первой статье.

Для начала нам надо импортировать в наш проект уже готовый пак ассетов, который даст нам быстрый старт. Для тех, кто пропустил при установке Standard Assets, нужно их установить. Для этого запускаем опять скачанный в прошлый раз установщик (UnityDownloadAssistant-2017.2.0f3.exe) и выбираем там только Standard Assets:

Игнорируем сообщение, что нам нужно еще MonoDevelop или Visual Studio и дожидаемся загрузки. Теперь можно запустить Unity Editor и импортировать готовый пак с разными текстурами, которые будут нам нужны для рисования на террейне. Для этого жмем Assets -> Import Package -> Environment:

После появления окна со списком импортируемых файлов, жмем Import и дожидаемся окончания процесса.
После этого мы увидим, что у нас в проекте появилась папка Standard Assets с кучей файликов. Так как мне не очень нравиться стандартный вид окна Project, мы переключимся на вид, где сразу же видно все файлы. Для этого надо кликнуть правой кнопкой мыши по табу Project и выбрать One Column Layout:

Как по мне, так намного удобнее найти то, что необходимо.

Пусть пока все эти файлики подождут своей очереди, а мы пока создадим какую-то локацию небольшую. Это можно сделать разными способами - можно импортировать уже готовую из магазина ассетов (я покажу как это делать позже), можно смоделировать ее в 3D редакторе и импортировать, а можно использовать Unity Terrain.
Мы будем использовать Unity Terrain. Он конечно тормознутый чуток, но зато можно по быстрому сварганить локацию. Для его использования нам нужно добавить его на сцену. Для этого выбираем GameObject -> 3D Object -> Terrain. После этого на сцене появиться объект с названием Terrain. Если мы его выберем, то в окне Inspector сможем увидеть его свойства:

Эти свойства нам и понадобятся для редактирования этого террейна. Как видно на изображении, там есть несколько кнопок:

Слева направо:

  1. Для создания высот или углублений в террейне.
  2. Для установки высоты террейна.
  3. Для сглаживания высот и углублений террейна.
  4. Для установки и смешивания текстур террейна.
  5. Для расстановки деревьев
  6. Для расстановки травы, цетов и других небольших объектов
  7. Для настройки разных свойств террейна

Помните мы импортировали пак Environment? Вот сейчас он нам пригодится. Для начала давайте выберем главную текстуру для террейна. Для этого жмем на кнопочку с изображением кисточки (Для установки и смешивания текстур террейна). У нас откроются разные свойства: разный тип кисточек, размер кисточки, прозрачность кисточки и сила кисточки. С этими настройками вы поэкспериментируете сами, а мы сейчас выберем текстуру. Для этого нажмите на кнопку Edit Textures... и потом Add Texture. У вас откроется еще одно окошко, где вы сможете выбрать текстуры. Выглядит оно вот так:

Нам надо нажать на кнопочку Select там, где надо выбрать Albedo текстуру. У нас откроется окно со всеми текстурами, которые есть в проекте. Мы выберем GrassRockyAlbedo, как на скриншоте ниже:

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

Давайте добавим еще парочку текстур, чтобы было из чего выбирать. Проделываем предыдущие шаги для добавления текстур GrassHillAlbedo и SandAlbedo.
Теперь мы можем выбирать между тремя текстурами (на самом деле двумя, так как первая текстура выступает основной) для смешивания. Выбираем желаемую текстуру и пробуем рисовать по террейну. В итоге мы можем делать что-то такое:

Давайте теперь наставим деревьев. Для этого надо проделать похожие манипуляции, только для деревьев. Выбираем иконку с деревом и там жмем Edit Trees... Откроется окно для выбора префаба дерева:

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

Когда добавите все деревья, свойства в инспекторе будут выглядеть примерно так:

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

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

Как вы можете заметить в названии окна Unity Editor, в данный момент наша сцена называется Untitled. Это значит, что она не сохранена.

Чтобы не потерять все ваши труды, надо сохранить сцену. Для этого жмем Ctrl+S и у нас откроется диалог, где мы может дать название нашей сцене и выбрать место, куда ее сохранить. Я рекомендую создать папку Scenes и в ней уже хранить все сцены:

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

Всем пока, всем удачи!

280
6.761 GOLOS
На Golos с September 2017
Комментарии (7)
Сортировать по:
Сначала старые