Spec-Zone.ru › Qt 6.1

Тип QML LevelOfDetail

LevelOfDetail предоставляет способ управления сложностью отрисованных объектов на основе их размера на экране. Подробнее...

Заявление об импорте: import Qt3D.Render 2.1
С тех пор: Qt 5.9
Инициализирует: QLevelOfDetail
Наследует:

Component3D

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

Свойства

  • 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

Spec-Zone.ru

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