Spec-Zone.ru › Qt 6.0

Тип QML LevelOfDetail

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

Выражение импорта: import Qt3D.Render 2.0
С момента: Qt 5.9
Создаёт: QLevelOfDetail
Наследуется от:

Component3D

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

Свойства

  • 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

Spec-Zone.ru

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