Unity3D – это очень популярный среди инди-разработчиков игровой движок. Он ценится за удобную в использовании платформу, реалистичную графику и возможность многоплатформенной публикации. Этот урок по Unity будет полезен новичкам в геймдизайне или тем, кто ищет простой способ создать 3D модель города.




Загрузка Unity


На сайте Unity этот продукт представлен в разных тарифных планах. Инди-разработчику для начала прекрасно подойдет бесплатная версия. Нажмите кнопку «Скачать сейчас» и загрузите версию для вашей ОС. Unity доступен для Mac OS и Windows, но обязательно убедитесь, что ваш компьютер соответствует системным требованиям.



Далее необходимо зарегистрироваться. Так вы сохраните историю загрузок из Unity Asset Store. Приложение запустится сразу после скачивания. В зависимости от ОС, установка может занять от двух до десяти минут. В процессе появится диалоговое окно, куда вам нужно будет ввести свои данные. Войдите в учетную запись, чтобы создать новый проект.

Выберите New Project и назовите его «My City». Никакие пакеты пока выбирать не нужно.

Внимательно выбирайте папку для ваших проектов, так как все файлы должны оставаться в одном месте. Для этого проекта оставьте директорию по умолчанию. Как только проект откроется, выберите File > New Scene и назовите сцену «MyFirstCity».

Интерфейс Unity


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



Начнем снизу.

  • Вкладка Project содержит все файлы проекта: картинки, текстуры и префабы. С самого начала поддерживайте порядок в файлах, потому что по мере работы их количество будет стремительно расти, и рано или поздно вы рискуете запутаться.
  • Во вкладке Console отображается код или сообщения об ошибках.
  • В панели Hierarchy содержатся объекты текущей сцены. Любой проект начинается с элементов Light и Main Camera.
  • Вкладка Scene отображает текущую сцену с позиции основной камеры.
  • Вкладка Game отображает игру так, как ее увидит игрок.
  • Во вкладке Animator можно добавлять команды для контроллера анимации вашего персонажа.
  • Панель Inspector содержит такие настройки текущих объектов сцены, как цвет, текстура, скрипты и т. д.



Инструменты в левом верхнем углу позволяют вручную передвигаться по сцене и перемещать ее элементы. Когда вы добавляете в сцену какой-либо элемент, он отобразится в реальном времени в игре. Важно: не забывайте сохранять свои действия, чтобы элементы сцены сохраняли нужную вам позицию.

  • Инструмент Hand позволяет свободно передвигаться по сцене.
  • Crossed Arrow используется для перемещения элементов сцены.
  • Rounded Arrows вращает элементы сцены.
  • Outward Arrows меняют размер элементов сцены.
  • Box позволяет увидеть сцену от первого лица.


На верхней панели также есть вкладки File, Edit, Assets, Game Objects, Component, Mobile Input, Window и Help. Со временем вы изучите все их подпункты и научитесь пользоваться ими.

Расположение элементов интерфейса




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

Вы можете также самостоятельно настроить расположение элементов, кликая левой кнопкой мыши по вкладкам и перетаскивая их, куда вам нужно. Я, например, работаю на двух мониторах, потому вкладка Game открыта у меня на одном, а Scene – на другом.

Загрузка ассетов


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

Перейдите в Window > Asset Store. Когда магазин откроется, вы увидите там множество объектов, текстур, персонажей и инструментов Unity. Конечно же, вы можете купить всё, что вам понравится, но в этом уроке я расскажу, как создавать текстуры самостоятельно, а также как пользоваться бесплатными ассетами. При первом открытии магазина вас могут попросить войти в вашу учетную запись.

Введите в строку поиска по магазину “Yughues Free Concrete Materials”. Вам откроется следующее окно:



Нажмите Download, дождитесь окончания загрузки и кликните Import. В зависимости от вашей ОС процесс может занять от двух до десяти минут. По завершении импорта новый ассет появится во вкладке Project.

Подобным образом загрузите и импортируйте из магазина City Props Pack.

Нам также потребуется скайбокс – найдите и импортируйте Wispy Skybox.

Теперь пришло время добавить пакеты Unity. Выберите Assets > Import Package. Нам потребуются пакеты Characters, Cameras и Environment.

Поиск бесплатных ассетов


Чтобы найти текстуру дороги, я ввела “road textures” в поисковике Bing и перешла во вкладку «Изображения». Следует убедиться, что поиск выполняется по файлам с бесплатной лицензией.

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

Теперь аналогичным образом подыщем текстуры для зданий. Я использовала запрос “building textures”. Не забывайте поддерживать порядок в файлах и сохранять изображения в соответствующую папку Unity.

Примечание: работая в Unity над коммерческим проектом, позаботьтесь о лицензии ваших ассетов. Изображения, не требующие лицензионных отчислений, можно купить на Envato Market.

Создайте папку во вкладке Project и назовите ее Artwork. Перейдите в Asset > Import Asset и выберите изображение, затем переместите его в папку Artwork.

Примечание: при перемещении изображения сразу после сохранения проекта оно может не отобразиться или отобразиться без текстуры.

Как только все ассеты загрузятся, можно будет приступать к созданию города. Но перед этим сохранитесь: File > Save Scene.

Ландшафт


Выберите GameObject > 3D Object > Terrain, чтобы добавить в сцену ландшафт.

Примечание: При выбранном инструменте Hand можно приближать и отдалять камеру по отношению к объектам с помощью колесика мыши.



Результат должен выглядеть, как на картинке выше. Возможно, при первом открытии Unity 5 у вас появится пара сообщений о нарушении работы шейдера. Если ваш проект выглядит, как на скриншоте ниже, – не волнуйтесь, это легко исправить. Выберите Terrain, затем кликните по значку шестеренки сразу под Inspector, пролистайте вниз до пункта Material и выберите опцию Built-In Legacy Diffuse. Это должно помочь.



Положение камеры


Когда вы выбираете объект в панели Hierarchy, информация о нем появляется в окне Inspector. Здесь вы можете настраивать объект, добавлять текстуры, коллайдеры и код.

Выставим правильное положение для камеры. Выберите Main Camera в Hierarchy. Теперь перейдите ко вкладке Inspector и в блоке Transform введите следующие значения для Position: 265, 20, 20.



Текстура для ландшафта


Выберите Terrain в Hierarchy и кликните по иконке кисточки в окне Inspector. Далее нажмите левой кнопкой мыши Edit Textures под блоком Textures, а затем – Add a Texture. Откроется небольшое окно, в котором нужно будет выбрать текстуру. По завершении появятся текстуры, которые вы импортировали из Asset Store. Выберите двойным кликом ту, которая вам нравится. Я остановилась на Dark Concrete.

Скайбокс


Unity поставляется с довольно неплохим стандартным скайбоксом, но мне больше нравится тот, который мы загрузили ранее. Выберите Main Camera, затем перейдите в Inspector и нажмите Add Component внизу окна. Введите Skybox, нажмите на круглую иконку справа и выберите в появившемся окне нужный скайбокс. Теперь, открыв вкладку Game, вы увидите там добавленный скайбокс.

Формы зданий


Чтобы добавить форму для здания, выберите Game Object > 3D Object > Cube. Сначала вы не увидите этот куб, потому что он будет далеко. Переместите его на обозримую область, выбрав Cube в окне Hierarchy и задав ему следующее расположение: 300, 25, 100. Выставьте его размер на 20, 50, 20. Размер можно менять как специальным инструментом на панели слева вверху, так и меняя значения в соответствующих полях. Добавив куб, кликните по нему правой кнопкой мыши в Hierarchy и переименуйте на Building 1.



Отлично, теперь добавим еще несколько зданий. Повторите действия выше. В окне Hierarchy появится еще один куб под названием Cube (1), переименуйте его на Building 2. Задайте ему размер 20, 70, 20 и положение 275, 25, 100.

Добавляя здания, меняйте их размер и положение. Убедитесь, чтобы они выстроены по одной линии, для этого среднее значение должно оставаться на 25. Как и размер, положение объектов можно менять не только методом ввода значений, но и инструментом перемещения. Повторяйте все действия, пока у вас не получится пять зданий, от Building 1 до Building 5. Я расположила здания через 25 единиц друг от друга: 250, 0, 100, 225, 0, 100 и т. д. Не забудьте сохранить сцену.

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

Текстуры зданий


Пора превратить эти неприглядные фигуры в здания. Кликните по папке Artwork во вкладке Project (куда вы загрузили текстуры зданий), выберите текстуру и перетащите ее в окно Scene. Вы увидите изменения в окнах Scene и Game. Меняйте настройки, двигайте и вращайте здания до тех пор, пока не получите нужный результат.

Примечание: если текстура стоит задом наперед, поверните ее по оси Z на 180?.

Дорога


Чтобы добавить дорогу, выберите Game Object > 3D Object > Plane и задайте ей следующее положение: 250, 0.2, 80. Поверните ее по оси Y 90? и измените размер на 1, 1, 15. Теперь выберите текстуру дороги и добавьте ее на созданную плоскость, переименовав последнюю в Road.

Строим улицу


Готовые проекты Unity содержат, как правило, тысячи объектов, скриптов и префабов, потому очень важно поддерживать порядок в файлах. Сейчас мы немного упорядочим содержимое окна Hierarchy.

Любой город обычно делится на кварталы и улицы, и наш не станет исключением. Выберите Game Object > Create Empty, и в Hierarchy появится новый элемент под названием GameObject. Переименуйте его в Block1(L), затем выделите все ваши здания и переместите под этот объект, сделав их дочерними по отношению к нему.



Далее займемся противоположной стороной улицы. Правый клик по Block1(L), копируем и вставляем его. Меняем его название на Block1® и задаем положение 235, -90, 300.

Теперь можете поменять текстуры у зданий на другой улице или при желании загрузить новые. Для изменения текстуры следует выбирать каждое здание по отдельности, иначе вы сразу поменяете текстуру для всех зданий в ряду. Измените положение камеры на 340, 10, 80 и поверните ее на -80?. Не забудьте сохраниться.

Примечание: если вам не нравится положение какого-либо элемента, поменяйте его на свое усмотрение.

City Props Pack


Начиная с этого шага я буду использовать инструменты панели переключения в верхнем левом углу.

Откройте вкладку Project и разверните папку City Props Pack. Пролистайте вниз до папки Prefabs, откройте ее и найдите элемент под названием Stop sign. Выберите его, и он появится в окне Inspector.

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

Добавим еще какие-нибудь детали. Выбирайте все элементы, какие вам нравятся, и располагайте их вдоль улицы. Любой объект можно скопировать и вставить несколько раз в окне Hierarchy. Чтобы не нарушать порядок в файлах, создайте пустой родительский элемент под названием City Props и переместите туда все соответствующие элементы. Сохраните сцену.

Примечание: Если объекты в сцене светятся белым, поменяйте настройки шейдера на Legacy Shaders / Bumped Diffuse.

Деревья


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

Кликните по Terrain в Hierarchy. Затем нажмите на иконку дерева в блоке Terrain окна Inspector. Под настройками выставьте значение Brush Size на 1 и после этого нажмите Edit Trees > Add Tree. В блоке Tree Prefab кликните по круглой иконке справа.

Выберите дерево (я остановилась на Broadleaf) и добавьте его двойным кликом. Теперь оно отобразится под блоком Trees в окне Inspector. Используйте мышь, чтобы расположить дерево в сцене. Синий индикатор рядом с курсором укажет место, куда оно будет добавлено. Так как значение Brush size у нас 1, вы будете добавлять по одному дереву за раз. Менять размер деревьев можно с помощью опции Tree Height. Если вас не устроит полученный результат, вы всегда можете нажать Edit Trees и удалить дерево.



Персонаж от третьего лица


Пришло время создать первого обитателя нашего виртуального города. Разверните папку Standard Assets во вкладке Project и нажмите Characters > ThirdPersonCharacter. Пролистайте до папки Prefabs и перетащите объект под названием ThirdPersonController в вашу сцену. Задайте контроллеру положение 315, 0.1, 78 и размер 3, 3, 3.

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

Нам нужно, чтобы камера следовала за персонажем, иначе он будет пропадать из поля зрения. Выберите элемент Main Camera в Hierarchy и перетащите его под ThirdPersonController так, чтобы камера стала дочерним элементом. Теперь, когда вы нажмете Play, камера будет следовать за персонажем.

Контроллер от первого лица


Можно также добавить возможность просмотра от первого лица. Для этого перейдите во вкладку Project и выберите Standard Assets > Prefab > FPS Controller. Перетащите контроллер в сцену, поверните его и настройте размер. Обратите внимание, что FPS Controller имеет собственную камеру, потому для его использования нужно будет удалить MainCamera.

Примечание: если ваш персонаж проваливается сквозь землю, скорее всего, вы расположили его слишком низко. Кликните дважды по персонажу в окне Hierarchy, и он отобразится в окне Scene. Поднимите контроллер выше вручную или впишите напротив Y значение 1.

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



Следите за обновлениями, вас ждет еще много уроков по Unity 5.
Поделиться с друзьями
-->

Комментарии (1)


  1. Wolf4D
    27.03.2017 20:24

    Любопытный урок для новичков. Однако, с практической точки зрения — сто лет как есть процедурные генераторы городов, создающие и развязки, и трассы, и домики рисующие какой пожелаете этажности.