Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Гамма-текстуры с линейным рендерингом

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

Дополнительную информацию см. в документации по:

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

Линейный отрисовкаПроцесс отрисовки графики на экран (или отрисовки текстуры). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
See in Словарь
дает другой вид визуализируемому СценаСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь
. Когда вы создали проект, который хорошо выглядит при рендеринге в гамма-пространстве, вряд ли он будет хорошо выглядеть при переходе на линейный рендеринг. Из-за этого, если вы перейдете к линейному рендерингу с гамма-рендеринга, может потребоваться некоторое время, чтобы настроить проект так, чтобы он выглядел так же хорошо, как и раньше. Тем не менее, этот переключатель в конечном итоге обеспечивает более последовательный и реалистичный рендеринг, и поэтому может стоить потраченного на него времени. Вам, вероятно, придется настроить текстуры, материалы и освещение.

Лайтмэппинг

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

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

Импорт карт освещения

Данные в файлах EXR карты освещения, созданных Unity, находятся в линейном пространстве. Он преобразуется в гамма-пространство во время импорта. При импорте карт освещения из внешнего приложения для создания карт освещения пометьте карты освещения как Тип текстуры: Карта освещенияПредварительно визуализированная текстура, содержащая эффекты источников света на статических объектах сцены. Карты освещения накладываются поверх геометрии сцены для создания эффекта освещения. Подробнее
См. в Словарь
в текстуре Импортер. Этот параметр обеспечивает обход выборки sRGB при импорте.

Поддерживаемые линейные платформы

Линейный рендеринг поддерживается не на всех платформах. Цели сборки, которые поддерживают эту функцию:

  • Windows, Mac OS X and Linux (Standalone)
  • Xbox One
  • PlayStation 4
  • Android
  • iOS
  • WebGL

Откат к гамме невозможен, если линейный рендеринг не поддерживается устройством. В этой ситуации Игрок выходит. Вы можете проверить активное цветовое пространство из скрипта, просмотрев QualitySettings.activeColorSpace.

На Android для линейного рендеринга требуется как минимум графический API OpenGL ES 3.0 и Android 4.3.

В iOSмобильной операционной системе Apple. Подробнее
См. Словарь
, для линейного рендеринга требуется графический API Metal.

На WebGLJavaScript API, который отображает 2D- и 3D-графику в веб-браузере. Вариант сборки Unity WebGL позволяет Unity публиковать контент в виде программ JavaScript, использующих технологии HTML5 и API рендеринга WebGL для запуска контента Unity в веб-браузере. Подробнее
См. Словарь
, для линейного рендеринга требуется как минимум графический API WebGL 2.0.

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

Редактор Unity предотвращает создание проигрывателя для игр, которые будут отображаться неправильно.
Редактор Unity предотвращает создание проигрывателя для игр, которые будут отображаться неправильно.

Линейное цветовое пространство и HDR

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

Линейное цветовое пространство и не HDR

Когда линейное цветовое пространство включено, а HDR выключен, используется специальный тип буфера кадра, который поддерживает чтение sRGB и запись sRGB (преобразование из гамма в линейное при чтении, преобразование из линейного в гамма при записи). Когда этот фреймбуфер используется для смешивания или связан как Текстура, значения преобразуются в линейное пространство перед использованием. При записи в эти буферы записываемое значение преобразуется из линейного пространства в гамма-пространство. Если вы выполняете рендеринг в линейном режиме и в режиме без HDR, все эффекты постобработки имеют свои исходные и целевые буферы, созданные с включенными чтением и записью sRGB, чтобы постобработкаПроцесс, улучшающий внешний вид продукта путем применения фильтров и эффектов до того, как изображение появится на экране. Вы можете использовать эффекты постобработки для имитации физических свойств камеры и пленки, например Bloom и Depth of Field. Дополнительная информация
См. в Словарь
, и смешивание после обработки происходит в линейном пространстве.


  • Линейный рендеринг для WebGL добавлен в 2017.2.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3