Spec-Zone.ru › Qt

Тип QML DefaultMaterial

Позволяет определять материал для 3D-объектов, используя метод specular/glossiness. Подробнее...

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

Material

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

Свойства

  • blendMode : перечисление
  • bumpAmount : вещественное
  • bumpMap : Текстура
  • diffuseColor : цвет
  • diffuseLightWrap : вещественное
  • diffuseMap : Текстура
  • emissiveFactor : vector3d
  • emissiveMap : Текстура
  • fresnelPower : вещественное
  • indexOfRefraction : вещественное
  • lighting : перечисление
  • lineWidth : вещественное
  • normalMap : Текстура
  • opacity : вещественное
  • opacityChannel : перечисление
  • opacityMap : Текстура
  • pointSize : вещественное
  • roughnessChannel : перечисление
  • roughnessMap : Текстура
  • specularAmount : вещественное
  • specularMap : Текстура
  • specularModel : перечисление
  • specularReflectionMap : Текстура
  • specularRoughness : вещественное
  • specularTint : цвет
  • translucencyChannel : перечисление
  • translucencyMap : Текстура
  • translucentFalloff : вещественное
  • vertexColorsEnabled : bool

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

Перед тем, как модель можно будет отобразить в сцене, она должна иметь по крайней мере один присоединенный материал, описывающий, как должна быть затенена сетка. DefaultMaterial — это простой в использовании материал, который позволяет описать ваш материал с помощью метода specular/glossiness. Материал имеет разумные значения по умолчанию и может использоваться для затенения модели без изменения каких-либо свойств.

Метод specular/glossiness

Материал Default предоставляет способ создания материалов, используя метод specular/glossiness. Основные свойства материала контролируются через свойства specular, roughness и цвет diffuse.

Specular

Свойство specular reflectivity описывает количество и цвет зеркального отражения поверхности объекта. Для отражающих материалов основной вклад цвета происходит из этого свойства.

Glossiness (Roughness)

Гладкость поверхности зависит от того, насколько гладкой или неровной является поверхность. Гладкая поверхность будет иметь более интенсивное отражение света, чем шероховатая поверхность, где отражение света будет более рассеянным. В материале Default гладкость материала контролируется свойством roughness.

Цвет diffuse

Свойство diffuse color описывает базовый цвет материала, и, в отличие от базового цвета PrincipledMaterial, цвет diffuse не содержит никакой информации об отражении материала. Однако для отражающих поверхностей цвет diffuse должен быть установлен в черный оттенок, так как это позволит цвету specular внести свой вклад.

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

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

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

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

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

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

Это свойство управляет количеством моделируемого смещения для bumpMap или normalMap. Значение по умолчанию — 0, отключая эффект bump. Диапазон значений — [0, 1].

bumpMap : Текстура

Это свойство определяет черно-белую текстуру для моделирования смещения мелкой геометрии по поверхности материала. Более светлые пиксели указывают на возвышенные области. Величина эффекта контролируется свойством bumpAmount.

Примечание: bump-карты не повлияют на контур модели.

diffuseColor : цвет

Это свойство определяет цвет diffuse (albedo) для материала. Установка цвета diffuse в черный оттенок создаст чисто зеркальный материал (например, металлы или зеркала).

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

Это свойство определяет количество обхода света для карты translucency. Значение 0 не будет обходить свет вообще, а значение 1 будет обходить свет вокруг всего объекта.

diffuseMap : Текстура

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

emissiveFactor : vector3d

Это свойство определяет цвет самоизлучения для этого материала. Если установлена карта emissive, компоненты x, y и z используются как множители для каналов R, G и B текстуры соответственно. Значение по умолчанию — (0, 0, 0), что означает отсутствие вклада emissive вообще.

Примечание: Установка lightingMode в DefaultMaterial.NoLighting означает, что emissive Factor не оказывает влияния на сцену.

emissiveMap : Текстура

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

См. также emissiveFactor.

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

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

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

Это свойство управляет углами отражений, на которые влияет fresnelPower. Значение по умолчанию — 1.45. Значение должно быть больше или равно 1.0.

Примечание: В мире нет материалов с показателем преломления, значительно превышающим 3.0.

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

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

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

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

При использовании DefaultMaterial.NoLighting расчет освещения не выполняется. Этот режим очень быстрый и эффективен при использовании карт текстур, не требующих затенения освещением.

Постоянная Описание
DefaultMaterial.NoLighting Расчет освещения не выполняется.
DefaultMaterial.FragmentLighting Вычисляется освещение на фрагмент.

lineWidth : вещественный

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

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

Примечание: В отличие от большинства других свойств материалов, ширина линии встроена в объект графической конвейерной обработки, подобно blendMode. Поэтому разное значение приводит к необходимости создания нового объекта конвейера, что со временем может стать дорогостоящим (производительность и использование ресурсов), если свойство часто меняется на множество разных значений. Например, анимация этого свойства возможна, но должна быть избегаема.

normalMap : Текстура

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

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

opacity : вещественный

Это свойство уменьшает непрозрачность только этого материала, независимо от модели. Значение по умолчанию — 1.0. Диапазон значений — [0.0, 1.0].

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.

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

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

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

roughnessMap : Текстура

Это свойство определяет текстуру для управления шероховатостью зеркальности материала. Если текстура содержит несколько каналов (RGBA), то правильный канал можно установить с помощью свойства roughnessChannel.

specularAmount : вещественный

Это свойство управляет интенсивностью зеркальности (подсветки и отражения). Значение по умолчанию — 0 (отключает зеркальность). Диапазон значений — [0.0, 1.0].

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

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

specularMap : Текстура

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

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

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

Постоянная Описание
DefaultMaterial.Default Зеркальное освещение использует стандартную модель освещения.
DefaultMaterial.KGGX Зеркальное освещение использует модель освещения GGX.

specularReflectionMap : Текстура

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

Обычно используется для выполнения отображения среды: при повороте модели текстура будет казаться отражающей окружающую среду. Для корректной работы необходимо установить свойство mappingMode текстуры в Texture.Environment. Зеркальные карты отражений — простой способ добавить высококачественный вид с относительно низкой стоимостью.

Примечание: Связывание зондирования света с SceneEnvironment и, следовательно, использование освещения на основе изображения, может достичь подобных эффектов отражения от среды. Однако зондирование света — концептуально другой и, с точки зрения производительности, потенциально более дорогой способ. У каждого подхода есть свои особые применения, и выбор необходимо делать на основе конкретных условий. В отношении настраиваемой текстуры, specularReflectionMap имеет преимущество, поскольку не имеет ограничений и поддерживает все типы текстур, включая те, которые получают данные из подсцены Qt Quick через sourceItem.

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

См. также Texture::mappingMode.

specularRoughness : вещественный

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

specularTint : цвет

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

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

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

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

translucencyMap : Текстура

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

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

Это свойство определяет величину затухания для полупрозрачности на основе угла нормалей объекта к источнику света.

vertexColorsEnabled : булево

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

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

Spec-Zone.ru

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