Mit Hilfe des 3D-Bildelements werden grafische Darstellungen von 3D-Objekten angezeigt. Eine 3D-Szene besteht aus einem oder mehreren 3D-Objekten, die im 3D-Bildelement oder in einem separaten Szenenfenster angezeigt werden können. Beim Entwerfen einer 3D-Szene können Sie mehrere 3D-Objekte erstellen und deren Ausrichtung, Erscheinungsbild und Beziehung zu anderen Objekten in der Szene definieren. Sie können Eigenschaften der 3D-Szene festlegen, zum Beispiel die Art und Position einer Lichtquelle oder die Interaktion zwischen einer Kamera und der 3D-Szene.

Die folgende Abbildung zeigt ein 3D-Bildelement mit einer einfachen 3D-Szene.

Erstellen von 3D-Objekten

Die Objekte in einer 3D-Szene sind grafische Darstellungen physikalischer Objekte. Ein 3D-Objekt besteht aus einer Reihe von Eckpunkten in einem 3D-Raum und dazugehörigen Verbindungen. Eine 3D-Szene wird durch Erstellen eines oder mehrerer 3D-Objekte erzeugt. Mit Hilfe des VIs Objekt erstellen lassen sich 3D-Objekte erstellen.

Nach dem Erstellen eines 3D-Objekts muss definiert werden, wie das Objekt in der 3D-Szene dargestellt wird. Folgende Attribute für darstellbare Objekte können für ein 3D-Objekt festgelegt werden:

  • Geometrische Formen—Legt die Form eines 3D-Objekts fest. Mit den VIs der Palette Geometrische Formen (z. B. Würfel erstellen und Kugel erstellen) werden einfache geometrische Objekte erstellt. Zum Erstellen von komplexeren 3D-Objekten lassen sich Netze verwenden.
  • Text—Wenn ein Objekt keine definierte geometrische Form hat, können Sie Text auf das Objekt anwenden, um ein Textobjekt zu erstellen. Ebenso wie bei Objekten mit definierter geometrischer Form wird der Text angezeigt, wenn die 3D-Szene gerendert wird. Mit Hilfe des VIs Text erstellen können Sie neuen Text hinzufügen oder Attribute des Texts (z. B. Farbe und Schriftart) konfigurieren. Textattribute können auch mit den Szenentext-Eigenschaften und Szenentext-Methoden konfiguriert werden.

LabVIEW erzeugt neue Objekte mit der Standardgröße und -farbe und zeigt die Objekte in der Mitte der 3D-Szene an. Größe, Ausrichtung, Position oder Oberflächenbeschaffenheit von 3D-Objekten in einer 3D-Szene lassen sich jedoch mit Hilfe von Transformationen und Texturen ändern. 3D-Objekte können auch mit Hilfe der Szenenobjekt-Eigenschaften und Szenenobjekt-Methoden konfiguriert werden.

Hinweis Sie können eine Textur nicht auf ein Textobjekt anwenden.

Anwenden von Transformationen

Bei einer Transformation wird die Ausrichtung oder Darstellung eines 3D-Objekts gemäß einer mathematischen Regel geändert. Mit Hilfe der Transformations-VIs können Sie die Größe, Ausrichtung und die Position von Objekten in einer 3D-Szene ändern. Folgende drei Transformationen lassen sich auf 3D-Objekte anwenden:

  • Verschiebung—Ein 3D-Objekt wird an eine neue Position in der 3D-Szene verschoben. Die neue Position wird über einen Verschiebungsvektor angeben.
  • Rotation—Durch Rotation eines 3D-Objekts wird die Ausrichtung des Objekts geändert. Die neue Ausrichtung wird über eine Achse definiert, um die das Objekt gedreht wird, und über einen Winkel an der Achse, um den die Drehung durchgeführt wird.
  • Skalierung—Durch Skalierung eines 3D-Objekts wird die Größe des Objekts geändert. Die Skalierung wird über die Faktoren in den x-, y- und z-Ebenen der 3D-Szene festgelegt.
Hinweis Um zu vermeiden, dass 3D-Objekte verzerrt dargestellt werden, sollten Objekte nicht über die Clip-Ebene hinaus skaliert werden. Der Standardwert der vorderen Clip-Ebene, welche die vom Betrachter am kürzesten entfernte Ebene definiert, ist 0 Einheiten. Der Standardwert der hinteren Clip-Ebene, welche die vom Betrachter am weitesten entfernte Ebene definiert, ist 10000 Einheiten. Zum programmatischen Festlegen von Werten für Clip-Ebenen verwenden Sie die Methode Projektion:Perspektive.

Für jede Transformation können absolute Transformationen (die Transformation des 3D-Objekts beginnt an der Ausgangsposition des Objekts) oder relative Transformationen (die Transformation des Objekts beginnt an der aktuellen Position) durchgeführt werden. Mit Hilfe des VIs Verschiebung festlegen wird ein 3D-Objekt z. B. absolut verschoben. Mit Hilfe des VIs Objekt verschieben wird ein 3D-Objekt relativ verschoben.

Das VI "Order of Transformations.vi" im Verzeichnis labview\examples\Graphics and Sound\3D Picture Control enthält ein Beispiel zur Anwendung von Transformationen an 3D-Objekten.

Anwenden von Texturen

Sie können die Oberflächendarstellung eines 3D-Objekts ändern, indem Sie das Objekt mit einer 2D-Grafik umhüllen. Dieser Prozess wird Anwenden einer Textur genannt. So können Sie z. B. einen Planeten darstellen, indem Sie eine Kugel mit einer 2D-Grafik-Textur überziehen. Das Bild der Planetenoberfläche stellt die Textur dar. Mit Hilfe der Eigenschaft Extras:Textur lassen sich Texturen an jedem 3D-Objekt aktivieren, bei dem eine solche Textur angewendet werden soll. Erstellen Sie dann mit Hilfe des VIs Textur eine neue Textur. Texturen können auch mit Hilfe der Szenentextur-Eigenschaften und Szenentextur-Methoden konfiguriert werden.

Ein Beispiel für das Anwenden einer Textur auf 3D-Objekte finden Sie im VI "3D Model of Solar System.vi" im Verzeichnis labview\examples\Graphics and Sound\3D Picture Control.

Herstellen von Beziehungen zwischen 3D-Objekten

In einer 3D-Szene können Beziehungen zwischen Objekten erstellt werden. Objekte fungieren entweder als Eltern- oder Kindobjekte. Wenn Sie ein Elternobjekt ändern, spiegelt das Kindobjekt diese Änderungen wider. Verwenden Sie Objektbeziehungen in großen 3D-Szenen zum effizienteren Programmieren und in 3D-Szenen, in denen Objekte zusammen bewegt werden sollen. Bei einem Modell des Sonnensystems würde sich beispielsweise eine Änderung der Rotation der Erde auf die Rotation des Mondes auswirken. Erstellen Sie den Mond als Kindobjekt der Erde. Dadurch vermeiden Sie, Änderungen für beide Objekte separat vornehmen zu müssen.

Ein Beispiel für das Erstellen von Beziehungen zwischen 3D-Objekten ist das VI "3D Model of Solar System.vi" im Verzeichnis labview\examples\Graphics and Sound\3D Picture Control.

Konfigurieren von Lichtquellen

LabVIEW kann eine sichtbare 3D-Szene mit oder ohne konfigurierte Lichtquelle rendern. Konfigurieren Sie eine Lichtquelle, um visuelle Effekte wie Sonnen- oder Punktlicht in einer sichtbaren 3D-Szene zu erzeugen. Sie können drei verschiedene Arten von Lichtquellen in einer 3D-Szene erstellen: gerichtetes Licht, positionsabhängiges Licht und Punktlicht. Verwenden Sie das VI Neue Lichtquelle zum Erstellen einer neuen Lichtquelle. Mithilfe der Szenenlicht-Eigenschaften können Sie auch weitere Merkmale von Lichtquellen wie Farbe, Dämpfung und Intensität festlegen.

Gerichtetes Licht

Mit gerichtetem Licht können Sie eine Lichtquelle erzeugen, die aus unendlicher Entfernung zu kommen scheint und somit dem Sonnenlicht ähnelt. Da die Lichtquelle des gerichteten Lichts unendlich weit entfernt ist, geben Sie lediglich die Richtung des Lichts an. Mit Hilfe der Eigenschaft Richtung lässt sich die Richtung des Lichts konfigurieren.

Positionsabhängiges Licht

Verwenden Sie positionsabhängiges Licht, wenn Sie eine bestimmte Position bzw. einen bestimmten Ursprung für die Lichtquelle konfigurieren möchten. Bei einem gerichteten Licht legen Sie die x-, y- und z-Koordinaten für die Position der Lichtquelle und Koordinaten für die Richtung des Lichts fest. Die x-, y- und z-Koordinaten für die Position des Lichts sind relativ zu dem Objekt in der Szene, zu dem das Licht gehört, wobei die Position des übergeordneten Objekts dem Koordinatenursprung (0, 0, 0) entspricht. Wenn Sie z. B. eine Lichtquelle direkt unter einem 3D-Objekt positionieren möchten, können Sie die Position der Lichtquelle auf 1 Objektkoordinate unter dem Objekt setzen, indem Sie die Koordinaten (0, -1, 0) verwenden. Ein weiteres 3D-Objekt mit den Koordinaten (0, -3, 0) relativ zum ersten Objekt erscheint unter dem gerichteten Licht. Solange das Licht auf das erste Objekt gerichtet ist, beeinflusst die Lichtquelle das zweite Objekt nicht.

Zum Hinzufügen eines gerichteten Lichts zu einer 3D-Szene müssen Sie dieses Licht mit einem Objekt der Szene verknüpfen. Dazu sind die Referenz auf das Objekt und die Referenz auf das Licht mit der Methode Licht:Licht hinzufügen zu verbinden. Das Licht ist somit dem Objekt untergeordnet. Mit Hilfe der Eigenschaft Richtung lässt sich die Beleuchtungsrichtung und mit Hilfe der Eigenschaft Position die Position des Lichts konfigurieren.

Punktlicht

Verwenden Sie Punktlicht, wenn sowohl Position als auch Richtung für eine Lichtquelle angegeben werden sollen. Ein Punktlicht ist positionsabhängiges Licht mit definierter Richtung und definiertem Winkel. Richten Sie das Licht als positionsabhängiges Licht ein, definieren Sie aber den Winkel eines Punktlichts mit Hilfe der Eigenschaft Max. Beschattung. Der Wert für diese Eigenschaft entspricht dem halben Winkel des tatsächlichen Punktlichts. Wenn das Punktlicht beispielsweise einen Beleuchtungswinkel von 40° haben soll, müssen Sie diese Eigenschaft auf 20 einstellen. Die Eigenschaft nimmt nur Werte im Bereich 0 bis 90 sowie den Wert 180 an, wobei 180 "keine Beschattung" bedeutet.

Ein Beispiel für das Konfigurieren von Lichtquellen finden Sie im VI "Using Meshes.vi" im Verzeichnis labview\examples\Graphics and Sound\3D Picture Control.

Anzeigen einer 3D-Szene

Sie können die Interaktion zwischen einer Kamera und der 3D-Szene festlegen, ein separates Szenenfenster zur Anzeige der 3D-Szene einrichten und eine 3D-Szene für die kontinuierliche Anzeige aktueller Daten konfigurieren.

Konfigurieren einer Szenenkamera

Klicken Sie mit der rechten Maustaste auf ein 3D-Bildelement und wählen Sie Kamera-Controller aus dem Kontextmenü, um die Interaktion zwischen der Kamera und der 3D-Szene festzulegen. Das Bedienwerkzeug agiert als Kamera, die innerhalb der 3D-Szene bewegt werden kann. Sie können die Szenenkamera auch mit Hilfe der Szenengraph-Anzeige- oder Szenenfenster-Eigenschaften programmatisch konfigurieren.

Konfigurieren eines Szenenfensters

Sie können ein separates Szenenfenster konfigurieren, in dem die 3D-Szene bei Ausführung des VIs angezeigt wird. Konfigurieren Sie ein neues Szenenfenster mithilfe des VIs Fenster einstellen. Attribute wie die Projektion der 3D-Szene oder Größe/Aktivzustand des Szenenfensters können auch mit Hilfe der Szenenfenster-Eigenschaften und Szenenfenster-Methoden konfiguriert werden.

Aktuelle Daten

Die 3D-Szene kann so konfiguriert werden, dass sie kontinuierlich aktualisiert wird, um sich stetig ändernde 3D-Daten anzuzeigen. Fügen Sie die 3D-Szene in eine Schleife ein und verfahren Sie nach einer der folgenden Vorgehensweisen:

  • (Empfohlen) Verwenden Sie die Methode "Neu zeichnen" mit der Referenz auf das 3D-Bild in der Schleife oder an der Stelle, an der die Szene neu dargestellt werden soll.
  • Fügen Sie den Anschluss oder die lokale Variable "3D-Bildelement" überall da ein, wo die Szene aktualisiert werden soll.

Ein Beispiel für das Konfigurieren einer Szenenkamera und eines Szenenfensters finden Sie im VI "3D Model of Solar System.vi" im Verzeichnis labview\examples\Graphics and Sound\3D Picture Control.

Anzeigen von Daten in einem 3D-Modell

Mit Hilfe NI-DAQmx-Kanälen können Sie reale Sensordaten von freien Sensoren auf ein 3D-Modell anwenden. Verbinden Sie dazu das Express-VI Sensordarstellung mit einem Daten-Array, dessen Inhalt die im Dialogfeld Sensoren konfigurieren konfigurierten Sensoren darstellen. Wenn Sie z. B. einen NI-DAQmx-Task mit zwei Kanälen haben und Sie zwei freie Sensoren in ein 3D-Modell einfügen, werden die Eingangswerte mit daqsensor1, daqsensor2, freesensor1 und freesensor2 benannt. LabVIEW weist jedem Kanal in einem NI-DAQmx-Task einen Platz zu, wenn mindestens ein NI-DAQmx-Kanal in das 3D-Modell eingefügt wird. Alles Wissenswerte zur Verwendung von NI-DAQmx-Kanälen ist in der Hilfe zu NI-DAQmx beschrieben.

Hinweis Sie können einen NI-DAQmx-Task mit Hilfe des Express-VIs "DAQ-Assistent" erstellen. Mit dem Express-VI "Sensordarstellung" lassen sich jedoch keine Kanäle vom Express-VI "DAQ-Assistent" abfragen. Sie können die Daten mit dem Eingang Sensordaten des Express-VIs "Sensordarstellung" verbinden. Die Kanäle lassen sich durch einen Rechtsklick auf das 3D-Modell zum Einfügen der Sensoren im 3D-Modell verwenden.

Verbinden Sie ein 3D-Bildelement mit dem Ausgang Szenenreferenz (Ausgang) des Express-VIs. Die mit dem Express-VI verbundenen Daten werden dann im 3D-Modell angezeigt. Die im 3D-Modell verwendeten Sensoren beeinflussen die Farbe des 3D-Modells am Sensorpunkt entsprechend den Datenwerten, die der Sensor darstellt.