Физически обоснованный рендерингпроцесс вывода графики на экран (или в визуализированную текстуру). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в Словарь. СценаСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в представлении Словарь. Это позволяет вам убедиться, что ваши материалы используют значения, которые соответствуют рекомендуемым эталонным значениям для физических шейдеровПрограмма, работающая на графический процессор. Подробнее
См. в Словарь. Если пиксельНаименьшая единица компьютерного изображения. Размер пикселя зависит от разрешения вашего экрана. Пиксельное освещение рассчитывается для каждого пикселя экрана. Подробнее
See in Словарь: значения в конкретном Материале выходят за пределы эталонных диапазонов, Средство проверки материалов выделяет пиксели разными цветами, чтобы указать на сбой.
Чтобы использовать средство проверки материалов, выберите Вид сценыИнтерактивный вид создаваемого вами мира. Вы используете Scene View для выбора и размещения пейзажей, персонажей, камер, источников света и всех других типов игровых объектов. Дополнительная информация
См. в Словарь в режиме рисования. меню вниз, для которого по умолчанию обычно установлено значение Shaded.
Перейдите к разделу Проверка материалов. Средство проверки материалов имеет два режима: Проверка альбедо и Проверка отражения металла.
Примечание. Вы также можете проверить рекомендуемые значения с помощью таблиц материалов Unity. Вам по-прежнему необходимо использовать эти диаграммы при создании материалов для определения значений альбедо и отражений металла. Тем не менее, Средство проверки материалов предоставляет вам визуальный способ в редакторе быстро проверить, действительны ли значения ваших материалов после того, как ваши активы появятся в сцене.
Примечание: валидатор работает только в линейном цветовом пространстве. Рендеринг на физической основе не предназначен для использования с цветовым пространством Гамма, поэтому, если вы используете визуализацию на физической основе и средство проверки материалов PBR, вам также следует использовать линейное цветовое пространство.
Подтвердить режим альбедо
Настройки проверки PBR, которые отображаются в представлении «Сцена», если для параметра «Проверка материала» установлено значение «Проверка альбедо».
Свойства: | Функции: | |
---|---|---|
Check Pure Metals | Включите этот флажок, если вы хотите, чтобы средство проверки материалов выделяло желтым цветом любые обнаруженные им пиксели, которые Unity определяет как металлические, но которые имеют ненулевое значение альбедо. Дополнительные сведения см. в разделе Чистые металлы ниже. По умолчанию это не включено. | |
Luminance Validation | Используйте раскрывающийся список, чтобы выбрать предустановленную конфигурацию для средства проверки материалов. Если вы выберете любой параметр, кроме Яркость по умолчанию, вы также сможете настроить Допуск оттенка и Допуск насыщенности. Цветная полоса под названием свойства указывает цвет альбедо конфигурации. Значение яркости под раскрывающимся списком указывает минимальное и максимальное значение яркости. Средство проверки материалов выделяет любые пиксели со значением яркости за пределами этих значений. По умолчанию установлено значение Яркость по умолчанию. | |
Hue Tolerance | При проверке значений цвета альбедо вашего материала этот ползунок позволяет вам контролировать допустимую ошибку между оттенком вашего материала и оттенком в конфигурации проверки. | |
Saturation Tolerance | При проверке значений цвета альбедо вашего материала этот ползунок позволяет вам контролировать количество допустимой ошибки между насыщенностью вашего материала и насыщенностью в конфигурации проверки. | |
Color Legend | Эти цвета соответствуют цветам, которые средство проверки материалов отображает в представлении «Сцена», когда пиксели для этого материала выходят за пределы определенных значений. | |
Red Below Minimum Luminance Value | Средство проверки материалов выделяет красным цветом все пиксели, уровень яркости которых ниже минимального значения, заданного в разделе Проверка яркости (это означает, что они слишком темные). | |
Blue Above Maximum Luminance Value | Средство проверки материалов выделяет синим цветом любые пиксели, яркость которых превышает максимальное значение, определенное в Проверке яркости (это означает, что они слишком яркие). | |
Yellow Not A Pure Metal | Если у вас включена функция Check Pure Metals, средство проверки материалов выделяет желтым цветом любые пиксели, которые Unity определяет как металлические, но которые имеют ненулевое значение альбедо. См. «Чистые металлы» ниже для получения более подробной информации. |
В таблицах материалов Unity стандартный диапазон яркости определяется как 50–243 sRGB для неметаллов и 186–255 sRGB для металлов. Режим Проверить альбедо окрашивает все пиксели за пределами этих диапазонов в разные цвета, чтобы указать, что значение слишком низкое или слишком высокое.
В приведенном ниже примере яркость первой текстуры ниже минимального значения, поэтому она слишком темная. Четвертая текстура выше максимального значения яркости и, следовательно, слишком яркая.
На диаграммах материалов представлены значения альбедо для обычных материалов. Яркость значений альбедо сильно влияет на количество генерируемого рассеянного отраженного света, поэтому она важна для Global IlluminationГруппа методов, которые моделируют как прямое, так и непрямое освещение для получения реалистичных результатов освещения. В Unity есть две системы глобального освещения, сочетающие прямое и непрямое освещение: запеченное глобальное освещение и глобальное освещение в реальном времени.
См. в разделе Словарь запекание, чтобы убедиться, что различные типы Материалов находятся в пределах правильного диапазоны яркости, пропорциональные друг другу. Чтобы помочь вам правильно получить эти значения, вы можете выбрать один из пресетов в раскрывающемся списке «Проверка яркости», который предоставляет общие значения альбедо Материала для проверки диапазонов яркости определенных типов Материалов.
Переопределение значений яркости по умолчанию
В зависимости от художественного стиля вашего проекта вы можете захотеть, чтобы значения яркости материалов отличались от предустановленных диапазонов яркости. В этом случае вы можете переопределить встроенные значения альбедо, используемые валидатором материалов, своими собственными значениями. Чтобы переопределить предустановленные диапазоны яркости, назначьте массив значений AlbedoSwatchInfo для каждого желаемого типа материала свойству EditorGraphicsSettings.albedoSwatches.
Подтвердить режим Metal Specular
Настройки проверки PBR, которые отображаются в представлении "Сцена", если для параметра Проверка материала задано значение Проверить отражение металла.
Property: | Функции: | |
---|---|---|
Check Pure Metals | Включите этот флажок, если вы хотите, чтобы средство проверки материалов выделяло желтым цветом любые обнаруженные им пиксели, которые Unity определяет как металлические, но которые имеют ненулевое значение альбедо. См. «Чистые металлы» ниже для получения более подробной информации. По умолчанию это не включено. | |
Color Legend | Эти цвета соответствуют цветам, которые средство проверки материалов отображает в представлении «Сцена», когда пиксели для этого материала недействительны, что означает, что их зеркальное значение выходит за пределы допустимого диапазона для этого типа материала (металлического или неметаллического). См. под этой таблицей допустимые диапазоны. | |
Blue Below Minimum Specular Value | Средство проверки материалов выделяет красным цветом все пиксели, значение которых ниже минимального значения отражения. (40 для неметаллических или 155 для металлических). | |
Red Above Maximum Specular Value | Средство проверки материалов выделяет синим цветом любые пиксели, которые превышают максимальное значение отражения. (75 для неметаллических или 255 для металлических). | |
Yellow Not A Pure Metal | Если у вас включен параметр Проверить чистые металлы, средство проверки материалов выделяет желтым цветом любые пиксели, которые Unity определяет как металлические, но которые имеют ненулевое значение альбедо. См. «Чистые металлы» ниже для получения более подробной информации. |
В диаграммах материалов Unity определяются два отдельных зеркального цветацвета зеркальный блик.
См. в Словарь:
- Неметаллические материалы: 40–75 sRGB
- Металлические материалы: 155–255 sRGB
В Unity все неметаллические материалы имеют постоянный зеркальный цвет, который всегда находится в правильном диапазоне. Однако для металлических материалов характерно слишком низкое значение отражения. Чтобы помочь вам идентифицировать металлические материалы с этой проблемой, режим Проверить отражение металла средства проверки материалов окрашивает все пиксели со слишком низким значением цвета отражения. Сюда входят все неметаллические материалы по определению.
В приведенном ниже примере левый материал имеет значение ниже минимального значения отражения и, следовательно, слишком темный. Это также относится к фону сцены. Правильный материал имеет значения отражения в допустимом диапазоне.
Чистые металлы
Unity определяет физически обоснованные затеняющие материалы с отражающим цветом более 155 sRGB как металлические. Чтобы Unity определяла металлический Материал как чистый металл
Если неметаллическая поверхность имеет слишком высокое значение зеркального цвета, но имеет ненулевое значение альбедо, это часто происходит из-за авторской ошибки. В средстве проверки материалов также есть параметр Проверить чистые металлы. Когда вы включаете эту опцию, средство проверки материалов окрашивает в желтый цвет любой материал, который Unity определяет как металлический, но имеет ненулевое значение альбедо. Пример этого можно увидеть на изображениях ниже. Он показывает три материала, левый и правый материалы — это чистые металлы, а средний материал — нет, поэтому средство проверки материалов окрашивает его в желтый цвет:
На втором изображении выше фон красный, потому что Материалы на заднем плане ниже минимального значения отражения для режима Проверить отражение металла средства проверки материалов.
Для сложных материалов, которые сочетают в себе металлические и неметаллические свойства, средство проверки чистого металла, скорее всего, обнаружит некоторые недопустимые пиксели, но если Материал полностью недействителен, это обычно является признаком авторской ошибки.
Реализация
Материал валидатор работает с любыми материалами, которые используют стандартный шейдер Unity или шейдеры поверхностиУпрощенный способ написания шейдеров для встроенного конвейера рендеринга. Подробнее
См. в Словарь. Однако для пользовательских шейдеров требуется проход с именем "META"
. В большинстве пользовательских шейдеров, поддерживающих карты освещения, этот проход уже определен. Дополнительные сведения см. в документации по отображению освещения и шейдерам.
Выполните следующие шаги, чтобы сделать ваш собственный шейдер совместимым с валидатором материалов:
- Добавьте следующую прагму в метапроход:
#pragma shaper_feature EDITOR_VISUALIZATION
- В структуре
UnityMetaInput
назначьте зеркальный цвет Материала полю с именемSpecularColor
, как показано в коде. пример ниже.
Вот пример пользовательского метапрохода:
Pass
{
Name "META"
Tags { "LightMode"="Meta" }
Cull Off
CGPROGRAM
#pragma vertex vert_meta
#pragma fragment frag_meta
#pragma shader_feature _EMISSION
#pragma shader_feature _METALLICGLOSSMAP
#pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
#pragma shader_feature ___ _DETAIL_MULX2
#pragma shader_feature EDITOR_VISUALIZATION
float4 frag_meta(v2f_meta i) : SV_TARGET
{
UnityMetaInput input;
UNITY_INITIALIZE_OUTPUT(UnityMetaInput, input);
float4 materialSpecularColor = float4(1.0f, 0.0f, 0.0f, 1.0f);
float4 materialAlbedo = float4(0.0f, 1.0f, 0.0f, 1.0f);
input.SpecularColor = materialSpecularColor;
input.Albedo = materialAlbedo;
return UnityMetaFragment(input);
}
}
- Средство проверки материалов обновлено в Unity 2017.3.