Unity — это многоплатформенный инструмент для разработки игр, разработанный с самого начала для упрощения процесса создания, который, как оказалось, содержит самый мощный 3D-движок на миллион долларов. В этом уроке мы увидим, как начать работу с Unity, от загрузки программного обеспечения и ознакомления с IDE до создания нашего первого проекта с нашими собственными ландшафтами и скайбоксами.
Окончательный результат предварительного просмотра
Нажмите на изображение, чтобы загрузить демонстрацию того, что вы будете создавать, затем используйте мышь и WASD (или клавиши со стрелками), чтобы перемещаться по местности.
Добро пожаловать в мир Unity3D!
Unity позволяет вам впечатлять и вдохновлять ваших игроков всем: от потрясающих визуальных эффектов до окружающих звуковых ландшафтов и вызывать волнение у ваших разработчиков с помощью публикации одним щелчком мыши на ряде платформ, охватывающих Интернет, настольные компьютеры, мобильные устройства и консоли.
В последнем крупном выпуске Unity 3.0 весь бэкэнд рендеринга был полностью переписан, что привело к значительным улучшениям производительности наряду с огромным количеством невероятных эффектов постобработки и интеграцией лучшего в мире Lightmapper, Beast. PhysX, потрясающий физический движок от NVIDIA, также полностью интегрирован, обеспечивая сложную физику с минимальными затратами с вашей стороны.
MonoDevelop, среда программирования для Unity — да, боюсь, программирование все еще существует — обеспечивает полное автозаполнение, а также полноценный отладчик, позволяющий приостановить игру и погрузиться, чтобы проверить свою логику и переменные. Unity поддерживает Javascript, C # и Boo (Python) в качестве языков программирования и может взаимодействовать между всеми тремя в рамках одного проекта, позволяя разработчикам использовать все доступные библиотеки с открытым исходным кодом независимо от того, на каком языке они фактически разрабатываются.
Вы быстро поймете, что большая часть работы в Unity связана с вашими активами, то есть с вашими моделями, текстурами, аудио и так далее. Наряду с несколькими разумными источниками для ресурсов в сети, Unity 3.1 представила Asset Store, встроенный универсальный магазин как бесплатных, так и платных за активы / расширения, некоторые из которых мы будем использовать позже в этом разделе. руководство.
Управление активами в Unity очень простое: если вы вносите внешние изменения в свой Aaset в Maya или Photoshop, например, просто нажмите «Сохранить», и Unity повторно импортирует ресурс! Вы также можете найти стартовые наборы и готовые игровые ресурсы в ActiveDen всего за 4 доллара!
Надеюсь, вышесказанное подогревало ваш аппетит к этому невероятному приложению, но вы сидите там и ждете, пока я не поразит вас огромным ценником, чтобы вас расстроить? Неправильно! «Инди» версия единства на самом деле бесплатно! Да, это не опечатка, не 30-дневная пробная версия, просто БЕСПЛАТНО! Так чего же вы ждете, зайдите на страницу загрузки Unity3D и начните скачивать Unity сейчас !!
(Существует, конечно, более функциональная «Pro» версия, которая не является бесплатной ; однако для этой серии руководств БЕСПЛАТНАЯ / «инди» версия — это все, что вам нужно.)
Введение в Unity IDE
Unity по умолчанию будет установлен с замечательным демонстрационным проектом под названием «Bootcamp», который мы сейчас рассмотрим, а также исследуем интерфейс Unity.
Примечание редактора: Поскольку этот учебник был написан, Bootcamp был заменен AngryBoots в качестве проекта по умолчанию. Вы все еще можете загрузить Bootcamp из Asset Store .
После того, как вы загрузили и установили Unity, продолжите и запустите его, и если проект «Bootcamp» не загружается при запуске, выберите «Файл -> Открыть проект» и перейдите к недавно установленной папке «Bootcamp Demo». Для пользователей Windows это должно быть установлено где-то как «C: \ Users \ Public \ Documents \ Unity Projects», а для тех, кто в OSX, должно быть где-то похоже на «Macintosh HD / Users / Shared / Unity». Если он был установлен в другом месте, быстрый поиск «Bootcamp Demo» должен найти его для вас.
Как только проект импортирован, что может занять некоторое время для сложных проектов, откройте сцену «bootcamp» в окне Project, как показано ниже.
Надеюсь, теперь вы смотрите так же, как показано ниже, так что добро пожаловать в Unity и Bootcamp Demo!
Первое, что вы, вероятно, захотите сделать, — это нажать большую блестящую кнопку Play, расположенную в центре панели инструментов в верхней части экрана. Чтобы избавиться от этого стремления в вашей системе, нажмите кнопку, чтобы поиграть в игру, и с благоговением бегайте по потрясающей графике, продемонстрированной в этом проекте.
Нажав клавишу ESC, вы потенциально можете сделать сцену еще более потрясающей, увеличив уровни качества, если они не будут по умолчанию заполнены. Как только вы закончите ходить по звукам ‘ooo’ и ‘awww’, нажмите кнопку Play еще раз, чтобы прекратить играть в игру.
Итак, интерфейс Unity состоит из подвижных / закрепляемых окон или видов, которые можно переставить в соответствии с вашим рабочим процессом. Вы только что испытали любимое всеми, «Game View», где вы можете играть и отлаживать свои игры. У вас может быть столько окон или видов, сколько вам нужно, и есть несколько встроенных макетов. Выше представлен «широкий» макет по умолчанию, а также возможность создавать свои собственные.
Теперь давайте погрузимся и рассмотрим каждое из этих окон и некоторые их функции. Я настоятельно рекомендую вам продолжать переключаться между учебником и Unity во время чтения и исследовать каждое окно, чтобы помочь вам быстрее ознакомиться с ними. Не беспокойтесь о том, чтобы записывать ярлыки; В конце этого раздела есть шпаргалка, готовая и ожидающая вашего нового чтения перед сном.
Панель инструментов
Не совсем окно как таковое, но тем не менее очень важная часть интерфейса Unity. «Панель инструментов» расположена в верхней части среды IDE и содержит несколько ключевых инструментов для управления окнами «Сцена» и «Игра», а также макета интерфейса. Он также содержит очень важную кнопку «Play».
Панель инструментов — Инструменты преобразования
Первый компонент на панели инструментов, расположенный в верхнем левом углу, содержит четыре «инструмента трансформации», которые вы теперь должны записать в своей памяти.
Слева направо это:
Ручной инструмент (сочетание клавиш: Q)
По умолчанию Ручной инструмент позволит вам щелкать и перетаскивать, чтобы перемещаться по сцене. Удержание Shift увеличит скорость панорамирования; Использование комбинаций Alt, Ctrl, LMB, MMB и RMB позволит вам панорамировать, вращать и масштабировать сцену. Не волнуйтесь, мы объясним это чуть позже.
Инструмент «Перевести» (сочетание клавиш: W)
Инструмент «Перевести» предоставляет возможность выбрать GameObjects — подробнее об этом позже — в вашей сцене (или иерархии), а затем использовать маркеры оси со стрелкой для перемещения этого объекта по сцене, щелкая и перетаскивая каждый маркер оси. Вы также можете свободно перемещать выбранные объекты GameObject по всем трем осям, щелкая и перетаскивая маленький квадрат, где встречаются ручки оси.
Инструмент «Поворот» (сочетание клавиш: E)
Инструмент «Повернуть» предоставляет маркеры осей, которые зацикливаются и окружают выбранный объект GameObject, который при нажатии и перетаскивании позволяет вращать его вокруг его центральной или поворотной точки.
Инструмент «Масштаб» (сочетание клавиш: R)
Очень похоже на инструмент «Перевести», инструмент «Масштаб» предоставляет маркеры осей конца блока, которые при нажатии и перетаскивании позволяют масштабировать выбранный объект GameObject по этой конкретной оси. Чтобы одновременно масштабировать все 3 оси, просто нажмите и перетащите серый куб, где встречаются все 3 ручки оси.
Панель инструментов — Transform Gizmo
Следующим компонентом панели инструментов, выделенным ниже, является «Transform Gizmo», который определяет, поворачивается ли выбранный объект или масштабируется относительно его центральной точки или его точки поворота, а также используется ли локальное или глобальное вращение при масштабировании и повороте. выбранный GameObject.
Панель инструментов — Кнопки управления
Компонент в центре панели инструментов управляет предварительным просмотром вашей игры в окне игры. Нажав кнопку «Play», вы начнете играть в свою игру, нажатие кнопки «Pause» не удивительно приостановит вашу игру, а третья кнопка позволит вам пройти игру, когда она приостановлена.
Панель инструментов — Слои и макет
Раскрывающееся меню «Слои», расположенное в правой части экрана на панели инструментов, позволяет включать и выключать видимость отдельных слоев, а в раскрывающемся меню «Макет» содержатся параметры, касающиеся расположения окон или видов. на экране. Если вы создаете пользовательский макет и особенно его любите, вы можете использовать это меню для сохранения макета, чтобы вам не приходилось создавать его каждый раз при перезапуске Unity.
Так что в значительной степени это для панели инструментов, довольно прямо вперед, верно?
Вид сцены
В режиме «Сцена» вы будете тратить много времени на создание и редактирование компонентов своих игр в Unity. Полностью визуализированный трехмерный «предварительный просмотр» открытой в данный момент сцены отображается внутри окна, где вы можете добавлять, редактировать и удалять объекты GameObject, используя его Ортографический и Перспективный виды.
Для тех, кто приходит из фона Flash, вы можете сравнить это со сценой . Все объекты в этом окне считаются активными объектами GameObject и перечислены в Иерархии, которую мы вскоре рассмотрим.
Навигация по сцене
Существует несколько методов навигации по представлению «Сцена», некоторые из которых более подходят для определенных задач, чем другие. Я предлагаю изучить их все, чтобы вы могли быстро и эффективно перемещаться по сцене независимо от того, что вы делаете.
Одной из наиболее полезных функций является возможность сосредоточиться на любом GameObject, просто выбрав его в иерархии и нажав клавишу F. Вы также можете дважды щелкнуть в Иерархии для представления Сцены, чтобы сфокусироваться на выбранном GameObject. Попробуйте оба этих метода, чтобы сосредоточиться на Soldier_Locomotion, как описано выше.
Вы также можете использовать панель поиска для поиска определенных объектов GameObject, которые могут быть полезны и намного быстрее, когда у вас есть полная сцена. Просто введите имя GameObject в строке поиска сцены или иерархии, которая находится в верхнем правом углу окна, и вся ваша сцена будет затенена, за исключением GameObject (s) с искомым именем, как показано ниже.
Иерархия также вернет все те GameObject, которые содержат строку поиска. Попробуйте поискать «солдата» в представлениях «Сцена» и «Иерархия», и вы должны получить что-то похожее на нижеследующее.
Для тех, кто знаком с WASD, вам понравится этот. Удерживайте RMB (правая кнопка мыши) и используйте WASD и мышь, чтобы пролететь сквозь сцену. Для тех, кто царапает голову в WASD — W — вперед, A — слева, S — назад и D — вправо. Если вы хотите летать быстрее, удерживайте Shift.
Существует довольно много комбинаций клавиатуры и мыши для навигации по представлению «Сцена» в Unity. Ниже приведены данные для трехкнопочной мыши, которые можно использовать при выборе любого инструмента «Преобразование». Это очень важно для быстрого рабочего процесса, поэтому практикуйте их во сне.
Чтобы повернуть вокруг текущей точки поворота в сцене: Alt + ЛКМ
Чтобы вращаться вокруг места внутри сцены: Ctrl + RMB
Для перемещения по сцене: Ctrl + Alt + LMB / Alt + MMB
Для увеличения / уменьшения масштаба сцены: Alt + RMB / Mouse Wheel
Со всем вышеизложенным, удерживайте Shift (если можете), чтобы ускорить их. Если вы используете мышь с одной или двумя кнопками, я бы порекомендовал проверить навигационную документацию сцены Unity . Я также рекомендовал бы получить правильную мышь.
Вид сцены Unity также имеет «Gizmo» в верхнем правом углу, который показывает текущий угол обзора и позволяет быстро перемещаться к видам TOP (Y) / SIDE (X) / FRONT (Z) и PERSPECTIVE .
Потратьте несколько минут на навигацию по сцене, используя эти методы; чем быстрее ваши пальцы выучат их, тем лучше.
Перевод / вращение и масштабирование игровых объектов в режиме сцены
Создавая свои игры, вы, вероятно, разместите множество различных объектов на вашей сцене. Для этого проще всего использовать Transform Tools на панели инструментов, чтобы переводить, вращать и масштабировать отдельные объекты GameObject с помощью появляющихся маркеров оси, как показано ниже.
Вы также можете ввести значения непосредственно в Transform Component, показанный в Инспекторе, как показано выше.
Панель управления видом сцены
Панель управления в верхней части представления «Сцена» предоставляет различные режимы просмотра, например «Текстурированный», «Каркас» и «Текстурированный каркас». Он также предоставляет переключатели для «внутриигрового» освещения, аудио и таких элементов, как Skybox, в виде сцены. Например, на изображении выше было включено освещение и элементы, а звук выключен.
Итак, вот и все для просмотра сцены, давайте теперь посмотрим на Иерархию.
иерархия
Окно Hierarchy предоставляет список всех GameObjects в представлении Scene, т.е. каждый объект в вашей текущей сцене. Когда GameObject выбран в Иерархии, он также выбирается в представлении Сцены и наоборот. Вы можете добавить новые GameObjects в Иерархию через меню «Создать», показанное ниже.
Объекты, у которых есть дочерние элементы, то есть родительские объекты, имеют серый треугольник слева от своего имени, который переключает отображение их дочерних элементов. Вы можете переименовать GameObject, выбрав его в Иерархии и нажав F2 или используя инспектор, описанный ниже.
Те, что показаны синим текстом в Иерархии, представляют собой префабы, которые будут объяснены в ближайшее время, остальные — просто GameObjects, о которых я также расскажу чуть позже.
Инспектор
Инспектор отображает информацию о выбранном GameObject, включая все его прикрепленные компоненты и их настраиваемые свойства. Свойства можно назначать или изменять, перетаскивая GameObjects или Prefabs из представлений Hierarchy или Project, или просто вводя значения, флажки и т. Д.
В самом верху Инспектора отображается имя GameObject и, слева, включен ли он. Справа вы можете определить, является ли GameObject статичным или нет для освещения. Под именем GameObject находится его тег, если вы его назначили, и слой, частью которого он является, если вы его назначили.
Компоненты GameObject перечислены ниже и могут быть сложены через треугольник слева от их имени. Флажок слева от имени определяет, включен компонент или нет, что очень полезно при отладке. Справа от названия находится ссылка на Справочник по компонентам, а также меню для сброса / удаления Компонента. Вы также можете щелкнуть правой кнопкой мыши имя компонента, чтобы удалить его.
Окно проекта
Каждый проект Unity имеет каталог «Ресурсы» для всех моделей, текстур, скриптов, префабов и т. Д., Используемых или доступных для проекта. Вы можете перемещаться и просматривать этот каталог в окне проекта Unity, а также создавать в нем новые подкаталоги и активы (например, скрипты), щелкнув правой кнопкой мыши или выбрав «Создать», как показано ниже. Активы также можно искать с помощью поля поиска, расположенного в верхнем правом углу окна. Если вы работаете с Flash, вы можете сравнить это с библиотекой, где хранятся все ресурсы вашего проекта.
Чтобы добавить ресурсы, такие как модели и текстуры, в ваш проект, в верхнем меню выберите « Активы» -> «Импортировать новый актив» или просто перетащите их из файловой системы вашей ОС в представление проекта, и ресурс сразу же станет доступен для использования в вашем проекте. Если активы изменены — например, вы редактируете текстуру в Photoshop — когда вы сохраняете и возвращаетесь в Unity, он автоматически обновляет ресурс для вас. Потрясающие? Да!
Вы НИКОГДА не должны перемещать ресурсы проекта, используя файловую систему вашей ОС, поскольку это нарушит любые метаданные, связанные с активом, то есть текстуры и материалы, примененные к модели, сценарии, примененные к GameObject. Вы должны ВСЕГДА использовать представление проекта для организации своих активов.
Если по какой-либо причине вы хотите найти ресурс в Unity в вашей файловой системе, например, для редактирования в Photoshop, вы можете щелкнуть правой кнопкой мыши и выбрать «Показать в проводнике».
Просмотр игры
Вид игры, вероятно, станет вашей любимой частью интерфейса Unity, поскольку именно там вы играете и тестируете свою игру, как если бы она была опубликована.
Когда вы запустите свою игру, используя кнопку «Воспроизвести» на панели инструментов, обсуждавшейся ранее, вы заметите, что изменения в представлении игры отражаются как в виде сцены, так и в иерархии и в инспекторе, и что они все еще доступны для редактирования. Это дает вам огромное преимущество в том, что вы можете редактировать и настраивать вашу игру, чтобы получить наилучший результат во время ее работы !! Однако, как только вы прекратите запуск игры, все изменения будут потеряны.
Давайте повторим это:
ВСЕ изменения, сделанные во время игры, БУДУТ ПОТЕРЯТЬ, как только игра остановится.
Мы все становимся жертвами этого; учись быстро или рискуй быстро лысеть.
Панель управления видом игры
Панель управления в верхней части представления «Игра» позволяет вам устанавливать соотношение сторон для вашей игры в представлении «Игра», переключать Gizmos, переключать статистику и переключать режим просмотра «Игра» в полноэкранный режим при нажатии кнопки «Играть».
Шпаргалка
Чтобы максимально эффективно работать в Unity, вам необходимо зафиксировать все сочетания клавиш в памяти. Чтобы помочь вам быстрее освоить их, я разработал Шпаргалку Unity, которая включает все ярлыки, описанные выше, все на одной странице — Загрузка Шпаргалки Unity .
Это был довольно быстрый обзор основных и самых популярных окон / представлений в Unity IDE. Есть так много других окон, через которые мы могли бы пройти, но вам наверняка не терпится начать! Давайте просто объясним несколько жаргонных слов в Unity, а затем мы начнем работать.
GameObjects, Компоненты и сборные
Возможно, вы заметили эти три термина в приведенных выше разделах. GameObjects , Components & Prefabs являются ключевыми понятиями для создания игр в Unity, и очень важно, чтобы вы понимали, что они из себя представляют и как вы можете их использовать.
GameObjects
Каждый объект в вашей игре является GameObject . Это контейнеры, которые содержат компоненты для определения их поведения и внешнего вида. Каждый GameObject по умолчанию имеет компонент Transform, который определяет его местоположение, масштаб и вращение в игре, и многое другое можно добавлять, редактировать и удалять с помощью инспектора. В Иерархии GameObjects являются белыми.
Компоненты
Компоненты определяют поведение и внешний вид объектов GameObject, к которым они прикреплены, и являются реальной работой любой игры в Unity. Сценарии, которые вы разрабатываете, могут быть присоединены к GameObjects точно так же, как Компоненты, потому что это то, чем они являются: Компоненты. Это компоненты, которые вы разработали. Чтобы добавить Компоненты в выбранный GameObject, используйте меню «Компоненты».
Prefabs
Для тех, кто работал с Flash, Prefabs очень похожи на концепцию MovieClips в библиотеке. Если вы никогда не работали с Adobe Flash или не понимаете концепцию MovieClips, игнорируйте это последнее предложение.
Префабы — это повторно используемые GameObjects, хранящиеся в окне Project вместе со всеми другими вашими активами. Вы можете создать столько экземпляров Prefab в вашей игре, сколько потребуется, и любые изменения оригинала будут отражены в каждом созданном вами экземпляре. Это называется Наследование. Вы также можете переопределить значения экземпляра по умолчанию, позволяя им выглядеть более уникально, а не как клоны оригинального Prefab.
Когда вы впервые создаете новый префаб с помощью окна проекта «Создать -> префаб», это просто пустой контейнер без GameObject, и поэтому его нельзя добавить в иерархию или сцену. Чтобы создать используемый Префаб, вы должны выбрать GameObject в Иерархии и перетащить его на вновь созданный Префаб. После этого оригинальный GameObject теперь является экземпляром Prefab, и вы можете добавить в свою игру столько экземпляров Prefab, сколько пожелаете. В Иерархии префабы синего цвета.
Хороший сценарий, который поможет вам разобраться с этой концепцией, — представить, что вы создаете игру для гоночных автомобилей с четырьмя игроками. Вы хотите, чтобы у каждого игрока была одна и та же машина, но они были разных цветов. Решение? Prefabs. Вы создадите GameObject, который будет вашим автомобилем, и добавите компоненты, обеспечивающие поведение автомобиля. Этот GameObject будет затем преобразован в Prefab и четыре экземпляра, созданные в вашей сцене. Затем вы должны отредактировать каждый экземпляр, чтобы применить другой цвет. Легко, правда?
Хорошо, достаточно теории; Давайте начнем…
Ваш первый проект
Теперь, когда вы изучили демоверсию Bootcamp и поработали над интерфейсом Unity, пришло время создать свой первый проект! В верхнем меню выберите Файл -> Новый проект .
Сначала выберите каталог, в котором вы хотите сохранить свой проект, а затем убедитесь, что оба пакета Character Controller и Skyboxes проверены на импорт в проект. Наконец, выберите Создать.
Как только Unity откроет ваш новый проект, вы должны сначала сохранить вашу сцену. Unity Project может иметь столько сцен, сколько вы пожелаете, и сцены можно загружать и выгружать во время выполнения. Сцены могут быть настолько сложными или простыми, насколько вы пожелаете, и могут включать в себя целые уровни игры или только крошечные разделы или даже меню.
По мере роста вашего проекта важно сохранять его организованным, поэтому сначала создайте новую папку в окне «Проект» и переименуйте ее в «Сцены», используя F2. Затем выберите « Файл» -> «Сохранить сцену» или «Ctrl / Command + S» и сохраните сцену в папке «Сцены» как «игра».
Возможно, вы заметили другую папку в окне проекта, которая называется «Стандартные активы». Откройте его, и вы найдете пакеты, импортированные при создании проекта, которые содержат префабы, скрипты и шейдеры, которые мы будем использовать при создании нашей первой сцены.
Шаг 1: Разработка ландшафта
Unity’s Terrain Editor имеет множество опций, поэтому создание широких ландшафтов и гористой местности становится быстрым и легким.
Создайте новую папку и переименуйте ее в «Terrain» и в верхнем меню выберите Terrain -> Create Terrain. В окне «Project» переименуйте ландшафт «New Terrain» в «Terrain» и перетащите его в папку «Terrain», чтобы проект был аккуратно организован.
Теперь нам нужно установить разрешение нашей местности, используя верхнее меню «Terrain -> Set Resolution».
Вы должны помнить, чтобы делать это, ДО того, как вы разработаете топологию местности, так как изменение ее позже приведет к сбросу вашей местности. Сопоставьте свои настройки с приведенными ниже, а затем продолжайте читать, чтобы узнать, что они на самом деле означают.
Итак, первые три должны быть довольно очевидными и это ширина, высота и длина местности (в метрах). Если вы попытаетесь построить ландшафт выше этой высоты, он просто выровняется.
ResolutionMap — это разрешение текстуры, которую Unity сохраняет для представления ландшафта. Это должно быть степень два плюс один, например, 513 или 1025, в зависимости от способа хранения. Разрешение деталей определяет, насколько точно вы можете размещать такие детали, как растения, камни и т. Д. На местности. Чем ниже это число, тем выше производительность.
Разрешение управления текстурой — это разрешение текстур, нарисованных на местности, и, следовательно, контролирует детализацию этих текстур. Для повышения производительности мы оставим это значение равным 512. Базовое разрешение текстуры — это разрешение составной текстуры, отображаемой вместо карты сплата на определенных расстояниях (билбординг) для повышения производительности.
Если вы не видите свою местность после того, как создали ее, используйте одну из техник, упомянутых ранее, чтобы сосредоточиться на ней. Возможно, вы заметили, что при выбранном ландшафте окно «Инспектор» теперь предоставляет несколько вариантов редактирования ландшафта. Давайте теперь посмотрим на них.
Инструмент Поднять / Опустить (Сочетание клавиш: Shift + Q)
Чтобы построить и развить свою местность, выберите инструмент Поднять / Опустить, обведенный ниже, и перетащите его по местности, чтобы начать ее разработку. Вы можете выбирать из ряда кистей, размеров кисти, непрозрачности (мягкости), одновременно поднимая рельеф. Если вы хотите опустить местность, просто удерживайте клавишу Shift, пока вы нажимаете и перетаскиваете.
Поиграйте с разными кистями и растушевками, чтобы создать гористую местность, подобную той, что изображена ниже, не беспокойтесь, если она не совсем одинакова, не стесняйтесь использовать вашу художественную лицензию и сходите с ума.
Просто имейте в виду, что вы не хотите делать ландшафт слишком крутым, так как ваш игрок будет изо всех сил пытаться ориентироваться на нем, если только вы целенаправленно не делаете участок своей местности, недоступный для игрока.
Я начал с большой кисти с мягкой непрозрачностью, чтобы создать гладкие холмистые области, а затем уменьшил размер кисти и увеличил непрозрачность, чтобы усилить определенные области.
Инструмент «Высота рисования» (сочетание клавиш: Shift + W)
Теперь выберите инструмент Paint Height Tool, один справа от инструмента «Поднять / опустить». Это идентично предыдущему инструменту, за исключением того, что вы указываете максимальную высоту, на которой вы можете поднять ландшафт, при превышении которого ландшафт выравнивается. Вы также можете Shift + клик, чтобы установить высоту той местности, где в данный момент находится ваша мышь.
Вы можете видеть, где я использовал этот инструмент, чтобы прорезать пути в и через «Горы» выше. Используйте его для аналогичного эффекта или для создания плато где-нибудь на вашей местности. Затем я также использовал инструмент Поднять / Опустить, чтобы создать более заметные пики для гор.
Инструмент «Гладкая высота» (сочетание клавиш: Shift + E)
Затем выберите инструмент Smooth Height, следующий за ним из инструмента «Paint Height». Это сглаживает вашу местность, делая более гладкие поверхности для персонажей / транспортных средств для навигации. Используйте инструмент «Плавная высота» на своей местности, чтобы сгладить неровные области, если позже вы найдете области, к которым у вас нет доступа, вы всегда можете вернуться и использовать этот инструмент, чтобы сгладить эти области немного больше.
Так что теперь у вас должна быть прекрасная топология для вашей местности, хотя она выглядит немного скучно …
Шаг 2: Текстурирование ландшафта
Теперь мы разработали топологию для нашей местности, которая позволяет искать некоторые текстуры и детали, чтобы оживить ее. Чтобы быстро найти некоторые активы, мы будем использовать Asset Store, функцию, недавно представленную в Unity 3.1.
Для запуска Asset Store выберите «Окно -> Asset Store» в верхнем меню. Для использования Asset Store у вас должна быть учетная запись, которая должна быть быстрой (бесплатной) и активировать вашу учетную запись, нажав на ссылку в электронном письме, которое они вам отправляют. Как только ваша учетная запись активирована, нажмите на ссылку «Открыть магазин активов», расположенную на этой странице, чтобы открыть магазин активов в БЕСПЛАТНОМ пакете Terrain Assets от Unity.
Нажмите «Загрузить», чтобы начать загрузку пакета (~ 35 МБ).
Когда загрузка будет завершена, Unity отобразит содержимое пакета, как показано ниже, что позволит вам выбрать только те активы, которые вы хотите импортировать. Просто нажмите «Импорт», чтобы у нас было все это доступно для нас.
В вашем окне Project вы теперь увидите новую папку ‘Terrain Assets’, в которой представлено довольно много текстур и моделей, которые мы можем использовать, потрясающе! Давайте покрасим!
Инструмент рисования текстур (сочетание клавиш: Shift + R)
Снова выберите ваш ландшафт и выберите инструмент Paint Texture Tool, затем следующий инструмент, и под кистями справа выберите Edit Textures -> Add Texture . Нажмите на маленький кружок рядом с надписью «Нет (текстура 2D)», чтобы просмотреть и найти доступные текстуры. На данный момент выберите «Лесной этаж» и нажмите «Применить»
Вау! Там зеленый мох и грязь везде! Что сейчас произошло?!
Так как это первая текстура, примененная к этой местности, текстурируется вся местность, так как это текстура базового слоя для местности. Теперь вы можете накладывать больше текстур, добавляя их и рисуя их по поверхности с помощью мыши, используя кисти разных размеров и непрозрачности. Если вы хотите изменить текстуру, вы можете сделать это, просто дважды щелкнув по ней. Чтобы удалить текстуру, просто выберите ее и нажмите « Редактировать текстуры -> Удалить текстуру». Текстура, которая в настоящее время выбрана, будет той, которая будет нарисована.
Идите вперед и добавьте столько текстур, сколько пожелаете, экспериментируя с различными настройками кисти и непрозрачности, чтобы ваша сцена выглядела так, как вам хочется. Я использовал следующие текстуры, применив Лесное дно в качестве базовой текстуры, затем Клифф (Травянистый), затем Клифф (Слоистый камень) и, наконец, Снег для пиков гор.
Итак, наша местность сейчас выглядит довольно хорошо, но это может быть сделано с некоторыми подробностями …
Шаг 3: Детализация местности
Unity имеет два встроенных инструмента для добавления деталей в ландшафт; давайте теперь посмотрим на них.
Инструмент «Поместить деревья» (сочетание клавиш: Shift + T)
Инструмент Места Деревьев, следующий инструмент наряду с Инструментом Рисования, неудивительно, что связан с размещением деревьев, кто бы мог догадаться! Инструмент работает очень похоже на инструмент «Рисовать текстуру», вместо выбора текстуры вы выбираете модель дерева с помощью меню «Редактировать деревья», а затем рисуете ее на местности.
Вы заметите, что на этот раз есть еще несколько настроек, таких как «Плотность дерева», которая контролирует процент деревьев в пределах области кисти, и «Изменение высоты дерева / ширины дерева», которые сделают ваши деревья немного менее идентичными путем случайного выбора ширина / высота деревьев вы размещаете.
Также есть опция для массового размещения деревьев в верхнем меню, Terrain -> Mass Place Trees , где вы можете указать число, и Unity будет размещать столько деревьев над вашей местностью, выбирая случайным образом из тех, которые вы добавили в Place Trees Инструмент.
Я использовал дерево ольхи на своей карте и нарисовал его кистью среднего размера и высокой плотности. Я только щелкнул один раз в любом конце моего уровня, чтобы произвести выше.
Инструмент «Поместить растения» (сочетание клавиш: Shift + Y)
Вы также можете разместить более мелкие детали с помощью инструмента «Поместить растения» таким же образом, как и инструмент «Разместить деревья».
Я использовал «Добавить текстуру травы», выбрал «Папоротник» и нарисовал его вокруг центра моей карты, используя довольно маленький размер кисти с минимальными штрихами, чтобы получить следующее.
При этом, однако, следует помнить, что при рисовании на расстоянии детали НЕ появятся, и многие детали будут влиять на производительность. Если это не рисование, увеличьте масштаб.
Самая последняя кнопка в компоненте Terrain в Инспекторе позволяет вам контролировать такие факторы, как расстояние от деталей камеры и расстояние до билборда (процесс замены сеток изображениями). Вы также можете определить скорость ветра в пределах сцены и степень изгиба травы на ветру. Вы можете установить, насколько деревья изгибаются на ветру, когда вы добавляете или редактируете дерево, используя инструмент Place Trees.
Надеюсь, ваш ландшафт теперь выглядит довольно хорошо с некоторыми деревьями и деталями, поэтому давайте добавим игрока, чтобы мы могли изучить то, что мы только что сделали.
Шаг 4: Сборник контроллера от первого лица
В окне вашего проекта откройте Стандартные активы, а затем Контроллеры персонажей. Перетащите контроллер «от первого лица» в представление «Сцена», с которого вы хотели бы начать играть, убедившись, что он расположен над ландшафтом с помощью инструмента «Преобразование». На панели инструментов нажмите кнопку воспроизведения.
Надеемся, что теперь вы сможете бегать по своей местности, но в зависимости от того, было ли внутри игрового освещения включена подсветка, теперь она может выглядеть немного темнее, чем ожидалось, как показано ниже.
Если вы посмотрите на самую нижнюю часть экрана, вы также увидите предупреждающее сообщение. Остановите игру, нажав кнопку «Play» еще раз, а затем щелкните сообщение об ошибке, чтобы открыть консоль.
Так что это за предупреждение? Предупреждение в том, что у нас «2 аудио слушателя на сцене». Подождите минуту, мы не добавили аудио слушателей, не так ли? На самом деле, уже было одно, и мы просто невольно добавили другое, поэтому давайте подробнее рассмотрим то, что на самом деле в нашей сцене.
Шаг 5: Добавили ли мы еще одного слушателя аудио?
В Иерархии выберите Камеру, а затем осмотрите Инспектора. Заметьте что-нибудь?
Посмотрите на его компоненты … один из них просто Аудио Слушатель!
Аудио слушатель получает входной сигнал и аудиоисточник в сцене и воспроизводит его пользователю, поэтому имеет смысл подключить камеру. Вы заметите, что у него вообще нет свойств, его просто нужно добавить к работе, а у камеры по умолчанию есть один.
Таким образом, мы предупреждаем, что у нас есть два Аудио Слушателя внутри сцены — где другой, что мы добавили в сцену? Давайте подробнее рассмотрим контроллер от первого лица (FPC).
На первый взгляд, выбирая FPC и заглядывая в Инспектор, он, кажется, не имеет Аудио Слушателя; однако, поскольку это GameObject, у него могут быть дети, поэтому взгляните.
Конечно, у него двое детей, «Графика» и «Камера». «Графика» — это просто сетка, однако «камера» — это камера с, как вы уже догадались, аудиослушателем. Эта камера в FPC — это реальная камера, через которую проходит наша игра, поэтому мы не хотим начинать удалять с нее компоненты.
Другая камера в сцене, однако, вообще не используется, поэтому давайте просто удалим ее. Нажмите Play еще раз, и у вас больше не должно быть сообщений об ошибках.
Теперь давайте немного украсим нашу сцену.
Шаг 6: Освещение сцены
В Unity есть три разных типа освещения: точечный, точечный и направленный.
Чтобы осветить нашу карту, мы будем использовать Направленный источник света, поэтому идем дальше и добавляем один к сцене в верхнем меню, выбрав GameObject -> Создать другое -> Направленный источник света.
Вы можете заметить разницу, как только свет будет добавлен в зависимости от его направления, но переместите его, используя инструменты Transform и Rotation, чтобы правильно осветить вашу сцену. Это может помочь в использовании орфографических видов, в частности, TOP для позиционирования и SIDE для вращения, как показано выше.
Надеюсь, теперь, когда вы играете, сцена освещается немного лучше, чем раньше.
Шаг 7: Добавление бликов
Теперь давайте добавим эффект блика к нашему Направленному свету!
Импортируйте пакет ‘Light Flares’, используя верхнее меню Assets -> Import Package . Пакет находится в каталоге установки Unity.
В Windows это что-то вроде «C: \ Program Files (x86) \ Unity \ Editor \ Standard Packages», а в OSX это что-то вроде «/ Applications / Unity / Standard Packages».
Найдя каталог, выберите пакет Light Flares, и когда в Unity появится диалоговое окно Importing Package, нажмите Import, чтобы импортировать все доступные вспышки в наш проект.
Чтобы применить блик, выберите направленный источник света и убедитесь, что у него есть свойство «Вспышка» в компоненте «Свет».
Найдите в окне «Проект» «Стандартные активы / Вспышки света» и, оставив направленный источник света, перетащите Солнечную вспышку на свойство «Вспышка» в Инспекторе.
Это альтернативный, а иногда и более быстрый способ назначения свойства, чем выбор его из списка, который появится, если щелкнуть кружок рядом со свойством.
Нажмите «Play», и теперь, когда вы смотрите в направлении источника света, должна появиться блик на объективе.
Шаг 8: Добавление Skybox
Надеюсь, ваш уровень выглядит довольно хорошо, за исключением тех случаев, когда вы смотрите на очень скучный синий горизонт. Давайте продолжим и исправим это с помощью скайбокса (серии из шести изображений, нанесенных на куб), чтобы карта выглядела больше, чем без большого количества ненужной обработки.
Чтобы применить Skybox, откройте настройки рендеринга в верхнем меню, выбрав «Правка» -> «Настройки рендеринга». Здесь вы можете редактировать несколько настроек, таких как туман, окружающий свет и материал Skybox.
Пакет Standard Assets, который мы импортировали при создании нашего проекта, содержит несколько скайбоксов, поэтому назначьте один, перетащив его на материал скайбокса. Нажмите «Играть» и наслаждайтесь более вдохновляющим видом.
Если вы выбрали скайбокс с присутствующим солнцем, вам, возможно, придется изменить положение направленного света, чтобы вспышка приблизительно совпадала с солнцем скайбокса.
Если вы хотите изменить скайбокс, просто перетащите другой скайбокс в свойство Материал скайбокса, чтобы перезаписать назначенный в данный момент скайбокс.
Теперь ваша карта должна выглядеть очень хорошо, учитывая, что вы впервые открыли Unity всего пару часов назад!
Шаг 9: Публикация вашей игры
Так что вы можете пойти и показать свою игру маме, давайте опубликуем ее, чтобы мы могли играть в нее вне Unity IDE.
В верхнем меню выберите Файл -> Настройки сборки.
Выберите «Добавить текущий», чтобы добавить текущую сцену в сборку, и выберите «Веб-плеер» в списке «Платформа», чтобы опубликовать его в Интернете.
Наконец, выберите Build And Run и выберите папку для файлов сборки, которые будут экспортированы. Unity теперь будет экспортировать ваши файлы сборки и скоро откроет ваш браузер с вашей игрой во всей красе. Иди и поделись!
Вывод
Я надеюсь, что вам понравилось это знакомство с Unity и вы можете увидеть его потенциал, даже если мы едва поцарапали поверхность.
В будущих уроках мы представим UnityScript, обнаружение столкновений для деревьев и границ уровней, а также отображение света. Мы также создадим некоторые пикапы для нашего плеера, которые можно будет собирать по таймеру с помощью UnityScript.