Представляем Unity 2019.1

Первый релиз TECH Stream в этом году — Unity 2019.1 — теперь доступен. Он включает в себя множество новых функций, готовых к производству, таких как компилятор Burst, легкий рендеринг-пайплайн (LWRP) и Shader Graph. Кроме того, есть множество нововведений для аниматоров, разработчиков мобильных приложений и графических экспертов, а также несколько обновлений, которые упрощают рабочие процессы проектов и упрощают задачи редактора.
В ближайшие несколько недель мы также выпустим версию Unity 2018.4 с долгосрочной поддержкой (LTS) для тех из вас, у кого проекты скоро будут выпущены, и кто хочет закрепить свое производство на надежной основе на длительный срок.
Unity 2019.1 включает в себя более 283 новых функций и улучшений. В начале этого поста вы найдете краткое содержание, а затем подробное описание основных новых функций. Если вы хотите установить и начать использовать Unity 2019.1, рассмотрите возможность начать загрузку (нажмите кнопку ниже или перейдите через Unity Hub), пока вы читаете этот пост.
В Unity 2018.1 мы представили скриптовый рендеринг-пайплайн (SRP) и Shader Graph в режиме предварительного просмотра. В Unity 2019.1 мы убрали метку «Preview» и рекомендуем использовать LWRP и Shader Graph для работы в производственной среде. Unity 2019.1 также предоставляет художникам дополнительные функции и поддержку платформ для GPU Lightmapper (Preview) и длинный список улучшений для High-definition Render Pipeline (HDRP, Preview) и Post-Processing Stack (Preview).
Еретик, новый короткометражный фильм команды Unity, удостоенной наград за демонстрацию своих возможностей, премьера которого состоялась на GDC. Демонстрация построена на Unity 2019.1 и использует возможности Unity Scriptable Render Pipeline (SRP) архитектура. Используя последнюю версию High-definition Render Pipeline (HDRP) от Unity с интегрированным Post-Processing Stack, команда добилась кинематографического эффекта, который точно имитирует работу физических камер, и рендеринга в реальном времени.
Мы продолжаем расширять наш акцент на инструментах для художников. В этом выпуске мы представляем систему анимации в реальном времени, которая предоставляет вам больший художественный контроль над вашими анимациями. Мы также внесли улучшения в наши инструменты для работы с аудио, видео, DCC и создания мира. Наконец, Timeline теперь является проверенным пакетом, а новая функция Timeline Signals предлагает простой способ взаимодействия Timeline с объектами на сцене.
В этом выпуске представлен ряд улучшений для мобильных устройств, включая возможность исправления пакета приложения вместо его перекомпиляции. Это позволяет выполнять более быстрые итерации в процессе разработки. Мы также вводим Адаптивная производительность для мобильных устройств (предварительный просмотр), который предоставляет вам данные о тепловых тенденциях, включая информацию о том, зависит ли ваша игра от CPU или GPU во время выполнения, а также улучшения отладки и рабочего процесса для разработки мобильных игр в целом. Наконец, Unity Editor для Linux теперь доступен в режиме предварительного просмотра.
Мы продолжаем прогресс в создании высокопроизводительной многопоточной технологии Data-Oriented Technology Stack (DOTS) с нашим компилятором Burst, выходящим из стадии предварительного просмотра в версии 2019.1. Вы также найдете ряд других инструментов, связанных с DOTS, которые сделали возможным создание масштабного Демоверсия Мегаполиса, который теперь доступен для скачать здесь.
Всего за два месяца наша команда DOTS и два художника из нашей группы FPS Sample создали этот футуристический городской пейзаж.
Мы также представляем комплексное решение для физики для проектов на базе DOTS в Unity, разработанное в сотрудничестве с Havok. Мы внесли другие улучшения, включая возможность щелчком мыши переходить по ссылкам на стековые следы, которые ведут к строке исходного кода для любых вызовов функций, перечисленных в стеке, инструмент поиска по тексту для фильтрации записей в консоли, и мы представляем новый поэтапный сборщик мусора в качестве экспериментальной альтернативы существующему сборщику мусора.
Мы ценим отличную производительность во время выполнения, но высокая производительность также важна, когда вы работаете в редакторе, поэтому мы продолжаем уделять внимание улучшению рабочего процесса. С помощью диспетчера горячих клавиш мы представляем интерактивный визуальный интерфейс и набор API, чтобы вам было проще управлять горячими клавишами редактора, назначать их в разные контексты и визуализировать существующие привязки в одном интерфейсе. С помощью новых элементов управления SceneVis теперь можно быстро скрывать и показывать объекты в представлении сцены, не изменяя видимость объекта в игре. Теперь вы также можете использовать элементы интерфейса для расширения редактора.
Выпуски Unity включают поток TECH и поток долгосрочной поддержки (LTS). В 2019 году у нас будет три выпуска в потоке TECH: 2019.1, 2019.2 (летом) и 2019.3 (в конце осени). 2019.1 — это начало нового технологического потока TECH и предоставляет доступ к последним функциям.
В релизе LTS нет новых функций, изменений в API или улучшений. Это просто продолжение технологического потока TECH 2018 с обновлениями и исправлениями. Вот почему мы называем его 2018.4, в то время как технологический поток TECH этого года начинается с 2019.1. Поток LTS предназначен для пользователей, которые хотят продолжать разрабатывать и выпускать свои игры/контент и оставаться на стабильной версии в течение длительного периода. Он устраняет сбои, регрессии и проблемы, которые затрагивают более широкое сообщество, такие как проблемы клиентов службы поддержки Enterprise, проблемы с SDK/XDK для консолей или любые серьезные изменения, которые могут помешать большому количеству пользователей выпускать свои игры. Каждый поток LTS будет поддерживаться в течение двух лет.
2018-LTS в настоящее время проходит тестирование и, как ожидается, будет выпущен в течение следующих нескольких недель после 2019.1.0.
Мобильные уведомления (пакет предварительного просмотра}
Адаптивная производительность (Samsung)
Android SDK и NDK установлены с помощью Unity Hub
Интеграция с Android Logcat (предварительный просмотр)
Более быстрая итерация с помощью патчей сборки только скриптов на Android
AR Remote (предварительный просмотр)
Примеры AR для портативных устройств
Улучшения асинхронных вычислений
Цепочки и объединение буфера команд на PlayStation 4
Поддержка Universal Windows Platform ARM64
Диалоговое окно разрешения экрана (также известное как Screen Selector)
Технологическая структура, ориентированная на данные (DOTS)
Компилятор Burst вышел из стадии предварительного просмотра
Новый движок рендеринга/микширования звука (экспериментальный)
Физическая система на основе DOTS
Улучшения физики для нескольких сцен
Анализатор профайлера (превью)
Постепенное сборщик мусора (экспериментально)
Перезагрузка ScriptableObjects
Редактирование активов префаба в инспекторе
Animation Rigging (пробный пакет)
Unity Hub 2.0 (бета) теперь доступен
Вывод из эксплуатации Launcher
Легковесный рендеринг-пайплайн (LWRP)
Рендеринг-пайплайн высокой четкости (HDRP - предварительный просмотр)
Теперь доступен VR с двойной шириной
Улучшена поддержка пользовательского интерфейса и камеры
Новая поддержка шейдеров и Shader Graph
Улучшено качество и управление освещением
Поддержка плоскостных отражений в реальном времени
Нативная интеграция Post Processing в HDRP
Улучшения Visual Effect Graph (Предварительный просмотр)
Поддержка нативного плагина рендеринга для Vulkan
GPU Lightmapper (Предварительный просмотр)
Добавлена поддержка Optix AI Denoiser
Многократный отбор проб для окружения (MIS Environment)
Асинхронная компиляция шейдеров в редакторе
Полная поддержка SRP для видеомагнитофона/плеера
Пробный пакет Mobile Notifications помогает реализовать механику удержания и игровой процесс с таймером, добавляя поддержку планирования локальных повторяющихся или одноразовых уведомлений на iOS (начиная с iOS 10) и Android (4.1 и выше). Он доступен в виде пакета, и вы можете найти дополнительную информацию здесь.
Пробная версия Adaptive Performance теперь доступна для Unity 2019.1.
Одной из самых больших проблем для разработчиков мобильных приложений является создание игр, которые выглядят красиво и работают плавно, но не перегружают оборудование, что приводит к дросселированию (плохой и нестабильной производительности) и сокращению времени автономной работы. Увеличение времени автономной работы/сокращение тепловыделения позволяет игрокам играть дольше, что улучшает удержание пользователей и в конечном итоге делает игры более успешными. В отличие от ПК или консоли, использование мобильного оборудования требует тонкого баланса; полное использование возможностей устройства быстро приводит к ухудшению производительности.
Чтобы решить эти проблемы, мы сотрудничали с Samsung — основываясь на их GameSDK — для создания адаптивной производительности, которая доступна для оптимизации проектов для Galaxy S10 и Galaxy Fold.
Подробнее об адаптивной производительности здесь.
Теперь в Центре можно установить все необходимые компоненты для Android в рамках опции поддержки сборки Android, поэтому вы можете быть уверены, что получите правильные зависимости и не придется устанавливать что-либо еще. Если вы являетесь опытным пользователем Android, вы все равно можете вручную устанавливать и настраивать компоненты и использовать Android Studio. Кроме того, обратите внимание, что начиная с версии 2018.3, поддержка сборки Android поставляется с собственной Java Runtime на основе OpenJDK.

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

Чтобы ускорить итерации в процессе разработки, вы можете использовать Опция "Сборка только скриптов" в редакторе. Это позволяет пропустить многие этапы процесса сборки и перекомпилировать только скрипты, а затем создать окончательный пакет и развернуть его при выборе команды «Сборка и запуск».
Мы расширили эту функцию, чтобы она позволяла обновлять пакет приложения (APK, только для Android) на целевых устройствах, а не пересобирать и повторно развертывать его. Таким образом, при итеративной разработке кода на C# на устройство отправляются только перекомпилированные библиотеки. Обратите внимание, что перед тем как Unity сможет выполнить сборку только скриптов, должна быть доступна полная сборка проекта.

AR Foundation позволяет разработчикам Unity быстро приступать к созданию проектов дополненной реальности. Вы выбираете, какие функции включить в свои приложения, создавая их один раз для развертывания на устройствах ARKit и ARCore. Доступно в виде превью в диспетчере пакетов, оно объединяет низкоуровневые API ARKit и ARCore в единую структуру, которая также включает дополнительные функции, помогающие разработчикам преодолеть основные трудности при разработке приложений дополненной реальности.
Эта функция позволяет передавать данные между устройством и редактором, поэтому вам не нужно каждый раз создавать сборку для устройства, чтобы протестировать функциональность. Она включает функцию записи и воспроизведения сеансов, которая позволяет записывать сеансы на устройстве и воспроизводить их в редакторе для создания надежных тестов вашего приложения или для итеративной разработки визуализации.
Доступно на GitHub, эта коллекция сцен, префабов и вспомогательных компонентов построена на AR Foundation, чтобы продемонстрировать, как можно визуализировать плоскости, размещать объекты и многое другое. Он также включает пример того, как использовать LWRP с AR Foundation. Он содержит все базовые компоненты, необходимые для начала разработки, чтобы вы могли быстро запустить свои проекты дополненной реальности.
Поддержка LWRP для AR и VR
Поддержка AR Foundation для LWRP доступна в виде пакета предварительного просмотра, позволяющего использовать LWRP для дополненной реальности. Кроме того, с этим выпуском и в последнем проверенном пакете LWRP теперь можно использовать Shader Graph, а также оптимизации производительности LWRP для создания VR-опыта для всех VR-платформ, которые Unity официально поддерживает. Узнайте больше о наших обновлениях LWRP в разделе Графика.
Режим стереорендеринга с резервным вариантом
Когда стереоинстансирование не поддерживается на целевом устройстве, стереорендеринг автоматически переключается на однопроходный (двойной) рендеринг. Теперь вы можете безопасно использовать более производительный режим рендеринга Stereo Instancing, не беспокоясь о том, что графический API конкретного устройства его не поддерживает. В предыдущих версиях режим стерео-рендеринга переходил на многопроходный рендеринг.
Поддержка постобработки для стереоинстансирования
В этой версии и в последнем пакете постобработки все эффекты постобработки, применимые для VR, теперь работают с режимом рендеринга стереоинстансирования.
Встроенная поддержка Magic Leap (Lumin OS)
В этой версии теперь включена поддержка сборки для Magic Leap One. Это означает, что вместо того, чтобы использовать специальную сборку Unity Technical Preview для разработки под Magic Leap, вы можете использовать эту версию Unity.
С этой версией WebAssembly является стандартным форматом вывода для Unity WebGL. Кроме того, asm.js была удалена из интерфейса редактора, которая была объявлена устаревшей в версии 2018.3. Чтобы отразить эти изменения, параметр сборки Use PreBuilt Engine, специфичный для asm.js, больше недоступен. Настройки плеера WebGL также были обновлены: Целевой компоновщик и размер памяти установлены в WebGLLinkerTarget.Wasm и 32 МБ соответственно, и они были удалены из пользовательского интерфейса редактора. Однако все еще можно изменять эти настройки с помощью скрипта редактора.
В этом выпуске мы также внедрили экспериментальную многопоточность WebAssembly, которую можно включить с помощью PlayerSettings.WebGL.threadsSupport. Посмотрите на это письмо на форуме для получения дополнительной информации.
Редактор Unity для Linux теперь доступен в режиме предварительного просмотра. Вы можете получить последние сборки из Unity Hub. Еще есть некоторые недостатки, но со временем вы увидите улучшения. Переход редактора Unity для Linux из экспериментальной версии в режим предварительного просмотра означает, что мы теперь идем к полностью поддерживаемой версии к концу года. Мы отдаем приоритет поддержке следующего списка конфигураций:
- Ubuntu 16.04, 18.04
- CentOS 7
- Архитектура x86-64
- Окружающая среда рабочего стола Gnome, работающая поверх системы окон X11
- Официальные проприетарные графические драйверы Nvidia и графический драйвер AMD Mesa
- Настольные форм-факторы, работающие на устройстве/оборудовании без эмуляции или слоя совместимости
Мы рекомендуем использовать одну из поддерживаемых конфигураций выше для наилучшего опыта разработки.
Мы внедрили некоторые улучшения в нашей поддержке асинхронных вычислений для консолей. Теперь мы допускаем использование более широкого диапазона функций скриптов буфера команд, которые могут быть действительными для буферов команд, нацеленных на асинхронные очереди вычислений (например, функции, которые устанавливают глобальные данные шейдеров или управляют временными мишенями рендеринга). Мы также улучшили обработку ошибок для буферов команд, нацеленных на асинхронные очереди вычислений, предоставляя немедленную обратную связь, если используются неверные функции скриптов буфера команд; это облегчает отладку для вас.
С помощью функции цепочки и объединения командных буферов мы оптимизируем процесс отправки задач на GPU, особенно для встроенных графических задач, где предыдущий метод приводил к небольшому перерасходу ресурсов GPU.
Мы добавили поддержку устройств UWP для ARM64. Просто выберите ARM64 в качестве целевой архитектуры и разверните приложение на ноутбуках ARM64 на базе Windows.
На основе данных пользователей и исследований клиентов диалоговое окно разрешения экрана по умолчанию «отключено» начиная с этого релиза. Вы все еще можете включить его через выпадающее меню диалогового окна разрешения экрана в настройках проекта. Вы найдете его в разделе «Плеер», «Разрешение и представление», в группе «Параметры автономного плеера». Дополнительная информация об эволюции диалогового окна разрешения экрана будет предоставлена в ближайшем будущем.
В версии 2018.1 мы представили компилятор Burst, новую технологию компиляции на стороне бэкенда на основе LLVM, которая использует задачи C# и генерирует высоко оптимизированный машинный код для вашей целевой платформы. С выходом этого релиза он вышел из стадии предварительного просмотра и доступен для использования в производственной среде.
С помощью компилятора Burst вам не нужно выполнять сложную работу по низкоуровневому программированию, чтобы получить повышение производительности, которое обеспечивают настраиваемые языки ассемблера. Вы можете продолжать писать свой код на C#.

DSPGraph — это новый движок рендеринга/микширования звука, созданный на основе системы C# Job System от Unity. Он полностью расширяем на C# и может использоваться с компилятором Burst. В проекте Megacity он управляет 100 000 уникально распределенными 3D/пространственными звуковыми излучателями, включая неоновые вывески, вентиляторы кондиционеров и автомобили, создавая насыщенный, реалистичный звуковой ландшафт.
Обратите внимание, что DSPGraph — это внутренний экспериментальный API, который мы планируем доработать и опубликовать в качестве предварительного пакета позже в этом году. Это станет основой для будущей аудиосистемы Data-Oriented Technology Stack (среди прочих). Присоединяйтесь к нам в новом Форум по аудио для технологической стопки, ориентированной на данные если вы изучали DSPGraph в контексте нашего проекта Megacity. Это идеальное место для того, чтобы задавать вопросы или делиться с нами своими аудиопотребностями.
Подсцены являются частью инструментария, созданного для Мегаполис проект. Эта функция устраняет разрыв между GameObjects и DOTS, используя сцены GameObjects в качестве механизма группировки для пакетного преобразования GameObjects в сущности.
Подсцены особенно полезны, когда вы работаете над крупномасштабными проектами, такими как Megacity, где миллионы GameObjects преобразуются в сущности. Поскольку вам приходится работать только с ограниченным количеством подсцен одновременно, ваш проект становится гораздо более управляемым и производительным в редакторе. Мы называем это «гибридным» рабочим процессом.

Помимо улучшения рабочего процесса в редакторе, вы также можете использовать преобразованные подсцены в качестве потоковых блоков. Они могут загружаться и разгружаться во время игры, а также загружаться асинхронно в редакторе.
Вы можете преобразовать группу GameObjects в сущности, добавив компонент SubScene в корневой GameObjects. Когда вы захотите отредактировать GameObjects в подсцене, просто откройте ее и внесите необходимые изменения. Группа GameObjects автоматически преобразуется в сущности, когда вы закончите редактирование и закроете GameObject SubScene.
Изменения, внесенные в GameObjects в подсцене, не влияют на корневую сцену, что позволяет нескольким членам команды одновременно работать над отдельными подсценами.
Функция «Поддокументы» является частью пакета «Сущности», который вы можете найти в «Диспетчере пакетов». Эта функция в настоящее время находится на стадии экспериментальной разработки и не документирована, поэтому используйте ее с осторожностью.
Всего за два месяца наша команда ECS и два художника из нашей группы FPS Sample создали Мегаполис, футуристический городской пейзаж, оживляемый летающими транспортными средствами, сотнями тысяч высокодетализированных игровых объектов и уникальными аудиоисточниками. Они использовали Data-Oriented Technology Stack (DOTS), название всех проектов под баннером Performance by Default, включая Entity Component System (ECS), C# Job System и Burst Compiler.
Megacity демонстрирует, как DOTS можно использовать сегодня для сложных проектов, начиная с Unity 2019.1, и новые рабочие процессы префабов, которые были введены в Unity 2018.3. Демонстрация - это сейчас доступен для скачивания чтобы вы могли начать изучать возможности, которые DOTS предоставляет для ваших будущих проектов.
Если вы хотите узнать, как несколько разработчиков из Nordeus Мы использовали демонстрацию Megacity, чтобы показать, как можно использовать DOTS и LWRP для легкого масштабирования проекта для ПК с высоким разрешением для мобильных платформ. Вы можете скачать полный проект здесь.

На GDC 2019 мы объявили о нашем партнерстве с Havok для создания комплексного решения для проектов на основе DOTS в Unity. Если в вашем проекте используется новая технология DOTS, Unity Physics (Preview) является вашей системой физики по умолчанию. Эта система написана с использованием технологии DOTS на C# и использует компилятор Burst и систему C# Job System для обеспечения высокопроизводительного моделирования. Благодаря использованию безгосударственной структуры без кэша решатель стал намного проще, что позволило нам создать более удобную для сети систему физики, которую можно легко расширять, настраивать и изменять в соответствии с вашими производственными потребностями. Unity Physics доступна для Unity 2019.1 через Package Manager.
В июне 2019 года мы также предложим пакет Havok Physics в качестве интеграции для проектов на основе DOTS с очень сложными потребностями в моделировании физики. Он использует ту же технологию DOTS на C#, что и Unity Physics, но поддерживается закрытым исходным кодом, проприетарным движком Havok Physics, написанным на C++. Мы разработали как Unity Physics, так и Havok Physics для использования одного и того же протокола данных, что означает, что вы можете создавать контент и игровой код один раз, и эти данные будут общими для обеих систем. Это позволит вам без проблем переключаться между двумя решениями физики на основе DOTS или даже использовать их одновременно в вашем проекте.

Если вы в настоящее время используете систему GameObjects и MonoBehaviour для своих проектов, то PhysX будет вашей системой физики по умолчанию. Это не изменится, и мы будем продолжать поддерживать и оценивать обновления PhysX в Unity для проектов на основе GameObjects/MonoBehaviour.
Мы добавили ряд улучшений в наше решение PhysX для проектов, не использующих DOTS. Например, ткань теперь может применять собственную гравитацию, независимо от гравитации сцены, для более легкой настройки. Мы также обновили цвета в окне отладки физики для лучшего восприятия и согласованности с цветами вспомогательных объектов. В инспекторе компонента Rigidbody появился новый раздел, в котором отображается внутренняя информация, полезная для отладки, например, линейные и угловые скорости, центр масс и тензор инерции.

Новая функция Physics.GetIgnoreCollision позволяет легко проверить, отключены ли столкновения для заданных коллайдеров или нет. Максимальная угловая скорость тел по умолчанию увеличена с 7 до 50. Это улучшит моделирование быстро движущихся объектов, а также качество разрешения столкновений ragdoll в сложных конфигурациях. Это позволит решателю быстрее вращать тела и, таким образом, удовлетворять ограничения за меньшее количество итераций.
До сих пор мы поддерживали только лучевой запрос в контексте нескольких сцен. С выходом этой версии все запросы к сцене теперь доступны в контексте нескольких сцен. Просмотр отладки физики также поддерживает сцены с несколькими физическими движками, что позволяет вам видеть, к какой физической сцене принадлежит выбранный объект. Вы также можете просматривать объекты, принадлежащие данной физической сцене.
Мы улучшили производительность во время выполнения, когда включена отладка скриптов. Кроме того, производительность кода, сгенерированного IL2CPP, была улучшена на 20%.
Мы улучшили интеграцию профайлера Unity с внешними профайлерами. Теперь сборка для разработки Unity генерирует маркеры для Android Systrace, что позволяет визуализировать секции с именами событий Unity в общесистемном инструменте отслеживания Android Systrace. Теперь вы можете анализировать свою игру в контексте активности ОС, такой как планирование, состояние процессора и другие процессы, выполняемые в системе. Поддержка Systrace изначально была плагином, а теперь стала частью Unity 2019.1. Все управляемые потоки теперь отображаются в обоих сценариях выполнения скриптов Mono и IL2CPP, а все потоки Unity отображаются. Информация о работе потоков отображается в представлении Timeline окна профайлера, а также мы автоматически регистрируем все потоки в профайле. Кроме того, мы увеличили значение по умолчанию для разрешенного использования памяти для профайлера до 4 МБ в Player и 64 МБ в редакторе. Это позволяет накапливать больше данных, прежде чем передавать их на диск или в сеть, и уменьшает нагрузку. Вы также можете управлять этим с помощью аргументов командной строки «-profiler-maxusedmemory». Наконец, мы добавили API UnityEditor.Profiling.HierarchyFrameDataView, который позволяет быстро просматривать данные профилирования CPU для всех потоков и получать всю доступную информацию в представлении Hierarchy окна профайлера, а также все соответствующие метаданные (например, стеки вызовов GC.Alloc).
Профайлер — это новый пакет профилирования, доступный в режиме предварительного просмотра. Он дополняет анализ отдельных кадров в профайле Unity, добавляя возможность анализа нескольких кадров одновременно. Это полезно, когда важно получить более широкий обзор производительности, например, при обновлении версий Unity, тестировании преимуществ оптимизации или отслеживании производительности в рамках вашего цикла разработки. Он анализирует данные кадров и маркеров CPU, которые извлекаются из активного набора кадров, загруженных в настоящее время в Unity Profiler, или загружаются из ранее сохраненной сессии Profile Analyzer. Анализируемые данные кадров и маркеров CPU суммируются и отображаются в виде графиков с использованием гистограмм, диаграмм размаха и усов, которые дополняют сортируемый список активности для каждого маркера, включая минимум, максимум, среднее значение, количество экземпляров, диапазон и кадр, в котором маркер появился впервые.


В этом выпуске мы представляем Постепенный сборщик мусора в качестве экспериментальной альтернативы существующему Сборщику мусора (GC). Постепенный сборщик мусора может разделить свою работу на несколько частей. Это означает, что вместо одного длительного прерывания вашей программы Постепенный сборщик мусора будет производить несколько гораздо более коротких прерываний. Хотя это не сделает GC быстрее в целом, это может значительно уменьшить проблему пиков GC, нарушающих плавность анимации в вашем проекте, поскольку это распределяет рабочую нагрузку на несколько кадров. Чтобы узнать больше, прочитайте нашу статью пост в блоге здесь.
ScriptableObjects теперь перегружаются во время импорта активов. Это означает, что если ScriptableObject загружается до импорта, а базовый ресурс на диске был изменен, то ScriptableObject будет загружен заново, и после завершения импорта в нем будут использоваться новые значения из ресурса на диске. До этого изменения ScriptableObject разгружался после импорта, в результате чего при сравнении с помощью оператора равенства (==) ScriptableObject приравнивался к null. Перезагрузка происходит только для ScriptableObject и вложенных префабов, которые уже загружены до (пере)импорта. Дополнительную информацию о повторной загрузке ScriptableObjects можно найти в примере кода, доступном в разделе {22 здесь.
С выходом этой версии разработчики пакетов теперь могут условно зависеть от кода C# в пакетах, используя новую функцию определения версии в инспекторе файла определения сборки.
Ссылки на отсутствующие файлы определения сборки (asmdef) теперь игнорируются, а не вызывают ошибку отсутствия ссылки. Это позволяет добавлять ссылки на сборки asmdef, которые являются необязательными.
С помощью новых функций определения версий в окне Assembly Definition Inspector вы можете определить, какие директивы препроцессора C# будут использоваться в зависимости от диапазонов версий пакетов и модулей, которые в настоящее время обрабатываются в проекте. Это позволяет вам #if ваш C# код для функций в дополнительных пакетах.

В этом обновлении мы восстановили возможность редактировать ресурсы-префабы в окне Inspector после выбора префаба в окне Project. Это означает, что вам не придется открывать префаб в режиме префаба или перетаскивать его в сцену для редактирования.
Управляющий горячими клавишами предоставляет вам интерактивный визуальный интерфейс и набор API, которые упрощают управление горячими клавишами редактора, назначение их в разные контексты и визуализацию существующих связей. Чтобы устранить конфликты связей, теперь вы можете визуализировать, используются ли несколько команд с одной и той же связью, и переназначить их соответствующим образом.
Чтобы узнать, какие горячие клавиши доступны, нажмите и удерживайте Shift + Control. Появится список всех зарезервированных и незарезервированных клавиш. Вы также можете сохранять горячие клавиши в пользовательских профилях, чтобы их можно было сохранять, обмениваться ими и переносить на другие рабочие станции. Новая система контекстов позволяет регистрировать команды в определенном контексте для окон редактора. Это позволяет разработчикам инструментов определять свои пользовательские действия и делать их доступными в качестве сочетания клавиш. Эти сочетания клавиш можно определить как контекстно-зависимые, чтобы они были доступны только в правильном контексте. Наконец, вы можете визуализировать и устранить любые конфликты между сочетаниями клавиш. Например, если несколько пакетов используют одно и то же сочетание клавиш, редактор вызовет уведомление и предложит варианты решения конфликта.
Мы обновили консоль редактора, добавив возможность щелчка по ссылкам на стековые следы, которые переходят к строке исходного кода для любых вызовов функций, перечисленных в стеке, а также инструмент поиска для фильтрации записей в консоли.
Новый инструмент быстрого поиска позволяет легко искать в нескольких поисковых системах (например, в разделе «Ассеты», «Иерархия», «Настройки») в редакторе. Он также расширяем для разработчиков, которые хотят включить свои собственные поисковые системы. Функция в настоящее время находится в стадии предварительного просмотра. Чтобы узнать больше об этом, см. форумы и обязательно поделитесь своими отзывами, если вы попробуете это.

Новый пакет Animation Rigging предоставляет вам больше возможностей для художественного контроля над вашими анимациями. Вы можете использовать набор предопределенных ограничений анимации для ручной сборки иерархии контрольной оснастки для универсального персонажа. Во время выполнения ограничения оснастки преобразуются в список задач анимации, которые добавляются в качестве операций последующей обработки в контроллер playable graph. Новый пакет Animation Rigging основан на Анимация C# jobs, которые позволяют настраивать безопасные многопоточные системы, способные процедурно управлять деформациями, моделировать псевдофизическое поведение или второстепенное движение и корректировать общую анимацию.
Вы можете использовать библиотеку предопределенных ограничений, включенную в пакет, для создания различных настроек оснастки с разными целями, а затем динамически комбинировать их в подходящий момент во время игры для управления конечной производительностью анимации.
Наконец, пакет расширяем, поэтому вы можете писать пользовательские ограничения, адаптированные к вашим конкретным производственным требованиям. Для получения дополнительной информации посмотрите наше Доклад на GDC 2019. Присоединяйтесь к нам форумы обсудить пакет Animation Rigging!

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

Примечание. Командная строка редактора не затронута этим изменением и будет продолжать работать в привычном режиме для управления проектами и активации лицензий. Если вы еще не скачали/установили его, вы можете получить последний выпуск Unity Hub здесь. Если у вас уже установлен Unity Hub, убедитесь, что он обновлен как минимум до версии 1.3 (запуск/перезапуск Unity Hub инициирует процесс автоматического обновления).
Теперь вы можете визуализировать свои пакеты и основные зависимости в редакторе, устанавливать пакеты непосредственно из репозитория GitHub и управлять частными и размещенными в Unity репозиториями параллельно. В этом выпуске также добавлена поддержка ссылок на определения сборок (см. раздел "Определения версий"). Присоединяйтесь к обсуждению на Форум Unity Package Manager и проверьте руководство 2019.1 для получения дополнительной информации.
Это новая система интерфейса пользователя в удерживаемом режиме, которая позволяет разработчикам быстро создавать и редактировать макеты интерфейса и стили. Новая система интерфейса пользователя заимствует концепции из веб-технологий CSS, jQuery, HTML DOM и системы событий, чтобы упростить создание и оптимизацию интерфейса в Unity. Она также обеспечивает повышенную производительность и множество новых функций, включая таблицы стилей и динамическую/контекстную обработку событий.
Мы разработали новую систему с учетом производительности и масштабируемости, поэтому она имеет традиционный и исчерпывающий API C#, который позволяет разработчикам создавать, изменять и взаимодействовать с интерфейсом. Знакомый API C#, система событий, форматы импорта CSS и XML упрощают создание пользовательских интерфейсов. Элементы интерфейса заменяют IMGUI для расширения и создания интерфейса редактора, а в будущих версиях заменят uGUI для создания интерфейса во время выполнения.
Теперь вы можете работать с данными частиц, используя систему задач C#, без необходимости копировать данные частиц между скриптом и нативным кодом. Чтобы настроить его, создайте структуру задачи на основе IParticleSystemJob, прикрепите ее к системе частиц с помощью SetJob, и она будет вызываться из потока после выполнения обновления нативных частиц.
Этот выпуск включает ряд небольших улучшений для сетчатых частиц. Например, сетку, назначенную каждой частице, можно запросить и назначить из скрипта. Структура ParticleSystem.Particle теперь содержит методы для получения/установки индекса сетки. В пользовательских потоках вершин появился новый поток Mesh Index, позволяющий отправлять индекс сетки в шейдер. Вы можете использовать это для написания шейдерного кода, адаптированного для отдельных сеток. В модуле текстурной анимации по листам появился новый режим строк, который выбирает строку анимации на основе индекса сетки частицы. Это позволяет назначать конкретные анимации каждой сетке в эффекте.
Shader Graph, готовый к производству в этом выпуске, представляет собой основанный на узлах визуальный интерфейс для создания шейдеров. Он позволяет художникам легко настраивать внешний вид объектов без написания какого-либо кода. С помощью Shader Graph вы можете перетаскивать узлы, чтобы видеть результаты в реальном времени. Мгновенная обратная связь также упрощает отладку и тонкую настройку как для экспертов по шейдерам, так и для начинающих. Одной из ключевых новых функций Shader Graph являются вложенные подграфы, которые позволяют визуально создавать пользовательские узлы. Подграфики также можно вкладывать друг в друга, поэтому вы можете определить собственные библиотеки контента для вашего проекта или студии. Это дает техническим художникам гибкий, неразрушительный контроль над всей конвейерной линией шейдеров, что способствует экспериментированию и творчеству. Узнайте больше о новых функциях Shader Graph и рекомендуемых рабочих процессах в эта речь на GDC 2019.
LWRP готов к производству в этом выпуске. LWRP — это предварительно созданный скриптуемый рендеринг-пиплайн (SRP), оптимизированный для обеспечения высокой производительности рендеринга графики. Он обладает высокой степенью настройки и позволяет управлять настройками рендеринга глобально или для каждой камеры отдельно. Он также дает вам возможность настраивать глубину камеры и текстуру цвета для создания пользовательских эффектов, которые интегрированы с Shader Graph. Эта высокоуровневая архитектура с поддержкой технологии «подключи и играй» позволяет создавать пользовательские проходы рендеринга. Вы также можете переопределить рендерер для достижения определенных эффектов. Использование LWRP обеспечивает гибкость и позволяет масштабировать рендеринг между платформами. Исходный код доступен на GitHub, что позволяет вам дополнительно настраивать LWRP. В версии 2019.1 мы также добавили поддержку динамического масштабирования с сохранением пользовательского интерфейса, что помогает поддерживать четкость пользовательского интерфейса при рендеринге игры на мобильных устройствах с экранами с высоким DPI. Кроме того, мы добавили поддержку SRP Batcher и несколько улучшений для частиц шейдеров, включая мягкие частицы и искажения. Также были улучшены шейдеры для ландшафта, а также запеченный шейдер Lit. Также в этом выпуске появилась система пользовательских рендереров, которая позволяет более гибко настраивать параметры. Кроме того, мы добавили предварительную поддержку Visual Effect Graph и начальную поддержку LWRP для шейдеров Unlit, ограниченную вычислительными платформами.
Узнайте больше о LWRP в Руководство по Unity.
HDRP — это предварительно созданный канал рендеринга высокой точности, предназначенный для работы с современными платформами, поддерживающими вычислительные шейдеры. По замыслу разработчиков, он предоставляет инструменты для создания всего, начиная от игр и заканчивая техническими демонстрациями, на высоком разрешении. В этом выпуске мы добавили несколько новых функций и значительно улучшили рабочий процесс для художников. Одним из недостатков этих изменений является то, что некоторые ранее созданные данные несовместимы с этой версией и потребуют повторного создания. Чтобы помочь вам обновиться с версии 2018.3, мы создали руководство по процессу миграции. Он доступен здесь. Эта версия поддерживает DX11 и DX12 для ПК, Metal для Mac, Vulkan для ПК и Linux, Xbox One и PS4. HDRP будет оставаться в режиме предварительного просмотра до версии 2019.3. Примечание: В этом выпуске в шаблоне HDRP используется пакет 5.7.2 HDRP. Чтобы воспользоваться перечисленными функциями, мы рекомендуем обновить пакет до версии 5.12.0 или выше после установки шаблона.
В этом выпуске улучшена поддержка API Linux и Vulkan, в том числе уменьшено количество артефактов. Некоторые артефакты все еще присутствуют, но общая производительность улучшена.
Double-wide — это медленный путь для VR, который рендерит два вида рядом друг с другом. Более оптимизированная версия с однопроходным рендерингом будет выпущена в 2019.2. Теперь поддерживаются все эффекты HDRP, включая преломление, искажение, рассеяние под поверхностью, наклейки и объемные эффекты. Подробнее о поддерживаемых функциях см. здесь статья.
HDRP теперь использует формат буфера цвета RGB111110Float вместо ARGBHalf, что приводит к более быстрому выполнению шейдеров и общему улучшению производительности. В версии 2019.1 теперь есть быстрый путь, когда есть только один направленный свет и простые материалы. Чтобы сэкономить время процессора, объекты вектора движения больше не рендерились дважды с предварительным проходом глубины. Затемнение было оптимизировано с помощью буфера трафарета, а также улучшена функция отключения вариантов шейдеров, чтобы сократить время сборки. В версии 2019.1 также добавлена поддержка программной динамической резкости, которая позволяет рендерить мир в другом масштабе, чем интерфейс пользователя, на каждой платформе (поддержка аппаратной динамической резкости на поддерживаемых платформах появится позже). Вам просто нужно задать желаемое разрешение через {i:C#} скрипт{u:}. Наконец, прозрачные материалы теперь могут использовать имя рендеринга «Низкое разрешение», что позволяет рендерить их с четверть разрешения при сохранении аналогичного визуального качества. Это полезно для повышения производительности рендеринга больших частиц.

HDRP теперь имеет лучшую поддержку многократной версии для всех элементов интерфейса, лучшую документацию и лучшие подсказки. Он также добавляет поддержку Multi ViewPort, которая позволяет рендерить несколько камер в одной и той же цели для достижения рендеринга разделенного экрана и другого аналогичного поведения.

Настройки FrameSettings и HDRP Asset были переработаны для более быстрого вычисления и более удобного редактирования. Теперь есть информация о влиянии настроек HDRP Asset на память и варианты шейдеров. Поддержка для SMAA Добавлен метод сглаживания (SMAA 1X). Он представляет собой промежуточный метод между производительностью (FXAA) и качеством (TAA).

The После постобработки Рендеринг-пасс теперь доступен для Unlit Shader. HDRP рендерит объекты, использующие этот проход рендеринга, после прохода постобработки, что означает, что постобработка не влияет на них. Это полезно, например, для рендеринга 3D-интерфейса.
HDRP теперь содержит параметр Debug для замораживания камеры для обрезки, но сохраняет ее подвижность с точки зрения рендеринга, позволяя вам видеть, что обрезается для данного просмотра сцены. Также есть валидатор материала PBR и возможность переопределения цвета эмиссии.
Этот мастер помогает настроить параметры проекта для корректной работы с HDRP. Он выделяет неправильно настроенные элементы и предоставляет кнопки исправления для их исправления. Кроме того, вы можете настроить новые пользовательские сцены.

Декальы улучшены за счет лучшего управления гидзи, поддержки Shader Graph и поддержки эмиссии для непрозрачных декалов. The {u}Recorder{/u} Теперь он поддерживается должным образом и позволяет записывать видео с HDRP. The Ткань модель освещения для ваты была улучшена для более точного отражения последние исследования от Sony Pictures Imageworks.

Объемный туман был оптимизирован и стал более точным. Мы также обновили гидзис для объема плотности. Слои света, которые позволяют вам помечать источники света и объекты, так что только объекты с одинаковыми метками получают освещение от определенного источника света, теперь полностью функциональны и правильно поддерживают управление тенями. Профиль диффузии параметры подповерхностного рассеяния изменились в версии 2019.1. Ранее список профилей диффузии в каждом проекте был ограничен 16 профилями. Профили диффузии теперь являются отдельными активами, которые можно обменивать/распространять, и существует ограничение в 16 профилях на представление. Текущий список профилей, используемых в представлении, управляется с помощью настроек объема. В версии 2019.1 данные из старой системы профилей диффузии автоматически переносятся в новую, но не для Shader Graph. Вам потребуется повторно создать эти профили диффузии. В этой версии также добавлена поддержка векторов движения на прозрачных материалах. Прозрачные материалы могут записывать свою собственную скорость, перезаписывая предыдущее содержимое буфера скорости. Это полезно для материалов с альфа-заключением, таких как волосы.
В версии 2019.1 поставляется несколько новых мастер-узлов для Shader Graph. Новые Мастер-узел HD Unlit дает вам доступ ко всему набору функций, недоступных в кросс-пайплайне Unlit, таким как искажение или выбор прохода рендеринга.

Также появился новый Мастер-узел AxF предназначен для поддержки X-Rite AxF измеренный формат материала. Материал AxF полезен только в сочетании с импортером AxF, который входит в состав нашего Unity Пакет Unity Industry. Импортер AxF автоматически заполняется всеми настройками материала AxF.

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

Добавлено несколько новых узлов/поведений, специфичных для HDRP. Теперь можно пробовать сэмплирование Цвет сцены, включая размытые мипмапы, для имитации грубой рефракции или искажения (цвет доступен только для прозрачных объектов). The Глубина сцены Узел также позволяет получить доступ к линейной глубине (от 0 до 1) или глубине, соответствующей эффекту глаза. A Смещение глубины Добавлен входной параметр на главном узле Lit, позволяющий смещать глубину внутрь или наружу в направлении вектора обзора. Это полезно при использовании нового Parallax Occlusion Mapping Узел для получения затенения от источников света.

Кроме того, все мастер-узлы HDRP теперь поддерживают возможность переопределения встроенной GI. Чтобы включить его, используйте Переопределение предварительно вычисленного GI флажок в настройках мастер-узла. Он добавляет два новых входных параметра на мастер-узле: Вычислимое GI и Обратная выпечка GI. Это позволяет вам предоставлять собственные готовые GI для косвенного диффузного освещения и передачи соответственно; или в сочетании с Узел Baked GI, вы можете изменить его. Значение по умолчанию для свойства Baked GI эквивалентно значению по умолчанию для узла Baked GI.

Мы внесли многочисленные улучшения в освещение. Ранее освещение не могло использовать правильные значения реального мира/физические значения, потому что диапазон экспозиции и точность не позволяли этого. Теперь расчет освещения использует предварительную экспозицию. Это означает, что экспозиция не применяется в конце кадра во время постобработки, а применяется к самому освещению, что значительно повышает точность и позволяет использовать высокие значения интенсивности света, например, для солнца. Кроме того, Sky, Emissive и некоторые источники света теперь используют единицы EV100 вместо EV, которые обычно используются для справочных значений в таблицах освещения. Поскольку это самое большое изменение в освещении по сравнению с версией 2018.3, обновление вашего проекта до этой версии может потребовать корректировки интенсивности некоторых источников света. Световые свойства в шейдерах Lit/Unlit и в главном узле Lit/Unlit были улучшены для поддержки единиц EV100 или яркости, с дополнительными функциями Веса экспозиции контроль и Узел эмиссии. Этот элемент управления позволяет заставить объект светиться даже при правильной экспозиции (например, чтобы он мог светиться даже при ярком дневном свете).

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

GPU теперь запекает зонды отражения, что ускоряет процесс запекания. Кроме того, зонды отражения интегрированы с рабочим процессом освещения для оптимизации процесса запекания зондов отражения, что позволяет запекать все загруженные зонды отражения из окна освещения.
Добавлена поддержка плоскостных отражений в реальном времени. Во время воспроизведения HDRP рендерит только видимые зонды отражения и плоскостные зонды в реальном времени, которые теперь имеют отдельные элементы управления в FrameSettings как для рендеринга в реальном времени, так и для офлайн-рендеринга.
В версии 2019.1 мы интегрировали постобработку непосредственно в HDRP и включили настраиваемый набор эффектов постобработки на основе вычислительных шейдеров, специально созданных с учетом производительности и качества для высокопроизводительных консольных и настольных платформ. Этот новый набор инструментов постобработки совместим с системой RT Handle и поддерживает функции динамического разрешения. Обратите внимание, что новые настройки постобработки несовместимы с Post-Processing Stack V2 (PPv2), а это значит, что при обновлении до версии 2019.1 вам придется заново настроить всю постобработку. Это также означает, что HDRP больше не поддерживает PPv2. Антиалиasing в постобработке, который поставляется с FXAA, SMAA, временным антиалиasing и 8-битным растрированием, помогает сглаживать градиенты и устранять цветовые полосы 8 бит. Вы устанавливаете их непосредственно на камере. Хроматическая аберрация, искажение объектива и виньетка такие же, как в PPv2. Эффект зернистости пленки был переработан, теперь для его создания используются текстуры поиска зернистости вместо процедурной шумовой текстуры. Мы также добавили новое Проекция Панини эффект.
Эффект Панорамной проекции. Bloom Теперь используется пороговое значение, основанное на предварительно выставленном значении. Это означает, что эффект Bloom будет применяться только к объектам с переэкспонированной яркостью, а не к объектам с яркостью выше определенного значения. Цветокоррекция имеет улучшенную версию режима «HDR Grading» из PPv2. Большая панель цветокоррекции была разделена на отдельные компоненты объема, чтобы не загромождать окно Inspector. Глубина резкости был полностью переработан и теперь предоставляет параметрическое управление формой диафрагмы, позволяя легко настраивать количество лепестков, их кривизну, обрезку барабана и анаморфоз. Эффект теперь не зависит от разрешения. Motion Blur также был полностью переработан для повышения качества и производительности. Это включает в себя новые алгоритмические модификации, которые позволяют добиться более точного и широкого размытия, уменьшая при этом количество артефактов.


В версии 2019.1 теперь можно получить доступ к буферам глубины и нормалей из HDRP. Кроме того, визуальные эффекты могут обращаться к внутренним буферам рендеринга HDRP, таким как глубинный или цветовой буферы для основной камеры, и использовать их в качестве текстур ввода во время этапа симуляции. Это позволяет легко настраивать такие функции, как столкновение с буфером глубины и изменение сцены с помощью частиц.
Граф визуальных эффектов — это простая в использовании гибкая система на основе узлов, вдохновленная ведущими инструментами для визуальных эффектов в кино. Она позволяет быстро создавать потрясающие эффекты для игр и другого творческого контента. В версии 2019.1 мы добавили несколько улучшений и новых функций, а также подготовили различные образцы чтобы помочь вам начать создавать визуальные эффекты нового поколения. Новый Предварительный разогрев Эта функция позволяет предварительно смоделировать часть эффекта до определенного времени, чтобы он был в полностью развитом состоянии. Это можно использовать для создания таких эффектов, как стопка дыма, которая накапливалась со временем. Мы также обновили Light Probes и Light Probe Proxy Volumes. Функции шума улучшены за счет использования перлина (значения и ячеистого шума, а также их вариаций с завихрением). Операторы времени и количества генерации теперь позволяют подсчитывать количество частиц, сгенерированных за один кадр в предыдущем кадре.
Теперь у нас есть встроенная поддержка плагина рендеринга для Vulkan. Смотрите Документация для получения дополнительной информации и наши примеры.
GPU Lightmapper теперь доступен в режиме предварительного просмотра с дополнительными функциями и поддержкой платформ. Он включен в macOS и Linux и поддерживает двухсторонние флаги GI для материалов, а также отбрасывание и получение теней на сетках.

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

Optix AI Denoiser — это шумоподавитель на основе глубокого обучения, обученный на библиотеке изображений, полученных с помощью трассировки лучей. Это существенное улучшение по сравнению с фильтрами, особенно при низком количестве образцов, и устойчиво к утечкам и размытию. Его можно комбинировать с фильтрами для получения еще более плавных карт освещения. Использование нового шумоподавителя позволяет значительно сократить количество образцов для достижения гораздо более быстрого рендеринга, чем это было возможно ранее. В настоящее время он доступен только на Windows и совместимых графических процессорах Nvidia.

MIS Environment — это новый метод выборки наиболее важных областей в кубмапе/HDRI. Этот метод позволяет избежать обстрела большого количества лучей GI в полусфере и вместо этого сосредоточить их на важных областях, таких как яркие пятна (например, солнце). С помощью этой функции можно рендерить сцены с измеренными картами HDRI, которые сильно неоднородны. В окне «Освещение» добавлен новый параметр «Пробы окружения». Это значение определяет, сколько лучей будет проецироваться непосредственно в окружение на каждый тексель лайтмапа.


Гизы для световых проб теперь учитывают коррекцию экспозиции. Это упрощает итерации световых проб при использовании HDRP и высокоинтенсивного освещения.

С помощью нового параметра «Ограничить количество лайтмэпов» можно указать максимальное количество лайтмэпов, генерируемых для определенной группы объектов. Это особенно полезно при разработке игр для мобильных платформ, где ресурсы могут быть ограничены. Realtime GI: Асинхронное чтение данных отпадает необходимость ожидания CPU для чтения данных с GPU. Это может повысить производительность и снизить пиковые нагрузки на CPU. Автоматическая генерация больше не является стандартным параметром для новых сцен. Мы также добавили ссылку в нижнюю строку состояния, чтобы показывать, находитесь ли вы в режиме автоматической генерации или нет.

LookDev, экспериментальная функция для просмотра активов, была удалена. Мы улучшим ее и добавим обратно в SRP (с поддержкой LWRP и HDRP) позже в этом году.
Редактор Unity откладывает компиляцию шейдеров до тех пор, пока рендерингу не понадобится конкретный вариант шейдера в первый раз. Однако это может привести к зависанию редактора, поскольку полный цикл компиляции шейдеров может занять значительное время. Новая функция асинхронной компиляции шейдеров устраняет эти задержки, разделяя процесс компиляции и рендеринга, и использует простой симулякр шейдера цвета индиго в качестве замены до завершения компиляции. Эта функция доступна только в редакторе и не влияет на вашу игру, но ускоряет время компиляции.
Теперь можно использовать 32 влияния костей на вершину и до 255 с API для рендереров сетки с костями. Это обеспечивает постоянное соответствие весов кожи в реальном времени исходному содержимому во внешних программах. Это особенно полезно для создания лицевых анимаций на основе костей, где областям с высокой детализацией, таким как уголки рта и глаза, требуется более 4 влияний костей. Это также повысит качество анимаций, использующих декомпозицию гладкой кожи, чтобы вы могли добиться более плавного результата с меньшим количеством костей.
The Импортер Sketchup Теперь имеет обновленный интерфейс. Мы также добавили поддержку импорта камеры для всех типов камер, доступных в Sketchup (ортогональных, перспективных и двухточечных). Наконец, мы улучшили производительность интерфейса вкладки материалов импортера моделей.
Сигналы Timeline предлагают простой способ взаимодействия Timeline с объектами в сцене. Используя эмиттер сигналов и активный сигнал, вы можете активировать приемник сигналов, который определит набор предварительно настроенных реакций (события Unity) на вашу Timeline. Эмиттеры сигналов используются для запуска изменения состояния сцены, когда Timeline проходит определенную точку времени.
Мы выбрали слово «сигналы» вместо «событий», потому что «сигналы» поддерживают идею «трансляции»; это также позволяет избежать путаницы с существующими событиями Unity и событиями анимации.
Мы также представили «маркеры» для пользователей, заинтересованных в создании пользовательских ключевых кадров с определенным поведением. Вы можете использовать маркеры для добавления и изменения объектов на временной шкале так же, как и клипы: выбор, копирование-вставка, режимы редактирования и т. д. Маркеры также имеют специализации, как и анимационные клипы, клипы активации, клипы управления и т. д. Смотрите это форум чтобы узнать, как создать свои собственные пользовательские маркеры.
Мы добавили ряд улучшений аудио для Timeline. Например, теперь вы можете управлять/устанавливать ключи для отдельной аудиодорожки во время редактирования Timeline. Теперь у вас также есть простые элементы управления громкостью и панорамой на треке, а также анимация громкости и панорамы для каждого трека.

В этом выпуске добавлена поддержка видеокодека H.265. Это позволяет воспроизводить фильмы в формате H.265 и транскодировать другие поддерживаемые видеоформаты в формат кодека H.265.
H.265, или High Efficiency Video Coding (HEVC), — это стандарт сжатия видео, который является преемником Advanced Video Coding (H.264). По сравнению с H.264, H.265 обеспечивает лучшее качество при той же скорости передачи данных.
SRP теперь полностью поддерживается в нашем видеопроигрывателе и видеомагнитофоне. Это позволяет видеопроигрывателю воспроизводить видео при рендеринге через HDRP или LWRP. Кроме того, видеомагнитофон был обновлен для обработки входных данных с камер при использовании SRP. В процессе добавления поддержки SRP в видеопроигрыватель мы также исправили несколько серьезных ошибок, влияющих на режимы рендеринга камеры (далекая/ближняя плоскость), а также исправили поддержку 360-градусного видео (стерео).
Вы можете использовать элементы управления SceneVis в Unity, чтобы быстро скрывать и показывать объекты в представлении сцены, не изменяя видимость объектов в игре. По мере детализации сцены часто бывает полезно временно скрывать определенные объекты; новый режим «Изолировать» позволяет просматривать и редактивать сцену без помех. SceneVis предоставляет эту возможность с помощью инструментов иерархии и клавиатурных сокращений, а также переключателя на панели инструментов, который позволяет быстро включать или отключать эффекты.
Пакет Sprite Shape содержит множество улучшений. Например, вы можете сделать конечный 2D-коллидер Sprite Shape более похожим на визуальное представление спрайта, что позволяет добавлять полигональные и краевые коллайдеры, которые более точно соответствуют Sprite Shape Renderer.
Мы также добавили непрерывные касательные без зеркального отображения для точек управления формой, что позволяет создавать криволинейные формы, помогающие вам более точно достигать желаемого результата.

При использовании нового пакета 2D Animation (v2.1, доступного через Package Manager) вы заметите повышение производительности при риггинге спрайта в редакторе и в режиме выполнения, поскольку он разработан с использованием системы задач C# и компилятора Burst. Это обновление также повышает производительность при наличии нескольких персонажей на экране, анимированных с помощью этого инструмента.
Примечание. Эта версия не обратно совместима с версией 2018.3. Для проектов, использующих Unity 2018.3, продолжайте использовать пакет 2D Animation v2.0.
Все запросы 2D-физики теперь позволяют предоставлять буфер результатов в виде списка .Net,” когда ранее вам нужен был массив. Это имеет ту же самую пользу, что и массив, поскольку память не выделяется, если емкости списка достаточно для хранения результатов запроса. Это предоставляет дополнительное преимущество: емкость списка будет автоматически увеличиваться (с соответствующим выделением памяти) для обеспечения возможности хранения всех результатов запроса, при этом будет выделена только необходимая память. Если вы используете один и тот же список, выделение памяти будет сведено к минимуму и/или в конечном итоге выделение памяти больше не будет происходить.
Выпуски Unity включают поток TECH и поток долгосрочной поддержки (LTS).
Поток TECH, который включает в себя все новейшие функции, имеет три основных выпуска в год. Потоки TECH в этом году — это версии 2019.1, 2019.2 и 2019.3, каждая из которых добавляет новые функции и возможности.

2018.3 был последним в цикле потока TECH 2018.x, и с этим выпуском он становится частью потока LTS с новым номером версии (2018.4). Это означает начало двухлетнего графика поддержки.
В отличие от потока TECH, в потоке LTS не будет новых функций, изменений API или улучшений. Вместо этого он будет решать проблемы, связанные с сбоями, регрессиями и ошибками, которые затрагивают более широкое сообщество, SDK/XDK для консолей или любые серьезные проблемы, которые могут помешать большому количеству разработчиков выпустить свои игры.
Существует еженедельный выпуск TECH stream с исправлениями ошибок, в то время как выпуск LTS stream выходит каждые две недели с исправлениями ошибок. LTS stream предназначен для разработчиков, которые хотят продолжать разрабатывать и выпускать свои игры/контент на стабильной версии в течение длительного периода. TECH stream, с другой стороны, предназначен для разработчиков, которые хотят использовать новейшие функции и иметь доступ к новейшим возможностям Unity.
Прежде всего, особая благодарность нашему сообществу бета-тестеров за использование всех новых функций и предоставление отличных отзывов, которые помогли нам завершить и выпустить версию 2019.1.
Если вы еще не являетесь бета-тестером, рассмотрите возможность стать им. Вы получите ранний доступ к последним новым функциям и сможете убедиться, что ваш проект будет совместим с новой версией. Вы также можете помочь повлиять на будущее Unity, поделившись своими отзывами с нашими R&D командами в нашем форумы или лично. Кроме того, у вас будет возможность получить приглашение на мероприятия Unity и выиграть эксклюзивные призы.
Начните с того, что скачиваете нашу последнюю альфа- или бета-версию и посмотрите на это Руководство по тому, как стать эффективным бета-тестером. Если вы хотите получать электронные письма с новостями о бета-версиях, обновлениями и советами и рекомендациями, пожалуйста, зарегистрируйтесь здесь.
Полный выпуск включает почти 300 новых функций и улучшений – слишком много, чтобы перечислять их здесь. Вы всегда можете найти полный список новых функций, улучшений и исправлений в GitHub заметки о выпуске.
