• Что можно приготовить из кальмаров: быстро и вкусно

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

    Версии

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

    Лицензии дополнений подходят только для версий Unity c такой же основной версией, например 3.х и 4.х. Если вы обновите Unity внутри основной версии, например с 4.0 до 4.1, то дополнения останутся.

    Активация

    Интернет активация - предпочитаемый метод генерирования вашей лицензии Unity. Но если у вас возникают проблемы, следуйте следующим шагам:

    1. Отключите ваш компьютер от сети, иначе у вы можете получить ошибку “tx_id_invalid”.
    2. Выберите пункт Manual Activation.
    3. Нажмите на Save License Request.
    4. Выберите доступную папку для сохранения, например папку Downloads.
    5. Заново подключитесь к сети и откройте https://license.unity3d.com/
    6. В поле файла нажмите Browse и выберите сохранённый licence request file.
    7. Выберите необходимый тип лицензии для Unity и заполните запрашиваемую информацию.
    8. Нажмите Download License и сохраните файл.
    9. Вернитесь в Unity и выберите Manual Activation если придётся.
    10. Кликните на Read License и выберите загруженный файл лицензии.

    Если у вас всё ещё есть проблемы с регистрацией или входом в ваш аккаунт пользователя, пожалуйста, свяжитесь с нами по адресу [email protected] .

    Не удаётся запустить

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

    Если вы получаете ошибки, связанные с записью на локальный диск, то проверьте разрешения вашей учётной записи. При использовании MacOS, учтите, что “root user” не рекомендуется и Unity ещё не прошёл тестирование в этом режиме. Unity всегда должен обладать разрешениями на запись файлов в своих папках, но если вы устанавливаете разрешения вручную, то проверьте эти папки:

    • Папку с установленным Unity
    • %AllUsersProfile%\Unity (обычно C:\ProgramData\Unity)
    • C:\Documents and Settings\<имяпользователя>\Local Settings\Application Data\Unity
    • C:\Users\<имяпользователя>\AppData\Local\Unity
    • Содержимое пакета Unity.app
    • /Library/Application Support/Unity
    • ~/Library/Logs/Unity

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

    Шрифты

    Повреждённые шрифты могут вызвать падение Unity. Вы можете найти повреждённые файлы при помощи следующих шагов:

    1. Откройте каталог с шрифтами на вашем компьютере, расположенный в папке “Windows”.
    2. Выберите “Details” (Таблица) в меню “View” (Вид).
    3. Проверьте пункт “Size (Размер)” на наличие шрифтов с размером “0”, указывающий на проблемный файл.

      Запустите приложение Font Book.

      Выберите все шрифты.

      Откройте меню “File” (Файл) и выберите “Valiadte Fonts” (Проверить шрифты). Проблемные шрифты будут помечены как нерабочие.

      Удалите повреждённые файлы и переустановите их.

      Ресурсы системы могут быть ограничены, например, при работе в виртуальной машине. Используйте Диспетчер задач, чтобы найти процессы потребляющие много памяти.

    Испорченный проект или установка Unity

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

    В случае повреждения копии Unity, вам может понадобится переустановить Unity - смотрите инструкции ниже.

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

    Производительность и падения

    Если редактор работает медленно или падает, в частности на стадии сборки, это может происходить из-за того, что все доступные системные ресурсы уже используются. Закройте все другие приложения при сборке проекта. Почистите систему используя специализированные утилиты и сверьтесь с диспетчером задач (Windows) или Activity Monitor (MacOS), чтобы проверить, нет ли в системе процессов, использующих очень много ресурсов, например, памяти. Иногда антивирусы могут замедлять или даже блокировать файловую систему в процессе сканирования.

    Утрата проекта

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

    Переустановка

    Следуйте этим шагам для переустановки редактора:

      Удалите Unity. Если вы используете MacOS, перетащите приложение Unity в корзину.

      Удалите следующие файлы, если они есть:

      • Windows:
    1. %AllUsersProfile%\Unity\ (обычно C:\ProgramData\Unity)

      • MacOS:
        • /Library/Application Support/Unity/
    2. Перезагрузите компьютер.

      Скачайте последнюю версию с нашего сайта, т.к. возможно ваш установщик может быть повреждён: http://unity3d.com/unity/download/archive

      Переустановите Unity.

    Я видел много истерии вокруг Unity (десктоп окружения, а не графического движка). Многие люди предпочитают Убунте, скажем, Linux Mint, именно потому что там MATE. Или выбирают сборки Ubuntu с GNOME/Xfce, объясняя это только тем, что не хотят использовать Unity. Сам я пользуюсь Unity на протяжении последних пяти месяцев и нахожу ее просто прекрасной DE.

    Поначалу, само собой разумеется, было немного непривычно. Кое-какие вещи пришлось донастроить. Например, я сделал так, чтобы боковая панелька скрывалась, убрал отображение заголовков окон из верхней панели, настроил фильтры быстрого поиска, увеличил количество рабочих столов, и вроде еще какие-то мелочи , уже точно не помню. В результате все стало точно так же, как, скажем, в Xfce. Двигаешь окошки мышкой, сворачиваешь, разворачиваешь, между окнами переключаешься по Alt+Tab.

    Ну разве что вместо кнопки «Пуск» — панелька с наиболее часто используемыми приложениями. А те приложения, что используются редко, можно быстро найти по имени. На самом деле, это намного удобнее традиционного древовидного меню в стиле Windows XP.

    Потом пришло понимание, что в Unity есть много хоткеев. Подсказку по основным хоткеям можно посмотреть, нажав и подержав какое-то время клавишу Win. Перемещение окон, запуск приложений, переключение между приложениями и окнами, изменение размеров окон и так далее — в Unity все это можно сделать при помощи хоткеев. Если учесть наличие хоткеев у Google Chrome, Gnome Terminal, bash и IntelliJ IDEA , то мышки можно вообще не касаться.

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

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

    Плюс ко всему этому, поскольку Unity является DE по умолчанию для Ubuntu, с ним все сразу хорошо из коробки, а что не хорошо, можно один раз настроить и забыть. Для сравнения, когда я пользовался i3, мне приходилось руками настраивать переключение раскладки, запуск Dropbox, Network Manager и так далее. Флешки приходилось монтировать либо руками, либо специально запускать pcmanfm. После обновлений постоянно что-то отваливалось. И это я еще не вспоминаю о проблемах с отображением Gimp/Skype или работу с несколькими мониторами. А в Unity все работает, притом предоставляются такие же возможности. Удобно!

    Я еще могу понять людей, у которых пятилетнее железо, и поэтому им хочется чего-то легкого, типа того же i3 или Xfce. Ну или людей, которые уже сидят там под Mint, Fedora или SuSe. А так, не вижу причин не любить Unity. Может быть, просто я чего-то упускаю?

    30 декабря 2016 в 07:43
    • Unity ,
    • Разработка игр

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

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

    1. Пиши на UnityScript

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

    2. Не используй var

    Сами Unity запрещают это делать, да и вообще непонятно, какого типа переменная. Когда тебе скажут про подсказки IntelliSense - закатывай глаза, майкрософт головного мозга! Твой Notepad++ этого не умеет.

    3. Смешивай стили

    Ну а что? Сами Unity нарушают C# Style Guide и фигачат camelCase в пропертях, чем ты хуже? Если используешь MonoDevelop, не забывай периодически менять табы на пробелы и обратно. При этом говори всем, что в MonoDevelop «настройки слетели» - про этот баг все знают!

    4. Не пиши XML Doc комментарии

    Они засоряют файл, а твой код должен быть понятен без дополнительных комментариев. И вообще, твой Notepad++ не поддреживает это всё. Если меняешь сигнатуру чужого метода, не обновляй XML Doc - так чтение автодокументации будет веселее.

    5. Не используй namespace

    Писать using - слишком муторно, и вообще зачем это делать, если можно обойтись без этого. Все скрипты должны лежать в папке Script - так их проще находить по алфавиту.

    6. Связывай компоненты

    Чем больше связей - тем лучше! Каждый компонент должен ссылаться на каждый другой компонент - зато так проще! У твоего персонажа должна быть ссылка на противника, дверь, гейм менеджер, ХП бар на канвасе, на любые другие объекты на сцене. А иначе как с этим работать?

    7. Создавая референсы, прячь их через private GameObject myGameObject;

    Так твой референс можно будет отредактировать только через редактор, а в коде они мешаться не будут. Когда окажется, что что-то надо все-таки поменять через код, просто переделай private на public.

    8. Не используй паттерны проектирования, кроме singleton

    Когда тебе говорят про Dependency Injection или другие паттерны, закатывай глаза. Какие нафиг паттерны, тут тебе не энтерпрайз!

    9. GameObject.SendMessage - потрясающе удобный инструмент, используй его как можно чаще

    По возможности собирай название метода из нескольких строк - так твоим коллегам будет веселее искать, откуда вызвался метод!

    10. Используй UnityEvent везде, где это возможно

    Стандартные event"ы - это для лохов, тем более они не отображаются в инспекторе. Unity не зря придумали свои ивенты.

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

    11. Подписываясь на событие через AddListener, забывай прописать RemoveListener

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

    12. Кэшируй все компоненты на GameObject"ах

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

    13. Не используй свойства

    Свойства - это медленно, как вызов метода, а доступ к полю гораздо быстрее. Все преимущества свойств - выдуманы. Когда тебе кто-то начнет говорить про private set, обратную совместимость и необходимость рекомпиляции assembly в случае изменения поля на свойство, смотри на них как на дураков - какая еще компиляция, у нас геймдев а не энтерпрайз, мы тут dll не используем! И вообще, когда ты последний раз менял поле на свойство?

    14. Не используй foreach

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

    15. Не используй Linq

    Linq - это медленно, сложно, и вообще это майкрософт. For на 10 строк - это гораздо красивее (foreach мы же не используем - забыл?). Если кто-то посмеет написать Query Expressions, то смотри на него как на идиота - майэскюЭль с Юнити перепутал!

    16. Не используй строки

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

    17. Не используй Generics

    Дженерики - это медленно и сложно, а Generic Constraints - еще сложнее. Какая нафиг ковариантность и контравариантность? У нас Юнити, тут этого нет! Когда нужны классы с разным типом, храните имя класса в переменной и находите его с помощью Type.GetType().

    18. Не используй Coroutines без надобности

    Они не работают на неактивных объектах, и вообще, создают дополнительную нагрузку. Храни состояние в булевых переменных, и проверяй их в Update - так гораздо удобнее, ведь все собрано в одном месте.

    19. Как только выходит новая версия движка, ставь ее и закоммить папку ProjectSettings

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

    20. Не используй текстовую сериализацию ассетов

    Она тормозит редактор. Бинарная сериализация - это гораздо быстрее. Когда кто-то скажет про merge, закати глаза - он что, дурак, сцену мержить? Когда смержить нужно будет тебе, просто откати чужие изменения. Надо было говорить, над каким ассетом работаешь, что бы другие не трогали!

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

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

    Ядро игры

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

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

    Почему Unity?

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

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

    Преимущества Unity

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

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

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

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

    Минусы Unity

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

    Использование Unity

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

    Русский Unity

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

    Добавление скриптов

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

    С какими сложностями Unity сейчас сталкивается?

    Ну, допустим, нет никаких сложностей — перед нами стоят возможности. И возможностей сейчас больше, чем когда-либо. Все больше людей играют в игры. Появляется все больше новых платформ разработки. И все больше новых технологий, которые стимулируют творческий процесс. Есть ведь VR и AR, плюс к тому, Unity поддерживает уже 25 платформ, и это число растет. А еще у нас каждый месяц — по 1,5 млн разработчиков. Да, все непросто — но мы считаем, что перед нами не сложности, а возможности.

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

    Компания — лидер на рынке движков . Но ААА-проектов на Unity нет. Почему так получается, как считаете?

    А как насчет Firewatch или Hearthstone?

    Понимаю, к чему вы клоните.

    Пользователи не воспринимают Unity как движок для ААА-игр. Это такой «движок для всех». Может, в этом все дело. Ведь что такое ААА-тайтл — это игра, которая собирает хорошие отзывы и зарабатывает кучу денег. Это субъективное определение, но именно так многие воспринимают ААА. На самом деле, множество сделанных на Unity игр отвечают этим характеристикам. Все дело в том, что их так не воспринимают. Потому что наряду с такими играми выходит много других проектов, которые либо критику хорошую не собрали, либо денег не заработали, либо то и другое вместе. Такое, я считаю, происходит потому, что сообщество разработчиков на Unity очень большое. Есть производители движков, у которых аудитория не такая обширная. С их движками работает совсем небольшое число девелоперов. И так получается, что все эти разработчики — очень крутые. Поэтому люди считают, что на этом движке делают крутые игры. Когда у тебя 1,5 млн разработчиков, то кто-то из них делает отличные игры. Многие из них делают игры, которые собирают прекрасные отзывы. Так что все дело в том, что пользователи просто не воспринимают Unity как движок для крутых игр.

    Как считаете, это можно назвать минусом демократизации?

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

    По словам Девида Хельгасона , демократизация Unity будет считаться завершенной только тогда, когда игру сделать будет не сложнее, чем видео снять. Но ведь не каждый пользователь смартфона с камерой — Джеймс Кэмерон. И ни одно видео с YouTube пока «Оскар» не получило. Не боитесь, что такая демократизация занизит стандарты индустрии?

    Есть большая разница между инструментом для всех и инструментом для отдельных крутых профессионалов. Мы лучше будем движком для всех — и пусть творчество наших пользователей говорит само за себя. Наш движок вполне подходит для того, чтобы на нем делать ААА-игры. Я уже привел примеры. Это очень мощный движок. Он подходит профессионалам. Но и новичкам он тоже подходит. А результат всегда зависит от мастерства тех, кто его использует.

    Вот вам пример: можно посадить ребенка за руль «Феррари». И он, наверное, начнет очень медленно ездить или вообще разобьет машину. А можно за руль посадить гонщика «Формулы 1». И тогда он выиграет гонку. Все на той же «Феррари».

    К вопросу о мастерстве: у Unity стартовала программа сертификации девелоперов. Как по-вашему, такое нововведение не повысит порог входа в профессию для разработчиков?

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

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

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

    Портфолио.

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

    Давайте теперь поговорим о новых планах подписки. До того, как появились новые планы, у пользователя было три варианта: бесплатный (Unity Personal), подписка (Unity Pro) и бессрочная лицензия Unity Pro. На конференции в Амстердаме вы сообщили, что Unity «добавляет новые варианты оплаты лицензии». Но есть ощущение, что ничего не изменилось — по-прежнему есть подписка, есть бесплатная версия и есть бессрочная лицензия, которая теперь называется Pay to Own. Так что на самом деле поменялось?

    Версия Pay to Own немного отличается от бессрочной лицензии. У той не было окончания срока действия. Плюс к тому, работа с бессрочной лицензией строилась в два этапа. Вы покупаете движок и пользуетесь им. Но затем выходят обновления. И тут мы вам сообщаем, что за те деньги, которые вы уже заплатили, вы получаете еще и эти обновления. В случае с Pay to Own вы делаете предоплату и получаете право пользоваться движком в ближайшие 2-3 года. Как только договор истек, движок остается у вас. Но обновлений к нему вы не получите. В результате какие-то из новых сервисов у вас не заработают. Тут и заключается отличие от бессрочной лицензии: в случае с бессрочной лицензией у пользователя был доступ ко всем сервисам. И вплоть до того, как выходила новая версия движка, пользователь получал все обновления. А потом просто заново платил нам за новую итерацию. То есть подводя итог: похожа ли Pay to Own на бессрочную лицензию? Да. Но это не то же самое.

    А в чем вообще идея с Pay to Own и планами подписки? Зачем они понадобились Unity?

    Мы решили перейти на подписку сразу по нескольким причинам. Во-первых, так во всем мире сейчас происходит. Так что сама идея доступна и понятна большинству пользователей. И большинству тех, кто пока еще не принадлежит к нашим пользователям. Это широко известный вариант, в отличие от бессрочной лицензии. Поэтому тот вариант компанию не устраивал. Вторая причина — мы считаем, что подписка сочетается с тем, как у нас теперь будут выходить обновления. Раньше работа с Unity строилась вокруг крупных поэтапных апдейтов. Движок серьезно менялся — от 1 итерации ко 2, от 2 к 3, от 3 к 4, от 4 к 5. Теперь работа с Unity строится иначе. На протяжении последних 14 месяцев мы выпускали гораздо более плавные релизы. И к такому варианту как раз подходит подписка, поэтому мы на нее и переходим. Вторая причина нас возвращает к тому, о чем я уже упоминал. Нашим движком ежемесячно пользуется 1,5 млн людей на 25 платформах. И всем этим пользователям нужны самые передовые технологии. Рынок стремительно меняется — нельзя позволить себе ждать целый год, чтобы получить доступ к этим новым технологиям. Вот почему мы и переходим на подписку. Однако для некоторых пользователей переход нелегко дается. Для тех, кто до этого разрабатывал только для одной платформы, это непросто, поскольку цены выросли.

    Да, в Twitter полно таких вопросов! Люди, которые разрабатывали для одной какой-то платформы, раньше платили $75 за Unity Personal. А теперь им придется платить почти вдвое больше, и они, естественно, интересуются, почему так.

    Не вдвое больше, а плюс $50. Это не в два раза больше, чем раньше. Кроме того, их никто не заставляет платить. Можно же остаться на подписке за $75 вплоть до 2018 года. Так что время есть и у них, и у нас. У нас — чтобы придумать фичи, которые этим пользователям понравятся.

    А когда именно придется переключиться на новую модель подписки? Если, допустим, я 14 июня куплю Unity Pro за $75, мне придется платить $125 на следующий день (15 июня вступают в силу нововведения в планах подписки, — прим. редакции) ?

    Вы можете оставаться с Unity Pro вплоть до июня 2018 года.

    Что потом?

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

    А если я не хочу переходить на новую модель? Мою подписку отменят?

    Мы сейчас говорим о том, что произойдет через 23 месяца. За это время, думаю, наши пользователи увидят, какая от новых планов подписки польза. Может, в какой-то момент вам в голову придет мысль: «Неплохо бы портировать мою игру на другую платформу». Так что вы решите, что варианты подписки с большим количеством платформ вам вполне подходят. Это один из вариантов развития событий. Другой вариант — вы по-прежнему остаетесь на одной платформе, но за 23 месяца Unity создает кучу классных фич в области новых технологий, в области VR и AR. Поэтому вы в итоге соглашаетесь доплатить за них. Ну и третий вариант — ваша игра так и не заработала больше $100 тысяч, так что вы начинаете пользоваться версией Personal (чтобы пользоваться бесплатной версией Unity Personal, студия не должна зарабатывать в год больше $100 тысяч, — прим. редакции) . Просто придется смириться с тем, что там есть Splash Screen (На самом деле, не понимаю, почему разработчики не хотят ставить наше лого в игру. Тем более, раз движок бесплатный. Ведь ездят же люди на машине с лого производителя, и ничего!). Я описал оптимистичные варианты развития событий. Но есть и плохой вариант — вы по-прежнему остаетесь на одной платформе, новые планы подписки вас не устраивают, и деньги вы платить не хотите. Ну, в таком случае попробуем договориться. Или вы все-таки можете взять бесплатную версию.

    К слову о Unity Personal: чем этот план отличается от Unity Plus? У обоих планов есть ограничение по выручке, оба плана дают доступ к разным платформам. В чем разница?

    У Unity Plus есть дополнительные фичи. Набор ассетов из Asset Store, поддержка мультиплеера, приоритет в доступе к Cloud Build. А еще с этой подпиской пользователи получают месяц бесплатных занятий по программе сертификации Unity. Но мы посмотрим, как этот план примут пользователи. Послушаем отзывы. План будет меняться. Может, мы повысим ограничение по выручке или переделаем Splash Screen. Прислушаемся к нашим пользователям — мы всегда так делаем.

    Давайте про перспективы. За последние несколько лет рынок движков сильно поменялся. Unreal Engine стал практически бесплатным (не считая роялти, конечно). Crytek выложил код в открытый доступ. Amazon разрабатывает свой движок. И King тоже. Как Unity видит свое место на таком конкурентном рынке?

    Конкуренция — это полезно. В первую очередь для пользователей. Unity росла и продолжает расти. Существует огромное коммьюнити разработчиков, которое предпочитает именно Unity всем остальным движкам. И в этом — наша сила. Потому что если ты только начинаешь работать с движком, то хочешь учиться на чужом примере, хочешь, чтобы было где почерпнуть знания. Хочешь научиться, как по-максимуму использовать движок. И чем больше сообщество, тем проще достичь этих целей. Это сильная сторона Unity, и мы продолжаем ее развивать. Другим преимуществом движка является то, что он поддерживает огромное число платформ. Так что у пользователя Unity есть выбор. Ну и наконец мы постоянно инвестируем в новые технологии. К примеру, мы — лидеры в VR и AR. То есть мы не просто 2D-движок, не просто мобильный движок. Мы постоянно движемся вперед. А еще — мы бесплатные, по-честному, без дураков. Ну и, конечно, все, что мы делаем, так или иначе связано с демократизацией разработки.

    Кроме тотальной демократизации, какие у компании ближайшие цели? Вы уже выпустили Unity Ads и Unity Analytics, плюс к тому, превратили Unity из простого движка для игр в целую экосистему. Какой следующий шаг в завоевании мира?

    Демократизация разработки — это наша постоянная цель. Мы ее еще не достигли. Но мы продолжаем к ней идти сразу по многим направлениям. Вот мы на днях запустили Unity Connect — что-то типа портала для поиска работы. И это еще один пример того, как мы объединяем разработчиков между собой. Так что мы не пытаемся завоевать мир. Мы просто стараемся стать единственным вариантом для тех, кто творит в цифровом пространстве.

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