Перейти к содержимому

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

  • автор:

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

Создание простой 3D игры в Unity | #1

Представляем вам курс по созданию простой Unity 3d игры. За счёт создания данной игры вы изучите базовые концепции работы с движком Unity 3D и познакомитесь со множеством его функций и возможностей.

Видеоурок

Полезные ссылки:

  1. Официальный сайт Unity ;
Информация про Unity

Unity – это игровой движок, на котором строится большая часть современных игр на разных платформах. Посредством движка реально создавать игры, ориентированные на запуск на компьютерах (Windows, Linux, MacOS), мобильных телефонах, планшетных компьютерах (Android, iOS, Windows Phone) и даже игровых приставках PlayStation, Xbox, Nintendo.

Создание игр на движке Unity невозможно представить без написания дополнительного кода. В Unity поддерживается два языка программирования — JavaScript и C# . Раньше также поддерживался язык Boo, но позже от него отказались.

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

В Unity используется встроенные функции, которых нет ни в C#, ни в JavaScript. За счёт этого особо не имеет значения знает вы язык программирования или нет. Тем не менее, мы все же рекомендуем сперва пройти курс по изучению языка C#. Курс представлен на нашем сайте по этой ссылке .

Как сделать 3Д игру?

Мы изучим как создать 3Д игру на Юнити . Процесс создания 3Д игры на Unity прост. Он разделяется на два этапа:

  • построения дизайна через движок Unity 3D ;
  • написание кода на основе языка C#.

Многие останавливаются лишь на вопросе «К ак создать 3D игру через Unity?», так как далее не находят нужной информации и останавливаются. Мы же с вами за курс изучим как создать Unity 3D игру и выполним разработку игры на Юнити 3D.

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

План курса

За курс мы создадим простую игру под названием «Roll a Ball». В игре будет шар, который можно будет передвигать за счёт стрелок на клавиатуре. При передвижении объект сможет поглощать другие объекты на поверхности, тем самым собирая очки.

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

Большое задание по курсу

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

Разработка компьютерной игры в Unity: начните здесь

Любой новый мир начинается с мечты. Unity предлагает все необходимое для ее воплощения. Здесь вы найдете множество советов по разработке вашей первой компьютерной игры. Никаких требований к уровню знаний и навыков: от вас нужно только желание!

Создавайте игру играючи

Начните творить на примере готовых шаблонов Unity Microgame. Каждый из шаблонов имеет свою коллекцию ресурсов Mod, позволяющих играючи изменить исходный шаблон, попутно осваивая основы игрового дизайна, логики взаимодействий, визуализации и многое другое.

Unity LEGO Microgame

LEGO® Microgame

Реализуйте свои творческие идеи с помощью виртуальных блоков LEGOⓇ в нашем новейшем шаблоне Microgame!

FPS Microgame

Взрывайте печеньки, добавляйте симпатичных, но смертоносных роботов, украшайте подземелье. Создайте собственный шутер от первого лица из шаблона FPS Microgame.

2D Platformer Microgame

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

3D Karting Microgame

Набросайте мармеладных мишек, снопы искр и прокачайте свою тачку в веселом картинге.

Ваш первый гейм-джем с Unity

Your first game jam with Unity

Каждому разработчику нужны единомышленники

Глобальное сообщество Unity предлагает участникам множество способов общения друг с другом. Для новичков доступны гейм-джемы, задачи и группы по интересам (по одной для шаблонов Karting, 2D Platformer и FPS Microgame), которые помогут набраться уверенности и поделиться своими первыми творениями. Мы рады всем желающим!

Norman’s Island от Little Mountain Animation, Made with Unity

Made with Unity — Norman’s Island by Little Mountain Animation

Начните творить с Unity

Unity — это самая популярная в мире платформа разработки игр, ведь на ней создано более 50% всех мобильных игр, 60% всего контента для дополненной и виртуальной реальности, а Unity-разработчик — это седьмая по росту популярности профессия согласно недавнему отчету LinkedIn U.S. Emerging Jobs.

Новички могут загрузить Unity бесплатно и начать с готовых ресурсов Unity Microgame и Mod. Учитесь с помощью сотен обучающих материалов, курсов, словарей и игровых наборов — бесплатных или по разумной цене — от Unity и участников нашего потрясающего сообщества.

Вдохновляйтесь, учитесь и творите

Hollow Knight от Team Cherry, Made with Unity

Создайте двумерную компьютерную игру

Unity — это ведущая платформа разработки как 2D-, так и 3D-игр. Если вам больше по душе 2D, то здесь можно узнать, как разрабатывать такие игры.

Unity Creator Kit: программирование

Программирование компьютерной игры в Unity

Вы хотите узнать, как программировать игры? Мы предлагаем множество ресурсов, на примере которых вы сможете научиться программировать на C# в Unity.

Разработайте 3D-игру в Unity

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

Sykoo Sam: начало разработки игр

Sykoo Sam — евангелист Unity в интернете, автор популярного канала, посвященного игровой разработке. Вот несколько советов разработчикам-новичкам.

Thomas Brush: посмотрите это, прежде чем создавать первую игру

Thomas Brush создает игры более 10 лет и готов поделиться мудростью, полезной как начинающим, так и опытным разработчикам.

Gameverse — создание 3D-игры онлайн

Мы верим, что будущее за быстрыми и доступными играми, которые можно строить и в которые можно играть онлайн. Поэтому приглашаем всех учавствовать в конкурсе на создание игры в 3D-пространстве, чтобы заглянуть в такое близкое будущее и получить призы и ценный опыт. Для реализации этой задачи мы предоставляем доступ участникам к нашему онлайн 3D-движку с полным функционалом и обучающими сессиями. Стилистика игр может быть любая, однако, одним из критериев оценки будет уникальность идеи и сюжета. Мы не будем рассматривать прямое копирование существующих игр, однако, заимствование стилистического направления допустимо. ДЛЯ УЧАСТИЯ В ЭТОМ КОНКУРСЕ ВАМ НЕ НУЖНО ПРОГРАММИРОВАНИЕ. Вы можете (и мы это горячо приветствуем) использовать наш visual scripting (основанный на нодовой архитектуре).

Примеры работ, которыми можно вдохновиться, представлены ниже:

https://app.8xr.io/s/IvanDurnev/view — Иван — 3D-creator работает над моделями, видео и экспириенсами для известных брэндов, а потом “отводит душу” на нашем движке, создавая уникальные игры и спейсы. На создание такого спейса Иван потратил 2 недели.

https://app.8xr.io/s/MerryHappens/view пример работы из нашего предыдущего конкурса. Игры были собраны за 2 недели.

https://app.8xr.io/s/game-test/view пример игровой механики для Metaverse Fashion Counsil. Пространство спроектировано и собрано за 2 недели.

ИНФОРМАЦИЯ ДЛЯ УЧАСТНИКОВ

Конкурсное задание:

Участникам необходимо придумать оригинальную идею (на любую тему, исключая темы каким либо образом нарушающие законы РФ), разработать игровую механику и создать игровое пространство на онлайн движку 8XR. Для подготовки 3D моделей участники могут использовать знакомые им платформы для моделирование (рекомендуется Blender) или 3D-стоки.

Игра должна открываться и проходиться с десктопа/ноутбука и мобильных устройств.

Целевая платформа:

8XR Builder Tool — онлайн-платформа для создания 3D-пространств и игр. Интерфейс движка будет интуитивно понятен любому, кто знаком с интерфейсами основных платформ по 3D-моделированию. Для участия в конкурсе не обязательно иметь опыт программирования, так как на нашем движке вы можете использовать visual scripting.
Движок позволяет собрать сцену, выставить свет, настроить тригерные зоны, инстансинг, настроить сложные взаимодействия, сделать трансляции внутри пространства и многое другое. Однако, создание моделей внутри движка невозможно. Поэтому, необходимо иметь доступ к платформам по 3D-моделированию или стокам 3D-моделей.

Регистрация для доступа к движку
Чтобы сдать работу нужно:
  • Создать игру на движке 8XR и поделиться ссылкой на игру в Discord-канале (для технической оценки);
  • Записать видео захвата экрана, где демонстрируется геймплей, видео не должно быть меньше 10 секунд и не больше 30 секунд. Данное видео нужно отправить как конкурсную работу в галерею конкурса, нажав кнопку «добавить работу», предварительно необходимо загрузить видео на Ютуб или Вимео, так добавить работу на сайт можно вставив видео по ссылке. В описании работу указать ссылку на игру и вашу краткую информацию о проекте.
Условия участия:
  • в конкурсе может принять любой желающий старше 18 лет;
  • Вы можете вступить в группу RENDER.RU в ВКонтакте или присоединиться к каналу RENDER.RU в Телеграме, это даст вам возможность оперативно узнавать новости и изменения по ходу конкурса. Быть в курсе очень важно!;
  • работы должны содержать лицензированные конструктивные элементы, допускающие коммерческое использование. В ином случае такие работы мы дисквалифицируем и удалим. Помните! Плагиат не есть хорошо;
  • мы не несём ответственности за нелегальное использование ассетов, не предназначенных для коммерческого использования, и материалов, защищённых авторскими правами;
  • вы должны указать весь лицензированный контент, использованный в сцене (модели, материалы, HDRI-карты, и т.д.);
  • объем лицензированного контента не должен превышать 40% от общего состава работы, т. е. как минимум 60% работы вы должны сделать самостоятельно;
  • сцена как цельный продукт должна быть создана с нуля, не выставляться ранее и не участвовать на данный момент в похожих конкурсах;
  • сцена и игра не должны содержать контента на темы насилия, политической агитации, оскорбительные темы по расовому, религиозному, гендерному признаку, материалы порнографического характера, а также материалы, запрещённые законодательствами РФ и стран СНГ. Такие работы мы дисквалифицируем и удалим. Команда 8XR свободна выбирать, что может попадать под это подозрение.

Призы и места

1-ое место:

$1100,
— коммерческое сотрудничество с компанией 8XR
(победитель одного из наших предыдущих конкурсов стал частью нашей команды),
— VIP аккаунт на RENDER.RU,
— +50 баллов рейтинга на сайте.

2-ое место:

— $900,
— VIP аккаунт на RENDER.RU,
— +50 баллов рейтинга на сайте.

3-ое место:

— $500,
— VIP аккаунт на RENDER.RU,
— +50 баллов рейтинга на сайте.

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

Сроки конкурса:

6 Февраля — официальное начало конкурса, открыт прием работ на конкурс,
20 Марта — окончание приема конкурсных работ,
31 марта — результаты.

Технические Требования:

  • Все 3D ассеты должны быть в .glb формате. GLB — удобный формат для упаковки всех текстур и анимаций в один файл;
  • Для того, чтобы экспортировать .glb формат из Blender, используйте официальную документацию;
  • Наш движок доступен через все основные браузеры. Поэтому есть ограничения по размеру и весу сцены. Общий размер моделей, желательно, не должен превышать 200-300 мегабайт;
  • Мы используем WebGL 2.0 в качестве рендерера, и игры должны иметь не более 300 000–500 000 вершин внутри поля видимости для эффективной работы;
  • В сцене рекомендуется использовать до трех динамических источников света. Точечные источники света в 6 раз более требовательны к производительности, чем направленные и динамические источники. Базовый набор обычно включает в себя одно окружающее освещение/полусферу для общего освещения и один направленный свет для солнца/теней. Для улучшения визуального качества можно добавить еще два источника света. Там, где это возможно, рекомендуется использовать запекание света и теней. Аватар игрока всегда должен быть освещен как минимум одним динамическим источником света для реализма;
  • Текстуры ограничены разрешением 4K на текстуру. Мы не рекомендуем использовать больше двух текстур с разрешением 4K на мобильных устройствах из-за ограниченной видеопамяти. Текстуры с более низким разрешением, такие как 2048, 1024 и 512, могут использоваться и объединяться в атласы, но атласы не должны превышать 4K.
  • Используйте как можно меньше прозрачных материалов;
  • Рекомендуется использовать формат текстур KTX, если вы с ним знакомы, так как он позволяет сэкономить до 30% памяти и обеспечивает лучшую производительность во время исполнения. Наш движок поддерживает автоматическую конвертацию всех текстур в KTX и предоставит вам новый вариант модели после завершения оптимизации;
  • 8XR поддерживает оптимизацию LOD и Occlusion Culling. Эти два метода позволят вам улучшить свою сцену, сэкономив на упрощении рендеринга моделей, которые находятся далеко или скрыты от игрока;
  • Можно использовать до 2 видеофайлов или видеотекстур с теми же правилами разрешения, что и для простых текстур;
  • Можно использовать до 3 аудиофайлов, которые могут работать как в простом, так и в пространственном режимах;
  • Игра должна работать на большинстве современных устройств, включая ноутбуки, мобильные телефоны, планшеты.

Техническая поддержка и вопросы:

Жюри конкурса:

Марк Коршаков, Co-Founder & CEO, 8XR


Слава Сабинин, Co-Founder & CTO, 8XR

Иван Дурнев, 3D Artist

Роман Цапик — Главный редактор RENDER.RU

782 0 850 6
О, класс. Сейчас с Джонни запилим АААА-проект.)

ProcXel.A О, класс. Сейчас с Джонни запилим АААА-проект.)

Этому миру нужны АААА-игры.��‍♀️

Tatiana Sorokina Этому миру нужны АААА-игры.��‍♀️

Я надеюсь, окончание приема конкурсных работ 20 марта 2024 года? Или надо АААА-проект за месяц склепать?)

ProcXel.A
Я надеюсь, окончание приема конкурсных работ 20 марта 2024 года? Или надо АААА-проект за месяц склепать?)

=) Окончание приема работ 20 марта 2023 года. В случае чего мы готовы к меньшему количеству А)

Хотел бы уточнить, нужно сделать полноценную мини-игру, либо же подойдет демо версия какой-либо потенциальной игры? То есть можно ли сделать просто уровень, а в информации о проекте уже все расписать?

У вас «временная ссылка» на дискорд — приглашение в канал не работает.

У меня два вопроса:
Можно ли участвовать с малочисленной командой в данном конкурсе или только солло проект?
Какое дальнейшее будущее ждёт игру? Сможет ли автор презентовать разработанную игру после конкурса в плей маркете/стиме, т.д?

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

Николай Воробьев Хотел бы уточнить, нужно сделать полноценную мини-игру, либо же подойдет демо версия какой-либо потенциальной игры? То есть можно ли сделать просто уровень, а в информации о проекте уже все расписать?

Добрый день! Полноценная игра зачастую может быть достаточно длинной, поэтому один игровой уровень подойдет. Однако, он также должен иметь свою законченную логику (игрок должен что-то сделать).

Даниил Гусев (Wallenstain) У вас «временная ссылка» на дискорд — приглашение в канал не работает.

У меня два вопроса:
Можно ли участвовать с малочисленной командой в данном конкурсе или только солло проект?
Какое дальнейшее будущее ждёт игру? Сможет ли автор презентовать разработанную игру после конкурса в плей маркете/стиме, т.д?

Добрый день! Спасибо, что заметили, поправила ссылку в тексте конкурса и дублирую тут — https://discord.gg/QwQnvraB
Малочисленной командой можно! Велкам!
Игра будет находиться под вашим логином на платформе 8XR, мы будем публиковать работы победителей в открытом доступке, конечно, с вашего разрешения, с указанием автора. Вы сможете пошерить игру (через ссылку) и играть вместе с кем угодно. Также можете скачать ее для AR/VR устройств.

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

Добрый день! У нас в галерее есть сейчас «тяжелые» спейсы. Но по идее примеры работ в описании конкурса оптимизированы таким образом, чтобы работать быстро. Не могли бы вы уточнить через какой устройство/браузер заходите?

Tatiana Sorokina
Добрый день! У нас в галерее есть сейчас «тяжелые» спейсы. Но по идее примеры работ в описании конкурса оптимизированы таким образом, чтобы работать быстро. Не могли бы вы уточнить через какой устройство/браузер заходите?

Вообще я захожу через Microsoft Edge. Ладно вгрузился. Но почему нельзя смотреть без регистрации? Я ж не уверен что хочу во всем этом участвовать. Надо же просмотреть что-то. :))

Афех Илрой (счастливчик)
Вообще я захожу через Microsoft Edge. Ладно вгрузился. Но почему нельзя смотреть без регистрации? Я ж не уверен что хочу во всем этом участвовать. Надо же просмотреть что-то. :))

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

Регистрация чтобы посмотреть образцы по первым трем ссылкам статьи?

Виктор Ивановский Регистрация чтобы посмотреть образцы по первым трем ссылкам статьи? Да ну нафиг пошли.

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

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

Продолжайте верить, что человек, потребляющий новую информацию несколько часов в день будет тратить «пол-часика» (на все новые ресурсы за день) на регистрации. Вы думаете вы одни? Удачи.

Виктор Ивановский
Продолжайте верить, что человек, потребляющий новую информацию несколько часов в день будет тратить «пол-часика» (на все новые ресурсы за день) на регистрации. Вы думаете вы одни? Удачи.

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

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

Как создать игру на Unity

Как создать игру на Unity

Владимир Филимонов

Владимир Филимонов Эксперт в медицинских тренажерах VR на Unity, физических симуляциях и сетевых играх.

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

Что такое Unity

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

Освойте профессию «Разработчик игр на Unity»
Разработчик игр на Unity

Все главные навыки разработчика игр на одном курсе. Вы освоите все этапы геймдизайна, научитесь программировать на С# и создадите 7 игр во время курса.

картинка (95)

Профессия / 18 месяцев
Разработчик игр на Unity
Создавайте виртуальные миры
5 399 ₽/мес 9 817 ₽/мес

Group 1321314346 (3)

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

Читайте также Как скачать и установить Unity

Как создать простую игру

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

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

Разработчик игр на Unity – одна
из самых творческих профессий в IT. Создайте виртуальные миры уже через полгода обучения

Перед созданием игры важно продумать все эти моменты и представить общую картину, а также найти референсы, на которые можно ориентироваться, продумать опорные точки сюжета и механики. Для создания игры именно на 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 ID

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

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

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

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

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

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

Настройка интерфейса

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

Интерфейс Unity

  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

область 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.

галочка Is Trigger

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

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

Что дальше?

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

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

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

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