Spec-Zone.ru › Qt

Тип QML LevelOfDetail

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

Заявление об импорте: import Qt3D.Render
С момента: 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 : перечисление

Указывает, как интерпретируются значения в пороговых значениях

  • 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

Spec-Zone.ru

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