![]() |
|
||||||||||||||||||
|
|||||||||||||||||||
|
|||||||||||||||||||
Künstliche 3D-Szenen mit KPovModelerVirtuelles Stillebenvon Peter Kreußel |
Das englische Wort Raytracing bedeutet so viel wie "Zurückverfolgen des Lichtstrahlengangs". Raytracer arbeiten mit virtuellen Lichtquellen. Künstliche Oberflächen reflektieren und streuen dieses Licht. Mit diesem Verfahren lassen sich realistische Schattierungen und Spiegelungen errechnen. Eine virtuelle Kamera sorgt für eine naturgetreue Perspektive.
Dieser Artikel führt Sie in das Programm KPovModeler ein. Das ist ein KDE-Programm, das eine gute Balance zwischen Leistung und einfacher Bedienbarkeit bietet. KPovModeler arbeitet mit Povray zusammen, einem der ältesten und besten Raytracer für Linux: Das Konsolenprogramm Povray verarbeitet Dateien, die versierte Anwender in einer leistungsfähigen aber auch komplizierten Script-Sprache per Hand schreiben. KPovModeler übernimmt dies für Sie. Im Grunde merken Sie nichts davon, dass hinter den Kulissen ein weiteres Programm seine Arbeit verrichtet: KpovModeler ruft Povray auf Knopfdruck auf. Sie sehen die fertige Grafik in einem Vorschaufenster und können sie als Bitmap speichern.
Starten Sie KPovModeler nach der Installation von der Heft-CD durch Druck auf [Alt-F2] und Eingabe von kpovmodeler. Der Arbeitsbereich gliedert sich in sechs Unterfenster.
Möchten Sie mehr Details sehen, sollten Sie die Zoomfunktion benutzen: Klicken Sie auf eines der kleinen Vorschaufenster. Wenn Sie das Mausrad nach oben drehen, vergrößern Sie die Anzeige, Drehen nach unten verkleinert sie. Den Anzeigeausschnitt verschieben Sie mit gedrückter mittlerer Maustaste. Alternativ lässt sich die Anzeige auch mit den Pfeiltasten verschieben und mit [Strg-Pfeil-rechts] vergrößern, mit [Strg-Pfeil-links] verkleinern.
Nach dem Start erstellt KPovModeler automatisch eine Kamera, eine Lichtquelle und einen Würfel im Zentrum der Szene. Bevor Sie Ihr erstes Objekt in KPovModeler erstellen, sollten Sie den Würfel aus der Standardszene löschen. Da bei umfangreichen 3D-Grafiken häufig viele Objekte übereinander liegen, wäre es schwer, diese direkt in der Vorschau zu aktivieren. Deswegen wählen Sie die einzelnen Objekte in KPovModeler stets in der Objektübersicht im linken Fensterbereich aus. Klicken Sie dort auf den Quader. Ein Rechtsklick gibt Ihnen die Möglichkeit, ihn zu löschen. Der Quader ist nun sowohl aus der Objektübersicht als auch aus der Vorschau verschwunden.
Aktivieren Sie den obersten Eintrag im Objektbaum, die Szene. Klicken Sie auf das Symbol Rotationsfläche am oberen Fensterrand. Abbildung 1 hilft Ihnen dabei, sämtliche Buttons zu finden, die Sie für diesen Artikel benötigen. KPovModeler fragt Sie, an welcher Stelle im Objektbaum Sie die neue Rotationsfläche einfügen möchten. Wählen Sie in dem sich nun öffnenden Popupmenü Objekte einfügen als die Option Erstes Unterobjekt. KPovModeler fügt dann eine Rotationsfläche als ersten Untereintrag der Szene ein. In den Vorschaufenstern sehen Sie einen kegelförmigen Körper mit zwei Spitzen.
Unter der Objektübersicht zeigt KPovModeler die Einstellungen zur Rotationsfläche. Wählen Sie hier für den Spline-Typ statt Lineares Spline die Option Kubisches Spline. In das Feld Name sollten Sie Flasche eingeben, damit Sie diese später, wenn die Szene mehr Objekte enthält, leicht wiederfinden können. Klicken Sie dann auf Anwenden ganz unten im Fenster. So gehen Sie vor, um aus der Rotationsfläche eine Flasche zu formen:
Das Weinglas wird Ihnen nun nicht mehr schwer fallen. Sie erstellen es nach dem gleichen Prinzip wie die Flasche:

Oberflächen bestehen in KPovModeler aus einer Reihe von Unterobjekten, die das übergeordnete Objekt jeweils genauer definieren. Eine Oberfläche (Textur genannt) besitzt ein Unterobjekt Pigment. Dieses stellt eine "Farbschicht" dar. Ein weiteres Unterobjekt legt die Farbe der Textur fest (Abbildung 4). Obwohl dies auf den ersten Blick etwas umständlich wirken mag, hat es einen wesentlichen Vorteil: Jede einzelne Einstellung eines Objekts lässt sich leicht auf andere Objekte übertragen. Möchten Sie, dass sich zwei Gegenstände in der Farbe gleichen, kopieren Sie den Eintrag Einfarbig des ersten Objekts (Abbildung 4) in die Zwischenablage und fügen ihn dem zweiten Objekt hinzu. Nur die Farbe des zweiten Objekts verändert sich. Die sonstige Oberflächenbeschaffenheit (Rauheit, Glanz etc.) bleibt erhalten.

Markieren Sie nun das Glas. Klicken Sie auf den Button Textur in der Buttonleiste. Die Textur benötigt zwei Unterelemente, ein so genanntes Finish (eine "Oberflächenbeschaffenheit", die Eigenschaften wie Glanz, Rauheit und Stärke der Spiegelungen beinhaltet), sowie ein Pigment, das die Farbe festlegt. Aktivieren Sie die Textur und klicken Sie dann auf den Finish-Button. Da KPovModeler Unterobjekte stets an das aktive Objekt anhängt, aktivieren Sie die Textur erneut. Fügen Sie dann ein Pigment ein. Das Pigment ergänzen Sie noch durch einen Untereintrag Einfarbig. Markieren Sie Finish in der Objektübersicht und stellen Sie im Einstellungsbereich direkt darunter die Werte ein, die Sie in Abbildung 5 finden. In den Feldern Phong und Phong-Größe passen Sie Intensität und Größe der Glanzlichter an, die die Beleuchtung auf die Objekte wirft.
Auch der Flasche fügen Sie ein Finish und ein Pigment hinzu. Ebenso ergänzen Sie das Pigment um den Untereintrag Einfarbig. Stellen Sie nach Klick auf den Balken hinter Farbe im Einstellungsbereich ein dunkles Grün ein. Die Einstellungen für das Finish entnehmen Sie wieder Abbildung 5.
Wenn Sie nun auf den Button Szene rendern (englisch: render = darstellen) klicken, sind Sie sicherlich vom Ergebnis enttäuscht: Das Weinglas ist im Dunkel gerade noch zu erkennen, die Flasche verschwindet praktisch vollständig im Schwarz der Umgebung. Die eine Lichtquelle in der Szene reicht offensichtlich nicht aus, um diese auszuleuchten. Das liegt allerdings nicht daran, dass die virtuelle Lampe zu schwach wäre. Der Grund ist vielmehr, dass es keine Zimmerwände gibt, die die Lichtstrahlen reflektieren, ebensowenig eine Atmosphäre, die durch Streuung für eine gleichmäßige Hintergrundbeleuchtung sorgen würde. Die Umweltbedingungen in unserer Szene gleichen bisher den Verhältnissen im Weltraum.
Glücklicherweise macht KPovModeler es Ihnen leicht, "irdische" Bedingungen herzustellen: Markieren Sie Szene in der Objektübersicht. Ein Klick auf Himmelskugel fügt dem Projekt eine große Kugel hinzu, die die ganze Szene umgibt. Diese können Sie zwar in der Vorschau nicht sehen, Sie können ihr jedoch wie jedem anderen KPovModeler-Objekt eine Oberfläche zuweisen. In unserem Beispiel kommt eine einfache Graufärbung zum Einsatz: Fügen Sie der Himmelskugel ein Pigment hinzu (Himmelskugel markieren und auf Pigment klicken). An das Pigment hängen Sie die Eigenschaft Einfarbig an (nach Markieren von Pigment auf den Button Einfarbig klicken. Nach Auswahl von Einfarbig in der Objektübersicht geben Sie den Wert 0,93 für Rot, Grün und Blau im Einstellungsbereich in.
Nun sehen Sie nach dem Rendern Flasche und Glas deutlich vor einem hellgrauen Hintergrund. Allerdings schweben die beiden Gegenstände unwirklich im Raum. Abhilfe schafft ein Bistrotisch, der das virtuelle Stillleben schließlich vervollständigt.
Beginnen Sie mit dem Modellieren der Tischplatte, indem Sie Szene in der Objektübersicht markieren und auf den Button Zylinder am oberen Fensterrand klicken. Markieren Sie den Zylinder in der Objektübersicht und geben Sie als Name Tischplatte ein. Sie verwandeln den Zylinder in eine runde Scheibe, indem Sie den Untereintrag skalieren aktivieren und im Einstellungsbereich die Werte 6 für x und y, sowie 0,15 für z einstellen. Für das Tischbein fügen Sie erneut einen Zylinder ein. Skalieren Sie diesmal auf die x, y und z-Werte von 0,4, 10 und 0,4. Dass die obere Hälfte des Tischbeins nun durch die Tischplatte stößt, wird erst später korrigiert.
Den beiden neuen Objekten fehlt noch eine Oberfläche. Für das Tischbein genügt eine einfache Graufärbung: Fügen Sie ein Pigment ein und ergänzen Sie dieses durch einen Untereintrag Einfarbig. Setzen Sie die Rot, Grün und Blau-Werte auf 0,3. Der Tisch hingegen soll in edlem Marmorfinish erstrahlen. Eine der Stärken von KPovModeler und des im Hintergrund arbeitenden Renderers Povray ist die Fähigkeit, realistisch wirkende Oberflächen zu erzeugen. So erstellen Sie die Marmoroberfläche;
Um den Tisch fertigzustellen, schieben Sie das Tischbein nach unten, bis das Ende sich innerhalb der Tischplatte befindet: Klicken Sie auf das Plussymbol vor dem Tischbein und wählen Sie den Untereintrag verschieben. Nach dem gleichen Verfahren platzieren Sie das Glas und die Flasche so, dass ihre Unterkanten bündig mit der Oberfläche des Tischs abschließen. Hierfür ist es sinnvoll, die Anzeige mit dem Mausrad zu vergrößern. Falls erforderlich, verschieben Sie den Bildausschnitt mit der linken Maustaste. Das rechte, untere Unterfenster zeigt die Vorschau aus der Kameraperspektive, wie sie im Rendering erscheinen wird.
Wenn Sie ein Objekt in einem der Vorschaufenster verschieben, sehen Sie in der perspektivischen Kameravorschau, dass Ihre Bewegungen immer auf zwei Dimensionen beschränkt bleiben: Im linken oberen Vorschaufenster können Sie das Glas nur nach oben, unten und quer über den Tisch verschieben. Hier schafft der Blick von oben Abhilfe (linkes unteres Vorschaufenster, Abbildung 7): Dort ist es möglich, Flasche und Glas frei über den ganzen Tisch zu bewegen. Dafür ist die Höhe der Gegenstände nicht zu erkennen. Deswegen ist es beim Positionieren im 3D-Raum unbedingt erforderlich, mindestens zwei unterschiedliche Perspektiven zu verwenden.
Verschieben Sie die Flasche und das Glas nun so, dass sich eine angenehme Stillleben-Szene ergibt. Wenn Sie in der Draufsicht arbeiten, müssen Sie noch berücksichtigen, dass "vorne" in der perspektivischen Darstellung "Richtung Kamera" bedeutet: Die Kamera sehen Sie rechts unten in der Szene. Entsprechend müssen Sie die Objekte platzieren (Abbildung 7); die Vorschau aus der Kameraperspektive hilft Ihnen dabei. Allerdings können Sie in dieser Vorschau die Objekte nicht bewegen.
Nun sieht das Rendering dem endgültigen Ergebnis schon ähnlicher. Doch eine leere Weinflasche ist kein schöner Anblick. Zudem stört, dass die Flasche keinen Boden hat. Indem Sie die Flasche mit Wein füllen, machen Sie diesen Makel unsichtbar. Außerdem lernen Sie ein weiteres wichtiges Verfahren des 3D-Modellings kennen: Die Weinfüllung entsteht aus einem Duplikat der Flasche durch Subtraktion des oberen Teils. Dieses Verfahren heißt Constructive Solid Geometry.
So erstellen Sie die Füllung der Weinflasche mit Hilfe einer Subtraktion:
Die Flasche steht nun vor dem Zylinder in der Differenzmenge. Wie bei einer Differenz aus zwei Zahlen ist die Reihenfolge wichtig: Wenn Sie umgekehrt die Flasche von dem Zylinder abziehen würden, wäre das Ergebnis ein Zylinder mit einer Öffnung an der Unterseite und nicht die gewünschte Form.
Weiterhin ist noch zu bedenken, dass das Objekt "Wein", das Sie sich hier als festen Körper und nicht als Flüssigkeit denken sollten, etwas kleiner sein muss als die ihn umgebende Flasche: Das Glas der Weinflasche hat eine gewisse Dicke. Markieren Sie also die Flasche innerhalb der Differenzmenge und wählen Sie den Untereintrag skalieren. Geben Sie für x, y und z den Wert 0,99 ein. Nun muss der Wein noch seine dunkelrote Farbe erhalten. Markieren Sie die Differenzmenge und fügen Sie ihr ein Pigment hinzu. Ergänzen Sie das Pigment noch durch einen Untereintrag Einfarbig. Nach markieren von diesem stellen Sie eine dunkelrote Farbe ein, indem Sie auf den Balken hinter Farbe klicken. Dann ist es wieder an der Zeit, das Ergebnis durch ein neues Rendering zu überprüfen.
Um eine bessere Ausleuchtung zu erzielen, sollten Sie noch eine weitere Lichtquelle hinzufügen: Markieren Sie Szene, klicken Sie auf Lichtquelle und wählen Sie daraufhin Letztes Unterobjekt. Stellen Sie für das Licht unter Position folgenden Werte ein: für x 8, für y 5,5 und für y 3. Die Abbildungsqualität lässt sich noch stark verbessern, indem Sie andere Werte für den Raytracer einstellen: Klicken Sie auf den Button Render Modi und wählen Sie Bearbeiten. Unter Größe lässt sich eine höhere Auflösung für das Rendering wählen. Im Reiter Qualität sollten Sie im Feld Qualität die Stufe 11 wählen und das Kontrollkästchen Kantenglättung ankreuzen. (pkr)
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.
Druckerfreundliche Version |
Feedback zu dieser Seite |
Datenschutz |
© 2010 Linux New Media AG |
Last modified: 2007-04-05 11:24
[Linux-Magazin]
[LinuxUser]
[Linux-Community]
[Linux Events]
[Linux Magazine]
[Linux Magazine Poland]
[Linux Community Poland]
[Linux Magazine Brasil]
[Linux Magazine Spain]
[Linux Technical Review]