Тип QML LevelOfDetail
LevelOfDetail предоставляет способ управления сложностью отрисовываемых сущностей на основе их размера на экране. Подробнее...
| Выражение импорта: | import Qt3D.Render 2.0 |
| С момента: | 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 : перечисление
Определяет, как интерпретируются значения в массиве thresholds.
- DistanceToCameraThreshold Расстояние от сущности до выбранной камеры
- ProjectedScreenPixelSizeThreshold Размер сущности при проекции на экран, как видно с выбранной камеры, выраженный в количестве пикселей по стороне ограничивающего квадрата в пространстве экрана.
См. также Qt3DRender::QLevelOfDetail::ThresholdType.
camera : Камера
Содержит идентификатор камеры, которая используется для вычисления фактического расстояния или размера на экране.
currentIndex : int
Индекс в массиве range, соответствующий текущему расстоянию до камеры или размеру на экране.
thresholdType : int
Определяет, как интерпретируются значения в массиве range.
thresholds : QList<qreal>
Массив значений range в виде чисел с плавающей запятой. Значение для самого подробного представления должно быть указано первым.
Если 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.0/qml-qt3d-render-levelofdetail.html