Qt Quick 3D - Beispiel eines Subnetzes
Demonstriert, wie Materialien zu Submeshes zugeordnet werden.
Dieses Beispiel veranschaulicht, wie Materialien und Teilmaschen einander zugeordnet werden.
Untermaschen und Materialien
Wenn eine Model aus zwei oder mehr Meshes besteht, werden diese Meshes als Sub-Meshes bezeichnet. Jedes Subnetz kann sein eigenes Material haben, aber es ist nicht erforderlich, mehr als ein Material pro Modell bereitzustellen. Wenn es mehr Submaschen als Materialien gibt, wird das letzte Material in der Liste materials für alle wiederkehrenden Submaschen verwendet. Wenn ein Modell mit einem Material pro Teilmasche versehen ist, werden diese eins zu eins abgebildet, d. h. das erste Material in der Liste wird auf die erste Teilmasche angewendet, das zweite Material auf die zweite Teilmasche usw. Wie die Teilmaschen in einem Modell angeordnet sind, hängt davon ab, wie das Modell erstellt und von dem 3D-Modellierungswerkzeug exportiert wurde, mit dem es erstellt wurde.
Das folgende Beispiel zeigt zwei verzerrte Würfel, bei denen jede Seite des Würfels ein eigenes Subnetz ist.
Wenn wir den Würfel auf der linken Seite betrachten, können wir sehen, dass eine Seite rot gefärbt ist, während der Rest der Seiten grün ist, was natürlich daran liegt, dass das Material nur zwei Materialien hat, nämlich ein rotes und ein grünes. In unserem Modell ist das erste Sub-Mesh zufällig die "obere" Seite des verzerrten Würfels, und da das rote Material an erster Stelle in der Materialliste steht, erhält es wie erwartet eine rote Farbe. Das zweite Material in der Liste ist das grüne Material, das dem zweiten Sub-Mesh zugeordnet wird, das die "vordere" Seite des verzerrten Würfels ist, und da es das letzte Material in der Liste ist, wird es auch das Material sein, das für alle übrigen Seiten des verzerrten Würfels verwendet wird.
DistortedCube { x: -4 scale: Qt.vector3d(2, 2, 2) materials: [ PrincipledMaterial { baseColor: "red" lighting: PrincipledMaterial.NoLighting }, PrincipledMaterial { baseColor: "green" lighting: PrincipledMaterial.NoLighting } ]
Wenn wir uns den Würfel auf der rechten Seite ansehen, können wir sehen, dass er einige weitere Farben erhalten hat. Das liegt natürlich daran, dass wir jetzt ein Material für jede der sechs Teilmaschen bereitgestellt haben, jede mit einer anderen Farbe.
Model { source: "qrc:/meshes/distortedcube.mesh" PrincipledMaterial { id: frontTop_material baseColor: "red" cullMode: Material.NoCulling lighting: PrincipledMaterial.NoLighting } PrincipledMaterial { id: frontBottom_material baseColor: "green" cullMode: Material.NoCulling lighting: PrincipledMaterial.NoLighting } PrincipledMaterial { id: leftSide_material baseColor: "blue" cullMode: Material.NoCulling lighting: PrincipledMaterial.NoLighting } PrincipledMaterial { id: rightSide_material baseColor: "pink" cullMode: Material.NoCulling lighting: PrincipledMaterial.NoLighting } PrincipledMaterial { id: backSide_material baseColor: "orange" cullMode: Material.NoCulling lighting: PrincipledMaterial.NoLighting } PrincipledMaterial { id: bottomSide_material baseColor: "navy" cullMode: Material.NoCulling lighting: PrincipledMaterial.NoLighting } materials: [ frontTop_material, frontBottom_material, leftSide_material, backSide_material, rightSide_material, bottomSide_material ] }
© 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.