Как сделать игру в Unity: она начинается с простой игры в 3D лабиринт

Как сделать игру в Unity

Кредит: Адам Синицки / Android Authority

Всегда хотел узнать, как сделать игру в Unity? Unity — это мощный кроссплатформенный игровой движок и среда разработки, которая используется в подавляющем большинстве игр в магазине Google Play. Через Unity пользователи получают доступ к готовой физике, рендерингу, элементам управления и многому другому. Это может значительно ускорить процесс разработки. Благодаря таким инструментам, как Unity, инди-разработчики наконец-то снова могут конкурировать с большими студиями.

Также прочитайте: Руководство для начинающих по разработке игр для Android: все, что вам нужно знать

Это может означать вас! Итак, читайте дальше, чтобы узнать, как сделать игру в Unity.

Как сделать базовую игру в Unity — настройка

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

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

Лабиринт игры

Для этого игра будет 3D. Затем начните новый проект и убедитесь, что вы выбрали «3D» в разделе «Шаблон». (Раньше Unity назывался Unity 3D, но в наши дни он так же популярен для разработки 2D).

Единство учебник для начинающих — создание лабиринта

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

Чтобы добавить это к сцене, перейдите по ссылке:

GameObject> 3D-объект> Самолет

Это поместит плоский квадрат в вашу сцену. «Сцена» — фактически другое слово для уровня в Unity, хотя оно может также относиться к таким вещам, как меню. Окно сцены позволяет вам просматривать и манипулировать отдельными элементами вашего игрового мира.

Далее мы добавим несколько кубиков. Вставьте первый, перейдя в:

GameObject> 3D-объект> Куб

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

Вставить 3D-плоскость

Однако для наших целей мы можем оставить все как есть! Теперь вы собираетесь сделать больше из этих коробок. Чтобы сделать это, выделите первый и нажмите Ctrl + C. Теперь нажмите Ctrl + V, чтобы вставить, и новый куб появится прямо поверх старого. Вы будете знать, что это сработало, потому что вы увидите другой куб, теперь перечисленный в иерархии слева. Иерархия по сути представляет собой список всего в вашей сцене, что позволяет очень легко находить отдельные элементы и манипулировать ими. Когда вы станете профессионалом в разработке Unity, вам нужно подумать о том, как правильно расположить эти элементы. В противном случае это может стать немного занятым!

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

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

Лабиринт Дизайн

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

Вставка персонажа

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

Чтобы создать этот шар, просто поместите сферу на сцену так же, как вы добавили коробки.

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

Нажмите «Добавить компонент» и затем:

Физика> Жесткое тело,

RigidBody — это скрипт, который по сути предоставляет готовую физику для применения к любому объекту. Наш мяч теперь выпадет на сцену, готовый к перемещению! Это реальная сила использования игрового движка, такого как Unity 3D: он предоставляет встроенные функции, которые в противном случае потребовали бы месяцев программирования и, возможно, степени математики!

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

Я уменьшил размер моей сферы по умолчанию до 0,5, отредактировав масштаб по всем трем осям в Преобразовании (также найденный в инспекторе).

Роллер

Где вы перемещаете мяч в сцене, это место, где он будет помещен в начале игры. Я хочу, чтобы мой мяч находился на одном уровне с землей в начале игры, поэтому простой маленький «хак», который вы можете использовать для этого, состоит в том, чтобы позволить игре играть с выбранной сферой, чтобы вы могли видеть изменения ее свойств в инспекторе по мере его падает. Затем запишите, где ось Y заканчивается, когда она оседает на земле. Это должно быть вашей отправной точкой!

Исправление камеры и ввода

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

Это также открывает некоторые детали в «Инспекторе» справа. Там, где написано «Вращение», мы собираемся изменить ось X на «90».

Теперь перетащите камеру вверх и в сторону от сцены, пока не увидите всю карту.

Бал в Инспекторе

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

Не волнуйтесь, это действительно просто, и вам нужно только скопировать и вставить то, что вы видите!

Создайте новую папку в ваших активах и назовите ее «Сценарии». Теперь щелкните правой кнопкой мыши в любом месте здесь и выберите:

Создать> C # Script

Назовите ваш новый скрипт «TiltControl».

Как только это будет создано, дважды щелкните по нему, чтобы открыть редактор по умолчанию (IDE). Обычно это Visual Studio.

Теперь просто удалите все, что есть в данный момент, и замените его следующим:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TiltControl : MonoBehaviour
{

    public Rigidbody rb;
    
    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent();
    }

    // Update is called once per frame
    void Update()
    {
       
    }

    void FixedUpdate()
    {
        Vector3 movement = new Vector3(Input.acceleration.x, 0.0F, Input.acceleration.z);
        rb.velocity = movement * 5;
    }
}

Вам не нужно знать все, что здесь происходит, за исключением того, что метод fixedUpdate () выполняется с фиксированными интервалами. Здесь мы вызываем компонент Rigidbody, который мы добавили ранее, а затем добавляем скорость по трем осям на основе акселерометра в телефоне. Другими словами, игрок теперь сможет перемещать мяч, наклоняя телефон!

Также прочитайте: Сертификация Unity для разработчиков: стоит ли это того?

Теперь вернитесь в Unity, выберите сферу и перетащите ваш скрипт TiltControl в Инспектор внизу, где написано «Добавить компонент». Теперь это означает, что код в вашем скрипте будет влиять на GameObject, к которому вы его прикрепили.

И да: это означает, что вы можете так же легко заставить весь парк шаров двигаться, наклоняя телефон!

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

Перед тем, как мы протестируем игру, вы также должны поставить галочку в поле «Freeze Position Y» в разделе «Ограничения». Это важно, потому что это не позволит нашему мячу отскочить от лабиринта, если он будет двигаться слишком быстро!

Создание Android-игры в Unity для начинающих

Это Android Authority, поэтому мы хотим делать игры для 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 is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }

    void OnCollisionEnter(Collision collision)
    {
        Application.Quit();
    }

}

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

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

Конечно, просто выйти из игры, когда вы выиграли, немного бесцеремонно. В идеале вы, вероятно, будете воспроизводить звук и затем запускать следующий уровень (что будет означать создание новой сцены).

Что дальше?

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

Unity Maze Game

Кредит: Адам Синицки / Android Authority

Тем не менее, как отправная точка, я думаю, вы согласитесь, что это довольно впечатляюще, чего нам удалось достичь за очень короткое время. И мы усвоили некоторые основные уроки по пути.

Это была первая игра, которую вы создали с Unity!

Надеюсь, это не будет твоим последним.

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

У нас есть много уроков, которые помогут вам начать разработку игр для Android в Unity:

  • Создайте свою первую базовую игру для Android всего за 7 минут (с Unity)
  • Урок Flappy Bird Unity для Android — Полная игра за 10 минут!
  • Как создать 3D-шутер для Android с Unity
  • Как создать приложение VR для Android за 7 минут

Или, альтернативно, узнать больше о C # и как это работает:

  • Введение в C # для Android для начинающих
  • Изучите C # для Android, часть 2

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

Итак, теперь вы знаете основы того, как сделать игру в Unity! Что вы будете строить?

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *