Как собрать приложение или игру для windows unity

How to Build/Export Your Game in Unity to Windows: In this instructable, I will be showing you how to export your own game made on Unity. The process is fairly simple, but make sure you follow along so you don't miss anything! I learned this method by watching the Youtuber Brackeys, so if you need s…

Introduction: How to Build/Export Your Game in Unity to Windows

In this instructable, I will be showing you how to export your own game made on Unity. The process is fairly simple, but make sure you follow along so you don’t miss anything! I learned this method by watching the Youtuber Brackeys, so if you need some more detail, or want a method to export to mac, head over to his channel. Before we start, make sure you are happy with your game. Maybe run through it one last time to make sure you didn’t miss anything.

Step 1: Preparing Your Game for Building

The first thing we need to do is open Unity and edit some settings to prepare your game for building. Once Unity is opened, go to Edit > Project Settings > Quality. A menu should open with a bunch of different rendering settings. This bit is a bit hard to explain on here, so if you would like to edit these settings go to

After you have edited the rendering settings we need to edit the player settings. For this go to Edit > Project Settings > Player. Another menu should pop up (like the one shown above), which has resolution settings, Icon settings, etc. The first you’ll want to do is give your company and your product a name. This can be anything, but I would suggest making the product name something to do with the game itself. Once you have done that, you will want to create your own Icon. This can be done on photoshop or any other photo editing software, and maybe a bit challenging, but is a good skill to learn nonetheless. You can also make a custom cursor if you would like. Once you have done all that you will want to open the «Resolution and Presentation tab,» which is found just underneath. You can edit these setting according to how you want your game to be presented. For example, you can choose whether you want the game to open to full screen or windowed. Don’t worry about the other settings below that tab as they will only matter if your game is big.

Step 2: Building Your Game

Now you will want to build your game. To do this, head to File > Build Settings. This is where you choose what platform you want to export to. For this tutorial, we are exporting to Windows, but it is possible to export to many other platforms as well. Make sure you have all the scenes you want in your build settings menu, and then click on «PC, Mac & Linex Standalone». Then choose Windows, where it says «Target Platform» and choose x86 where it says «Architecture». Now click «Build». It should pop up with File Explorer, and this is where you choose a folder to build to. But to stay organized we will make some new folders. First, make a new folder and call it «Builds», go into that folder and make another new folder called «Windows». Inside this folder, you will want to make a new folder called «x86». Open this folder and go down to where it says «File name» and enter the name of your game with «x86» at the end. Then click «save» and Unity will build your project and open the game location in File Explorer.

Step 3: Exporting Your Game

After you have built the game and Unity has opened the file location, you will find your game, which is playable now if you click on it and a .Data folder. At this point, you can either use some third party software to create an installer for your game, or you can make it a zip folder, send it to your friends and ask them to unzip it. If you would like to make an installer, head over to Brackeys on Youtube, but for now we are going to make it into a zip folder, which is really easy. All you need to do is select the .exe file and the .data folder, right click go to Send To > Compressed (Zipped) folder. This will create a zip folder that you can distribute via something like Mediafire or Dropbox.
And you’re done! If you followed along correctly you should have just successfully built and exported your first game on Unity. Once again I’d like to thank Brackeys the Youtuber, for teaching me how to do this in the first place.

Step 4:

1 Person Made This Project!

Recommendations

Introduction: How to Build/Export Your Game in Unity to Windows

In this instructable, I will be showing you how to export your own game made on Unity. The process is fairly simple, but make sure you follow along so you don’t miss anything! I learned this method by watching the Youtuber Brackeys, so if you need some more detail, or want a method to export to mac, head over to his channel. Before we start, make sure you are happy with your game. Maybe run through it one last time to make sure you didn’t miss anything.

Step 1: Preparing Your Game for Building

The first thing we need to do is open Unity and edit some settings to prepare your game for building. Once Unity is opened, go to Edit > Project Settings > Quality. A menu should open with a bunch of different rendering settings. This bit is a bit hard to explain on here, so if you would like to edit these settings go to

After you have edited the rendering settings we need to edit the player settings. For this go to Edit > Project Settings > Player. Another menu should pop up (like the one shown above), which has resolution settings, Icon settings, etc. The first you’ll want to do is give your company and your product a name. This can be anything, but I would suggest making the product name something to do with the game itself. Once you have done that, you will want to create your own Icon. This can be done on photoshop or any other photo editing software, and maybe a bit challenging, but is a good skill to learn nonetheless. You can also make a custom cursor if you would like. Once you have done all that you will want to open the «Resolution and Presentation tab,» which is found just underneath. You can edit these setting according to how you want your game to be presented. For example, you can choose whether you want the game to open to full screen or windowed. Don’t worry about the other settings below that tab as they will only matter if your game is big.

Step 2: Building Your Game

Now you will want to build your game. To do this, head to File > Build Settings. This is where you choose what platform you want to export to. For this tutorial, we are exporting to Windows, but it is possible to export to many other platforms as well. Make sure you have all the scenes you want in your build settings menu, and then click on «PC, Mac & Linex Standalone». Then choose Windows, where it says «Target Platform» and choose x86 where it says «Architecture». Now click «Build». It should pop up with File Explorer, and this is where you choose a folder to build to. But to stay organized we will make some new folders. First, make a new folder and call it «Builds», go into that folder and make another new folder called «Windows». Inside this folder, you will want to make a new folder called «x86». Open this folder and go down to where it says «File name» and enter the name of your game with «x86» at the end. Then click «save» and Unity will build your project and open the game location in File Explorer.

Step 3: Exporting Your Game

After you have built the game and Unity has opened the file location, you will find your game, which is playable now if you click on it and a .Data folder. At this point, you can either use some third party software to create an installer for your game, or you can make it a zip folder, send it to your friends and ask them to unzip it. If you would like to make an installer, head over to Brackeys on Youtube, but for now we are going to make it into a zip folder, which is really easy. All you need to do is select the .exe file and the .data folder, right click go to Send To > Compressed (Zipped) folder. This will create a zip folder that you can distribute via something like Mediafire or Dropbox.
And you’re done! If you followed along correctly you should have just successfully built and exported your first game on Unity. Once again I’d like to thank Brackeys the Youtuber, for teaching me how to do this in the first place.

Step 4:

1 Person Made This Project!

Recommendations

Время прочтения
3 мин

Просмотры 12K

Часть 1: Установка и настройка приложений

Приветствую, Хабр! 👋

«Разработка игры с нуля до релиза» — это серии статей, где я покажу, как создать свою игру с самого нуля до публикации в Google Play и Itch.io

  • 1 часть — установка и настройка приложений

  • 2 часть — работа с Unity

  • 3 часть — Github Desktop и Git

  • 4 часть — публикация в Google Play и Itch.io

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

Но вы тогда могли спросить — «А в чём тогда оригинальность твоей статьи от тысяч других?» И я отвечу — всю разработку мы будем проводить на операционной системе GNULinux в дистрибутиве Ubuntu 20.04 LTS! Конкретно у Вас может быть любой другой дистрибутив, но лучше всего будет, если он будет из семейства Debian. Кто читал мою прошлую статью, сразу вспомнят про мой «путь самурая», и сейчас, по многочисленным просьбам, я готов поделиться опытом технической реализации процесса разработки. Также обратите внимание, что это будет цикл статей из разряда «Для самых маленьких в картинках», рассчитанный на читателей начального уровня.

1.1: Полезные сочетание клавиш в Ubuntu

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

  • Win(Fn/Super)+A — открыть меню с приложениями

  • Win+Tab — переключение между приложениями

  • Ctrl+Alt+↑ или ↓ — переключение между виртуальными столами

  • Win+Space — переключение языка (Или вы можете поменять сочетание клавиш с помощью утилиты, вот ссылка на статью)

  • F2 — Быстро переименовывать файлы

  • Ctrl+Alt+T — Открыть консоль

Если знаете ещё, то можете дополнить меня в комментариях. Так же, мой папа заставил сказать, что каждый айтан должен хотя бы минимально знать vi. Вот хорошая ссылка по основным командам этого немолодого, но востребованного текстового редактора.

1.2: Установка программ

Итак, какие же программы нам нужно скачать и установить?

Движок у нас будет Unity, потому что я уже долго с ним работаю, и я был рад, когда узнал о его официальной поддержке GNULinux. В роли IDE у нас будет Rider. Очень удобный и эффективный, мне очень нравится, тем, кому он показался тяжеловесным, могу предложить VS Code, у которого на сайте есть инструкция по установке модулей под Unity на GNULinux. А для резервных копий или работы в команде будем использовать старый добрый Git с приложениям GitHub Desktop (знаю, выглядит как не «Unix way», но нам важно удобство, а не принципы. Для тех, кому это критично, обратитесь к документации Git с командами для консоли)

Unity:

Переходим на официальный сайт Unity и устанавливаем UnityHub

Сайт Unity

Сайт Unity

Далее заходим в консоль (Ctrl+Alt+T) и пишем cd Загрузки/ — так мы перешли в директорию (папку) Загрузки

Устанавливаем флаг, разрешающий выполнение файла:

И запускаем его

Соглашаемся с правилами

Теперь лайфхак, который сам узнал лишь недавно. Вернемся в консоль и перейдем в директорию с Unity Hub’ом

Консоль

Консоль

И с root правами запускаем INSTALL.sh

Консоль

Консоль

Соглашаемся

Консоль

Консоль

Вуаля! Теперь вместо того, чтобы лезть всё время в консоль для запуска оболочки, можно просто открыть Меню с приложениями (Win+A) и запускать ее через ярлык!

Перейдём в Unity Hub, Preferens

Unity Hub

Unity Hub

Создайте папку и укажите её расположение, иначе Unity Hub не будет знать куда устанавливать движок, после чего сохраняем настройки.

Unity Hub

Unity Hub

Теперь переходим в Installs и нажимаем Add

Unity Hub

Unity Hub

Выбираем версию Unity, я выбрал 2020.3.30f1 LTS

Unity Hub

Unity Hub

Дальше модули. Устанавливайте какие хотите, тут всё зависит от того, что вам нужно. Для меня это Android и Linux модули

Unity Hub

Unity Hub

Теперь осталось дождаться завершения установки и готово 🎉

Rider:

Долго быть: самый простой путь — установка пакета из магазина приложений. Для этого запустим Ubuntu Software, найдем там Rider и установим его

Ubuntu Software

Ubuntu Software

Соглашаемся с правилами

Окно соглашения с правилами

Окно соглашения с правилами

Далее запускаем его и устанавливаем плагины

Настройка Rider

Настройка Rider

Выбираем Unity Suppot, Version Controls и Other Settings

Настройка Rider

Настройка Rider

Теперь зарегистрируемся. Для этого перейдём в Licenses → Log In

Настройка Rider

Настройка Rider

Нас перекидывает на сайт JetBrains, создадим аккаунт

Создание аккаунта

Создание аккаунта

Мы получим код, который нужно будет вставить в окно Rider’а

Завершение регистрации
Завершение регистрации

Готово ✅

Git и GitHub Desktop

Откроем консоль (Ctrl+Alt+T) и введём sudo apt-get install gitтем самым установив контроль версий git.

Перейдем по ссылке и установим .deb (если у вас другой дистрибутив, то другого расширения) пакет с GitHub Desktop — графическим приложением для работы с контролем версий

Вернёмся в консоль и установим приложение с помощью команды sudo dpkg i <имя файла>

Запустим его и зарегистрируемся

Готово ✅

На этом 1 часть заканчивается. В следующей части я подробно расскажу о работе в Unity и настройки Build’a под Android. Спасибо, что дочитали до конца! Если будут вопросы, то пишите в комментариях или мне в соц. сети 💬

🔗 Ссылки на мои соцсети 🔗

Сделать игру на Unity сможет даже начинающий кодер, который не знает С#. Большое количество обучающих материалов и активное комьюнити значительно облегчают первые этапы знакомства с движком и создание первого проекта. Вместе с ведущим разработчиком Unity Владимиром Филимоновым и преподавателем на курсе «Разработчик игр» разбираемся, почему писать код — не главное в геймдеве и какие базовые инструменты нужно освоить, чтобы соорудить свою первую игру.

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

Наглядный пример игры, созданной на Unity, которая поддерживает разные устройства, — Genshin Impact, успешный мультиплатформенный проект китайской студии miHoYo Limited. Более популярной стала ее мобильная версия, но пользователи могут войти в аккаунт, например, с компьютера и продолжить играть с того же момента, на котором остановились в мобильной версии. Кроме Genshin Impact, на Unity созданы такие известные проекты, как Hearthstone, Outlast, Cuphead, Pokemon GO и многие другие.

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

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

Посмотрите также: Как установить Unity

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

  • Геймплей — это общее понятие взаимодействия игрока с игровым миром, которое определяет его действия (бежать вперед, преодолевать препятствия, стрелять по мишеням, обгонять других) и цели (прийти первым к финишу, выбить 10 из 10, победить врага в бою, собрать как можно больше монет). Геймплей напрямую связан с жанром игры, так как у каждого из них есть специфичный набор правил и механик.
  • Игровые механики конкретные элементы взаимодействия с игрой, которые входят в состав геймплея. Стрельба — это одна механика, сражение на мечах — другая, гонка — третья. Одна игра может сочетать в себе десятки таких механик.
  • Сюжет это развитие действия в игре; он одинаково важен и для масштабных AAA-проектов, и для небольших, но глубоких инди-игр. Сюжет должен затянуть игрока, рассказать ему историю, а также развивать персонажей, чтобы они не оставались однобокими и раскрывались для игрока с новых сторон.
  • Персонажи — в них важны и дизайн, и характер. Удачно проработанный персонаж обладает узнаваемыми особенностями поведения, интересной историей, а еще для полного погружения он должен иметь что-то общее с игроком, что зацепит его и заставит сопереживать. На эту тему Unity разработали гайд «Пять типов привлекательных игровых персонажей», чтобы у новичков получалось сделать игрового персонажа правдоподобным.
  • Дизайн уровней это внешний вид игры, цветовые решения, общая стилистика объектов, фона, персонажей, предметов, которая создает определенное настроение. В помощь начинающим разработчикам Unity опубликовали в своем блоге «Советы по дизайну уровней вашей первой видеоигры».
  • Баланс — это соотношение характеристик разных объектов, он тоже отвечает за увлеченность игрока. Например, если меч в игре может наносить объекту 3 единицы урона, а объект имеет всего 3 HP (hit points — величина, обозначающая максимальный урон), то его можно уничтожить с первого раза, и играть будет слишком легко. Если объект имеет 30 HP, то игроку придется нанести 10 ударов, чтобы его уничтожить. Такое уже подходит скорее для босса, например на первом или втором уровне. Разработчику важно грамотно распределить эти величины, чтобы игра была увлекательной и бросала игроку вызовы.

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

  • Ассет (Asset) готовый компонент, который можно использовать для создания своих проектов. Это могут быть элемент интерфейса в игре, текстура, фигурка персонажа, шрифт или звук.
  • Игровой объект (GameObject) это любой ассет, который используется в игровой сцене. Например, изображение монетки, сам ее внешний вид — это ассет, а пять монет, которые должен подобрать персонаж в процессе прохождения уровня — это пять игровых объектов. Сам персонаж при этом тоже станет игровым объектом.
  • Компоненты (Components) — часть игрового объекта, отвечающая за его поведение в процессе игры: перемещение или реакцию на определенные триггеры.
  • Скрипт (Script) код на C#, в котором прописаны конкретные условия работы компонента.

Установка Unity занимает 5–10 минут. Для этого нужно зайти на официальный сайт проекта и выбрать бесплатный тариф для физических лиц — Personal. Его будет достаточно для самостоятельного изучения Unity и создания первой игры. Еще один бесплатный тариф — студенческий, но он подойдет тем, кто зарегистрирован на GitHub и может подтвердить свой ученический статус.

После нажатия кнопки «Начать» откроется Unity Store. Для новых пользователей в нем есть вариант установки движка с обучающим руководством для начинающих. С помощью кнопки «Начните здесь» скачивается установщик UnityHubSetup.exe, который запускается как любой другой установщик: нужно просто открыть файл, принять условия пользовательского соглашения и нажать кнопку «Установить».

Русского языка в настройках нет, так что придется совершенствовать технический английский. Всего Unity занимает 11,3 Гб,поэтому перед установкой лучше проверить свободное место на диске и почистить его при необходимости.

Следующий шаг — создание Unity ID. Можно регистрироваться с помощью почты или использовать предложенные аккаунты, например Google или Apple. Важно поставить первые две галочки: согласие с условиями использования Unity и признание политики конфиденциальности. Третья галочка — это согласие на маркетинговые рассылки, ее ставить не обязательно.

После регистрации Unity предложит создать тестовый проект Microgame. На выбор предлагается пять шаблонов:

  • LEGO Microgame;
  • шутер от первого лица;
  • картинг;
  • платформер;
  • пустой 3D-шаблон.

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

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

Новому проекту присваивается имя, выбираются место хранения на диске и темплейт — то есть шаблон для разработки, внешний вид и функционал которого зависит от количества измерений в игре. Проще начинать с 2D-проектов, так как для этого формата создано больше готовых ассетов. Конечно, можно сразу начать делать 3D-игры, но в этом случае многие элементы и анимации придется самостоятельно создавать с нуля или выделять бюджет на то, чтобы делегировать эту часть работы другим специалистам.

В стандартном интерфейсе проекта шесть элементов рабочей области:

  1. Верхняя панель инструментов в ней находятся стандартные вкладки File, Edit, Help, как во многих других интерфейсах, а также вкладки Assets, GameObject, Components и Window.
  2. Scene — окно сцены, в котором выстраивается игровое пространство (элементы игрового мира, текстуры, фигурки персонажей и прочее).
  3. Games — это окно игры, в котором можно посмотреть глазами пользователя, как будут двигаться элементы и работать игровые механики.
  4. Hierarchy — окно иерархии, в нем перечислен список всех элементов (GameObject), которые помещены в окно Scene.
  5. Project — это система папок, в которых хранятся ассеты по категориям (текстуры, шрифты, звуки и т.д.).
  6. Inspector — окно для изменения элементов игры, их размера, цвета, положения в пространстве и других характеристик.

Объекты на экран Scene можно добавить из Asset Store. Для этого на панели инструментов нужно кликнуть на вкладку Window –> General –> Asset Store.

В строке поиска можно по названиям найти нужные компоненты, например, сет Free Platform Game Assets.

Как и другие ассеты, он загружается с помощью кнопки Import.

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

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

Шаг 2. Перенести в область Scene

За поведение игровых объектов отвечают присоединенные к ним компоненты (Components). Базовый компонент любого объекта — Transform, он отвечает за положение элемента в окне Scene, возможность поворачивать и масштабировать его. К базовому компоненту можно добавить, например, Renderer, который меняет цвет, или RigidBody, который отвечает за массу и физику объекта. Но кроме базовых компонентов, объектам можно задавать особые условия, и для этого как раз используются скрипты.

Создать новый скрипт можно в окне Project, кликнув мышкой на Assets –> Create –> C# Script.

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

Базовые элементы скриптов — это:

  • using — элемент в коде, который подключает библиотеки;
  • public class — в этой строке обычно прописан класс MonoBehaviour, он содержит набор функций, необходимых для работы скрипта;
  • void — те самые функции, с их помощью прописываются действия, происходящие в игре.

Рассмотрим, например, функцию start. Любое действие в ней произойдет только один раз, когда запустится игра. Пропишем здесь print (“Hi”).

И можно заметить, что в консоли это слово выводится один раз.

Функция update — повторяющаяся, ее можно использовать, например, для передвижения объекта. Для этого в скрипте задается переменная int i = 0, она выводится на экран с помощью функции print (i) и увеличивается на одну единицу за каждый шаг с помощью i++.

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

Для понимания сути триггеров важно усвоить, что такое коллайдер (Collider). Это компонент, который присваивается объекту в пространстве игры, задает форму и делает его твердым, недоступным для прохождения сквозь него. Например, если мы разместим монетку в 2D-пространстве и захотим сделать так, чтобы она упала на платформу, то без использования компонента Collider ничего не получится — монетка пролетит сквозь платформу.

Поэтому обоим объектам необходимо присвоить компонент Box Collider 2D — это тонкая зеленая линия, которая обводит элементы по контуру, и за счет этой рамки они становятся твердыми, то есть один не может пройти сквозь другой.

Так объекты обязательно соприкоснутся и монета встанет на платформу.

Триггер (Trigger) — это пространство на карте, при попадании объекта в которое происходит действие; он тоже обводит объект или область в пространстве по краям. По сути, это тот же коллайдер, только триггер позволяет объектам проходить внутрь этой области. Представьте, что на ту же самую платформу вместе с коллайдером наброшен триггер, и при попадании персонажа внутрь триггерной области активируется телепорт — персонажа перебрасывает в другую точку карты.

Чтобы создать триггер, нужно накинуть тот же самый компонент коллайдера, но поставить галочку Is Trigger.

Триггеры распознают три варианта взаимодействия области на карте и объекта:

  • OnTriggerEnter — объект зашел в зону;
  • OnTriggerStay — объект находится в зоне;
  • OnTriggerExit — объект покинул зону.

Освоить интерфейс Unity довольно легко, в интернете есть разные гайды на тему того, как сделать это действительно быстро. Например, видео «Я сделал игру на Unity за неделю» или обучающий мини-курс «Как создать RPG за час». Можно изучать геймдев самостоятельно или начать обучение на курсе — это ускорит процесс и даст более заметные результаты.

Для работы со скриптами и создания более сложных механик разработчикам в любом случае понадобится С#, так что к его изучению вы тоже рано или поздно придете. Но в отличие от Unity, по C# нет в свободном доступе такого большого количества актуальных и понятных гайдов, так что в целях экономии времени и сил лучше записаться на курс «Разработчик игр на Unity», где все знания упакованы в структурированные блоки и сбалансированы с практикой на тренажерах.

В окне «Параметры сборки» выберите целевую платформу, настройте параметры сборки приложения и запустите процесс сборки. Чтобы открыть окно настроек сборки из главного меню Unity, выберите Файл > Настройки сборки.

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

  • Сборка превращает ваше приложение в проигрыватель
  • Build and Run создает приложение в проигрывателе и открывает этот проигрыватель на целевой платформе.

Настройки Build tvOS в Unity

Картинка не найдена

Сцены в сборке

На панели «Сцены в сборке» отображается список сцен из вашего проекта, которые Unity включает в сборку. Если вы не видите никаких сцен на этой панели, выберите Добавить открытые сцены, чтобы добавить в сборку все открытые в данный момент сцены. Вы также можете перетаскивать активы сцены из окна проектаокна, в котором отображается содержимое ваших активов. Папка (вкладка «Проект») Подробнее
Посмотреть в Словарь
в этом окне.

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

Когда вы выбираете «Сборка» или «Сборка и запуск», Unity создает сборку, включающую все сцены из списка «Сцены» в списке «Сборка». Unity использует список сцен для определения порядка загрузки сцен. Чтобы настроить порядок сцен, перетащите их вверх или вниз по списку.

Список платформ

На панели «Платформа» перечислены все платформы, доступные в вашем редакторе Unity. В списке отображается значок Unity рядом с названием платформы, выбранной в данный момент в качестве целевой платформы.

Unity определяет доступные вам платформы в зависимости от установленных вами модулей платформы.

Чтобы установить дополнительные модули платформы в свой проект, выполните следующие действия:

  • Перейти в Unity Hub
  • Выберите версию, в которую вы хотите добавить модуль
  • нажмите на вертикальные многоточия
  • нажмите «Добавить модуль».

Чтобы изменить целевую платформу (платформу, для которой вы хотите выполнить сборку), выберите платформу, на которую хотите переключиться, а затем нажмите Переключить платформу. Это может занять некоторое время, поскольку Unity может потребоваться повторно импортировать ваши ресурсы в форматах, соответствующих вашей целевой платформе.

При выборе платформы Unity отображает список параметров, которые можно настроить для сборки. Каждая платформа имеет уникальные настройки, которые перечислены на каждой <странице руководства для конкретной платформы (привязки)>.

Настройки для конкретной платформы

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

ПК, Mac и Linux по отдельности

Выберите цель сборки для ПК, Mac и Linux Standalone, чтобы создавать автономные приложения для большинства настольных платформ.
Конкретные параметры сборки см. в разделе Параметры автономной сборки для ПК, Mac и Linux.

Универсальная платформа Windows

Универсальная платформа WindowsФункция IAP, которая поддерживает симулятор Microsoft In App Purchase, который позволяет тестировать потоки покупок IAP на устройства перед публикацией приложения. Дополнительная информация
См. в Словарь
(UWP) разработан Microsoft и доступен только для создайте свое приложение в операционной системе Windows. Выберите цель сборки Универсальная платформа Windows, чтобы запустить сборку на ПК, Xbox One и Hololens.
Обзор функций UWP см. в разделе Начало работы с универсальной платформой Windows.

Конкретные параметры сборки см. в параметрах сборки универсальной платформы Windows.

tvOS

Выберите цель сборки tvOS для платформы Apple TV. tvOS является продолжением основы iOSмобильной операционной системы Apple. Подробнее
См. в Словарь
Платформа, которая также является доступной целью сборки.

Конкретные настройки сборки см. в настройках сборки tvOS.

iOS

Выберите цель сборки iOS для сборки для устройств iOS, таких как iPhone и iPad. Вам необходимо настроить учетную запись Apple Developer, если вы хотите публиковать на устройствах iOS. Однако вы можете использовать любой Apple ID, если хотите собрать приложение для тестирования на своем собственном устройстве.
Общие сведения о разработке для iOS см. в разделе Начало разработки для iOS.

Конкретные параметры сборки см. в настройках сборки iOS.

Люмин

Выберите цель сборки Lumin для сборки Magic Leap с помощью Lumin SDK. Чтобы создать для Magic Leap, вам необходимо зарегистрировать учетную запись создателя Magic Leap и загрузить Lumin SDK.
Общие сведения о создании приложений Magic Leap см. в разделе Partners — Magic Leap.

Андроид

Выберите цель сборки Android для сборки для устройств Android. Для разработки и сборки для Android необходимо выполнить определенную настройку среды; для этого выполните действия, описанные в разделе Начало разработки для Android.

Конкретные параметры сборки см. в разделе Создание приложений для Android.

WebGL

Выберите WebGLJavaScript API, который отображает 2D- и 3D-графику в веб-браузере. Вариант сборки Unity WebGL позволяет Unity публиковать контент в виде программ JavaScript, использующих технологии HTML5 и API рендеринга WebGL для запуска контента Unity в веб-браузере. Подробнее
См. в Словарь
цель сборки для публикации ваше приложение в веб-браузере. Вы можете использовать WebGL для публикации контента в виде программ JavaScript, которые используют HTML5, JavaScript, WebAssembly, WebGL рендерингпроцесс рисования графики в экран (или текстуру рендеринга). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в Словарь
API и других веб-стандартах.

Конкретные параметры сборки см. в разделе Сборка и запуск проекта WebGL.

PlayStation 4, Xbox One и Nintendo Switch

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

Общие настройки платформы

Следующие настройки применяются ко всем платформам.

Настройки Функции
Development BuildA development build includes debug symbols and enables the Profiler. More info
See in Словарь
Включите этот параметр, чтобы включить символы отладки сценариев и окно Profiler, помогающее оптимизировать игру. Он показывает, сколько времени вы тратите на различные области вашей игры. Например, он может сообщать о проценте времени, затраченном на рендеринг, анимацию или игровую логику. Дополнительная информация
См. в Словарь
в вашей сборке. Когда вы включаете это, Unity устанавливает определение сценария DEVELOPMENT_BUILD. Вы должны использовать этот параметр, когда хотите протестировать свое приложение.
Autoconnect Profiler Включите этот параметр, чтобы автоматически подключать Unity Profiler к вашей сборке. Этот параметр доступен только в том случае, если вы включили сборку разработки.
Поддержка глубокого профилирования Включите этот параметр, чтобы включить глубокое профилирование в профилировщике. Благодаря этому Profiler анализирует каждый вызов функции в вашем приложении и возвращает более подробные данные профилирования. Включение поддержки глубокого профилирования может замедлить выполнение скрипта. Этот параметр доступен только в том случае, если вы включили Development Build..
Script debugging Включите этот параметр, чтобы разрешить отладку кода сценария. Недоступно в WebGL. Этот параметр доступен только в том случае, если вы включили сборку разработки.
ScriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Словарь
Only Build
Включите этот параметр, чтобы перестраивать только скрипты в вашем приложении и повторно использовать файлы данных из ранее выполненной сборки. Прежде чем вы сможете использовать этот параметр, вы должны один раз собрать весь проект. Опция Scripts Only Build значительно сокращает время итерации, если вы изменили только код в своем приложении. Этот параметр доступен только в том случае, если вы включили Development Build..
CompressionA method of storing data that reduces the amount of storage space it requires. See Texture Compression, Animation Compression, Audio Compression, Build Compression.
See in Словарь
Method
(Not available on Lumin or WebGL platforms)
Сжимайте данные в своем проекте при создании проигрывателя. Сюда входят активылюбые носители или данные, которые можно использовать в вашей игре или проекте. Ресурс может быть получен из файла, созданного вне Unity, например, из 3D-модели, аудиофайла или изображения. Вы также можете создавать некоторые типы ресурсов в Unity, например контроллер аниматора, аудиомикшер или текстуру рендеринга. Подробнее
См. в Словарь
, СценыСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь
, Player и данные GI. Выберите один из следующих методов:
Default На ПК, Mac, Linux Standalone и iOS сжатие по умолчанию отсутствует. На Android сжатие по умолчанию — ZIP, что дает несколько лучшие результаты сжатия, чем LZ4HC, но данные распаковываются медленнее.
LZ4 Формат быстрого сжатия, полезный для сборок разработки. Дополнительные сведения см. в разделе BuildOptions.CompressWithLz4.
LZ4HC Вариант LZ4 с высокой степенью сжатия, который медленнее собирается, но дает лучшие результаты для выпускных сборок. Дополнительные сведения см. в разделе BuildOptions.CompressWithLz4HC.

#Руководства

  • 10 июл 2019

  • 17

На создание игры обычно уходит много времени и сил, но движок Unity значительно облегчает процесс. И в 2D-, и в 3D-играх.

 vlada_maestro / shutterstock

Евгений Кучерявый

Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.

С помощью Unity сделаны такие игры, как:

  • Outlast;
  • Hearthstone;
  • Cuphead;
  • Rust;
  • Firewatch;
  • Inside;
  • Cities: Skylines и другие.

Из статьи вы узнаете, из каких компонентов создаётся игра и как написать свой первый проект. Вот такие нас ждут этапы:

  • Создаем проект в Unity.
  • Добавляем первый объект.
  • Пишем скрипт.
  • Назначаем триггер.

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

Как именно пользоваться движком Unity и создавать крутые проекты, — мы учим на курсе «Разработчик игр с 0 до PRO».

Скачиваем Unity на официальном сайте. Новичкам достаточно бесплатного тарифа Personal.

Последняя версия движка может не поддерживаться на старых компьютерах. Если так, то подходящую стоит поискать в архиве версий. Игра для этой статьи написана на Unity 5.5.0f3. Интерфейс более поздних версий не сильно менялся, поэтому руководство подойдёт и для них.

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

Итак:

  • Запустите установщик и следуйте инструкциям.
    Кроме самого движка, вам предложат установить Microsoft Visual Studio — интегрированную среду разработки. Это лучшие возможности по работе со скриптами в Unity, но она занимает много места на диске.
  • Если Microsoft Visual Studio установлена или используется другой редактор кода, уберите галочку. Альтернативами могут быть Microsoft Visual Studio Code (более лёгкая версия Visual Studio) или MonoDevelop — встроенный редактор Unity.
  • Когда установка завершится, пора приступать к разработке своей первой игры.

Запустите Unity и нажмите кнопку New или New project.

Укажите название проекта, его местоположение на диске и количество измерений. Лучше выбрать 2D, потому что с ним проще разобраться с Unity.

На подготовку файлов уйдёт какое-то время, затем появится окно редактора Unity:

На слабых компьютерах может появляться розовый фон и следующая ошибка:

SceneView Selected shader is expected to have 7 passes

Чтобы устранить ее, нажмите кнопку Gizmos, а потом уберите галочку с пункта Selection Outline:

Затем зайдите в пункт меню Edit и в подменю Graphics Emulation выберите Shader Model 2:

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

Ассетами называют компоненты, которые нужны для создания игры. Для удобства поместите их в отдельные папки:

  • Scenes — локации в игре.
  • Scripts — скрипты на выбранном вами языке программирования, с помощью которых устроена механика игры.
  • Sprites — двухмерные изображения предметов, персонажей, фонов и так далее.
  • Prefabs — заготовки игровых объектов.

СПРАВКА

Создать папки и добавить файлы можно как в Unity, так и просто в обозревателе Windows. Создавать скрипты лучше с помощью движка, потому что он будет автоматически добавлять заготовку кода (подробнее об этом ниже).

Теперь перетащите нужный спрайт из поля с ассетами в окно сцены. Чтобы сквозь него не пролетали другие объекты, добавьте к нему компонент типа Collider 2D из категории Physics 2D. Выбирайте тот тип, который соответствует форме спрайта: например, Circle Collider 2D (если это шар) или Box Collider 2D (если квадрат).

Добавление компонента «Коллайдер»

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

Например, поставить галочку возле Freeze Rotation, чтобы запретить объекту вращаться. У нас шар, поэтому замораживать вращение не нужно. В поле Interpolate укажите Interpolate — это сделает движение объекта более плавным.

Настройки интерполяции объекта

Чтобы изменить скорость падения, задайте гравитацию для всего проекта. Сделать это можно в меню Edit —> Project Settings —> Physics 2D.

Вход в настройки физики проекта

В правом окне появятся настройки, где можно менять гравитацию по оси Y или оси X. По умолчанию она равна –9.98f, но для 2D-игры лучше подойдет –30f.

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

Чтобы он не летел в пустоту, поставьте под ним платформу.

Создание платформы

Обратите внимание, что Rigidbody 2D указывать не нужно, иначе платформа будет падать.

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

Добавление объектов и установка их границ и физики в Unity

Поведение объекта прописывают с помощью кода. В Unity для этого используются языки C# и JavaScript. Скрипты тоже являются ассетами и добавляются к объектам в виде компонентов.

Для этого зайдите в папку Scripts, нажмите правую кнопку, выберите
Create —> С# Script. Дайте скрипту понятное название вроде PlayerControl.

Создание скрипта на C#

using System.Collections; //Можете убрать подключение коллекций, если не будете их использовать, это снизит общий объем проекта
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour {

       //Метод, который запускается при старте игры
         void Start () {

        }
       
        //Метод, который выполняется при каждой смене кадра — тут и будет происходить управление объектом
        void Update () {
        }
}

public float maxHealth = 100; //Здоровье игрока
public float currHealth = 100;
public Rigidbody2D rb; //С помощью Rigidbody 2D будет осуществляться управление объектом
public float jumpForce = 7000f; //Сила прыжка
public float speed = 5f; //Скорость движения

rb = GetComponent<Rigidbody2D>();

if(currHealth > 0) //Управление объектом будет доступно, если здоровье выше нуля
{
     float moveX = Input.GetAxis("Horizontal"); //Получение направления движения
     rb.MovePosition(rb.position + Vector2.right * moveX * speed * Time.deltaTime); //Изменение позиции
     if(Input.GetKeyDown(KeyCode.UpArrow)) //Действия при нажатии стрелочки вверх
     {
         rb.AddForce(Vector2.up * jumpForce); //Добавление силы прыжка
     }
}
else
{
      Destroy(gameObject); //Если здоровье ниже нуля, то объект будет удален
    //Обратите внимание, что в качестве аргумента указан gameObject, а не this
    //Если указать this, то для текущего объекта будет отключен этот скрипт
}

Для указания координат используются статические классы Vector2(x, y) и Vector3(x, y, z) — они пригодятся не только для написания скрипта ходьбы, но для любых других целей, в которых требуется указание позиции.

Unity по умолчанию устанавливает клавиши, которые меняют движение по осям:

Так, если пользователь нажмёт стрелку вправо или D, то направление по оси X будет равно +1, если влево, то −1, если ничего не предпримет — 0. Чтобы получить это значение, используется метод GetAxis() статичного класса Input.

Прыжок срабатывает после нажатия отдельной кнопки. Это нужно, чтобы нельзя было лететь вниз при нажатии стрелочки вниз или S.

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

Вот как работает игра с таким управлением.

using UnityEngine;

public class CameraFix : MonoBehaviour
{
     public GameObject player;
     void Update()
     {
          transform.position = new Vector3(player.transform.position.x, player.transform.position.y, -10f);
     }
}

Его нужно подключить к объекту Main Camera:

Если не получается найти нужный объект в списке, просто перетащите его.

По тому же принципу работает полоса здоровья — её положение зависит от координат персонажа:

using UnityEngine;

public class Health : MonoBehaviour
{
     public PlayerControl player;
     void Update ()
     {
          //Получение длины полосы
          float healthPercent = (player.currHealth / player.maxHealth) * 100;
          float healthLevel = healthPercent / 10;

          transform.localScale = new Vector3(healthLevel, 1f, 1f); //Изменение масштаба
          transform.position = new Vector3(player.transform.position.x, player.transform.position.y + 4f, transform.position.z); //Изменение позиции
    }
}

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

Ещё один важный инструмент — триггеры. С их помощью отслеживают попадание чего-либо в определённую область. Для этого либо создается отдельный объект, либо триггер прикрепляется к существующему.

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

Обратите внимание, что тут сразу три коллайдера, но триггер установлен только на тот, который находится на острие кнопки.

using UnityEngine;

public class ButtonTrigger : MonoBehaviour
{
     public PlayerControl player;
     void OnTriggerEnter2D(Collider2D obj)
     {
           player.currHealth -= 5f;
           Destroy(gameObject);
     }
}

Так кнопка сначала отнимет здоровье игрока, а потом исчезнет. Ещё можно добавить проверку, какой именно объект запустил триггер (объект будет передан в аргументе obj типа Collider 2D).

То же самое легко проделать и с аптечкой, но уже не отнимать здоровье, а прибавлять его. А чтобы персонаж при падении не летел в пропасть, добавьте область, при попадании в которую объект будет перемещён в точку Respawn.

Unity позволяет относительно легко создавать крутые игры. Это в разы быстрее и эффективнее, чем писать всё с нуля, но при условии, что вы хорошо умеете пользоваться этим движком и знаете C# или JS.

Всему этому мы обучаем на курсе «Разработчик игр на Unity». Вы освоите все необходимые инструменты, а в конце обучения у вас будет несколько проектов, которые не стыдно будет показать сообществу геймеров и создателей игр.

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

Участвовать

Научитесь: Профессия Разработчик игр на Unity с нуля до Middle
Узнать больше

Понравилась статья? Поделить с друзьями:
  • Как собрать образ windows 10 с установленным софтом
  • Как собрать диск в один том windows 10
  • Как собрать все значки в правом нижнем углу windows 10
  • Как собрать msi пакет средствами windows
  • Как собрать docker образ на windows 10