LevelOfDetail QML Type

LevelOfDetail bietet eine Möglichkeit, die Komplexität der gerenderten Objekte auf der Grundlage ihrer Größe auf dem Bildschirm zu steuern. Mehr...

Import Statement: import Qt3D.Render 2.8
In C++: QLevelOfDetail
Inherits:

Component3D

Status: Deprecated

Eigenschaften

Detaillierte Beschreibung

LevelOfDetail kann verwendet werden, um die Darstellung eines Objekts in Abhängigkeit von der Entfernung zum Betrachter oder der Größe auf dem Bildschirm zu steuern.

Um die Rendering-Leistung zu verbessern, können Objekte, die sehr klein sind, mit viel weniger Details in Geometrie oder Textur gerendert werden.

Die Komponente wird durch die Angabe von Schwellenwerten gesteuert, die entweder als Entfernung zur Kamera oder als Bildschirmgröße interpretiert werden.

Wenn sich der Blickwinkel ändert, ändert sich die Eigenschaft currentIndex, um den entsprechenden Wert im Bereichsarray wiederzugeben.

Die Eigenschaft currentIndex kann dann z. B. zum Aktivieren oder Deaktivieren von Objekten, zum Ändern der Quelle in einem EntityLoader oder von Materialien verwendet werden.

Die Komponente LevelOfDetail kann nicht von mehreren Entitäten gemeinsam genutzt werden.

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 ]
    }
}

Eigenschaft Dokumentation

ThresholdType : enumeration

Legt fest, wie die Werte in den Schwellenwerten interpretiert werden

  • DistanceToCameraThreshold Abstand zwischen dem Objekt und der ausgewählten Kamera
  • ProjectedScreenPixelSizeThreshold Größe der Entität, wenn sie von der ausgewählten Kamera aus auf den Bildschirm projiziert wird, ausgedrückt in Anzahl der Pixel auf der Seite des begrenzenden Quadrats im Bildschirmraum.

Siehe auch Qt3DRender::QLevelOfDetail::ThresholdType.


camera : Camera

Enthält die ID der Kamera, die für die Berechnung des tatsächlichen Abstands oder der Bildschirmgröße verwendet wird.


currentIndex : int

Der Index im Bereichsarray, der dem aktuellen Abstand zur Kamera oder der Bildschirmgröße entspricht.


thresholdType : int

Legt fest, wie Bereichswerte interpretiert werden.


thresholds : QList<qreal>

Array von Bereichswerten als Fließkommazahlen. Der Wert für die detaillierteste Darstellung sollte zuerst angegeben werden.

Wenn LevelOfDetail::thresholdType auf LevelOfDetail.DistanceToCameraThreshold gesetzt ist, sollten die Werte in aufsteigender Reihenfolge in Kameraraumkoordinaten angegeben werden.

Wenn LevelOfDetail::thresholdType auf LevelOfDetail.ProjectedScreenPixelSizeThreshold gesetzt ist, sollten die Werte in absteigender Reihenfolge in Bildschirmpixeln angegeben werden.


volumeOverride : int

Gibt an, was zur Bewertung des Abstands oder der Bildschirmgröße verwendet wird.

Die Vorgabe ist eine Kugel mit dem Radius 1, die im lokalen Ursprung des Objekts zentriert ist. Dieses Proxy-Volumen wird verwendet, um den Abstand zur Kamera oder die Größe der Bildschirm-Projektion zu berechnen.

Ist dieser Wert gleich Null, wird das Bounding-Volumen der Entität verwendet. Es muss darauf geachtet werden, dass dieses Bounding-Volumen niemals ungültig wird.

Siehe auch Qt3DRender::QLevelOfDetailBoundingSphere.


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.