Spec-Zone.ru › Qt

Тип QML модели

Позволяет загрузить данные 3D-модели. Подробнее...

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

Node

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

Свойства

  • bounds : Bounds
  • castsShadows : bool
  • depthBias : real
  • geometry : Geometry
  • instanceRoot : QtQuick3D::Node
  • instancing : QtQuick3D::Instancing
  • inverseBindPoses : Список<matrix4x4>
  • materials : Список<QtQuick3D::Material>
  • morphTargets : Список<QtQuick3D::MorphTarget>
  • pickable : bool
  • receivesShadows : bool
  • skeleton : Skeleton
  • source : url

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

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

Формат сетки и встроенные примитивы

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

Встроенные примитивы можно загрузить, установив свойство source на одно из этих значений: #Rectangle, #Sphere, #Cube, #Cylinder or #Cone.

Model {
    source: "#Sphere"
}

Пользовательская геометрия

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

Материалы

Модель может состоять из нескольких подсеток, каждая из которых может иметь свой материал. Подсетка использует материал из списка materials, соответствующий его индексу. Если количество материалов меньше, чем подсеток, для последующих подсеток используется последний материал в списке. Это демонстрируется в примере подсеток.

В настоящее время с элементом модели могут использоваться три различных материала: PrincipledMaterial, DefaultMaterial и CustomMaterial.

Выбор

Выбор — это процесс отправки луча через сцену от некоторой начальной позиции, чтобы найти, с какими моделями пересекается луч. В QtQuick3D луч обычно отправляется из вида с использованием 2D-координат, полученных в результате касания или события мыши. Если луч попал в модель, будет возвращён PickResult с указателем на модель и информацией о том, где луч попал в модель. Для моделей, использующих пользовательскую геометрию, точность выбора ниже, чем для статических данных сетки, так как выбор выполняется только относительно ограничивающего объёма модели. Если луч проходит через более одной модели, выбирается ближайшая pickable модель.

Обратите внимание, что модели по умолчанию не pickable, поэтому, чтобы можно было выбрать модель в сцене, необходимо установить свойство pickable в значение true. Посетите пример выбора в Qt Quick 3D, чтобы увидеть, как можно включить выбор.

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

[только для чтения] bounds : Bounds

Границы модели описывают пределы ограничивающего объёма вокруг модели.

Примечание: Границы могут быть недоступны немедленно, если модель сначала необходимо загрузить.

castsShadows : bool

Если это свойство true, геометрия этой модели используется при отрисовке теней.

depthBias : real

Содержит смещение по глубине модели. Смещение по глубине добавляется к расстоянию объекта от камеры при сортировке объектов. Это можно использовать для принудительного изменения порядка отрисовки объектов, которые находятся близко друг к другу, что в противном случае может быть отрисовано в разном порядке в различных кадрах. Отрицательные значения перемещают значение сортировки ближе к камере, а положительные — дальше от камеры.

geometry : Geometry

Укажите пользовательскую геометрию для модели. Model::source должно быть пустым, когда используется пользовательская геометрия.

instanceRoot : QtQuick3D::Node

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

См. документацию по обзору для подробного объяснения.

См. также instancing и Instancing.

instancing : QtQuick3D::Instancing

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

См. также Instancing.

inverseBindPoses : Список<matrix4x4>

Это свойство содержит список матриц обратного положения связывания, используемых для скелетной анимации. Каждая матрица inverseBindPose означает обратную глобальную трансформацию соответствующего Joint::index в skeleton, которая будет использоваться изначально.

Примечание: Это свойство используется только в том случае, если Model::skeleton имеет действительное значение.

Примечание: Если некоторые матрицы не установлены, будут использованы значения по умолчанию.

См. также Joint::index.

materials : Список<QtQuick3D::Material>

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

См. также Пример подсеток Qt Quick 3D.

morphTargets : Список<QtQuick3D::MorphTarget>

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

Примечание: Первые 2 морфологические цели могут иметь максимум 4 атрибута среди позиции, нормали, касательной и бинормали.

Примечание: 3-я и 4-я морфологические цели могут иметь максимум 2 атрибута среди позиции и нормали.

Примечание: Остальные морфологические цели могут иметь только атрибут позиции.

Примечание: Это свойство не используется, когда модель затеняется CustomMaterial.

См. также MorphTarget.

pickable : bool

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

См. также View3D::pick.

receivesShadows : bool

Если это свойство установлено в true, материалы модели учитывают вклад теней от источников света, создающих тень.

skeleton : Skeleton

Содержит скелет модели. Скелет используется совместно с inverseBindPoses для сквининга.

Примечание: Сетки модели должны иметь атрибуты как суставов, так и весов.

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

См. также Model::inverseBindPoses и Qt Quick 3D - Пример простого скиннинга.

source : url

Это свойство определяет расположение файла сетки, содержащего геометрию этого объекта Model или одной из встроенных примитивных сеток, перечисленных ниже, как описано в Формат сетки и встроенные примитивы.

  • "#Прямоугольник"
  • "#Сфера"
  • "#Куб"
  • "#Конус"
  • "#Цилиндр"

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

Spec-Zone.ru

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