Тип QML LevelOfDetail
LevelOfDetail предоставляет способ управления сложностью отрисованных сущностей, исходя из их размера на экране. Подробнее...
| Заявление об импорте: | import Qt3D.Render |
| С момента: | Qt 5.9 |
| Инициализирует: | QLevelOfDetail |
| Наследует: |
Свойства
- ThresholdType : перечисление
- camera : Камера
- currentIndex : int
- thresholdType : int
- thresholds : QList<qreal>
- volumeOverride : int
Подробное описание
LevelOfDetail может использоваться для управления представлением сущности на основе расстояния от наблюдателя или размера на экране.
Для повышения производительности рендеринга объекты, которые очень маленькие, могут быть отрисованы с использованием гораздо меньшего количества деталей в геометрии или текстуре.
Компонент управляется путем задания пороговых значений, которые интерпретируются как расстояния от камеры или размер на экране.
По мере изменения точки обзора свойство currentIndex будет изменяться, отражая соответствующее значение в массиве диапазонов.
Свойство currentIndex затем может использоваться, например, для включения или выключения сущностей, изменения источника в EntityLoader или материала.
Компонент LevelOfDetail не может быть совмещен между несколькими сущностями.
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 : Камера
Содержит идентификатор камеры, используемой для вычисления фактического расстояния или размера на экране.
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.2/qml-qt3d-render-levelofdetail.html