Spec-Zone.ru › Qt 6.1

Тип QML PrincipledMaterial

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

Оператор импорта: import QtQuick3D .
Наследует:

Материал

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

Свойства

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

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

Прежде чем модель можно будет отобразить в сцене, к ней необходимо прикрепить по крайней мере один материал, описывающий, как должна быть затенена сетка. PrincipledMaterial — это PBR-материал металл/шероховатость, предназначенный для простого использования с минимальным набором параметров. Помимо небольшого числа параметров, все входные значения строго нормализованы в диапазоне от 0 до 1 и имеют разумные значения по умолчанию, что означает, что даже без изменения каких-либо значений материал можно использовать для затенения модели. Для ознакомления с тем, как различные свойства материала Principled влияют на затенение модели, см. пример 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. Для тех, кто более знаком с рабочим процессом глянец/блеск, здесь есть заметное различие, а именно то, что данные цвета двух материалов несовместимы напрямую, так как в материале Specular/Glossiness диффузный и глянцевый цвета поступают с отдельных входов.

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

alphaCutoff : real

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

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

См. также alphaMode.

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

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

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

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

Constant Description
PrincipledMaterial.Default Нет теста, применяется эффективное значение альфа как есть. Обратите внимание, что значение альфа baseColor или baseColorMap меньше, чем 1.0, не означает автоматического применения смешивания альфа-каналов. Объект с таким материалом может по-прежнему обрабатываться как непрозрачный, если другие соответствующие свойства (например, непрозрачность меньше 1, наличие карты непрозрачности или значение blendMode отличное от значения по умолчанию) не вызывают обработки объекта как полупрозрачного. Чтобы гарантировать смешивание альфа-каналов независимо от других свойств объекта или материала, установите Blend.
PrincipledMaterial.Blend Не применяется тест обрезки, но гарантируется смешивание альфа-каналов. Объект с этим материалом никогда не будет обрабатываться рендерером как непрозрачный.
PrincipledMaterial.Opaque Не применяется тест обрезки, и рендерный объект предполагается полностью непрозрачным, что означает игнорирование значений альфа в цвете вершины, базовом цвете и карте базового цвета, и подстановка значения 1.0 вместо них. Этот режим не гарантирует, что смешивание альфа-каналов не произойдёт. Если соответствующие свойства (например, непрозрачность меньше 1, карта непрозрачности или значение blendMode отличное от значения по умолчанию) указывают на это, объект всё равно будет обрабатываться рендеринговой системой как полупрозрачный, так же как и при режиме альфа Default.
PrincipledMaterial.Mask Применяется тест, основанный на alphaCutoff. Если эффективное значение альфа ниже alphaCutoff, фрагмент меняется на полностью прозрачный и отбрасывается (со всеми последствиями отбрасывания: буфер глубины не записывается для этого фрагмента). В противном случае альфа изменяется на 1.0, так что фрагмент станет полностью непрозрачным. Что касается смешивания альфа-каналов, поведение этого режима идентично Opaque, независимо от результата теста обрезки. Это означает, что удовлетворяются Примечания по реализации alpha coverage спецификации glTF 2. Объекты с тестом обрезки по альфа-каналу также могут отбрасывать тени, так как они ведут себя как непрозрачные по умолчанию, если соответствующие свойства (например, непрозрачность меньше 1, карта непрозрачности или значение blendMode отличное от значения по умолчанию) не предполагают иного (в этом случае отбрасывание теней не будет возможным).

См. также alphaCutoff и blendMode.

baseColor : цвет

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

См. также baseColorMap и alphaMode.

baseColorMap : Текстура

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

См. также baseColor и alphaMode.

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

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

Constant Description
PrincipledMaterial.SourceOver Режим смешивания по умолчанию. Непрозрачные объекты закрывают объекты позади них. Этот режим по умолчанию не гарантирует смешивания альфа-каналов в рендеринговой системе для моделей, использующих этот материал, а скорее делает решение зависящим от ряда факторов: если общая непрозрачность объекта и материала равна 1.0, в материале нет карты непрозрачности, и alphaMode не установлен в значение, которое навязывает смешивание альфа-каналов, то модель обрабатывается как непрозрачная, то есть рендерится с включённым тестированием и записью глубины вместе с другими непрозрачными объектами, без включения смешивания. В противном случае модель обрабатывается как полупрозрачная и рендерится после непрозрачных объектов вместе с другими полупрозрачными объектами в порядке «от дальнего к ближнему» на основе расстояния центра объекта от камеры с включённым смешиванием альфа-каналов.
PrincipledMaterial.Screen Цвета смешиваются с использованием обратного умножения, что даёт более светлый результат. Этот режим смешивания не зависит от порядка; если вы используете полупрозрачные объекты и сталкиваетесь с «подрывом» при изменении сортировки граней или моделей, использование смешивания экрана — один из способов получения результатов без подрыва.
PrincipledMaterial.Multiply Цвета смешиваются с использованием умножения, что даёт более тёмный результат. Этот режим смешивания также не зависит от порядка.

См. также alphaMode и Архитектура Qt Quick 3D.

emissiveColor : цвет

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

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

emissiveMap : Текстура

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

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

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

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

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

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

Constant Value
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.

Constant Description
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-картирования): при повороте модели текстура будет выглядеть так, как будто она отражает окружение. Карты зеркального отражения легко добавляют высокое качество при относительно низкой стоимости.

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

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

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

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

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

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

Spec-Zone.ru

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