Игры

Учебное пособие по Unity3D

Учебное пособие по Unity3D

Введение в Unity 3D

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

Интерфейсы Unity

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

Окно иерархии

Окно Иерархии представляет каждый объект в сцене. Он показывает, как объекты связаны друг с другом в сцене, поэтому эти два окна связаны. В окне иерархии есть выпадающий список с именем Создавать. Вы можете очень легко создать пустой объект, 3D-объекты, 2D-объекты, свет, аудио, видео, систему частиц и объекты камеры. Окно иерархии показано ниже. «Без названия» - это название сцены. Вы можете переименовать его как хотите. Вы можете увидеть выпадающий значок справа от без названия (название сцены). Нажав на это раскрывающееся меню, вы увидите различные варианты Сохранить сцену а также Добавить новую сцену.

Окно сцены

Окно сцены - это место, где вы создаете свою сцену. Здесь вы можете взаимодействовать со своими игровыми объектами и моделями. Вы можете изменять размер, форму и положение объектов сцены. Это окно, в котором вы начинаете работать с Unity. Просмотр сцены может быть двухмерным или трехмерным в зависимости от настроек вашего проекта. Вот скриншот того, как выглядит окно сцены:

В окне сцены вы можете увидеть еще одну вкладку с надписью Затененный, здесь вы можете выбрать, какой тип представления вы хотите - затененный или каркасный. У него есть много других опций, таких как Разное, Глобальное освещение, GI в реальном времени, Запеченный GI и многие другие. Вы можете просматривать в 2D или 3D, используя кнопку рядом с Затененный падать. Далее находится кнопка переключения освещения сцены. Аналогично кнопка переключения для звука сцены. Далее следует раскрывающийся список, в котором можно включить небесный бокс, туман, анимированный материал и эффекты изображения.

Окно игры

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

Дисплей 1 показывает камеру, присутствующую в вашей игровой сцене. По умолчанию установлено значение Дисплей 1 для основной камеры. Если у вас несколько камер и вы хотите переключиться, вы можете выбрать их из раскрывающегося списка. Рядом с этим вы можете увидеть раскрывающееся меню для соотношений сторон. Вы можете выбрать в соответствии с экраном монитора вашего целевого устройства. Далее вы можете увидеть Ползунок масштабирования увеличить. Прокрутите вправо и изучите более подробную информацию о вашей сцене в режиме воспроизведения. Далее находится кнопка для Максимум в игре, при нажатии размер игрового окна будет максимальным в режиме игры. Отключить звук переключатель используется для отключения / включения звука. Статистика показывает статистику рендеринга звука и графики вашей игры.

Окно "Активы проекта"

Как видно из названия, в окне активов есть все активы вашего проекта, которые вы можете использовать. Если вы импортируете что-то новое, оно появится в окне активов проекта. Окно ресурсов проекта состоит из двух частей: левой и правой, как показано на снимке экрана ниже:

Левая панель показывает иерархическую структуру активов проекта.  Когда вы нажимаете на любую папку, она показывает детали на правой панели. Например на данном рисунке Сборные папка нажата на левой панели, поэтому ее детали отображаются на правой панели, поскольку она содержит два игровых объекта. На левой панели вы можете увидеть Избранное раздел, в котором вы можете перетаскивать элементы, которые хотите использовать очень часто, чтобы не тратить время на их поиск. Над ним вы можете увидеть Создавать раскрывающийся список, который позволяет вам создать сценарий C #, папку, шейдер, оболочку графического интерфейса пользователя, сцену, префаб, материал и многое другое.

Окно консоли

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

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

Окно инспектора

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

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

Панель инструментов

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

Начало работы с Unity

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

Входить название проекта, выбрать рабочее место Место расположения а затем выберите тип вашего проекта: 2D или 3D. Нажмите на Создать проект.

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

Строительная среда

Прежде всего создайте самолет, нажав на Создать -> 3D-объект а затем выберите Самолет. Или, как вариант, вы можете создать его, нажав на GameObject -> Игровой объект а затем выберите Самолет. Перейдите в окно иерархии и нажмите на игровой объект плоскости. Теперь перейдите в окно инспектора и переименуйте его как Земля. Теперь настройте значения трансформации так, чтобы эта плоскость выглядела как прямая дорога. Просто масштабируйте X до 6 и Z до 50. Вот изображение, как это выглядит

Теперь загрузите текстуру дороги и примените ее к объекту земли. Создайте имя папки как Текстура. Перетащите загруженную текстуру дороги в папку Текстуры. Теперь выберите Земля и перетащите текстуру дороги в вид сцены. Вот изображение, как это выглядит

Это текстура, которую я скачал

После наложения текстуры на землю нажмите «Земля» и установите тайлинг в окне инспектора. Вот как я это установил.

Теперь вы создали модель дороги, давайте создадим модель шара в единстве.

Перейти к Создать -> 3D объект а затем выберите Сфера, вы увидите объект сферы в окне сцены. Выберите его и перейдите в окно инспектора, чтобы переименовать его как Мяч. Теперь измените значения трансформации соответствующим образом. Просто отмасштабируйте его до 5 по всем трем осям и переместите в центр дороги. Вот как это выглядит

Теперь создайте забор или стену вокруг дороги.

Перейти к Создать -> 3D-объект а затем выберите Куб. Выберите его и переименуйте в Стена1. Перейдите в окно инспектора и установите значения трансформации так, чтобы она выглядела как стена вокруг дороги. Вот как это выглядит:

См. Эти значения преобразования для Стена1. Масштабируйте Y до 6 и Z до 500. Затем отрегулируйте его положение так, чтобы оно попадало на углы дороги.

Теперь найдите текстуру стены, загрузите ее и скопируйте в Текстура папка в активах. Перетащите текстуру стены на стену в окне сцены. Отрегулируйте вспашку так, чтобы она выглядела красиво и гладко. Я скорректировал тайлинг как X на 50 и Y на 1.5. Вот как это выглядит после настройки тайлинга

Это текстура, которую я использовал для стены

Мы создали стену для одной стороны дороги. Теперь сделайте то же самое и для другой стороны дороги. Вместо того, чтобы проходить весь процесс, мы можем просто скопировать Стена1 и переименуйте его в Стена2.

Выбирать Стена1 в окне иерархии, а затем щелкните правой кнопкой мыши и выберите Дубликат вариант. Он создаст другой игровой объект с такими же размерами и значениями трансформации. Нажмите на Стена1 (1) и переименуйте его в Стена2. Теперь отрегулируйте положение так, чтобы оно доходило до другого угла дороги.

Посмотрите на следующее изображение, как это круто выглядит

Мои значения положения для Wall2 от X до -29.С 6 лет до 2.6 и Z до 2.6.

Теперь создадим материал для Мяч. Перейдите в окно проекта и создайте папку, щелкнув правой кнопкой мыши и затем выберите Папка. Назовите это как Материалы. Снова щелкните правой кнопкой мыши и создайте материал. Назовите это как красный мяч. В окне инспектора выберите цвет материала. Перейти к Основные карты и выберите цвет Альбедо на красный. Увеличьте металлическую текстуру, прокручивая полосу вправо. Перетащите этот материал в Мяч в виде сцены. Вот как это выглядит

Вот как выглядит материал:

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

Скрипты в Unity

Для реализации ваших собственных функций игрового процесса и управления поведением игры Unity предоставляет механизм сценариев. Вы можете написать свой собственный скрипт для желаемого результата игры. С помощью этих скриптов вы можете запускать игровые события, изменять свойства компонентов и реагировать на вводимые пользователем данные. В основном Unity поддерживает два разных языка программирования для сценариев, один - C #, а другой - JavaScript. Помимо этих двух языков многие другие .NET также можно использовать с Unity. Скрипты известны как компонент поведения в Unity.

Создание сценария

Приступим к созданию скрипта Unity. Для этого перейдите в окно ресурсов и создайте новую папку с именем Скрипты (вы можете пропустить создание новых папок для каждого нового типа ресурсов, но рекомендуется держать вещи организованными). Вот как теперь выглядит окно с моими активами:

Теперь откройте Скрипты папку, щелкните правой кнопкой мыши и перейдите в Создавать и выберите C # сценарий. Переименовать скрипт в Движение. Мы создаем этот скрипт для движения и катания мяча по дороге. Пока мяч неподвижен, ничего не делает, давайте создадим в нем движение.

Дважды щелкните скрипт Movement, который откроется в Mono Develop. Если ваш скрипт является моно-поведением, вы увидите предварительно написанный код вроде этого

используя систему.Коллекции; используя систему.Коллекции.Универсальный; using UnityEngine; public class MovementScript: MonoBehaviour // Используйте это для инициализации void Start ()  // Обновление вызывается один раз за кадр void Update ()  

Вы можете увидеть две функции Start () и Update ().

Начинать(): Функция запуска используется для инициализации переменных и объектов. Он вызывается только один раз, когда скрипт включен, непосредственно перед вызовом любой другой функции обновления.

Обновлять(): Это моноведение, вызывается один раз в каждом кадре.

Помимо этих двух, есть много других функций моно поведения, например awake (), fixedUpdate (), lateUpdate () и т. Д.

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

частный Rigidbody rb; rb = GetComponent (); 

Теперь напишите код для движения этого твердого тела. Какая идея? Мяч должен двигаться, когда я нажимаю клавиши со стрелками на клавиатуре. Он должен двигаться вперед при нажатии клавиши вверх, назад при нажатии клавиши вниз и т. Д.

Итак, ввод с клавиатуры, как мне получить этот ввод? Класс Input Unity имеет имя функции GetAxis (), для возврата значения виртуальной оси, идентифицированной именем оси. Создайте две переменные: одну для оси X и одну для ввода по оси Y. Вот как должно быть

float moveHorizontal = Ввод.GetAxis ("По горизонтали"); 

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

Vector3 motion = new Vector3 (moveHorizontal, 0.0f, moveVerticle); 

Первый параметр - это значение оси x, второй - значение оси y, а третий - значение оси z. Поскольку мяч не будет двигаться в направлении оси Y, присвойте ему ноль. Наконец, добавьте это движение к твердому телу и умножьте на постоянное число для скорости или создайте другую переменную для скорости. См. Полный код ниже

используя систему.Коллекции; используя систему.Коллекции.Универсальный; using UnityEngine; публичный класс Движение: MonoBehaviour публичная скорость плавания; частный Rigidbody rb; // Используйте это для инициализации void Start () rb = GetComponent ();  // Фиксированное обновление вызывается после фиксированного количества кадров void FixedUpdate () float moveHorizontal = Input.GetAxis ("По горизонтали"); float moveVerticle = Ввод.GetAxis ("По горизонтали"); Vector3 motion = new Vector3 (-1 * moveHorizontal, 0.0f, -1 * moveVerticle); rb.AddForce (движение * скорость);  

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

Настройка камеры

Последнее, что вы заметите, это когда вы нажимаете кнопку вперед и мяч начинает двигаться, он вылетает из камеры, поскольку камера неподвижна. Что нам делать? Мы тоже должны переместить камеру? Да, это самое простое. Сделайте камеру дочерним элементом мяча, перетащив основную камеру на мяч.

Заключение

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

WinMouse позволяет настраивать и улучшать движение указателя мыши на ПК с Windows
Если вы хотите улучшить функции указателя мыши по умолчанию, используйте бесплатное ПО WinMouse. Он добавляет дополнительные функции, которые помогут ...
Левая кнопка мыши не работает в Windows 10
Если вы используете выделенную мышь со своим ноутбуком или настольным компьютером, но левая кнопка мыши не работает в Windows 10/8/7 по какой-то причи...
Курсор прыгает или перемещается случайным образом при наборе текста в Windows 10
Если вы обнаружите, что ваш курсор мыши прыгает или перемещается сам по себе, автоматически, случайным образом при вводе текста на ноутбуке или компью...