Обзор игрового движка Unity3d
Unity3D — кросплатформенный игровой движок от компании Unity Technologies. История создания движка довольно интересная и поучительная. Интересная, потому что двое парней захотели сделать игру, но для этого им не подходили существующие инструменты. И они решили сделать свой движок, а потом уже делать на нем игру.
И после того, как они сделали движок, они поняли, что им не так-то и интересно делать игры, а больше нравится заниматься непосредственно движком. Так и началась история одного из самых известных и мощных движков. А поучительная эта история потому, что никогда не знаешь, чем обернется то или иное начинание. Но мы немножко отошли от темы. Возвращаемся к движку.
Юнити — бесплатный движок. Ограничение — при запуске игры показывается логотип Unity. Купив расширенную версию, вы избавитесь и от логотипа. Бесплатность движка — это то, что привлекло многих к разработке игр на нему. Взгляните на официальное видео движка, что на нем делают.
Учим Unity за 1 час! #От Профессионала
Как создавать игры в Unity?
Юнити использует компонентно-ориентированный подход. Все в игре — это обьект, куда добавлены различные компоненты. Например, если мы делаем платформер, мы добавляем GameObject, и к этому GameObject добавляем графический компонент (для отрисовки игрока) и компонент управления (чтобы можно было управлять игроком клавиатурой или мышкой). Таких различных компонентов можно добавить любое количество к любому GameObject. То есть, создание игры в Unity — это добавление GameObject-ов, и добавление им нужных компонентов.
Пусть вас не обольщает кажущаяся простота этого процесса. Чтобы сделать что-то нетривиальное, вам придется писать свои компоненты. В терминах Юнити они называются скриптами. Пишутся они на языке C#. Также есть JavaScript и Boo(урезанная версия Python), но реально используется лишь C#. Написание своих компонентов — это довольно сложное занятие. Фактически, это обычное программирование.
Так что без знания какого-либо языка программирования вам придется туго.
Для чего подойдет и для чего нет
Unity — хороший выбор для создания средних по сложности проектов как для ПК, так и для мобильных устройств. Большое количество готовых ассетов, включая скрипты, очень этому помогает. Ну и большое сообщество — это тоже хорошо, вам помогут решить какой-либо затык, если он возникнет.
Если же вы делаете маленький проект — какой-либо кликер или что-то наподобии этого — задумайтесь, возможно, Unity будет слишком большим монстром для этого. Присмотритесь в сторону движков попроще — тот же LibGDX.
Ну и если вы делаете огромный проект AAA-класса, Unity тоже может быть проблемой. Сама по себе идея со скриптами хороша, но довольно медленна. Ну и язык C# — интерпретируемый. Несмотря на все JIT-оптимизации, он медленней за какой-нибудь C++. Сотни обьектов на сцене из сложными компонентами могут убить производительность.
Поэтому для огромных проектов хорошим выбором может стать CryEngine, например.
Впрочем, все зависит от кривизны рук программиста. Толковые люди создавали на Unity большие проекты с хорошей производительностью. Правда, им приходилось много чего перепиливать в движке под себя. Так что, делая что-то грандиозное, будьте готовы погрязнуть в деталях движка.
Действительно большим командам за отдельные деньги Unity Techologies предоставляет исходный код Unity, так что на крайний случай можно покопаться в исходниках, и что-то там поправить. Но опять же — все это имеет смысл лишь в случае огромных проектов.
Поддерживаемые платформы
Один из козырей Юнити — это список поддерживаемых платформ, где может запускаться приложения. Unity работает почти везде — на ПК (все операционные системы), на Андроид, на iOS, на SmartTV, в браузере, на различных экзотических системах — например, Tizen OS. Правда, не обошлось без ложки дегтя.
Если вы работаете с чем-то специфическим, например, низкоуровневый доступ к железу в том же Андроиде — будьте готовы писать часть кода на Java, потом компоновать все это с Юнити. Аналогично с iOS. Также, собрать приложение под iOS можно лишь из-под MacOS X. То есть, не имея Макбука или чего-то похожего, игру на iOS вы так просто не выпустите. Это не недостаток Юнити, это ограничение Apple.
Но ситуация именно такая. Так что в случае, если вы ориентируетесь на iOS — позаботьтесь о среде сборки вашей игры.
Как и где разработать игру на движке
Что касается процесса создания игр, то здесь либо Windows, либо Mac OS X. Есть экспериментальные сборки редактора под Linux, но пока что они довольно глючные. Все создание игры происходит в редакторе Unity, редактирование кода скриптов можно делать либо в MonoDevelop (идет по умолчанию), либо использовать сторонний редактор. Многие используют Visual Studio. Некоторые настраивают для этих целей Sublime Text.
Сила ассетов и комьюнити
Мощный плюс Юнити — это ассеты. Все в игре, включая код, картинки, представляется ассетам (Asset). Ассеты можно экспортировать, импортировать. Таким образом, сторонние разработчики могут делать целые заготовки для игр. Все, что вам останется — это заменить картинки, подправить скрипты — и можно релизить игру. Опять-таки, все не так просто, дьявол кроется в деталях.
Различные ассеты могут быть несовместимы между собой как в прямом смысле, так и не подходить по стилю. Но это уже детали.
Есть специальный онлайн-магазин — Unity Asset Store. Там продаются готовые ассеты от сторонних разработчиков. Любой желающий может сделать свой ассет, и выложить его в продажу в этом магазине. Некоторые люди сделали на этом целый бизнес, благодаря большому рынку Unity-пользователей. Также важный момент, что магазин доступен прямо из редактора Unity.
То есть, добавление новых ассетов максимлально упрощается. Вы заходите в магазин, кликаете на нужный ассет, и он сразу закачивается и добавляется в ваш текущий проект. Быстро и удобно.
Следующей крутой фишкой является комьюнити. Оно огромное. Если у вас есть какой-то вопрос, скорей всего, он уже много раз задавался, и столько же раз уже был решен. Поищите на профильных форумах, на StackOverflow. Почитайте частные блоги людей, что пишут игры на этом движке. Информации просто море.
А если же нашелся вопрос, на который вы не нашли ответа — задайте его на официальном форуме Юнити, и с большой вероятностью вы получите ответ в тот же день. Это огромный плюс движка по сравнению с другими. Вы не один, вам всегда помогут.
Недостатки
Конечно, есть и минусы. Первый недостаток — это медленная работа. Если сравнивать из другими движками, тот же LibGDX или Cocos2D-X, Юнити медленный. Я знаю, что у этих движков разные цели, и что Unity ориентирован на проекты покрупнее, и наворотов в Юнити больше, но факт остается фактом. Для маленькой 2D игры, какого-либо платформера, Юнити будет работать медленней, чем альтернативы.
Вы не заметите этого на ПК, но на мобильных устройствах это может быть заметно.
Следующее — это большой размер приложения. Большой — это значит, что если собрать пустой проект из настройками по умолчанию для Андроид, вы получите установочный файл порядка 20 мегабайт. Для ПК эта цифра будет порядка 100 мегабайт. Для больших проектов размером в гигабайты это не страшно, но вот для маленьких Андроид-игр, где вся графика и звуки занимают пять мегабайт, тянуть дополнительных 20 мегабайт может быть неприятно.
Еще один минус — это как бы не минус Юнити, но связан с ним. Ориентация на обьекты и скрипты, что прикреплены к этим обьектам, подталкивает разработчика создавать плохую архитектуру. Добавить новую возможность кажется таким простым делом. Всего-то написать скрипт, и прицепить его к обьекту.
Но с ростом проекта связи между скриптами и обьектами усложняются, и добавлять новые фичи становится все тяжелее и тяжелее, игра стает более медленной и глючной. Это чем-то напоминает ситуацию с Delphi и цеплянием обработчиков событий на кнопки. Знающие люди поймут. Кто не в теме — скажем так, это плохо для больших приложений.
Понятно, что и на Unity можно писать иначе, контролировать количество скриптов и связи между ними. Более того — большие проекты так и пишут. Но неопытные разработчики лепят скрипты на обьекты, а движок их не ругает за это.
Выводы
Если вы хотите написать свою игрушку, но не хотите сильно заморачиваться с изучением какого-либо языка программирования — Unity вам подойдет. Набросать обьектов, и связать их между собой получится и без знания языка программирования. В случае проблем большое сообщество вам поможет. Ну а если вы решите заняться играми серьезно, Юнити тоже будет хороший выбор. Как-никак, это полноценый мощный движок, в котором можно писать проекты AAA-класса.
Если вы пользовались Unity, пишите ваше мнение в комментариях. С удовольствием обсудим любые вопросы, которые вам интересны.
Источник: gamedevmania.ru
Воплощайте идеи
Узнайте, почему более 50% игр во всем мире делают с помощью Unity.
Архитектура
Опередите конкурентов, используя мгновенные визуализации и динамические обновления.
Автомобилестроение
Выведите дизайн на новый уровень, используя иммерсивный контент высочайшего качества.
Кино
Раскройте творческий потенциал с помощью привлекательных эффектов и мгновенного рендеринга.
Избранные продукты
Unity Pro
Инструменты, поддержка и ассеты для быстрого и качественного выполнения проектов.
- Поддержка публикаций на разных платформах
- Приоритетное обслуживание клиентов
- Приоритетный доступ к консультантам по успеху
Unity Gaming Services
Разработайте собственную онлайн-игру на единой модульной платформе:
- Создайте основу для своей игры
- Сделайте игру интереснее для пользователей
- Привлекайте новых пользователей и развивайте мобильную игру
Все необходимое для успеха
Unity — это гораздо больше, чем лучшая в мире платформа разработки в реальном времени; это еще и надежная экосистема, созданная для достижения вашего успеха. Станьте участником нашего динамичного творческого сообщества, чтобы получить все необходимое для воплощения ваших идей.
Unity Learn
Развивайте навыки работы в Unity с помощью онлайн-занятий и обучающего контента общей длительностью более 750 часов, специально разработанного для любителей и профессионалов всех уровней.
Asset Store
Обеспечьте успешный старт проекту и доберитесь до финиша быстрее с помощью постоянно растущего каталога бесплатных и платных ассетов и инструментов.
Документация
Узнавайте о новых функциях и рабочих процессах Unity, а также о том, как создавать и использовать скрипты, с помощью нашей подробной и хорошо организованной документации.
Gaming Services
Все, что вам нужно для создания, поддержки и развития игры. Откройте новый уровень с проверенными сервисами для каждого этапа разработки.
Made with Unity
Читайте вдохновляющие истории творцов, выбравших Unity для реализации своих проектов.
Praey for the Gods
Разработчик: No Matter Studios
Игра на выживание в огромном зимнем мире от небольшой талантливой студии.
Childish Gambino, Wolf + Rothstein и MediaMonks
Познакомьтесь с мистическим миром Childish Gambino в первой многоплатформенной и многопользовательской музыкальной игре с дополненной реальностью.
Как создать настраиваемую машину с Unity HDRP
Разработчик: Edward Martin
Взгляд на механизмы рендеринга в реальном времени для автомобильной промышленности.
Вместе мы сможем вдохновлять творцов во всем мире
Присоединитесь к международной команде, стоящей за самой мощной платформой разработки в реальном времени в мире.
Создавайте невероятные возможности
Максимальный охват аудитории благодаря поддержке более 25 платформ и технологий.
Решения для больших команд и достижения больших целей
Наши решения для компаний предоставляют крупным командам и компаниям в любой отрасли все необходимое для создания потрясающих 3D-проектов в реальном времени.
Социальная
- Legal
- Privacy Policy
- Cookies
- Do Not Sell My Personal Information
- Настройки файлов cookie
Unity, логотипы Unity и другие торговые знаки Unity являются зарегистрированными торговыми знаками компании Unity Technologies или ее партнеров в США и других странах (подробнее здесь). Остальные наименования и бренды являются торговыми знаками соответствующих владельцев.
Мы используем cookie-файлы, чтобы вам было удобнее работать с нашим веб-сайтом. Подробнее об этом можно узнать на странице, посвященной политике использования cookie-файлов.
Источник: unity.com
Unity User Manual 2021.1 (beta)
Use the Unity Editor to create 2D and 3D games, apps and experiences. Download the Editor at unity3d.com.
The Unity User Manual helps you learn how to use the Unity Editor and its associated services. You can read it from start to finish, or use it as a reference.
If it’s your first time using Unity, take a look at the introductory documentation on Working with Unity, and see the Unity Tutorials.
New
- Features introduced in 2021.1: Details to come
- Upgrading Unity projects from older versions of Unity: Upgrade Guide
Packages
- Learn about packages: Working with the Package Manager
- Find documentation for a specific package: Verified packages and Preview packages
- Learn how to build a custom package: Creating custom packages
Unity User Manual sections
Working in Unity
A complete introduction to the Unity Editor.
Unity 2D
All of the Unity Editor’s 2D-specific features including gameplay, sprites and physics.
Graphics
The visual aspects of the Unity Editor including cameras and lighting.
Physics
Simulation of 3D motion, mass, gravity and collisions.
Networking
How to implement Multiplayer and networking.
Scripting
Programming your games by using scripting in the Unity Editor.
Audio
Audio in the Unity Editor, including clips, sources, listeners, importing and sound settings.
Animation
Animation in the Unity Editor.
UI
User interface toolkits available in the Unity Editor.
Navigation
Navigation in the Unity Editor, including AI and pathfinding.
Unity services
Virtual reality
Contributing to Unity
Suggest modifications to some of the Unity Editor’s source code.
Platform specific
Specific information for the many non-desktop and web platforms you can make projects for with the Unity Editor.
Legacy topics
Useful if you are maintaining legacy projects.
Дополнительные источники информации
- Unity Answers or Unity Forums — here you can ask questions and search answers.
- The Unity Knowledge Base — собрание ответов на вопросы, направленные команде технической поддержки Unity.
- Tutorials — step by step video and written guides to using the Unity Editor.
- Unity Ads Knowledge Base — a guide to including ads in your game.
- Asset Store help — help on Asset Store content sharing.
Известные вопросы
Какая-то фича работает не так, как вы ожидаете? Сообщение об этом уже может присутствовать в нашей базе. Проверьте Issue Tracker issuetracker.unity3d.com.
Источник: docs.unity3d.com
Чем так хорош движок Unity?
И крупные компании, и небольшие студии, разрабатывающие игры, часто применяют в своей работе UNITY. На самом деле это даже не движок, а готовая среда, предназначенная для разработки компьютерных игрушек. В составе этой программной среды собраны различные программные продукты, например, отладчик, компилятор, которые потребуются создания игрушек.
UNITY, может работать под управлением более чем двадцати операционных систем, комфортность использования, все это позволяет игровых дел мастерам создавать приложения для широкого круга ОС и игровых платформ и тем самым расширяя круги игроков. Во-первых, движок Unity3D обеспечивает возможность разрабатывать игровые программы, не обладая особенными знаниями.
В этой среде использован компонентно-ориентированный подход, с его помощью игродел может создать объект, например, основного героя. Кроме этого, он может добавлять разные элементы. Это может изображение основного героя и методы контроля над ним.
В UNITY3D использован Drag https://appfox.ru/blog/preimushestva-dvizhka-unity/» target=»_blank»]appfox.ru[/mask_link]