uShader
uShader / USD-шейдер
uShader создаёт или переопределяет USD/MaterialX-шейдер: задаёт diffuse и emissive цвет, PBR workflow, metallic/roughness/clearcoat, прозрачность и экспорт результата как отдельного USD stage.
uShader
Обзор
Что делает uShader
uShader работает как генератор материала для USD-пайплайна. В отличие от обычных 2D цветовых нод, он не перекрашивает пиксели изображения, а формирует материал/шейдер, который затем используется USD-объектами и рендерится через uRenderer.
Shader Model переключает модель материала. В режиме USD нода использует стандартную USD/PBR-логику, а MaterialX предназначен для material-пайплайнов, где материал должен описываться через MaterialX-совместимую модель.
Diffuse задаёт базовый цвет поверхности. Это основной цвет материала, который реагирует на uDistantLight, uDomeLight, uRectangleLight, uDiskLight и другие USD-источники света.
Emissive добавляет самосвечение материала. Такой цвет может использоваться для экранов, LED-панелей, неоновых деталей, индикаторов и любых элементов, которые должны визуально светиться независимо от обычного diffuse-освещения.
Workflow Mode выбирает PBR-подход: Metallic или Specular. Metallic привычен для большинства современных PBR-материалов и управляет металлическостью через Metallic/Roughness. Specular удобен для пайплайнов, где отражательная способность описывается specular-параметрами.
Metallic, Roughness, Clearcoat и Clearcoat Roughness описывают физическое поведение поверхности. Metallic делает материал металлическим, Roughness управляет размытостью отражений, Clearcoat добавляет дополнительный лаковый слой, а Clearcoat Roughness задаёт шероховатость этого слоя.
Opacity, Opacity Threshold и Opacity Mode отвечают за прозрачность и cutout-поведение. Transparent подходит для настоящей полупрозрачности, Presence — для присутствия/отсечения материала в сцене.
Export as Separate Stage позволяет вывести созданный шейдер как отдельный USD stage. Это удобно, когда материал нужно сохранить отдельно, объединить через uMerge или передать дальше в USD-граф без немедленного применения к конкретному объекту.
Представляй uShader как Material Builder для USD: он не меняет картинку напрямую, а собирает материал, который потом назначается объекту, объединяется со сценой или рендерится через USD-рендер.

