Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Game Development
  2. Unity 3D
Gamedevelopment

Создание 3D-города в Unity 5

by
Difficulty:BeginnerLength:LongLanguages:

Russian (Pусский) translation by Dmitriy Sirosh (you can also view the original English article)

What You'll Be Creating

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

Загрузка Unity

Давайте начнем, перейдите на сайт Unity и скачайте бесплатный вариант программы. Unity 3D предлагает различные варианты. Как для инди-разработчика, их бесплатный пакет - это именно то, что вам нужно, чтобы начать работу. Нажмите Получить Unity и загрузите пакет, совместимый с вашей системой. Unity совместим с обеими системами Mac и PC, что делает его очень популярным. Очень важно проверить системные требования. По состоянию на март 2016 года, требуется как минимум Windows 7 или Mac OS X 10.8 и выше.

Download Unity

Далее вам нужно будет зарегистрироваться. Зарегистрировавшись, вы можете отслеживать свои загрузки и покупки в магазине ресурсов (asset store) Unity. После загрузки Unity запустится. В зависимости от вашей системы, это может занять от двух до восьми минут. После чего откроется диалоговое окно с просьбой ввести учетные данные. После входа в систему пришло время начать новый проект.

Начните New Project и назовите его "My City". Пока что не выбирайте пакеты.

Обратите пристальное внимание на папку, в которую вы добавляете свои проекты, так как все файлы должны оставаться в одном месте. Оставьте дефолтное расположение для этого проекта. После того, как ваш проект открыт, перейдите в меню File > New Scene и назовите вашу сцену "MyFirstCity".

Интерфейс Unity

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

Learning Unity Interface

Давайте начнем с нижней части.

  • На вкладке Project находятся файлы проекта, изображения, текстуры и шаблоны экземпляров (prefabs). Это хорошая практика правильно структурировать ваши файлы с самого начала. Игры требуют тонны файлов для проекта, так что лучше начать должным образом.
  • На вкладке Console вы увидите ошибки кода или предупреждения.
  • На вкладке Hierarchy будут находиться текущие видимые на экране объекты. Каждый проект начинается с Light и Main Camera.
  • На вкладке Scene отображается текущая сцена через основной фокус камеры.
  • Вкладка Game показывает вам, как выглядит ваша игра, когда в нее играют.
  • На вкладке Animator будут добавлены команды вашего контроллера аниматора для вашего персонажа.
  • На вкладке Inspector вы увидите информацию о текущем объекте, например, цвет, текстуру, сценарии и т. д.
The toggle bar

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

  • Кнопка Hand (рука) позволяет вам свободно захватывать экран и перемещаться по игровому миру.
  • Кнопка со скрещенными стрелками используется для перемещения объектов. В 3D-мире вы можете перемещаться вверх, вниз, влево и вправо.
  • Кнопка с закругленными стрелками используется для поворота ваших объектов.
  • Кнопка с внешними стрелками используется для изменения размера вашего объекта.
  • Кнопка с квадратом дает вам взгляд со стороны. Когда вы нажимаете правую кнопку мыши, это позволяет включить вид от первого лица в режиме перспектива.

В верхней панели у нас есть File, Edit, Assets, Game Objects, Component, Mobile Input, Window, и Help. Лучший способ изучить меню - это метод проб и ошибок. Позже в этом уроке, мы пройдемся поэтапно по пунктам меню.

Расположение вкладок (Layout)

Setting Up Your Unity Layout

Когда вы впервые откроете Unity, вы увидите расположение вкладок, как на картинке выше. Перейдите в меню Window, затем Layouts, вы можете просмотреть различные варианты компоновки вкладок, доступные в редакторе Unity. Щелкните каждую из них пока не найдете комфортное расположение вкладок.

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

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

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

Перейдите в Window и нажмите Asset Store. Откроется вкладка asset store; здесь вы увидите сотни объектов, текстур, персонажей и инструментов Unity. Вы можете приобрести любой предмет, который вам нужен. Хотя в этом уроке я покажу вам, как создавать собственные текстуры, мы также загрузим бесплатные ресурсы. При первом открытии asset store он может попросить вас войти в систему.

Давайте начнем, набрав Yughues Free Concrete Materials в окне поиска. Ваше окно будет выглядеть так, как показано ниже.

Downloading Assets

Теперь нажмите кнопку Download. Через несколько секунд откроется окно. Нажмите Import. В зависимости от вашей системы это может занять от двух до десяти минут. После импорта вы увидите новый ресурс на вкладке Project.

Теперь давайте вернемся в asset store и импортируем City Props Pack. Повторите вышеуказанные инструкции.

Мы также будем загружать skybox. Вернитесь в asset store и импортируйте Wispy Skybox.

Теперь пришло время для наших Unity-пакетов. Перейдите в Assets > Import Package. Нам понадобятся Characters (персонажи), Cameras и Environment (камеры и окружающая среда).

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

Нам нужны текстуры дороги и здания поэтому соблюдая мои обещание о бесплатных ресурсах, поищем в Интернете. Перейдите в Bing и наберите "road" и после появления некоторых изображений убедитесь, что в разделе License выбрана бесплатная лицензия.

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

Чтобы все было организовано, сохраните свои изображения в папке Unity. Возможно, потребуется найти место хранения файлов; обычно местоположение по умолчанию Компьютер > Документы. Теперь нам нужно приблизительно пять строительных текстур. Нажмите на эту ссылку Bing, чтобы перейти к текстурам, которые использовались для этого проекта. Щелкните правой кнопкой мыши и сохраните в той же папке Unity.

Совет: всегда помните, когда вы используете проекты на коммерческой основе, лучше перестраховаться, чем потом сожалеть. Вы можете посетить такие веб-сайты, как Envato Market, чтобы купить royalty-free-изображения.

Теперь давайте создадим папку на нашей вкладке Project и назовем ее "Artwork". Перейдите в Asset > Import Asset и выберите свое изображение. Переместите изображение в папку Artwork.

Совет: Если вы перемещаете свое изображение после сохранения проекта, возможно, ваше изображение не появится или станет розовым (без текстуры). Когда все ваши ресурсы будут загружены, мы готовы начать создание нашего игрового мира. Нажмите File > Save Scene.

Давайте начнем создавать поверхность

Давайте добавим наш ландшафт. Перейдите в Game Object > 3D Object > Terrain. Это добавит 3D-ландшафт в сцену. Сейчас самое время по переключать меню, чтобы привыкнуть к перемещению по игровому миру.

Совет: если у мышки есть колесико, вы можете использовать его для приближения или отдаления от объекта, щелкнув значок Hand (рука).

Adding A Ground Texture

Как только вы добавите ландшафт, ваша сцена должна выглядеть, как на изображении выше. Есть несколько сообщений о глюках шейдера при первом открытии Unity 5. Если ваш проект выглядит как на изображении ниже, не волнуйтесь - мы это исправим! Мы обсудим освещение в другом уроке, но сейчас выберите Terrain, а затем на вкладке Inspector выберите Cogwheel (шестеренку), прокрутите вниз до Material и выберите Built-In Legacy Diffuse. Это должно решить проблему.

Shader Glitch in Unity5

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

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

Давайте вернем камеру в правильное положение. Выберите Main Camera на вкладке Hierarchy. Теперь посмотрите на вкладку Inspector справа, в разделе под Transform вы увидите Position. Введите: 265, 20, 20. Теперь ваша камера должна быть в том месте, где мы этого хотим.

Positioning Your Camera

Пойдем по серой кирпичной дороге

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

Взгляд в небо

Если вам нравится, то Unity поставляется со стандартным skybox, который отлично работает. Думаю, что это немного скучно, поэтому я собираюсь добавить skybox, который мы скачали ранее. Нажмите Main Camera и в окне Inspector нажмите кнопку Add Component в самом низу. Введите Skybox и щелкните по кружочку справа. Откроется окно, в котором вы можете выбрать понравившийся вам skybox, дважды щелкнув его. Теперь, если вы загляните во вкладку Game Scene, вы увидите новый skybox. Пока всё хорошо выглядит!

Если вы создали это

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

Adding A 3D Building

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

При добавлении зданий измените масштаб и положение для каждого из них. Следите за тем, чтобы вы удерживаете середину на 25, чтобы они выстроились ровно. Вы можете также использовать панель инструментов для масштабирования и перемещения зданий. Продолжайте это делать до тех пор, пока у вас не будет пять зданий и назовите их последовательно, например, Building 2, Building 3 и так далее. Мои здания располагаются на расстоянии в 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 проекты могут иметь тысячи объектов, скриптов и шаблонов экземпляров (prefabs). Важно, чтобы ваши предметы были хорошо упорядочены и сейчас самое подходящее время навести порядок во вкладке Hierarchy.

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

Organizing Your Buildings by Blocks

Копируем

Теперь мы создадим другую сторону улицы. Щелкните правой кнопкой мыши Block1(L) скопируйте и вставьте. Назовите его Block1(R). Положение Block1(R) будет 235, -90, 300.

Теперь вы можете изменить текстуры или загрузить новые, если хотите. При изменении текстуры необходимо щелкнуть отдельное здание, в противном случае будут изменены все текстуры квартала. Переместим Camera (камеру) на 340, 10, 80 и повернем на -80.

Совет: Если вам не нравится способ позиционирования элемента, вы можете перемещать его с помощью инструментов трансформации. Нажмите кнопку сохранить.

Добавление городских декораций

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

Нажмите стрелку вниз в папке City Props Pack на вкладке Project. Прокрутите вниз до папки Prefabs и щелкните стрелку вниз, пока не увидите список объектов. Выберите знак Stop. Когда вы его выберете он будет отображаться в окне Inspector справа.

Перейдем к передней части первого здания. Выберите знак Stop и перетащите его в окно Scene; в зависимости от вашей сцены может понадобиться уменьшить его. Уменьшите масштаб до значений: 0.2, 0.2, 0.2. Отлично!

Давайте проявим творческий подход и добавим больше предметов. Не стесняйтесь выбирать те, которые вам нравятся, и размещать их в любом месте на тротуаре. Помните, что вы можете копировать и вставлять любые объекты на вкладке Hierarchy. В духе упорядочивания объектов, создайте пустой Empty родительский объект под Game Object и назовите его City Props. Следовательно переместите элементы. Сохраните сцену.

Совет: Помните, что если ваши объекты светятся белым цветом, вам необходимо изменить затенение на Legacy Shaders/Bumped Diffuse.

Добавление деревьев

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

Нажмем Terrain на вкладке Hierarchy. На вкладке Inspector вы увидите изображение того, что выглядит как дерево под Terrain (ландшафтом) - нажмите на него. В настройках измените Brush Size (размер кисти) на 1. Теперь нажмите Edit Trees > Add Tree. В поле Tree Prefab щелкните по кружочку в конце.

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

Adding Trees

Добавление персонажа c видом от третьего лица

Итак, наконец-то мы создали свою среду где захотели и теперь пришло время добавить в него персонажа нашего друга Итана, чтобы было кому любоваться городом. Нажмите стрелку вниз в разделе Standard Assets на вкладке Project, затем Characters > ThirdPersonCharacter. Перейдите в Prefabs и перетащите ThirdPersonController в свою Scene (сцену). Установите контроллер на 315, 0.1, 78 и измените размер на 3, 3, 3.

Вы также можете повернуть его так, чтобы он смотрел в нужном вам направлении. Нажмите Play и вы сможете контролировать Итана. Нажимайте кнопки со стрелками на клавиатуре и бегайте вокруг.

В какой-то момент вы заметите, что он уходит за пределы экрана, поэтому нам нужна камера, чтобы следовать за ним. На вкладке Hierarchy выделите Main Camera (главную камеру) и перетащите ее под пункт ThirdPersonController. Теперь ваша Main Camera должна стать дочерним элементом ThirdPersonController. Теперь, когда вы нажмете Play, камера будет следовать за Итаном.

Добавление контроллера с видом от первого лица

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

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

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

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.