Вы когда-нибудь хотели научиться создавать игру в Unity? Unity — это мощный кроссплатформенный игровой движок и среда разработки, на которых основано подавляющее большинство игр в Google Play Store. Через Unity пользователи получают доступ к готовой физике, рендерингу, элементам управления и многому другому. Это может резко ускорить процесс разработки. Благодаря таким инструментам, как Unity, инди-разработчики, наконец, снова могут конкурировать с крупными студиями.
Также прочтите: Руководство для начинающих по разработке игр для Android: все, что вам нужно нужно знать
Это может означать вас! Итак, читайте дальше, чтобы узнать, как создать игру в Unity.
Как создать простую игру в Unity — настройка
В этом руководстве предполагается, что вы уже знаком с тем, что такое программное обеспечение Unity и как оно работает. Если вам нужна дополнительная информация об этом и вам нужен совет о том, как ориентироваться в явно переполненном пользовательском интерфейсе, ознакомьтесь с нашим введением в Unity.
Для этого руководства мы собираемся разработать нисходящий игра, в которой игрок перемещается по карте, чтобы найти ключи. Это отличный первый проект в Unity для начинающих, который научит некоторых базовых концепций.
Для этого игра будет трехмерной. Затем начните новый проект и убедитесь, что вы выбрали «3D» в разделе «Шаблон». (Раньше Unity назывался Unity 3D, но в наши дни он так же популярен для 2D-разработки.)
Учебное пособие по Unity для начинающих — построение лабиринта
Теперь мы собираемся расположить несколько предметов на нашей сцене. Сначала мы собираемся добавить землю, которая на языке Unity называется трехмерной плоскостью.
Чтобы добавить это в сцену, перейдите по ссылке:
GameObject> 3D Object> Plane
Это поместит плоский квадрат в вашу сцену. «Сцена» — это еще одно слово для обозначения уровня в Unity, хотя оно также может относиться к таким вещам, как меню. Окно сцены позволяет вам просматривать и управлять отдельными элементами, которые есть в вашем игровом мире.
Затем мы добавим несколько кубиков. Вставьте первый, перейдя в:
GameObject> 3D Object> Cube
Это вставит куб, который по умолчанию будет появляются прямо в центре плоскости. Чтобы перемещать элементы, вы можете выбрать их в сцене, а затем выбрать значок стрелки в верхнем левом углу. Это позволит вам перетащить элемент по всем трем осям.
Однако для наших целей мы можем оставить это там, где оно есть! Теперь вы собираетесь сделать больше этих коробок. Для этого выделите первый и нажмите Ctrl + C. Теперь нажмите Ctrl + V, чтобы вставить, и новый куб появится прямо поверх старого. Вы узнаете, что это сработало, потому что в иерархии слева вы увидите еще один куб.. Иерархия — это, по сути, список всего в вашей сцене, что позволяет очень легко находить отдельные элементы и управлять ими. Когда вы станете профессионалом в разработке Unity, вам нужно будет подумать о разумном расположении этих элементов. В противном случае он может быть немного занят!
Перетащите выделенный куб от первого куба так, чтобы он находился прямо рядом с ним без промежутков. Чтобы сделать это точно, нужно при перетаскивании удерживать кнопку Ctrl. Это приводит к тому, что объекты перемещаются с помощью предопределенной единицы, которой вы сможете управлять в настройках.
Наша цель — создать лабиринт, поэтому перетащите несколько из них, чтобы создать что-то, что выглядит лабиринтом и сложным. Символ будет начинаться в верхнем левом углу.
Если это неудобно делать под фиксированным углом, удерживая клавишу Alt, перетащите мышью, чтобы изменить угол обзора. Вы также можете использовать колесо мыши для увеличения и уменьшения масштаба.
Вставка символа
Теперь у вас есть уровень, но чтобы знать, как создавать игру в Unity также нужно создавать персонажей, которыми можно управлять. Для простоты я выберу маленький шарик, который можно катать по лабиринту!
Чтобы создать этот шар, просто поместите сферу в сцену так же, как вы добавляли коробки.
Однако на этот раз мы хотим придать физике формы. Для этого вам просто нужно выбрать его в иерархии или в представлении сцены, а затем просмотреть «инспектор», который отображается справа. Это окно показывает вам свойства любого выбранного элемента и позволяет вам точно их редактировать. Он также позволяет вам добавлять «компоненты» к GameObjects, что означает, что вы можете изменять их поведение.
Нажмите «Добавить компонент», а затем:
Physics> Rigid Body .
RigidBody — это скрипт, который по сути предоставляет готовую физику для применения к любому объекту. Теперь наш мяч упадет на сцену, и его можно будет перемещать! В этом реальная сила использования игрового движка, такого как Unity 3D: он предоставляет встроенные функции, которые в противном случае потребовали бы месяцев программирования и, возможно, степени математика!
Это хороший совет при изучении того, как сделайте игру в Unity: не пытайтесь изобретать велосипед. Фактически, это касается кодирования в целом. Если кто-то уже построил что-то, что делает то, что вам нужно, используйте это!
Я уменьшил размер моей сферы по умолчанию до 0,5, отредактировав масштаб по всем трем осям в Transform (также нашел в инспекторе).
Куда вы перемещаете мяч сцена находится там, где она будет размещена в начале игры. Я хочу, чтобы мой мяч находился на одном уровне с землей, когда игра начинается, поэтому для этого можно использовать простой небольшой «прием»: позволить игре играть с выбранной сферой, чтобы вы могли видеть, как меняются ее свойства в инспекторе, когда он падает. Затем отметьте, где заканчивается ось Y, когда она оказывается на земле. Это должно стать вашей отправной точкой!
Установка камеры и ввода
Чтобы правильно играть в эту игру, мы хотим взглянуть на действие сверху вниз. Для этого нам нужно изменить угол обзора камеры и ее поле зрения. Итак, выберите камеру в Иерархии, и вы должны увидеть небольшое окно, появившееся в вашей сцене, которое показывает предварительный просмотр того, что она видит.
Это также открывает некоторые детали в «Инспекторе» на right Там, где написано «Вращение», мы собираемся изменить ось X на «90».
Теперь перетащите камеру вверх и от вашей сцены, пока вы не увидите всю карту.
Но нам все еще нужен способ управлять нашей игрой! Для этого нам нужно написать наш первый сценарий. Пришло время научиться кодировать в Unity!
Не волнуйтесь, это действительно просто, и вам нужно только скопировать и вставить то, что вы видите!
Создайте новую папку в своих активах и назовите ее «Сценарии». Теперь щелкните правой кнопкой мыши в любом месте здесь и выберите:
Create> C # Script
Call ваш новый скрипт «TiltControl».
После того, как он был создан, дважды щелкните по нему, чтобы открыть редактор по умолчанию (IDE). Обычно это будет Visual Studio.
Теперь просто удалите все, что есть в данный момент, и замените его на:
using System.Collections; using System.Collections.Generic; с использованием UnityEngine; открытый класс TiltControl: MonoBehaviour {public Rigidbody rb; //Start вызывается перед обновлением первого кадра void Start () {rb = GetComponent (); }//Обновление вызывается один раз за кадр void Update () {} void FixedUpdate () {Vector3 motion = new Vector3 (Input.acceleration.x, 0.0F, Input.acceleration.z); rb.velocity = движение * 5; }}
Вам не нужно знать все, что здесь происходит, за исключением того, что метод fixedUpdate () выполняется с фиксированными интервалами. Здесь мы вызываем компонент Rigidbody, который мы добавили ранее, а затем добавляем скорость по трем осям на основе акселерометра в телефоне. Другими словами, игрок теперь сможет перемещать мяч, наклоняя телефон!
Также прочтите: Сертификация Unity для разработчиков: стоит ли ?
Теперь вернитесь в Unity, выберите сферу и перетащите свой сценарий TiltControl в инспектор внизу, где он говорит «Добавить компонент». Теперь это означает, что код в вашем скрипте повлияет на GameObject, к которому вы его прикрепили.
И да: это означает, что вы можете так же легко заставить двигаться целый парк шаров, когда вы наклоняете phone!
Имейте в виду, что этот метод чувствителен к начальному положению телефона, поэтому в идеале вы должны сделать что-то для расчета этого до запуска приложения, если вы собираетесь развивать это дальше.
Перед тем, как мы протестируем игру, вы должны также отметить поле с надписью «Freeze Position Y» в разделе «Ограничения». Это важно, потому что это предотвратит отскок мяча из лабиринта, если он будет двигаться слишком быстро!
Создание игры для Android в Unity для начинающих
Это Android Авторитет, значит, мы хотим делать игры для Android!
Для этого выберите Файл> Настройки сборки . Теперь выделите Android в списке платформ, затем выберите «Switch Platform».
Чтобы это работало, вам необходимо, чтобы Android SDK и Java JDK были уже установлены и размещены на вашем компьютере. Вы можете попросить Unity обработать это за вас во время выполнения, в противном случае вам нужно будет загрузить их отдельно, а затем найти необходимые файлы. Этого также можно добиться с помощью Unity Hub.
Вы также должны нажать кнопку с надписью «Добавить открытые сцены», которая добавит созданный вами уровень в сборку.
Наконец, нажмите «Параметры проигрывателя», а затем прокрутите вниз до места, где указано «Ориентация по умолчанию». Вы хотите установить для него значение «Пейзаж вправо», чтобы экран не поворачивался, пока ваши игроки развлекаются!
Чтобы создать и протестировать приложение, вам нужно всего лишь нажать «Создать и запустить» пока ваш смартфон подключен. Убедитесь, что вы включили отладку по USB в меню параметров разработчика.
Также прочтите: Как включить параметры разработчика на вашем Android устройство
Если все идет по плану, вы должны увидеть, как игра появится на экране вашего устройства через несколько минут после сборки. Поздравляем: ваше первое приложение для Android, созданное на Unity!
#Winning
Но на самом деле это не игра, пока вы не выиграете! Чтобы добавить условия победы, мы собираемся превратить один из наших блоков в цель.
Перетащите простой синий квадрат PNG в окно вашего проекта (вы можете создать новую папку под названием «Цвета» »Или что-то в этом роде, если хотите). Выберите один из квадратов в игре, а затем перетащите на него этот цвет.
Теперь нам нужно создать еще один новый скрипт, который я называю «WinBlock». Это выглядит так:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class WinBlock: MonoBehaviour {//Start вызывается перед обновлением первого кадра void Start () {}//Обновление вызывается один раз за кадр void Update () {} void OnCollisionEnter (Collision collision) {Application.Quit (); }}
То, что он делает, проверяет, не наткнется ли на него что-нибудь. Все эти кубы по умолчанию имеют «Коллайдеры», которые являются границами, которые позволяют Rigidbody знать, где начинаются и заканчиваются препятствия. Это еще одна общая черта движков видеоигр, которая экономит много времени разработчикам..
Итак, когда что-то новое касается этой границы, игра завершается! Поскольку единственное, что может двигаться, это наш маленький мяч, мы можем с уверенностью предположить, что это будет виноват.
Конечно, просто выйти из игры после победы — это немного бесцеремонно. В идеале вы, вероятно, проиграете звук, а затем запустите следующий уровень (что означало бы создание новой сцены).
Что дальше?
Есть еще много чего другого. вам нужно будет сделать эту игру увлекательной — не говоря уже о продаваемой. Нам нужно добавить текстуры, музыку, графику, настроить игровой процесс. Если бы мы создавали из этого более крупный проект, нам также нужно было бы пересмотреть то, как мы расположили элементы в нашей сцене.
И все же в качестве отправной точки, я думаю, вы согласитесь, то, что нам удалось сделать за очень короткое время, впечатляет. По ходу дела мы извлекли несколько базовых уроков.
Это была первая игра, которую вы когда-либо создавали с помощью Unity!
Надеюсь, это не будет вашей последней .
Если вы готовы узнать больше, я рекомендую ознакомиться с одним из наших других руководств по Unity для начинающих:
У нас есть множество руководств, которые помогут вам начал с разработки игр для Android в Unity, почему бы не начать с нашего руководства по созданию вашей первой базовой игры для Android всего за 7 минут?
Для получения дополнительных новостей, функций и руководств для разработчиков от Android Authority, не пропустите подписку на ежемесячную рассылку новостей ниже!