Auf dieser Seite

LevelOfDetail QML Type

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

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

Component3D

Status: Deprecated

Dieser Typ ist veraltet. Wir raten dringend davon ab, ihn in neuem Code zu verwenden.

Eigenschaften

Ausführliche Beschreibung

Mit „LevelOfDetail“ lässt sich die Darstellung eines Objekts je nach Entfernung zum Betrachter oder Größe auf dem Bildschirm steuern.

Um die Rendering-Leistung zu verbessern, können sehr kleine Objekte mit deutlich weniger Details – sowohl in der Geometrie als auch in der Textur – gerendert werden.

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

Wenn sich der Blickwinkel ändert, passt sich die Eigenschaft „ currentIndex “ an, um den entsprechenden Wert im Bereichsarray widerzuspiegeln.

Die Eigenschaft „ currentIndex “ kann dann beispielsweise verwendet werden, um Entitäten zu aktivieren oder zu deaktivieren, die Quelle in einem „ EntityLoader “ zu ändern oder das Material anzupassen.

Die „LevelOfDetail“-Komponente 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 ]
    }
}

Dokumentation zu den Eigenschaften

ThresholdType : enumeration

Legt fest, wie die Werte in den Schwellenwerten interpretiert werden

  • DistanceToCameraThreshold: Abstand des Objekts zur ausgewählten Kamera
  • ProjectedScreenPixelSizeThreshold Größe des Objekts bei der Projektion auf den Bildschirm aus der Perspektive der ausgewählten Kamera, ausgedrückt in der Anzahl der Pixel an der Seite des Begrenzungsquadrats im Bildschirmraum.

Siehe auch „ Qt3DRender::QLevelOfDetail::ThresholdType “.

camera : Camera

Enthält die ID der Kamera, die zur Berechnung der tatsächlichen Entfernung oder der Bildschirmgröße verwendet wird.

currentIndex : int

Der Index im Bereichsarray, der der aktuellen Entfernung zur Kamera bzw. der Bildschirmgröße entspricht.

thresholdType : int

Legt fest, wie Bereichswerte interpretiert werden.

thresholds : QList<qreal>

Array mit Bereichswerten als Gleitkommazahlen. Der Wert für die detaillierteste Darstellung sollte an erster Stelle angegeben werden.

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

Wenn „ LevelOfDetail::thresholdType “ auf „ LevelOfDetail.DistanceToCameraThreshold“ gesetzt ist, sollten die Werte in absteigender Reihenfolge in Bildschirmpixel angegeben werden.

volumeOverride : int

Legt fest, woran die Berechnung der Entfernung oder der Bildschirmgröße orientiert ist.

Standardmäßig wird eine Kugel mit dem Radius 1 verwendet, deren Mittelpunkt am lokalen Ursprung der Entität liegt. Dieses Proxy-Volumen wird zur Berechnung des Abstands zur Kamera oder der Größe der Bildschirmprojektion verwendet.

Ist dieser Wert null, wird das Begrenzungsvolumen der Entität verwendet. Es ist darauf zu achten, dass dieses Begrenzungsvolumen niemals ungültig wird.

Siehe auch „ Qt3DRender::QLevelOfDetailBoundingSphere “.

© 2026 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.