Spec-Zone.ru › Qt 6.0

Тип QML PrincipledMaterial

Позволяет определить материал для 3D-объектов, используя рабочий процесс металл/шероховатость. Подробнее...

Заявление импорта: import QtQuick3D .
Наследует:

Материал

  • Список всех членов, включая унаследованные

Свойства

  • alphaCutoff : real
  • alphaMode : перечисление
  • baseColor : цвет
  • baseColorMap : Текстура
  • blendMode : перечисление
  • emissiveColor : цвет
  • emissiveMap : Текстура
  • lighting : перечисление
  • lineWidth : real
  • metalness : real
  • metalnessChannel : перечисление
  • metalnessMap : Текстура
  • normalMap : Текстура
  • normalStrength : real
  • occlusionAmount : real
  • occlusionChannel : перечисление
  • occlusionMap : Текстура
  • opacity : real
  • opacityChannel : перечисление
  • opacityMap : Текстура
  • pointSize : real
  • roughness : real
  • roughnessChannel : перечисление
  • roughnessMap : Текстура
  • specularAmount : real
  • specularMap : Текстура
  • specularReflectionMap : Текстура
  • specularTint : real

Подробное описание

Прежде чем модель можно будет отобразить в сцене, ей необходимо прикрепить хотя бы один материал, описывающий, как должна быть заштрихована сетка. PrincipledMaterial — это материал PBR металл/шероховатость, призванный быть простым в использовании материалом с минимальным набором параметров. Помимо небольшого количества параметров, все входные значения строго нормализованы в диапазоне от 0 до 1 и имеют разумные значения по умолчанию, что означает, что даже без изменения каких-либо значений материал можно использовать для затенения модели. Для ознакомления с тем, как различные свойства материала принципиального влияют на то, как модель затеняется, см. пример Principled Material.

Рабочий процесс металл/шероховатость

Материал Principled — это материал металл/шероховатость, что в сущности означает, что основные характеристики материала контролируются свойством metallness, roughness и основным цветом.

Металличность

Материалы реального мира делятся на две основные категории: металлы и диэлектрики (неметаллы). В материале Principled категория, к которой принадлежит материал, определяется значением metalness. Установка значения metalness в 0 означает, что материал является диэлектриком, в то время как все значения выше 0 считаются металлами. На самом деле у металлов значение metalness будет равно 1, но возможны значения от 0 до 1, которые обычно используются для металлов с уменьшенной отражательной способностью. Например, для отображения коррозии или аналогичного эффекта на материале необходимо уменьшить значение metalness, чтобы выходные свойства были более похожи на свойства диэлектрического материала. Поскольку значение metalness влияет на отражательную способность материала, может показаться заманчивым использовать металличность для регулирования блеска, но сначала подумайте о типе материала, который вы хотите описать. Увеличение значения metalness для придания диэлектрическому материалу более отполированного вида введет свойства, которые неточны для диэлектрического материала, поэтому подумайте, целесообразнее ли вместо этого настроить, например, значение roughness.

Шероховатость

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

Основной цвет

Основной цвет материала металл/шероховатость содержит как диффузную, так и зеркальную информацию. То, как основной цвет интерпретируется как один или другой, в основном определяется значением metalness. Например, материал с значением металличности 1 будет интерпретировать большую часть основного цвета как зеркальный цвет, а диффузный цвет будет иметь черный оттенок. Противоположное произойдет для материала с значением металличности 0. Это, конечно, немного упрощенно, но дает общее представление о том, как взаимодействуют основной цвет baseColor и значение metalness. Для тех, кто более знаком с рабочим процессом Спекуляр/Глосс, здесь есть четкое различие, которое стоит отметить, а именно, что цветовые данные двух материалов несовместимы напрямую, так как в материале Спекуляр/Глосс material диффузный и зеркальный цвета поступают из отдельных входов.

Документация свойств

alphaCutoff : real

Свойство alphaCutoff можно использовать для задания значения отсечения при использовании режима Mask alphaMode. Фрагменты, где значение альфа меньше порогового значения, будут отображаться полностью прозрачными (0.0 для всех цветовых каналов). Когда значение альфа равно или больше значения отсечения, цвет никак не изменяется.

Значение по умолчанию равно 0,5.

См. также alphaMode.

alphaMode : перечисление

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

Примечание: Тест на отсечение по альфа-каналу учитывает только альфа-канал базового цвета. opacity и Node::opacity при этом не учитываются.

Примечание: При выборке карты базового цвета эффективное значение альфа равно выборочному значению альфа, умноженному на альфа baseColor.

Константа Описание
PrincipledMaterial.Default Тест не применяется, эффективное значение альфа передается как есть. Обратите внимание, что значение альфа baseColor меньше 1.0 не автоматически подразумевает смешивание альфа-каналов. Объект с материалом может по-прежнему обрабатываться как непрозрачный, если другие соответствующие свойства (например, непрозрачность меньше 1 или наличие карты непрозрачности) не вызовут обработки объекта как полупрозрачного. Для обеспечения смешивания альфа-каналов установите Blend вместо этого.
PrincipledMaterial.Blend Тест на отсечение не применяется, но гарантирует смешивание альфа-каналов. Объект с этим материалом, следовательно, никогда не будет обрабатываться рендером как непрозрачный.
PrincipledMaterial.Opaque Отображаемый объект полностью непрозрачен, если нет других соответствующих свойств (например, непрозрачность меньше 1 или наличие карты непрозрачности). То есть все значения альфа в цветовом значении вершины, базовом цвете и карте базового цвета игнорируются.
PrincipledMaterial.Mask Применяется тест на основе alphaCutoff. Если эффективное значение альфа меньше alphaCutoff, фрагмент изменяется на полностью прозрачный. В противном случае альфа изменяется на 1, так что фрагмент станет полностью непрозрачным. Этот режим подразумевает Blend, что означает, что объект с материалом, у которого alphaMode установлен на Mask, отображается вместе с полупрозрачными объектами в порядке от заднего к переднему, независимо от результата теста на отсечение.

См. также alphaCutoff.

baseColor : цвет

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

baseColorMap : Текстура

Это свойство определяет текстуру, используемую для установки базового цвета материала.

См. также baseColor.

blendMode : перечисление

Это свойство определяет, как цвета модели, которая отрисовывается, смешиваются с цветами объектов позади неё.

Постоянная Описание
PrincipledMaterial.SourceOver По умолчанию режим смешивания. Непрозрачные объекты перекрывают объекты позади них.
PrincipledMaterial.Screen Цвета смешиваются с использованием инвертированного умножения, что даёт более светлый результат. Этот режим смешивания не зависит от порядка; если вы используете полупрозрачные объекты и сталкиваетесь с «подёргиванием», так как грани или модели сортируются по-разному, использование смешивания Screen — один из способов получить результаты без подёргивания.
PrincipledMaterial.Multiply Цвета смешиваются с использованием умножения, что даёт более тёмный результат. Этот режим смешивания также не зависит от порядка.

См. также alphaMode.

emissiveColor : цвет

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

Примечание: В сцене с чёрным окружающим освещением материал с фактором самоизлучения 0 будет выглядеть чёрным там, где свет на него не попадает; установка фактора самоизлучения в 1 заставит материал отображаться как его диффузный цвет вместо этого.

emissiveMap : Текстура

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

lighting : перечисление

Это свойство определяет метод освещения, используемый при генерации этого материала.

Значение по умолчанию — PrincipledMaterial.FragmentLighting

При использовании PrincipledMaterial.FragmentLighting, диффузное и зеркальное освещение вычисляются для каждого отрисованного пикселя. Некоторые эффекты (например, Fresnel или карта нормалей) требуют PrincipledMaterial.FragmentLighting для работы.

При использовании PrincipledMaterial.NoLighting вычисление освещения не выполняется. Этот режим (предсказуемо) очень быстрый и достаточно эффективен, когда используются карты изображений, которые не нужно затемнять освещением. Все остальные свойства затенения, кроме baseColor значения, значения альфа и цвета вершин будут игнорироваться.

Постоянная Значение
PrincipledMaterial.NoLighting
PrincipledMaterial.FragmentLighting

lineWidth : вещественное

Это свойство определяет ширину линий, отрисовываемых, когда геометрия использует тип примитива линии или линии-полоски. Значение по умолчанию — 1,0. Это свойство не имеет отношения к рендерингу других типов геометрии, таких как, треугольные сетки.

Предупреждение: Ширины линий, отличные от 1, могут быть не поддерживаемы во время выполнения, в зависимости от используемого графического API. В таком случае запрос на изменение ширины игнорируется. Например, ни одно из следующих действий не может ожидаться для поддержки широких линий: Direct3D, Metal, OpenGL с контекстами профилей Core.

metalness : вещественное

Свойство metalness определяет металлические свойства материала. Значение нормализовано, где 0,0 означает, что материал является диэлектриком (неметаллическим), а значение 1,0 означает, что материал является металлом.

Примечание: По сути, материалы являются либо диэлектриками с металличностью 0, либо металлами с металличностью 1. Значения металличности между 0 и 1 всё ещё разрешены и дадут материал, который является смесью разных моделей.

Диапазон: [0,0, 1,0]. Значение по умолчанию — 0.

metalnessChannel : перечисление

Это свойство определяет цветовой канал текстуры, используемый для считывания значения металличности из metalnessMap. Значение по умолчанию — Material.B.

Постоянная Описание
Material.R Считывание значения из канала R текстуры.
Material.G Считывание значения из канала G текстуры.
Material.B Считывание значения из канала B текстуры.
Material.A Считывание значения из канала A текстуры.

metalnessMap : Текстура

Это свойство устанавливает Текстуру, используемую для настройки степени металличности в различных частях материала.

normalMap : Текстура

Это свойство определяет RGB-изображение, используемое для имитации смещения тонкой геометрии по поверхности материала. Канал RGB указывают отклонения нормали по осям XYZ.

Примечание: Карты нормалей не повлияют на силуэт модели.

normalStrength : вещественное

Это свойство управляет степенью имитации смещения для normalMap.

occlusionAmount : вещественное

Это свойство содержит множитель, используемый для изменения значений из текстуры occlusionMap. Значение должно быть от 0,0 до 1,0. По умолчанию — 1,0.

occlusionChannel : перечисление

Это свойство определяет цветовой канал текстуры, используемый для считывания значения непрозрачности из occlusionMap. Значение по умолчанию — Material.R.

Постоянная Описание
Material.R Считывание значения из канала R текстуры.
Material.G Считывание значения из канала G текстуры.
Material.B Считывание значения из канала B текстуры.
Material.A Считывание значения из канала A текстуры.

occlusionMap : Текстура

Это свойство определяет текстуру, используемую для определения того, сколько непрямого света должны получать различные области материала. Ожидается, что значения будут линейными от 0,0 до 1,0, где 0,0 означает отсутствие непрямого освещения, а 1,0 означает, что эффект непрямого освещения остаётся неизменным.

См. также occlusionAmount.

opacity : вещественное

Это свойство уменьшает непрозрачность только этого материала, независимо от модели.

opacityChannel : перечисление

Это свойство определяет цветовой канал текстуры, используемый для считывания значения непрозрачности из opacityMap. Значение по умолчанию — Material.A.

Постоянная Описание
Material.R Считывание значения из канала R текстуры.
Material.G Считывание значения из канала G текстуры.
Material.B Считывание значения из канала B текстуры.
Material.A Считывание значения из канала A текстуры.

opacityMap : Текстура

Это свойство определяет Текстуру, используемую для управления непрозрачностью по-разному для разных частей материала.

pointSize : вещественное

Это свойство определяет размер точек, отрисовываемых, когда геометрия использует тип примитива точки. Значение по умолчанию — 1,0. Это свойство не имеет отношения к рендерингу других типов геометрии, таких как треугольные сетки.

Предупреждение: Размеры точек, отличные от 1, могут быть не поддерживаемы во время выполнения, в зависимости от используемого графического API. Например, установка размера, отличного от 1, не имеет эффекта с Direct 3D.

roughness : вещественное

Это свойство управляет размером глянцевого блика, генерируемого от источников света, и общностью отражений. Большие значения увеличивают шероховатость, смягчая глянцевые блики и размывая отражения. Диапазон значений — [0.0, 1.0]. Значение по умолчанию — 0.

roughnessChannel : перечисление

Это свойство определяет канал текстуры, используемый для чтения значения шероховатости из roughnessMap. Значение по умолчанию — Material.G.

Постоянная Описание
Material.R Чтение значения из канала R текстуры.
Material.G Чтение значения из канала G текстуры.
Material.B Чтение значения из канала B текстуры.
Material.A Чтение значения из канала A текстуры.

roughnessMap : Текстура

Это свойство определяет Текстуру, которая управляет глянцевой шероховатостью материала.

specularAmount : вещественное

Это свойство управляет интенсивностью глянцевости (блики и отражения).

Диапазон значений — [0.0, 1.0]. Значение по умолчанию — 0.5.

Примечание: Для недиэлектрических материалов (металлы) это свойство не оказывает влияния.

Примечание: Это свойство не влияет на specularReflectionMap, но влияет на количество отражений от источника света сцены SceneEnvironment::lightProbe.

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

specularMap : Текстура

Это свойство определяет RGB-текстуру для модуляции количества и цвета глянцевости по всей поверхности материала. Эти значения умножаются на specularAmount.

Примечание: Карта глянцевости будет игнорироваться, если материал не диэлектрический.

specularReflectionMap : Текстура

Это свойство устанавливает Текстуру, используемую для глянцевых бликов на материале. По умолчанию текстура применяется с использованием окружения (не UV-картирования): при вращении модели текстура будет отображаться как отражение от окружения. Глянцевые карты отражения — простой способ добавить качественную внешность с относительно низкой стоимостью.

Примечание: Использование источника света (Light Probe) в вашей SceneEnvironment для освещения на основе изображения автоматически использует это изображение как отражение.

Примечание: Четкие изображения заставляют ваш материал выглядеть очень глянцевым; чем больше вы размываете изображение, тем мягче будет ваш материал.

specularTint : вещественное

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

Примечание: Это свойство применяется только к диэлектрическим материалам.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qtquick3d-principledmaterial.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API