Тип QML LevelOfDetail
LevelOfDetail предоставляет способ управления сложностью отрисованных объектов на основе их размера на экране. Подробнее...
| Заявление об импорте: | import Qt3D.Render 2.1 |
| С тех пор: | Qt 5.9 |
| Инициализирует: | QLevelOfDetail |
| Наследует: |
Свойства
- ThresholdType : перечисление
- camera : Camera
- currentIndex : int
- thresholdType : int
- thresholds : QList<qreal>
- volumeOverride : int
Подробное описание
LevelOfDetail можно использовать для управления представлением объекта на основе расстояния от наблюдателя или размера на экране.
Для повышения производительности рендеринга объекты, которые очень маленькие, могут быть отображены с гораздо меньшими деталями, в геометрии или текстурах.
Компонент управляется путем задания пороговых значений, которые интерпретируются как расстояния от камеры или размера на экране.
По мере изменения точки зрения свойство currentIndex будет изменяться, отражая соответствующее значение в массиве диапазонов.
Свойство currentIndex затем можно использовать, например, для включения или выключения объектов, изменения источника в EntityLoader или материала.
Компонент LevelOfDetail нельзя использовать совместно между несколькими объектами Entity.
import Qt3D.Core 2.0
import Qt3D.Render 2.0
Entity {
id: root
// Scene
Camera { id: mainCamera }
LevelOfDetail {
id: lod
camera: mainCamera
thresholds: [20, 35, 50, 65]
thresholdType: LevelOfDetail.DistanceToCameraThreshold
}
GeometryRenderer {
id: mesh
view: CylinderMesh {
property var sliceValues: [20, 10, 6, 4]
slices: sliceValues[lod.currentIndex]
}
}
Entity {
id: renderableEntity
components: [ mesh, lod ]
}
} Документация по свойствам
ThresholdType : перечисление
Определяет, как интерпретируются значения в массивах пороговых значений
- DistanceToCameraThreshold Расстояние от объекта до выбранной камеры
- ProjectedScreenPixelSizeThreshold Размер объекта при проекции на экран, как видно с выбранной камеры, выраженный в количестве пикселей по стороне граничащего квадрата в пространстве экрана.
См. также Qt3DRender::QLevelOfDetail::ThresholdType.
camera : Camera
Содержит идентификатор камеры, используемой для вычисления фактического расстояния или размера на экране.
currentIndex : int
Индекс в массиве диапазонов, который соответствует текущему расстоянию до камеры или размеру на экране.
thresholdType : int
Определяет, как интерпретируются значения диапазона.
thresholds : QList<qreal>
Массив значений диапазона в виде чисел с плавающей точкой. Значение для самого подробного представления должно быть указано первым.
Если LevelOfDetail::thresholdType установлен в LevelOfDetail.DistanceToCameraThreshold, значения должны быть указаны в порядке возрастания, в координатах пространства камеры
Если LevelOfDetail::thresholdType установлен в LevelOfDetail.ProjectedScreenPixelSizeThreshold, значения должны быть указаны в порядке убывания, в пикселях пространства экрана.
volumeOverride : int
Определяет, что используется для оценки расстояния или размера на экране.
По умолчанию используется сфера радиусом 1, центрированная в локальном начале объекта. Этот прокси-объём используется для вычисления расстояния до камеры или размера проекции на экран.
Если это значение равно null, используется ограничивающий объём объекта. Следует позаботиться о том, чтобы этот ограничивающий объём никогда не становился недействительным.
См. также Qt3DRender::QLevelOfDetailBoundingSphere.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qml-qt3d-render-levelofdetail.html