WavefrontMesh QML Type
Das WavefrontMesh stellt ein Netz bereit, das auf einer Wavefront-.obj-Datei basiert. Mehr...
| Import Statement: | import Qt.labs.wavefrontmesh 1.12 |
Eigenschaften
- lastError : enumeration
- projectionPlaneV : vector3d
- projectionPlaneW : vector3d
- source : url
Ausführliche Beschreibung
WavefrontMesh liest die Geometrie aus einer Wavefront-.obj-Datei ein und generiert daraus ein zweidimensionales „ geometry “. Enthält die .obj-Datei eine dreidimensionale Form, wird diese orthogonal auf eine Ebene projiziert. Sofern definiert, wird diese durch „ projectionPlaneV “ und „ projectionPlaneW “ vorgegeben. Andernfalls wird die erste in den Daten angetroffene Fläche zur Bestimmung der Projektionsebene herangezogen.
Enthält die Datei Texturkoordinaten, werden diese ebenfalls verwendet. Andernfalls werden die Scheitelpunkte des Objekts normalisiert und verwendet.
Das Netz kann in einem „ ShaderEffect “ verwendet werden, um die schattierte Geometrie zu definieren. Die Geometrie wird vor der Verwendung normalisiert, sodass Position und Skalierung der Eingabeobjekte keinen Einfluss auf das Ergebnis haben.
Hinweis: Einige Wavefront-Exporter ändern das Koordinatensystem der Quellszene vor dem Export. Dies kann zu unerwarteten Ergebnissen führen, wenn Qt die Projektion anwendet. Wenn die visuellen Ergebnisse nicht Ihren Erwartungen entsprechen, überprüfen Sie die Exportparameter und die Dokumentation des Editor-Tools, um festzustellen, ob dies der Fall ist.
Das folgende Beispiel verwendet beispielsweise eine .obj-Datei, die einen Standard-Torus enthält, und visualisiert die automatisch generierten Texturkoordinaten.
| |
Hinweis: Da es sich bei der Eingabe um einen 3D-Torus handelt, müssen wir die Projektionsebene definieren. Bei Verwendung einer 2D-Form als Eingabe wäre dies nicht erforderlich. In diesem Fall verwenden wir aufgrund der Ausrichtung der Eingabe die XY-Ebene.
Dokumentation der Eigenschaften
lastError : enumeration
Diese Eigenschaft enthält den letzten Fehler, falls vorhanden, der beim Parsen der Quelle oder beim Erstellen des Netzes aufgetreten ist.
- WavefrontMesh.NoError Es ist kein Fehler aufgetreten.
- WavefrontMesh.InvalidSourceError Die Quelle wurde nicht als gültige .obj-Datei erkannt.
- WavefrontMesh.UnsupportedFaceShapeError Die Flächen in der Quelle sind von einem nicht unterstützten Typ. „ WavefrontMesh “ unterstützt nur Dreiecke und konvexe Vierecke.
- WavefrontMesh.UnsupportedIndexSizeError Die Quellform ist zu groß. Es werden nur 16-Bit-Indizes unterstützt.
- WavefrontMesh.FileNotFoundError Die Quelldatei wurde nicht gefunden.
- WavefrontMesh.MissingPositionAttributeError Das Attribut „qt_Vertex“ fehlt in den Shadern.
- WavefrontMesh.MissingTextureCoordinateAttributeError Das Texturkoordinatenattribut in den Shadern ist falsch benannt. Verwenden Sie „qt_MultiTexCoord0“.
- WavefrontMesh.MissingPositionAndTextureCoordinateAttributesError Sowohl das Attribut „qt_Vertex“ als auch das Attribut „qt_MultiTexCoord0“ fehlen in den Shadern.
- WavefrontMesh.TooManyAttributesError Die Shader erwarten zu viele Attribute (maximal zwei: Position, „qt_Vertex“, und Texturkoordinate, „qt_MultiTexCoord0“).
- WavefrontMesh.InvalidPlaneDefinitionError Die V- und W-Vektoren in der Ebene dürfen weder null sein noch parallel zueinander verlaufen.
projectionPlaneV : vector3d
Da das Wavefront-.obj-Format ein Objekt im 3D-Raum beschreibt, müssen die Koordinaten in 2D projiziert werden, bevor sie in „ Qt Quick “ angezeigt werden können.
Dies erfolgt in WavefrontMesh durch eine orthogonale Projektion auf eine geeignete Ebene.
„projectionPlaneV“ ist einer von zwei Vektoren der Ebene im 3D-Raum. Wenn entweder dieser oder „ projectionPlaneW “ auf (0, 0, 0) gesetzt ist (Standardeinstellung), wird die Ebene anhand der ersten im Datensatz vorkommenden Fläche ermittelt.
Hinweis: „projectionPlaneV“ und „ projectionPlaneW “ dürfen keine parallelen Vektoren sein.
projectionPlaneW : vector3d
Da das Wavefront-.obj-Format ein Objekt im 3D-Raum beschreibt, müssen die Koordinaten in 2D projiziert werden, bevor sie in „ Qt Quick “ angezeigt werden können.
Dies erfolgt in „ WavefrontMesh “ durch eine orthogonale Projektion auf eine geeignete Ebene.
Der Vektor „projectionPlaneW“ ist einer von zwei Vektoren der Ebene im 3D-Raum. Wenn entweder dieser oder „ projectionPlaneV “ auf (0, 0, 0) gesetzt ist (Standardeinstellung), wird die Ebene anhand der ersten im Datensatz gefundenen Fläche ermittelt.
Hinweis: „ projectionPlaneV “ und „projectionPlaneW“ dürfen keine parallelen Vektoren sein.
source : url
Diese Eigenschaft enthält die URL der Quelle. Dabei muss es sich entweder um eine lokale Datei oder um eine Datei im QRC-Format handeln. Die Quelle wird als Wavefront-.obj-Datei eingelesen, und die Geometrie wird aktualisiert.
© 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.
