Unity можно изучать на новой официальной платформе Unity Learn


Оглавление (нажмите, чтобы открыть):

Unity с нуля: Занятие 1. Установка и первое знакомство

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

  • устанавливать Unity;
  • загружать и использовать ассеты (готовые компоненты игр), экспериментируя и играя в прототипы игр, созданных профессионалами;
  • писать и запускать простейшие скрипты (программы) на языке C# в среде Unity.

Урок 1. Установка и первый запуск Unity

Это урок для тех, кто ни разу не сталкивался с такими сложными профессиональными инструментами.
Устанавливаем бесплатную полноценную версию Unity Personal. Условия использования (подробнее здесь):
«Если годовой оборот вашей компании составляет больше 100 000 $ или же если вам удалось привлечь на разработку более 100 000 $, вы не имеете права использовать Unity Personal, будь то для прототипирования или в иных целях.
Если ваша компания уже использует Unity Plus или Pro, то вы также не имеете права использовать Unity Personal».

Урок 2. Загрузка и использование Standard Assets

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

Примечание: Assets (ассеты) — так называют набор ресурсов проекта, в который входит все, что нужно использовать на сцене игры: спрайты, модели, материалы, текстуры, скрипты и многое другое. Подробнее обо всех этих объектах — в следующих уроках.

В этом уроке показываем, как загрузить в свой проект Standard Assets, как и в каких режимах запустить примеры (прототипы) игр.

Примечание: с 2020 года интерфейс asset.store Unity несколько изменился, но принципы работы остались прежними.

Урок 3. Пишем первый скрипт на C#

Урок для тех, кто никогда не программировал ни на одном объектно-ориентированном языке и не пробовал это делать в Unity.
Пишем традиционный код, который выводит приветствие: Hello, World! С этого начинают все программисты мира.

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

Передовая в отрасли многоплатформенная поддержка

Уже есть много платформ, на которых можно размещать игры, используя платформу Unity, и их число постоянно растет. Сделайте только одну сборку и размещайте ее одним щелчком мыши на всех основных мобильных, виртуальных, настольных, консольных и ТВ- и веб-платформах.

Unity для мобильных платформ

Unity: игровая платформа для мобильных устройств

Unity далеко опережает прочие платформы для создания мобильных игр. Почему же она так популярна?

  • Размещение одним щелчком на Android, iOS, Windows Phone и Tizen
  • Мощная оптимизация за счет таких функций, как удаление скрытых частей, группировка ресурсов и сокращение размера сборки
  • Сервисы мирового уровня по части монетизации и удержания игроков на мобильных устройствах
  • Удобные 3D- и 2D-инструменты и рабочие процессы

Подробнее

Unity для VR и AR

Во главе революции

Мы в Unity являемся энтузиастами технологии VR. Только высокооптимизированный конвейер рендеринга может помочь вам достичь замечательной частоты смены кадров. Это, а также возможности быстрых итераций в редакторе Unity, уже помогли Unity стать, несомненно, самой широко распространенной платформой разработки для VR.

Нативная поддержка доступна для следующих платформ: Oculus Rift, Gear VR, Playstation VR, Microsoft HoloLens, Steam VR и Google Daydream.

Unity для настольных систем

Стратегии, головоломки, экшен, «песочница» и не только

Благодаря системе Realtime Global Illumination на базе Enlighten и физическому шейдеру Unity еще никогда не было лучшего времени для создания красивых, притягательных и занимательных игр для настольных ПК с помощью Unity.

Платформа Unity обеспечивает поддержку размещения за один щелчок на платформах PC, Mac и Linux.

Unity для игровых приставок

Превосходное разверытвание, полное покрытие

Теперь публикация игр независимых разработчиков на игровых платформах стала еще проще. С Unity вы можете бесплатно публиковать игры на PS4 и Xbox One.

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

Развертывайте на консолях

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

Xbox One

Участие в программе ID@Xbox корпорации Microsoft для разработчиков под XBox One полностью бесплатно. В рамках этой программы вы получаете тот же аппаратный и сетевой доступ, как и любой другой разработчик. Зарегистрированные разработчики также получают бесплатную лицензию Unity для Xbox One.

Если вы зарегистрированы в качестве разработчика, уполномоченного компанией Sony, вы можете получить лицензию Unity Pro для PlayStation®4, чтобы бесплатно разрабатывать контент для PlayStation®4. Учтите, что только зарегистрированные разработчики имеют доступ к сайтам Sony. Если вы заинтересованы в разработке игр с помощью Unity Pro для платформ PlayStation, свяжитесь со своим представителем от PlayStation и узнайте, как стать уполномоченным разработчиком.

Nintendo Switch

Если вы зарегистрированы в Nintendo, вы можете использовать Unity для бесплатного развертывания на Nintendo Switch.

Изучение Unity в GU, лучшие assets и паблики — мнение декана

Декан факультета разработки игр Илья Афанасьев отвечает на вопросы о движке, его преподавании в GU и о себе.

— Илья, почему ты выбрал Unity, а не Unreal или еще что-то? Зачем начинать именно с этого движка?

— Начинал я как раз с Unreal Engine, но это было давно — тогда он был известен как UDK (Unreal Development Kit). Новичку работать с ним было очень сложно: на поверхности все просто, но, заглянув «под капот», просто теряешься.

Среда работала недостаточно стабильно, особенно в руках людей, которые только начали ее изучать. Скрипты приходилось компилировать в сторонних программах. Даже сейчас Unreal известен как мощный, но очень громоздкий инструмент, который с лету не освоишь. Да, там есть Blueprint (раньше Kismet), но досконально понять, как это работает, сложно. Например, чтобы максимально эффективно использовать blueprints, нужно понимать их природу — а значит, неплохо программировать. Особенность движка Unreal в том, что он удобен, пока вы не особо заморачиваетесь, но становится бичом для тех, кто еще не понимает природу ООП и основ программирования.

Если у человека нет опыта разработки, Unity3D — входной билет в геймдев. С этим движком легко программировать и творить свои миры: не осилит его только ленивый. По графике и разнообразию инструментов Unreal впереди, но, я вас уверяю, в умелых руках Unity способен на потрясающие штуки, такие как Unity Adam или Book of the Dead. А без умения и на Unreal далеко не уедешь.

— Что происходит с движком сейчас и как он менялся в последние несколько лет?

— Он активно перестраивается: многие технологии буквально пишутся заново. Unity Tech реализовали возможность создания шейдеров через графический интерфейс. Раньше для этого приходилось устанавливать сторонние платные дополнения.

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

Также Unity Tech перестроили многопользовательскую систему на базе технологии ECS. Это позволит разработчикам оптимизировать сетевые приложения без «костылей».

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

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

— Чему должен в первую очередь научиться будущий разработчик игр? И чем ты руководствовался, когда составлял учебный план факультета?

— Мы ориентировались на две категории студентов: тех, кто идет устраиваться в игровую студию программистами, и тех, кто хочет делать инди-игры своими силами, небольшой командой.


Поэтому мы учим программированию на C#, гейм-дизайну, работе с Unity и даже основам 3D-моделирования. Мы подробно рассказываем об этапах разработки игр, чтобы студенты представляли себе весь процесс и впоследствии могли лучше взаимодействовать с коллегами. Это целая наука. Одно дело написать код игры, и совсем другое — сделать ее интересной. Принципиально разные умения.

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

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

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

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

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

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

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

— Для каких задач ты сам используешь Unity?

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

Сначала я занимался фрилансом, потом объединился с коллегами — мы создали Game Line Studio и начали разрабатывать приложения на заказ: в основном AR и VR.

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

Сюжет нашей игры прост: три героя сражаются со злом, которое вторглось в этот мир из подземелий древнего города. Герои отличаются по цвету (красный, синий, зеленый — RGB-отряд). Каждый атакует только противников своего цвета. Игроку нужно правильно расставить персонажей, чтобы они справились с очередной волной чудовищ. Чтобы перемещать героев, их нужно вращать по часовой стрелке или против нее.

Мы выбрали не очень простой в исполнении стиль 3D-графики, и у нас возникли большие трудности с контентом, но сейчас мы близки к финишной прямой. Уверен, игра найдет своего издателя и выйдет на рынок.

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

— Самый крутой наш проект такого плана — тренажер для Международного центра подготовки спасателей. К сожалению, детали раскрыть не могу из-за договора о неразглашении (non-disclosure agreement). Но это был невероятно интересный новый опыт. Проект очень амбициозный: если у заказчика все получится, он может произвести революцию в своей области.

— А как тебе реализация AR и VR в Unity? Насколько это удобно?

— Unity использует пакеты инструментов (SDK) от производителей шлемов виртуальной реальности (HTC, Oculus) и устройств дополненной реальности. С такими же пакетами работают и другие движки, поддерживающие AR/VR. Но я заметил забавную вещь.

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

— У движков с поддержкой двух- и трехмерной графики обычно одно направление в приоритете, а второе «тоже есть». Насколько Unity хорош для работы с 2D? Если я хочу сделать двухмерную игру с крутыми графическими эффектами, надо ли осваивать специализированный 2D-движок?

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

Чтобы понять, насколько красивыми могут быть двухмерные игры на Unity, достаточно взглянуть на Ori and the Blind Forest, Forgotten Anne или Children of Morta. The Heart Stone демонстрирует удивительную игру теней, которая может заставить игрока думать, что он находится в полном 3D. Отчасти это и правда так (в Unity все находится в 3D-пространстве, даже 2D-объекты), но на других движках ты не создашь подобных эффектов с такой легкостью.

Если ты знаешь Unity и хочешь быстро сделать 2D-игру с качественной графикой, смысла учить отдельный движок нет.

— Порекомендуй лучшие Unity Assets (расширения и наборы ресурсов) для разных задач, пожалуйста. Твой «топ-лист».

— Среди лучших платных ассетов юнити я бы отметил:

  1. Gaia — генератор ландшафтов.
  2. Cascade — генератор рек, озер и водопадов.
  3. Ассеты серии Obi от Virtual Method — симуляторы тканей, воды, веревок.
  4. Winter Forest Environment — набор фотограмметрических моделей окружения.
  5. Ассеты для Unity от kripto289 — крутые наборы эффектов.
  6. Наборы от Polygon Blacksmith — прикольные низкополигональные модельки.
  7. Ассеты от Manufactura K4 — убойные наборы окружения для игр с видом сверху.
  8. Mesh Baker — инструмент оптимизации 3D-сцен.

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

Лучшие бесплатные Assets для Unity:

  1. Hand Painted Forest Environment Free Sample — отличный набор рисованных лесных текстур.
  2. Ассеты от Polygon Blacksmith — среди них есть несколько бесплатных.
  3. Palace of Orinthalian — неплохой набор с домиком на болоте.
  4. Unity Recorder — позволяет записывать видео игрового процесса в Unity.
  5. Zenject Dependency Injection — инструмент (фреймворк) для управления зависимостями в Unity-проекте.
  6. UniRx — реактивное расширение для реализации асинхронных и многопоточных вычислений.
  7. Unity Anima2D — официальный плагин с открытым кодом (C#) для движка версии 5.x и выше. Упрощает создание и редактирование 2D-анимации, в том числе за счет привязки спрайтов к скелету («костной анимации»).
  8. Free Asset — 2D Handcrafted Art — пакет двухмерных спрайтов окружения.
  9. Free Rocks — набор из четырех камней и одной скалы для создания окружения.
  10. Mega Fantasy Props Pack — набор объектов для средневекового игрового окружения.

Также советую обратить внимание на бесплатные ассеты для Unity 3d и не только от Unity Technologies: они очень крутые и заслуживают внимания. Лучше скачать все, что у них есть, а затем пробовать и разбираться.

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

— Насколько легко или трудно создавать и продавать свои наборы ресурсов для Unity? Если эта тема тебе знакома и интересна.

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

Один из моих учеников (ему 16 лет) уже нарисовал несколько наборов спрайтов. Думаю, это под силу любому, кто действительно поставил перед собой цель. Главное — качество. Если ты предлагаешь интересные и ходовые ассеты, решаешь задачи, с которыми сталкиваются многие разработчики, — все будет отлично.

— Какие проекты делают студенты факультета разработки игр в GeekUniversity?

— Один из проектов, которые «выстрелили», — коммерческий продукт для застройщиков от команды Project X. Приложение позволяет в виртуальной либо смешанной реальности прогуливаться по земельным участкам, чтобы планировать будущее расположение дома и объектов. Ребята уже нашли инвестора и начали восполнять свои затраты на обучение. Кстати, эта команда набирает студентов на подработку.

Мастер Йода рекомендует:  jQuery для Javascript

Игровые проекты — очень разноплановые. Здесь и уникальный пошаговый 2D-платформер, и железнодорожный survival-action с элементами экономической стратегии. Обе вещи — в постапокалиптическом антураже.

Атака на поезд в игре The Last Hope от команды Limerence Games

Также есть оригинальный tower defence про котиков и фэнтезийный roguelike, где надо вырезать орды нечисти и прокачивать свою крепость.

Арт врага из «рогалика» Tomorrow’s Hero от команды Brave Team

Как правило, мы ориентируем студентов на создание собственной студии и поиск издателей. В такой ситуации разработчику часто приходится переступить через свое эго и писать мобильные приложения. Это кратчайший путь, потому что мобильные решения на Unity в России пока востребованы больше, чем десктопные. Но я никогда не призываю студентов браться за неинтересное для них дело. На курсе командной разработки в GeekUniversity ограничений нет: здесь разрабатывают игры и приложения как для мобильных платформ, так и для PC.

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

— Ты рассказываешь как человек, вовлеченный во все это. Как строится твое взаимодействие со студентами?

— Во время командной разработки студентов поддерживают сразу три преподавателя: Роман Муратов помогает с code review и архитектурой проекта, гейм-дизайнер подсказывает, как сделать игру интересной, а я выступаю в роли project manager’а и слежу, чтобы получился минимально жизнеспособный продукт, который можно показать инвестору. Еще я рассказываю, какие фичи стоит и не стоит делать, что можно и нельзя говорить инвестору, как правильно построить презентацию для лиц, принимающих решение.

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

— Да. Чтобы раньше времени не искушать ребят мультиплеером, его изучение начинается уже после командного проекта. Я специально так сделал, потому что создание многопользовательской игры требует особых навыков. Проект нужно грамотно спроектировать, чтобы игровой процесс был интересным, честным и уникальным. Даже если взять за основу чужую игру и попытаться скопировать, возникнет куча проблем. Кроме того, нужно уметь писать и оптимизировать сетевой код.

— Что еще губит игровые проекты?

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

Пожалуй, 3D-графика — самое страшное, что может случиться с проектом. Когда наша студия взялась за трехмерную игру, мы рассчитывали на самый аскетичный набор контента: вид локации сверху и персонажи — всё. В игре нельзя перемещаться по уровню, исследовать его и произвольно двигать камеру. Тем не менее тащить этот проект нелегко, потому что мы не можем делать контент. В команде шесть художников, но все «тридешники» разбежались. Полный цикл создания одной 3D-модели, включая работу аниматоров, стоит около 150 000 ₽. И все же мы преодолеваем трудности — совсем чуть-чуть и доведем игру до релиза.

Кстати, по итогам наших проб и ошибок я скоро опубликую на «Пикабу» статью: почему не стоит делать 3D-игру, если у вас нет лишнего миллиона в кармане.

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

— Какие YouTube-каналы и ленты в соцсетях стоит отслеживать изучающим движок Unity?


— Из YouTube советую:

Из групп «ВКонтакте»:

А еще на «Пикабу» есть «Лига разработчиков видеоигр» — на их сообщения тоже стоит подписаться.

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

— Спасибо! Последний вопрос, как всегда, к читателям. Что еще вы хотели бы узнать по теме? И есть ли у вас планы делать свою игру на Unity?

Скоро опубликуем обзор проектов, над которыми работают студенты GeekUniversity, — с артами, скриншотами и комментариями авторов.

Декан факультета разработки игр Илья Афанасьев отвечает на вопросы о движке, его преподавании в GU и о себе.

— Илья, почему ты выбрал Unity, а не Unreal или еще что-то? Зачем начинать именно с этого движка?

— Начинал я как раз с Unreal Engine, но это было давно — тогда он был известен как UDK (Unreal Development Kit). Новичку работать с ним было очень сложно: на поверхности все просто, но, заглянув «под капот», просто теряешься.

Среда работала недостаточно стабильно, особенно в руках людей, которые только начали ее изучать. Скрипты приходилось компилировать в сторонних программах. Даже сейчас Unreal известен как мощный, но очень громоздкий инструмент, который с лету не освоишь. Да, там есть Blueprint (раньше Kismet), но досконально понять, как это работает, сложно. Например, чтобы максимально эффективно использовать blueprints, нужно понимать их природу — а значит, неплохо программировать. Особенность движка Unreal в том, что он удобен, пока вы не особо заморачиваетесь, но становится бичом для тех, кто еще не понимает природу ООП и основ программирования.

Если у человека нет опыта разработки, Unity3D — входной билет в геймдев. С этим движком легко программировать и творить свои миры: не осилит его только ленивый. По графике и разнообразию инструментов Unreal впереди, но, я вас уверяю, в умелых руках Unity способен на потрясающие штуки, такие как Unity Adam или Book of the Dead. А без умения и на Unreal далеко не уедешь.

— Что происходит с движком сейчас и как он менялся в последние несколько лет?

— Он активно перестраивается: многие технологии буквально пишутся заново. Unity Tech реализовали возможность создания шейдеров через графический интерфейс. Раньше для этого приходилось устанавливать сторонние платные дополнения.

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

Также Unity Tech перестроили многопользовательскую систему на базе технологии ECS. Это позволит разработчикам оптимизировать сетевые приложения без «костылей».

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

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

— Чему должен в первую очередь научиться будущий разработчик игр? И чем ты руководствовался, когда составлял учебный план факультета?

— Мы ориентировались на две категории студентов: тех, кто идет устраиваться в игровую студию программистами, и тех, кто хочет делать инди-игры своими силами, небольшой командой.

Поэтому мы учим программированию на C#, гейм-дизайну, работе с Unity и даже основам 3D-моделирования. Мы подробно рассказываем об этапах разработки игр, чтобы студенты представляли себе весь процесс и впоследствии могли лучше взаимодействовать с коллегами. Это целая наука. Одно дело написать код игры, и совсем другое — сделать ее интересной. Принципиально разные умения.

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

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

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

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

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

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

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

— Для каких задач ты сам используешь Unity?

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

Сначала я занимался фрилансом, потом объединился с коллегами — мы создали Game Line Studio и начали разрабатывать приложения на заказ: в основном AR и VR.

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

Сюжет нашей игры прост: три героя сражаются со злом, которое вторглось в этот мир из подземелий древнего города. Герои отличаются по цвету (красный, синий, зеленый — RGB-отряд). Каждый атакует только противников своего цвета. Игроку нужно правильно расставить персонажей, чтобы они справились с очередной волной чудовищ. Чтобы перемещать героев, их нужно вращать по часовой стрелке или против нее.

Мы выбрали не очень простой в исполнении стиль 3D-графики, и у нас возникли большие трудности с контентом, но сейчас мы близки к финишной прямой. Уверен, игра найдет своего издателя и выйдет на рынок.

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

— Самый крутой наш проект такого плана — тренажер для Международного центра подготовки спасателей. К сожалению, детали раскрыть не могу из-за договора о неразглашении (non-disclosure agreement). Но это был невероятно интересный новый опыт. Проект очень амбициозный: если у заказчика все получится, он может произвести революцию в своей области.

— А как тебе реализация AR и VR в Unity? Насколько это удобно?

— Unity использует пакеты инструментов (SDK) от производителей шлемов виртуальной реальности (HTC, Oculus) и устройств дополненной реальности. С такими же пакетами работают и другие движки, поддерживающие AR/VR. Но я заметил забавную вещь.

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

— У движков с поддержкой двух- и трехмерной графики обычно одно направление в приоритете, а второе «тоже есть». Насколько Unity хорош для работы с 2D? Если я хочу сделать двухмерную игру с крутыми графическими эффектами, надо ли осваивать специализированный 2D-движок?

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

Чтобы понять, насколько красивыми могут быть двухмерные игры на Unity, достаточно взглянуть на Ori and the Blind Forest, Forgotten Anne или Children of Morta. The Heart Stone демонстрирует удивительную игру теней, которая может заставить игрока думать, что он находится в полном 3D. Отчасти это и правда так (в Unity все находится в 3D-пространстве, даже 2D-объекты), но на других движках ты не создашь подобных эффектов с такой легкостью.

Если ты знаешь Unity и хочешь быстро сделать 2D-игру с качественной графикой, смысла учить отдельный движок нет.

— Порекомендуй лучшие Unity Assets (расширения и наборы ресурсов) для разных задач, пожалуйста. Твой «топ-лист».

— Среди лучших платных ассетов юнити я бы отметил:

  1. Gaia — генератор ландшафтов.
  2. Cascade — генератор рек, озер и водопадов.
  3. Ассеты серии Obi от Virtual Method — симуляторы тканей, воды, веревок.
  4. Winter Forest Environment — набор фотограмметрических моделей окружения.
  5. Ассеты для Unity от kripto289 — крутые наборы эффектов.
  6. Наборы от Polygon Blacksmith — прикольные низкополигональные модельки.
  7. Ассеты от Manufactura K4 — убойные наборы окружения для игр с видом сверху.
  8. Mesh Baker — инструмент оптимизации 3D-сцен.

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

Лучшие бесплатные Assets для Unity:

  1. Hand Painted Forest Environment Free Sample — отличный набор рисованных лесных текстур.
  2. Ассеты от Polygon Blacksmith — среди них есть несколько бесплатных.
  3. Palace of Orinthalian — неплохой набор с домиком на болоте.
  4. Unity Recorder — позволяет записывать видео игрового процесса в Unity.
  5. Zenject Dependency Injection — инструмент (фреймворк) для управления зависимостями в Unity-проекте.
  6. UniRx — реактивное расширение для реализации асинхронных и многопоточных вычислений.
  7. Unity Anima2D — официальный плагин с открытым кодом (C#) для движка версии 5.x и выше. Упрощает создание и редактирование 2D-анимации, в том числе за счет привязки спрайтов к скелету («костной анимации»).
  8. Free Asset — 2D Handcrafted Art — пакет двухмерных спрайтов окружения.
  9. Free Rocks — набор из четырех камней и одной скалы для создания окружения.
  10. Mega Fantasy Props Pack — набор объектов для средневекового игрового окружения.

Также советую обратить внимание на бесплатные ассеты для Unity 3d и не только от Unity Technologies: они очень крутые и заслуживают внимания. Лучше скачать все, что у них есть, а затем пробовать и разбираться.

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

— Насколько легко или трудно создавать и продавать свои наборы ресурсов для Unity? Если эта тема тебе знакома и интересна.


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

Один из моих учеников (ему 16 лет) уже нарисовал несколько наборов спрайтов. Думаю, это под силу любому, кто действительно поставил перед собой цель. Главное — качество. Если ты предлагаешь интересные и ходовые ассеты, решаешь задачи, с которыми сталкиваются многие разработчики, — все будет отлично.

— Какие проекты делают студенты факультета разработки игр в GeekUniversity?

— Один из проектов, которые «выстрелили», — коммерческий продукт для застройщиков от команды Project X. Приложение позволяет в виртуальной либо смешанной реальности прогуливаться по земельным участкам, чтобы планировать будущее расположение дома и объектов. Ребята уже нашли инвестора и начали восполнять свои затраты на обучение. Кстати, эта команда набирает студентов на подработку.

Игровые проекты — очень разноплановые. Здесь и уникальный пошаговый 2D-платформер, и железнодорожный survival-action с элементами экономической стратегии. Обе вещи — в постапокалиптическом антураже.

Атака на поезд в игре The Last Hope от команды Limerence Games

Также есть оригинальный tower defence про котиков и фэнтезийный roguelike, где надо вырезать орды нечисти и прокачивать свою крепость.

Арт врага из «рогалика» Tomorrow’s Hero от команды Brave Team

Как правило, мы ориентируем студентов на создание собственной студии и поиск издателей. В такой ситуации разработчику часто приходится переступить через свое эго и писать мобильные приложения. Это кратчайший путь, потому что мобильные решения на Unity в России пока востребованы больше, чем десктопные. Но я никогда не призываю студентов браться за неинтересное для них дело. На курсе командной разработки в GeekUniversity ограничений нет: здесь разрабатывают игры и приложения как для мобильных платформ, так и для PC.

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

— Ты рассказываешь как человек, вовлеченный во все это. Как строится твое взаимодействие со студентами?

— Во время командной разработки студентов поддерживают сразу три преподавателя: Роман Муратов помогает с code review и архитектурой проекта, гейм-дизайнер подсказывает, как сделать игру интересной, а я выступаю в роли project manager’а и слежу, чтобы получился минимально жизнеспособный продукт, который можно показать инвестору. Еще я рассказываю, какие фичи стоит и не стоит делать, что можно и нельзя говорить инвестору, как правильно построить презентацию для лиц, принимающих решение.

Мастер Йода рекомендует:  PHP4 или ASP.NET - что лучше

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

— Да. Чтобы раньше времени не искушать ребят мультиплеером, его изучение начинается уже после командного проекта. Я специально так сделал, потому что создание многопользовательской игры требует особых навыков. Проект нужно грамотно спроектировать, чтобы игровой процесс был интересным, честным и уникальным. Даже если взять за основу чужую игру и попытаться скопировать, возникнет куча проблем. Кроме того, нужно уметь писать и оптимизировать сетевой код.

— Что еще губит игровые проекты?

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

Пожалуй, 3D-графика — самое страшное, что может случиться с проектом. Когда наша студия взялась за трехмерную игру, мы рассчитывали на самый аскетичный набор контента: вид локации сверху и персонажи — всё. В игре нельзя перемещаться по уровню, исследовать его и произвольно двигать камеру. Тем не менее тащить этот проект нелегко, потому что мы не можем делать контент. В команде шесть художников, но все «тридешники» разбежались. Полный цикл создания одной 3D-модели, включая работу аниматоров, стоит около 150 000 ₽. И все же мы преодолеваем трудности — совсем чуть-чуть и доведем игру до релиза.

Кстати, по итогам наших проб и ошибок я скоро опубликую на «Пикабу» статью: почему не стоит делать 3D-игру, если у вас нет лишнего миллиона в кармане.

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

— Какие YouTube-каналы и ленты в соцсетях стоит отслеживать изучающим движок Unity?

— Из YouTube советую:

Из групп «ВКонтакте»:

А еще на «Пикабу» есть «Лига разработчиков видеоигр» — на их сообщения тоже стоит подписаться.

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

— Спасибо! Последний вопрос, как всегда, к читателям. Что еще вы хотели бы узнать по теме? И есть ли у вас планы делать свою игру на Unity?

Скоро опубликуем обзор проектов, над которыми работают студенты GeekUniversity, — с артами, скриншотами и комментариями авторов.

Unity — бесплатный инструмент для создания контента в 2D и 3D

Автор: Dmitry Mardarovsky · Опубликовано 26.05.2020 · Обновлено 29.05.2020

Unity — это приложение, с помощью которого можно разрабатывать 2D или 3D приложения и игры. Для разработки необязательно знать какой-либо язык программирования. Сам инструмент работает под операционными системами Windows, macOS, Linux, а разработанный с его помощью контент можно запускать под Windows, macOS, Android, Windows Phone, iOS, Linux, на приставках Wii, Plastation, xBox и др.

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

Итак, каким образом мы можем использовать Unity для elearning, дистанционного онлайн обучения?

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

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

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

В-четвёртых, с помощью Unity вы сможете перевести обучение в мир виртуальной и дополненной реальности, как это делают самые продвинутые компании по всему миру!

В-пятых, Unity позволяет перейти от индивидуального обучения к коллективному за счёт курсов (игр) с мультиплеером и нетворкингом.

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

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

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

Итак, как одну из альтернатив стандартным приложениям для разработки электронных курсов можно рассмотреть Unity. Во-первых, это бесплатно, что позволит вам самостоятельно оценить возможности движка. Во-вторых, возможности Unity значительно шире, чем Storyline, Captivate или CourseLab, хотя время на освоение функционала всё же потребуется. В-третьих, кроссплатформенность самого инструмента и возможность портировать полученный продукт на любую ОС и любое устройство позволяет создавать решения за пределами любой СДО (а при необходимости вы можете привлечь специалиста, который поможет выгружать результаты прохождения полученного курса в СДО или программы учёта результатов работы и обучения персонала).

Основы разработки игр на Unity

от 6 до 10 часов в неделю

понадобится для освоения

3 зачётных единицы

для зачета в своем вузе

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

О курсе

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

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

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

Формат

В состав курса входят видеолекции, видеопрезентации, интерактивные формы обучения в формате видеоконференций. Длительность курса составляет 10 недель. Трудоемкость курса – 3 зачетные единицы. Средняя недельная нагрузка на обучающегося – 10 часов.


Информационные ресурсы

Для изучения языка C#

Для изучения языка Unity:

Требования

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

  • ЗНАНИЯ:
    • на уровне представлений:
      • основы создания приложения в Unity;
      • инструментальные средства Unity;
      • основные методы языка C#;
  • УМЕНИЯ:
    • теоретические:
      • механизм использования сторонних скриптов для собственных приложений;
    • практические:
      • настраивать рабочую среду Unity;
      • создавать и использовать объекты prefabs;
  • НАВЫКИ:
    • организовывать взаимодействие объектов игрового мира.

Программа курса

Тема 1. Введение в разработку игр

Основы разработки игр. Обзор редактора Unity. Проекты, сделанные с помощью Unity. Создание игр в режиме 2D и 3D. Создание игр без навыка в программировании.

Тема 2. Работа в редакторе Unity

Установка Unity. Интерфейс Unity. Настройка рабочего пространства. Работа с ассетами. Примитивные модели.

Тема 3. GameObjects. Физика. Скриптинг

Игровые объекты GameObjects. Шаблоны игр от Unity. Создание 2D игры за 10 минут. Физика в Unity 2D. Скриптинг.

Тема 4. Начало создания 2D игры — Space Attack

Создание фона для игры. Космический корабль. Написание скрипта. Управление игровым объектом. Рефакторинг кода.

Тема 5. Экзамен и практика

Тема 6. Работа с лазером

Настройка лазера. Взаимодействие с объектами. Уничтожение объекта. Пустой трансформ. Контроллер на сцене. Скрипт движения. Ускорение.

Тема 7. Объект Enemy

Поведение Enemy. Уничтожение объекта. Попадание через коллизию. Поведение объектов при взрыве. Уклонение от нападений.

Тема 8. Создание пользовательского интерфейса

Знакомство с Unity UI. Установка UI Manager. Отображение количества очков. Окно перезапуска игры. Рефакторинг кода.

Тема 9. Сборка игры

Добавление аудио. Обработка ошибок. Сборка игры. Запуск на устройствах.

Тема 10. Экзамен и практика

Результаты обучения

  • Знание на уровне представлений алгоритмов, методов и средств обработки информации, применяемых при анализе научно-технической информации, отечественного и зарубежного опыта по тематике исследования.
  • Знание на уровне представлений основ объектно-ориентированного программирования, синтаксиса языка программирования C#.
  • Знание на уровне воспроизведения инструментальных средств разработки, доступных у платформы Unity.
  • Знание на уровне воспроизведения назначений и основных свойств стандартных элементов Unity.
  • Умения теоретические собирать эмпирический материал, опираясь на современные источники, осуществлять сбор, анализ научно-технической информации, отечественного и зарубежного опыта по тематике исследования.
  • Умения практические реализовывать базовые алгоритмические конструкции на языке программирования C#.
  • Владение навыками самостоятельного проведения библиографической работы с привлечением современных электронных технологий.
  • Владение навыками работы с интегрированной средой разработки, которая позволяет реализовывать разработку проекта.

Формируемые компетенции

09.03.02 Информационные системы и технологи

  • способность использовать архитектурные и детализированные решения при проектировании систем; проводить выбор исходных данных для проектирования информационных систем, проводить сборку информационной системы из готовых компонентов, адаптировать приложения к изменяющимся условиям функционирования (ПК-2);
  • способность использовать архитектурные и детализированные решения при проектировании систем; проводить предпроектное обследование (инжиниринг) объекта проектирования, системный анализ предметной области, их взаимосвязей, проводить выбор исходных данных для проектирования информационных систем (ПК-4);
  • способность проводить выбор исходных данных для проектирования информационных систем (ПК-12);
  • способность применять математические методы для решения практических задач (ОК-10).

09.04.02 Информационные системы и технологии


  • способностью осуществлять сбор, анализ научно-технической информации, отечественного и зарубежного опыта по тематике исследования (ПК-7);
  • умение проводить разработку и исследование методик анализа, синтеза, оптимизации и прогнозирования качества процессов функционирования информационных систем и технологий (ПК-9);
  • способность воспринимать математические, естественнонаучные, социально-экономические и профессиональные знания, умением самостоятельно приобретать, развивать и применять их для решения нестандартных задач, в том числе в новой или незнакомой среде и в междисциплинарном контексте (ОПК-1);
  • способность анализировать и оценивать уровни своих компетенций в сочетании со способностью и готовностью к саморегулированию дальнейшего образования и профессиональной мобильности (ОПК-3).

Посоветуйте источник для изучения unity

На данный момент изучаю c #, основы уже знаю. Хочу начать изучать unity, но дельных курсов найти не смог. Посоветуйте пожалуйста какой-то источник, где можно углубленно изучить unity

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

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

Всего станет больше.
Игры, которые у нас не переводят.
Книги, фильмы, сайты и многое-многое другое.

Выпендрюсь и ляпну, что курсы русского языка тоже кое-кому не помешают 🙂

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

Достаточно будет тех. английского. И базовой документации по Unity что бы начать.

Плюсую. Ещё надо пройти курсы по китайскому — они делают в Unity весьма продвинутые вещи.

Официальный способ это гайды на сайте, там реально очень много инфы. И недавно выпустили новый курс для разного уровня знающих шарпы. Вот я этот курс сейчас изучаю — мне нраица.
https://learn.unity.com/project/beginner-gameplay-scripting
Ещё вот видос от самих юнити под которым туча ссылок — там 3 набора ассетов, для рпг, шутера и паззла, внутри которых лежит гайд для каждого набора
https://www.youtube.com/watch?v=fyvH-qaV8rk
И ещё настоятельно советую канал Brackeys, и, в частности, плейлист по ссылке
https://www.youtube.com/watch?v=j48LtUkZRjU&list=PLPV2KyIb3jR53Jce9hP7G5xC4O9AgnOuL

спасибо, очень помог

«You know, coding in Unity is easier than you think.» — Udemy 😀

Where is my fun

Если человек задает подобные вопросы, лучшая рекомендация — не изучать юнити. Говноигр и так слишком много

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

Where is my fun

К большому сожалению не нормальная. Открываешь документацию — читаешь. Все.

К большому сожалению — нормальная 🙁 Помню, как я страдал, когда пытался найти в документации хоть что-нибудь полезное про рантайм-генерацию террейнов

Where is my fun

Это проблема не документации, а твоей реализации. В документации написана база, инструменты. Как ты их реализуешь — твои проблемы. Можно привести самый тупой пример — как изобразить воду. Можно сделать шейдер с разными картами. Можно использовать вертекс дисплейсмент. А можно тупо наложить 1 текстуру и заставить uv ездить с помощью скрипта. Все это исключительно задача реализации. А тупые видосики с ютуба, которые делаются для набора лайков способствуют разростанию и так безмерной прослойки мамкиных погромистов, которые все через одного думают СИЙЧАС ТА Я НАКОНЕЦ СДЕЛАЮ СВАЮ ПУБГ МОБИЛЕ И БУДУ ГРИСТИ БАБЛО ЛАПАТАЙ11!! после чего невозможно найти ни одной нормальной игры. Тот же самый брэкис, за которого тут некоторые топят. Посмотри на его игры. Это игры? Этот человек продает их за деньги. И благодаря поста наподобие этого, таких людей становится все больше.

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

Простите, а не подскажете, где вы нашли эту демку?

Спасибо большое, посмотрю.

Если человек задает подобные вопросы, лучшая рекомендация — не изучать юнити.

Почему? Что плохого в просьбе покидать уроки?

Говноигр и так слишком много

И что? Годных тоже немало.

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

Ничо, норм, всё норм )

На Udemy хорошие курсы от Бена Тристема.

И не про юнити, но рядом. Если уж занялся гейдевом, то моделлить тоже надо уметь, хоть немного. Поэтому лови годного чувака, умеющего в блендер:
https://www.youtube.com/user/AndrewPPrice/videos

Спасибо за хелп

прям курсов не знаю — есть смысл попробовать официальные туториалы Юнити — но вот несколько ютуб-каналов с неплохим наполнением:
https://www.youtube.com/channel/UCLyVUwlB_Hahir_VsKkGPIA/featured — автор пытается воссоздать некоторые механики из известных игр
https://www.youtube.com/channel/UCCHg9mt6Tu6f-WCF4gf5oyQ/featured —
https://www.youtube.com/channel/UCJKLCjeujQj-d3JjsbVtkJw/featured
различные имплементации логик через алгоритмы и немного шейдеров
https://www.youtube.com/channel/UCRk1LOnUli1FpLtZ9NMTrmg/featured — паренёк на примере механик из RTS показывает, как работает ECS
https://www.youtube.com/user/Brackeys/featured — упомянутый уже Brackeys в доступной и наглядной форме показывает, как делать платформер, шутер, как работает освещение, физика и другие интересные темы
https://www.youtube.com/user/Cercopithecan/featured — похож на Brackeys, но более математичен и больше углубляется в код
https://www.youtube.com/channel/UCq9_1E5HE4c_xmhzD3r7VMw — наверно, самый навороченный из всех упомянутых ютуберов, делает длинные туториалы про разные механики, зачастую завязанные на анимациях персонажей
и напоследок — мониторь Хабру по тэгу unity
https://habr.com/ru/hub/unity/
там можно найти немало полезных статей

Я могу сделать гайд, если нужно. Только по какой теме?)

Я делаю гайды по Unity. И «учебник» заодно пишу)

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

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

Вообще какие-либо гайды не от юнити — бесполезная трата времени. И это справедливо для любой области.

Позвольте с вам не согласиться — raywenderlinch.com содержит огромное количество отличных гайдов, а книги (которые сами по себе большие гайды) вообще выше всяких похвал. Ничего подобного в доках от Google и Apple не находил.

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

Дополню, в наш век — век неадекватных сроков разработки чтение доков может быть непозволительной роскошью. Так как не всегда доки дают достаточно контекста для решения какой-либо конкретной задачи.
А вуду-код, как правило, порождает нежелание глубоко погружаться в тему и изучать приципы хорошего кодирования.
Заметьте — я не поощряю обучение исключительно на туториалах, но при этом не считаю их абсолютным злом, просто нужно грамотно расставлять приоритеты скорость/качество и не забывать образовываться.
И вот популярный мем описывающий состояние индустрии софта в целом:

Потому рекомендую смотреть курсы и читать книги (на том же raywenderlinch есть и то и другое). А туториал — это просто способ разобраться в том, как решить какую-то конкретную маленькую задачу.

Сам предпочитаю всё исключительно на английском. Но на русском я нашёл, к примеру, вот этот плейлист уроков https://www.youtube.com/watch?v=m0sKo81DZME
А под эту https://www.youtube.com/watch?v=bSmACXYUyKY запись стрима я раза 3 очень сладко засыпал.

Я бы попробовал Unity Learn Premium, у них там просто over дофига контента на любой вкус от игр до визуализаций на движке + ответы на вопросы от сертифицированных экспертов.
Но это все рекламные заявления, сам не пробовал.
Также можете еще посмотреть бесплатные курсы на самом сайте Unity.
И еще Coursera — Game Development With Modern Platfroms — довольно неплохой курс
Udemy — курс по Unity, автор Ben Tristem (можно на распродаже, которая проходит почти каждую неделю взять его за 10-15$)

Мастер Йода рекомендует:  Как проверить, кто подключился к Wi-Fi-роутеру

Помогите советом начинающему разработчику.

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

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

П.с. Комменты для минусов, как заведено, прилагаются.

Дубликаты не найдены

Мой личный рецепт

Книга один — «Изучаем C#»


Книга два — «Unity в действии»

Книга три — «Unity 5.x Программирование искусственного интеллекта в играх»

Книга четыре — «Game character creation with Blender and Unity»

Книга пять — «Unity 5.x cookbook»

Книга шесть — «Unity game development essentials»

И практика, практика, практика.

Первые три имеют официальные переводы от наших издательств. Остальные пользую в оригинале.

Касательно C# могу добавить

C# 4.0 Полное руководство. 2011. Шилдт.Г — ищите самое последнее издание, что сможете.

Я в своё время читал эту, но учитывая, что сейчас актуален C# 6.0, наверняка есть более свежее издание..

вот ещё темка с актуальными книгами на киберфоруме: http://www.cyberforum*.ru/csharp-beginners/thread1565767.html

Ради интереса посмотрел первые две книги, связанные именно с Unity.

Книга два — «Unity в действии»
Книга три — «Unity 5.x Программирование искусственного интеллекта в играх»

Первая — совсем для новичков. Причём, не самый удачный подход к «обучению» в ней реализован. Ощущение, будто автор навыдёргивал информацию из официальных туториалов, и в процессе создания простых сцен пытается зацепить всё, чего коснулся в процессе. Неструктурировано и поверхностно.

А вторая и вовсе разочаровала.

Ожидал разбора основ и алгоритмов, а в итоге внутри только постановка задачи, код и краткое описание, что вообще произошло в предыдущем куске. Причём, сам код тоже на уровне «ну как-то так». Книжка-шпаргалка «Сделать чтобы переделать».

Остальные пока не смотрел (да и кого это вообще это волнует, ага).

Можешь по ним вкратце резюмировать формат изложения? Не хотелось бы тратить время на то, что и так знаешь.

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

Для начала почитай про язык C#. Не обязательно тонны книг, а базовую информацию, что да как в нём работает.

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

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

Дальше при создании первой игры придумываешь посложнее и снова делаешь. В этом весь секрет.

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

Еще стоит помнить, что в юнити3д лучше писать код так, что бы он не был в одном скрипте, а разбивать на части. Допустим код для кораблика игрока содержит функционал: считывание кнопок, движение/вращение кораблика, поиск цели, атака. Все это разделаешь по разным скриптам и добавляешь эти скрипты в редакторе на GameObject. Это одно из правил хорошего кода.

Так же уроки если и смотреть, то лучше на

По правилам хорошего кода есть, кроме шуток, вопрос: считается ли хорошим тоном не плодить MonoBehavior’ы без нужды? Или наоборот, считается хорошим тоном вставлять их везде, так как их потом просто добавлять к объектам?

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

Я думаю, что «плодить MonoBehavior» это хрень. Без MonoBehavior не получится добавить скрипт на игровой объект и потом в коде нельзя будет добавить/удалить компонент с игрового объекта. В общем смысл юнити теряется и возможно добавит гемороя в дальнейшем.

Но понятно, что если у тебя например есть класс с двумя полями (имя, картинка) для допустим элемента инвентаря, то смысла от MonoBehavior получается нет ведь он (класс) будет скорее всего создаваться в коде через «new». Так же даже юнити в консоле подсказывает, что не нужно MonoBehavior создавать через «new».

Возможно, где-то есть перечень правил хорошего тона для разработки именно для Unity?

и на хабре есть несколько статей, но они уже не свежие.

Действительно хороший вопрос, я бы тоже почитал об этом)

//вопрос: считается ли хорошим тоном не плодить MonoBehavior’ы без нужды?
Да пофиг вообще, если только ты не создаешь объекты в рантайме — тогда нужен ScriptableObject.
Может, гуру мобильной разработки возразят, но для PC вообще не важно, имхо.

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

Спасибо за ответ)

Ну..я учил юнити по ходу дела, по работе. Без книжек. Сейчас, 3.5 года спустя, могу написать свой Xcom:EW (чем и занимаюсь — скоро техдемо) 🙂
Имхо, книжки — не самый лучший подход в изучении таких вещей как unity. Но ютуб тоже не очень.

Например, хочешь сделать гонки — гуглишь «unity how to make car physics», «how to make collision for vehicle» и читаешь. и так по любому вопросу.
Со временем, будешь понимать как лучше организовывать архитектуру проекта — делай разные прототипы, разных жанров — это даст тебе скилл. Смотри как делают другие, елси живешь в Москве, Питере или где-то, где есть сходки Unity разработчиков — ходи туда. Там ты можешь получить ценный опыт от тех, кто могёт.

Советы по организации проекта:
0) Ты НЕ сделаешь игру мечты с первого раза. Забудь. Сделай минимум, 10 прототипов ДО того, как приступить. Самых разных — от шутеров до упрощенной леталки в стиле Elite:Dangerous. Бери понравившиеся игры и копируй их базовую механику.

1) Игра должна иметь ОДНУ точку входа (когда игра загружается, вся логика начинает инициализацию из одного скрипта. Создаваемые в рантайме обьекты, тоже НЕ должны использовать свои Start() — всегда вызывай на них свои функции вроде InitObject() или OnSpawned() )
2)НИКОГДА не используй Start() и Update() — забудь об этом говне как о страшном сне.
Единственный случай, когда Start() можно использовать — точка входа в игру.
Update() же — только, когда тебе нужно сделать процедурное движение , вращение и что-то подобное. Разумеется, это делается в отдельном скрипте(можно назвать, например, «ProceduralMovementActor» ), а затем, вызывается для нужных обьектов в сцене.
3) Используй singleton. Создай себе отдельный скрипт SignletonManager, в который укажи все нужые тебе объекты(в паблик поля скрипта), а затем, на инициализации игры — передай всем этим объектам ссылку на самих себя ИЗ этого скрипта.
4) Старайся разбивать логику на системы. Каждый система в отдельном скрипте.
5) Где можно — указывай ссылки на обьекты явно(перетаскивая в редакторе). Нет ничего хуже массового GetComponent()
6) Комментируй код. БОЛЬШЕ комментариев.
7) Используй C#
8) Если владеешь C++ — не забывай про DLL.
9) Используй Animator. На анимационные стейты можно и нужно вешать скрипты.
10) НЕ используй готовые решения из ассет стора(вроде fps controller) — пиши сам. Да, долго, но эато не придется делать костыли, чтобы обходить чужие баги.

Как-то так. Мой топ-10 «первое что пришло в голову из важного».
НУ и еще — делать игры ОЧЕНЬ долго и достаточно сложно. Я фигачу до 3х ночи после работы, мало сплю (6 — 7ч), уже около 6 месяцев+ и только только приближаюсь к техдеме(даже не к бете). Правда, пошаговая тактика — не очень простой жанр игр, но все равно, не надейся, что с чем-то другим(кроме, разве что, примитивного инди-платформера) будет проще.

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

Игровой движок Unity 3D. Курс обучения

1. Подготовка к работе

Где скачать Unity 3D

Скачать бесплатную рабочую версию Unity 3D можно на официальном сайте:

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

Программа занимает объем 1,1 Гб.

На момент написания статьи (август 2014 года) последняя версия программы v.4.5.2. Вся дальнейшая информация описана так же по этой версии игрового движка. За несколько лет существования Unity 3D его интерфейс не сильно изменялся, поэтому информация будет полезна и при работе с любой другой версией программы.

Как установить Unity 3D

Сама программа Unity 3D устанавливается очень просто через стандартную форму установщика программ Windows. Во время установки выбираем тип установки «бесплатная версия», указываем свой адрес почты (будет использоваться как логин для входа в программу), придумываем новый пароль.

Так же нам потребуются дополнительные программы для создания изображений и 3D-моделирования.

Unity поддерживает изображения форматов: jpeg, png, gif, bmp, tga, iff, pict.

Для начальных 2D проектов будет достаточно даже стандартного «Паинта». Paint – очень простая и удобная программа для создания изображений в формате .png. Единственный её недостаток – в ней нельзя рисовать изображения с прозрачными цветами (отсутствует альфа-канал). Для создания прозрачных изображений используем другую простую и бесплатную программу – Gimp.


Paint
Бесплатная. Входит в базовый комплект Windows.
Для включения программы: заходим в меню «Пуск», выбираем строчку «Все программы» — «Стандартные» — «Paint»
Gimp
Бесплатная программа.
Можно скачать по ссылке:
gimp.ru/download/gimp
(87, 7 мб)

Для более сложных изображений (лица героев, реалистичные текстуры) можно использовать профессиональные графические редакторы: Adobe Photoshop или Corel Draw. Но если вы не владеете этими программами, лучше обойтись без них. На обучение этим программам уйдёт много ценного времени, а если у вас нет предрасположенностью к рисованию, то такое обучение не даст никакого результата. Вас научат, где какие кнопки нужно нажимать для конкретного действия, а красиво рисовать вы сможете научится только самостоятельно, постоянно практикуясь. Лучше пока не рассеивать свои силы, и изучать только Юнити. Гораздо эффективнее будет использовать готовые наборы изображений из интернета и собственные пиксельные поделки в Паинте, а позже можно заказать графику у профессионального художника.

Adobe Photoshop
Профессиональная графическая программа
adobe.com/ru/products/photoshop.html
(Есть бесплатная пробная версия на 30 дней)
Corel Draw
Профессиональная графическая программа
coreldraw.com/ru/free-trials
(Есть бесплатная пробная версия на 30 дней)

В дальнейшем нам понадобится редактор 3D-моделей.

Unity поддерживает 3D-модели форматов:

mb, ma (Maya), max1 (3D Studio Max), jas (Cheetah 3D), blend (Blender ), 3ds (3D Studio).

Здесь вы можете выбрать на своё усмотрение любую программу, где готовые 3D-модели можно сохранять в перечисленных форматах.

Что нужно знать для Unity 3D

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

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

— школьный курс геометрии (трехмерное пространство; оси Ox, Oy, Oz; координаты, проекции, названия фигур);

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

Это тот минимум, что позволит вам понимать текст самоучителя. Так же есть требования, которые не обязательны, но если они имеются, то существенно ускорят процесс вашего обучения:

— принципы объектно-ориентированного программирования (ООП);

— знание одного из языков программирования;

— знание одной из программ 3D-моделирования (объекты, модели, материалы, текстуры).

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

Чем руководствоваться

Внутри самой программы Unity 3D весь интерфейс только на английском языке. Именно поэтому у большинства пользователей возникают трудности с изучением Юнити.

— На официальном сайте Unity 3D уже работают над созданием справки на русском языке, но внутри самой программы русификация не планируется. Что-то уже можно почитать: Unity3D.com/ru/learn. Но этой информации недостаточно.

— Очень много информации есть на русскоязычном форуме Unity3D.ru. Но формат форума подразумевает, что информация плохо структурирована, и если вы ищете что-то конкретное, то искать придётся очень долго. Форум лучше использовать для задания конкретных вопросов, возможно, кто-то из участников сможет дать вам полезный ответ.

— На английском языке есть подробные видеоуроки на сайте WalkerBoyStudio.com. Всё просто, доходчиво, последовательно и структурировано. Разобраться можно и без знания языка, если просто повторять в программе все действия из видеороликов. В таком случае, вы научитесь что-то делать, но до конца не будете понимать, что вы делаете.

— Есть простой и доходчивый самоучитель «Unity Game Development Blueprints» от автора John P. Doran. Но опять же, для его прочтения нужно знать английский язык.

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

1) на русском языке, но с английскими терминами из интерфейса;

2) с детальным описанием, чтобы помочь в любой ситуации, но с хорошей структурой, чтобы легко и быстро можно было найти нужный раздел;

3) с теорией для общего понимания, и с практическими примерами для получения опыта разработки игр.

Делаем игру на Unity за 6 уроков

Unity 5 — популярный инструмент для создания игр для iOS, Andro > Начать изучение

Что это за курс такой

Бесплатно научим разрабатывать игры

Курс сделан бесплатным, чтобы больше людей верили в свои силы и осознавали свои возможности. Вы можете стать разработчиком вне зависимости от местоположения. Всё, что нужно — компьютер и интернет.

Быстрый способ стать разработчиком

С этим курсом всего за 6 занятий вы сможете самостоятельно создать свою собственную игру: различные уровни, враги, сбор очков — всё включено.

Почему стоит научиться работать с Unity

Unity — самый популярный движок для создания игр в мире. Его используют мировые гиганты типа Blizzard, Disney, NASA наравне с indie-разработчиками.

  • Unity используют более 47% разработчиков игр во всем мире
  • С помощью Unity можно развернуть приложение на 20+ платформ всего одним кликом — публикуйте свою игру везде.
  • Визуальный редактор Unity легок в использовании и позволяет избежать возни с программированием.

Огромное сообщество в сети готово помочь, а официальные представители Unity Technonogies окажут профессиональную поддержку.

Программа курса

01 | Как установить Unity 5

02 | Создание персонажа

03 | Настройка физики в платформере

04 | Как собирать предметы в платформере

05 | Переключение сцены в Unity

06 | Как собрать игру на Unity под Universal Windows Platform

Как создать простую 2D-игру на Unity

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

Unity — это движок для создания игр в 2D и 3D. Он позволяет в несколько раз ускорить разработку, потому что берет на себя огромную часть задач программиста:

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

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

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

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

Как установить Unity

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

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

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

Запустите установщик и следуйте инструкциям. Кроме самого движка, вам предложат установить Microsoft Visual Studio — интегрированную среду разработки. Она предоставляет лучшие возможности по работе со скриптами в Unity, но занимает много места на диске.

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

Когда установка завершится, пора приступать к разработке своей первой игры.

Как создать проект в Unity

Для начала запустите Unity и нажмите кнопку New или New project.

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