design publishing imaging
Arndt von Koenigsmarck
EinWorkshop für Profis
auch zu MAXON BODYPAINT 3D
ADDISON-WESLEY
...
202 downloads
1419 Views
25MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
design publishing imaging
Arndt von Koenigsmarck
EinWorkshop für Profis
auch zu MAXON BODYPAINT 3D
ADDISON-WESLEY
MAXON CINEMA 4D 7
Arndt von Koenigsmarck
MAXON CINEMA 4D 7 Ein Workshop für Profis
ADDISON-WESLEY An imprint of Pearson Education München • Boston • San Francisco • Harlow, England Don Mills, Ontario • Sydney • Mexico City Madrid • Amsterdam
Die Deutsche Bibliothek-CIP-Einheitsaufnahme Ein Titeldatensatz für diese Publikation ist bei der Deutschen Bibliothek erhältlich Die Informationen in diesem Produkt werden ohne Rücksicht auf einen eventuellen Patentschutz veröffentlicht. Warennamen werden ohne Gewahrleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Vertag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch Irgendeine Haftung übernehmen. Für Verbesserungsvorschläge und Hinweise auf Fehler sind Verlag und Autoren dankbar. Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zulassig. Fast alle Hardware- und Softwarebezeichnungen, die in diesem Buch erwähnt werden, sind gleichzeitig auch eingetragene Warenzeichen oder sollten als solche betrachtet werden. Umwelthinweis: Dieses Produkt wurde auf chlorfrei gebleichtem Papier gedruckt. Die Einschrumpffolie - zum Schutz vor Verschmutzung - ist aus umweltverträglichem und recyclingfähigem PE-Material.
10 9 8 7 6 5 4 3 2 1
04 03 02 01 ISBN 3-8273-1890-4
© 2001 by ADDISON-WESLEY Verlag, ein Imprint der Pearson Education Deutschland GmbH Martin-Kollar-Straße 10-12, D-81829 München/Germany Alle Rechte vorbehalten Einbandgestaltung: Lektorat: Korrektorat: Herstellung: Satz: Druck und Verarbeitung: Printed in Germany
Helmut Kraus, Dusseldorf Klaus Hofmann, khofmann@pearson. de Angelika Obermayr, Grafing Anna Plenk, aplenk@pearson. de mediaService - Siegen (www. media-service. tv) Kösel, Kempten (www. KoeselBuch. de)
Inhaltsverzeichni l
Einleitung
9
CINEMA 4D 7
13
1. 1 Das Interface................................................................................. 13 Die Betriebsarten............................................................................. 13 Werkzeuge und Funktionen............................................................. 15 Eigene Icon-Paletten integrieren...................................................... 16 Die wichtigsten Befehle und Funktionen.......................................... 17 Die verschiedenen Fenster von CINEMA 4D..................................... 24 1. 2 Ein Arbeitsbeispiel........................................................................... 28 Die Boole-Methode...........................................,.............................. 28 Die Spline-Methode......................................................................... 47 Selektive Deformationen................................................................. 57
2
HyperNURBS
.
71
MODELLIERUNG UND ANIMATION EINES ZYLINDERS MIT PLEUEL UND KURBEL WELLE 2. 1
Die Modellierung des Kolbens......................................................... 71 Die Kolbenringe modellieren........................................................... 80 2. 2 Modellieren der Pleuelstange.......................................................... 89 Aufteilen der Pleuelstange in Baugruppen...................................... 96 Schrauben und Muttern hinzufügen.............................................. 102 2. 3 Modellieren der Kurbelwelle.......................................................... 105 2. 4 Vorbereitungen für die Animation................................................... 111 Lokale Drehzentren positionieren................................................... 113 Hilfsobjekte einsetzen.................................................................... 115 2. 5 COFFEE-Expressions....................................................................... 118 2. 6 Key-Frames.................................................................................... 125
3
Expressions 131 Die fließende Spirale...................................................................... 131 Die Modellierung............................................................................ 132 Das Animieren des Zylinders.......................................................... 134 Austauschen des Zylinders............................................................. 151 3. 2 Bewegungsabläufe automatisieren................................................ 157 Wie funktioniert Morphing?............................................................ 169 3. 3 Delta-Expression............................................................................ 178
4
Organisches Modellieren ENTWURF UND MODELLIERUNG EINES MENSCHLICHEN KOPFES
189
4. 1 Herstellen von 3D-tauglichen Vorlagen.......................................... 189 4. 2 Vorbereitungen für die Modellierung............................................ 200 EdgeExtrude, EdgeBevel und Cutter.............................................. 200 Die Skizzen als Vorlagen nutzen.................................................... 203 4. 3 Die Modellierung des Kopfes........................................................ 206 Das Auge....................................................................................... 206 Die Augenlider............................................................................... 217 Die Nase........................................................................................ 229 Wangen und Kinn.......................................................................... 235 Der Mund....................................................................................... 241 Stirn und Nacken........................................................................... 246 Das Ohr......................................................................................... 249
5 5. 1
Mechanische Modellierung MODELLIERUNG EINES MENSCHLICHEN TORSOS
257
Der Torso...................................................................................... 257 Der Kehlkopf................................................................................. 257 Hydraulik-Halterung...................................................................... 264 Hydraulik-Zylinder......................................................................... 267 Mechanische Muskeln................................................................... 270 Ein Abweiser................................................................................. 275 Schulter und Brust........................................................................ 278 Schläuche und Kabel..................................................................... 283 Die Wirbelsäule............................................................................. 292 Der Hals........................................................................................ 296 5. 2 Eine Holzkiste modellieren............................................................ 299 Den Raum modellieren.................................................................. 305
Radiosity und Caustics
313
6. 1 Radiosity-Einstellungen ermitteln.................................................. 313 Die Stärke...................................................................................... 313 Die Genauigkeit............................................................................. 314 Prepass-Größe............................................................................... 314 Strahltiefe..................................................................................... 315 Sammelstrahlen............................................................................ 315 Min. Auflösung/Max. Auflösung.................................................... 315 Den richtigen Min. -Wert ermitteln................................................. 316 Den Max. -Wert ermitteln................................................................ 318 Die Genauigkeit nutzen................................................................. 319 Strahltiefe und Sammelstrahlen.................................................... 323 Zusammenfassung........................................................................ 330 6. 2 Caustics und matte Effekte............................................................ 331 6. 3 Materialien und Shader-Trees....................................................... 345 Holz............................................................................................... 345 Die Unterschiede der Illuminations-Modelle.................................. 350 Das Brettermaterial platzieren....................................................... 352 Störungen hinzufügen................................................................... 354 Verwittertes Metall........................................................................ 357 Normale metallische Oberflächen.................................................. 366 Mit dem Fresnel-Shader arbeiten.................................................. 367 Stein und Mörtel............................................................................ 372 Matte Effekte mit SLA simulieren................................................... 386
7
Tipps und Tricks 395 Compositing und Multi-Passes...................................................... 395 Ein kleines Multi-Pass-Beispiel...................................................... 406 Ein Compositing-Beispiel................................................................ 411 7. 2 Texturen anpassen mit BODYPAINT 3D.......................................... 419 7. 3 Texturen als Lichtquellen benutzen............................................... 432 7. 4 Animierbare Haare erstellen.......................................................... 437 7. 5 Reduzieren und Explodieren.......................................................... 444 Explosion FX................................................................................... 448
Index
461
Einleitung Immer kürzer scheinen die Produktionszyklen zu werden. Kaum hat man sich in CINEMA 4D Version 6 eingearbeitet, schon gibt es Version 7, wieder mit vielen Neuerungen und Techniken, die es zu beherrschen gilt, will man das Potenzial der Software ausschöpfen. Um der neuen Version Rechnung zu tragen, habe ich mich nicht damit begnügt, mein Buch zu Version 6 zu erweitern, sondern ein komplett neues Buch geschrieben, das wieder als Ergänzung zum vorhandenen Handbuch benutzt werden sollte. Aus zahlreichen Rückmeldungen und Kommentaren weiß ich, dass viele Leser sich mehr Informationen über COFFEE-Programmierung und die verschiedenen Modellierungsmethoden wünschen. Ich habe dem mit einem nochmals gesteigerten Umfang an Expression-Beispielen und noch detaillierteren Arbeitsbeispielen zum Thema Modellierung Rechnung getragen. Ich hoffe damit, auch dem Anfänger in Sachen CINEMA 4D und 3D kompetente Hilfe leisten zu können. Wie gewohnt hier ein kurzer Abriss dessen, was Sie in den folgenden Kapiteln erwartet. Ich beginne im ersten Kapitel mit einem stichwortartigen Abriss über das Interface der Software und die wichtigsten Funktionen und Werkzeuge. Dieser Abschnitt dient nur der Auffrischung, da ich das Handbuch als Nachschlagewerk für CINEMA zumindest als vorhanden voraussetze. Im zweiten Teil dieses Kapitels steigen wir daher gleich in die Materie ein und modellieren den Kolben eines Automotors. Dabei geht es weniger um die exakte Modellierung nach einer Vorlage, sondern mehr um einen Überblick über die verschiedenen Techniken, um eine derartige Aufgabe zu meistern. Hier wird besonders deutlich, welche Fehler auftreten können und welche Voroder Nachteile die gezeigten Techniken haben. Im zweiten Kapitel führen wir die Modellierung des Kolbens mit den PolygonWerkzeugen fort und nutzen alle Möglichkeiten der HyperNURBS-Modellierung. Am Ende steht eine Kurbelwelle samt Pleuel und Kolben, die für die Animation vorbereitet ist. Wie ein derartiges Modell mit Hilfe von verschiedenen Expressions animiert werden kann, zeigt der letzte Teil dieses Kapitels.
Das dritte Kapitel ist in Gänze der Erstellung eigener COFFEE-Expressions gewidmet. Es werden drei konkrete Beispiele vorgestellt, die ohne den Einsatz von Expressions niemals zu realisieren gewesen waren. Das abgedeckte Spektrum reicht dabei von Morphing bis zu Delta-Expressions. Das Niveau ist dabei zwar recht hoch, die Beispiele sind jedoch Zeile für Zeile dokumentiert und können so auch von Anfängern gut nachvollzogen werden. Wie modelliere ich einen Kopf? Diese oder ähnliche Fragen an mich oder in Foren lese ich sehr oft. In diesem Kapitel wird daher von der Erstellung realistischer Skizzen bis hin zur HyperNURBS-Modellierung der komplette Arbeitsablauf der Planung und Umsetzung eines Kopf-Objektes beschrieben. Dabei greifen wir nicht nur auf Standardwerkzeuge von CINEMA 4D zurück, sondern auch auf zusätzliche, frei erhältliche Plugins, die die Produktivität erheblich steigern und zudem noch bessere Ergebnisse liefern können. Wurde im Kapitel zuvor eher die Modellierung organischer Objekte besprochen, so geht es hier im fünften Kapitel mehr um mechanische und unbelebte Objekte. Passend zum Kopf aus dem letzten Kapitel wird hier ein mechanischer Oberkörper modelliert, der in eine komplette Szene integriert wird. Dabei werden fast alle Werkzeuge von CINEMA 4D benutzt. Kapitel 6 beschäftigt sich ausführlich mit den neuen Radiosity- und CausticEffekten, sowie mit dem Umgang der neu integrierten SLA-Shader. Besonders die Ermittlung der richtigen Radiosity-Parameter ist essentiell für moderate Renderzeiten und das erwünschte Ergebnis. Schritt-für-Schritt-Anleitungen zeigen daher einen exemplarischen Weg für die Ermittlung der optimalen Einstellungen. Zudem wird im zweiten Teil des Kapitels der Umgang mit SLA-Shadern und Shader-Trees ausführlich besprochen. Kapitel 7 schließlich fasst in mehreren Kurzbeispielen weitere interessante Techniken zusammen und stellt u. a. die ergänzende Arbeit in BODYPAINT 3D vor und erläutert eine Möglichkeit, realistisch animierte Haare in CINEMA 4D zu erzeugen. Auch die neu integrierten Plugins für die Reduzierung von Polygonen und die Explosion von Objekten werden vorgeführt Wie schon gewohnt konnte ich auf die freundliche Zusammenarbeit mit MAXON Computer GmbH zählen. Hier möchte ich speziell Michael Giebel, Dirk Beichert, Tilo Kühn, Philip Losch und Joachim Heller danken, aber natürlich auch allen anderen Mitgliedern der „MAXON-Familie". Mein Dank geht nun auch zum schon wiederholten Mal an Sebastian Dosen von DOSCH DESIGN für die freundliche Unterstützung mit Demomaterial für die Buch-CD (www.doschdesign.com). Auch Herbert Fahrnholz von NOCTUA GRAPHICS war so freundlich, exklusive Proben seiner Texturen für Sie als Leser zur Verfügung zu stellen (www.noctua-graphics.de). Vielen Dank auch an Klaus Baulmann von BAULMANN PRODUKT ENTWICKLUNG für die Bereitstellung eines hochauflösenden 3D-Scans (www.digital-forms.de). Dieser hat die Arbeit mit dem Polygon-Reduzierer an einem realistischen Objekt erst möglich gemacht.
Viele Freunde und „Mitstreiter" in der C4D-Community haben auch wieder kostenfreie Plugins und Demos für die Buch-CD zur Verfügung gestellt. Vielen Dank dafür an alle, die ich hier nicht separat erwähnen kann. Natürlich auch ein freundlicher Gruß an alle Freunde im C4D-TREFF und C4DFORUM sowie an Ricky, Ulf und Bernd von VREEL 3D ENTERTAINMENT oHG, an Jay und Mike von MEDIENBUNKER oHG, an nEO vom C4D-TREFF und natürlich an meine Familie. Letztlich ein freundlicher Gruß auch an die Mitarbeiter von ADDISON-WESLEY, und hier besonders an Angelika Obermayr, Christian Rauscher und Klaus Hofmann. Die Zusammenarbeit war wie immer eine Freude. Gerne können Sie mich auch über meine Internetseite www.vonkoenigsmarck.de kontaktieren. Für Fragen, Wünsche und Anregungen habe ich dort immer ein offenes Ohr für Sie. Wie viele von Ihnen bereits wissen, stehe ich zudem für individuelle Schulungen zur Verfügung. Happy rendering Arndt von Koenigsmarck Menden, im Juni 2001
1
CINEMA 4D 7
Als kleine Hilfestellung für die Leser, die von anderen 3D-Programmen oder von alteren CINEMA-4D-Programmversionen vor V6 auf die aktuelle Version 7 umsteigen, bringe ich hier einen kurzen Abriss über die wichtigsten Menüs und Symbole in CINEMA 4D XL. Umsteiger von Version 6 können sich hier vorerst etwas zurücklehnen, denn zumindest vom optischen Erscheinungsbild her hat sich CINEMA 4D nicht verändert. Bitte sehen Sie mir nach, wenn ich nicht jeden Menüeintrag detailliert beschreibe. Da dieses Buch als vertiefendes Übungsbuch konzipiert ist, mochte ich Sie in diesen Fallen auf das Handbuch verweisen. Ich mochte mich aus Platzgründen auf die Befehle beschränken, die ich in den Arbeitsbeispielen verwende.
1. 1 Das Interface Je nachdem, ob Sie CINEMA 4D in der ART-, der X L - , der BODYPAINT 3D- oder der kombinierten Version mit BODYPAINT 3D und XL starten, stellt sich das Interface etwas anders dar. Dies liegt daran, dass CINEMA 4D nicht alle Befehle in jeder Version zur Verfugung stellt und deshalb ggf. Eintrage komplett fehlen oder wie z. B. bei BODYPAINT 3D in Verbindung mit der XL-Version neue Icons und Menüs hinzukommen. Ich beschränke mich hier vorerst auf die XL-Version und gehe dann zu einem spateren Zeitpunkt auf die BODYPAINT-3D-Menüs und -Icons detaillierter ein.
1. 1. 1 Die Betriebsarten CINEMA 4D arbeitet mit so genannten Betriebsarten, die der Software mitteilen, welche Bestandteile eines Objektes zu bearbeiten sind. Die jeweils aktive Betriebsart bestimmt zudem die Darstellung in den Ansichtsfenstern. So bekommt man z. B. die Punkte eines Objektes nur zu sehen, wenn man tatsächlich auch in die PUNKTEBEARBEITEN-Betriebsart schaltet. Erst jetzt erhalt man Zugriff auf die Punkte und kann diese selektieren, verschieben und auch loschen oder erzeugen. Sinngemäß verhalt es sich mit den anderen Betriebsarten, wie z. B. POLYGONE BEARBEITEN oder OBJEKT BEARBEITEN. In Abbildung 1. 1 sind die verschiedenen Betriebsarten, die Sie als Icons auf der linken Interfaceseite ebenso finden wie auch als Menüeintrage im WERKZEUGE-Menü. Dort sieht man sich aus Platzgründen jedoch nur Einträgen, wie POLYGONE, PUNKTE und OBJEKT gegenüber.
Grundobjekte konvertieren Kamera bearbeiten Objekt bearbeiten Model! bearbeiten Objektachse bearbeiten Punkte bearbeiten Polygone bearbeiten Textur bearbeiten Texturachsen bearbeiten Animation bearbeiten inverse Kinematik aktivieren Animationen aktivieren/deaktivieren Deformationen aktivieren/deaktivieren Expressions aktivieren/deaktivieren Partikel aktivieren/deaktivieren Abbildung 1.1: C!NEMA-4D-Betriebsarten
Seitdem mit der Version 6 so genannte parametrische Objekte eingeführt wurden, lässt sich nicht jedes Objekt sofort beliebig weiterbearbeiten. Da parametrische Objekte zwar ebenfalls aus Punkte und Polygonen bestehen, diese jedoch vorerst nicht sichtbar sind, müssen parametrische Objekte zuvor konvertiert werden. Dies geschieht bei Betätigung der GRUNDOBJEKTE-KONVERTIERTEN-Schaltfläche, die ebenfalls in Abbildung 1.1 dargestellt ist. Dieser Schritt will jedoch gut überlegt sein, denn nach der Konvertierung liegen zwar alle Punkte und Polygone eines parametrischen Objekts zur weiteren Manipulation vor, die Vorteile dieser Objektgruppe gehen jedoch unwiederbringlich verloren. Dazu zählt z. B. die Veränderbarkeit von Radien an Grundobjekten oder die Manipulationsmöglichkeiten von Unterobjekten eines Boole-Grundobjekts. Wie Sie an dem Beispiel des Boole-Grundobjekts sehen, sind nicht nur eigentliche Grundobjekte, wie z. B. ein Würfel, eine Kugel oder auch Spline-Grundformen wie das Zahnrad oder der Kreis von einer derartigen Umwandlung betroffen, sondern auch alle Arten von NURBS-Objekten und andere interaktive Modellierungshilfen, wie das Symmetrieobjekt,
Die vier unteren Icons in Abbildung 1.1 aktivieren bzw. deaktivieren die so genannten Drawing-Pipelines von CINEMA 4D. Die Drawing-Pipelines unterscheiden dabei zwischen Partikeleffekten, Expressions, Deformatoren und Animationen. Die Deaktivierung umgeht die Berechnung der entsprechenden Effekte in den Ansichtsfenstern. Dies macht auch dann Sinn, wenn sich überhaupt keine entsprechenden Effekte oder Objekte in der Szene befinden, denn CINEMA 4D überprüft bei aktivierten Einstellungen auf jeden Fall die Szene und verliert daher kostbare Zeit. Sie sollten daher die Drawing-Pipelines ganz oder teilweise deaktivieren, wenn keine entsprechenden Objekte verwendet werden. Die hier vorgenommenen Einstellungen beeinflussen nur die Editordarstellung und nicht das Ergebnis der Bild- oder Animationsausgabe. Haben Sie also zwecks schnellerer Editorarbeit z. B. die COFFEE-Expressions über das entsprechende lcon deaktiviert, so sind die Expressions dennoch während der Berechnung des Bildes oder der Animation wieder aktiv.
1.1.2
Werkzeuge und Funktionen
Lupe
X-Achse ein/aus Y-Achse ein/aus Z-Achse ein/aus
Bewegen/Skalieren/Rotleren Objekt- /Welt-System Selektionsmethoden Render in aktiver Ansicht Wiederherstellen Rendermethoden - Rückgängig Rendering Optionen Abbildung 1.2: Icons im oberen Bereich des Interfaces
Wandern wir nun zu den horizontalen Icons am oberen Bildschirmrand. Hier konkretisieren Sie zu der ausgewählten Bewegungs-, Skalierungs- oder Rotations-Betriebsart durch das Aktivieren und Deaktivieren der Icons X, Y und Z die zulässigen Achsen. Gleich daneben schalten Sie auf das gewünschte Bezugssystem, also auf das Objekt- oder das Welt-System um. Die drei mit stilisierten Vasen gekennzeichneten Icons starten die Berechnung der aktiven Editoransicht oder eines Teilbereichs dessen. Hier wird auch die finale Berechnung des Bildes oder der Animation gestartet. Die dabei relevanten Parameter stellen Sie in den Render-Optionen ein. Hier verbergen sich die massivsten Unterschiede zu der Vorgängerversion, weshalb hierauf auch an anderer Stelle noch gezielter eingegangen wird. Am linken Rand der Icon-Leiste lösen die beiden gekrümmten Pfeile eine Zurücknahme der letzten Aktionen, bzw. ein Wiederherstellen fälschlich zurückgenommener Aktionen aus. Die Tasten lassen sich mehrfach betätigen, falls z. B. mehrere Schritte verworfen werden sollen. Die maximale Anzahl der Aktionen, die über
diese lcons gesteuert werden können, lässt sich in den Voreinstellungen des Programms vorgeben. Je höher die Zahl, desto mehr Speicherplatz wird für die gespeicherten Aktionen von CINEMA 4D belegt. Der Standardwert beträgt 20 gespeicherte Aktionen und sollte normalerweise auch ausreichend sein. Das lcon mit dem blauen Mauszeiger beherbergt die verschiedenen Selektionsmethoden. Sie haben die Wahl zwischen Rechteck-, Polygon, Freihand- oder Mauszeiger-Selektion. Für alle Methoden gilt, dass Sie konkretisierende Einstellungsmöglichkeiten dazu in dem separaten Fenster AKTIVES WERKZEUG finden, das standardmäßig am rechten unteren Bildrand zusammen mit dem Koordinatenfenster gruppiert ist. Hier geben Sie dann z. B. den gewünschten Radius um den Mauszeiger herum vor, der noch ausgewählt werden soll, oder ob Selektionen nur für sichtbare Objektteile oder auch für verdeckte Bereiche erstellt werden sollen. Bei der Arbeit mit Selektionen ist es noch wichtig zu wissen, dass Selektionen durch Halten der [^]-Taste erweitert und durch Halten der [Strg]-/[Ctrl]-Taste verkleinert werden können. Das Lupen-lcon dagegen steuert die Zoomfunktion in den Editorfenstern. Durch Anklicken oder Aufziehen eines Rahmens um das gewünschte Objekt lässt sich dieses größer darstellen und zentrieren. Auch hier hilft wieder die Tastatur weiter, denn durch Betätigung der rechten Maustaste bzw. durch zusätzliches Halten der [Strg]-/[Ctrl]-Taste kehrt sich der Zoom-Effekt um. Die Tasten [+] und [-] auf der Tastatur bewirken gleiches, ohne die Maus benutzen zu müssen. In Abbildung 1.2 nicht mehr zu sehen sind die Icons mit den Grundobjekten und einigen Modelling-Funktionen. Da hier einige nur über Menüs erreichbar sind, andere jedoch auch als Icon vorliegen, führe ich kurz vor, wie sich beliebige Funktionen selbst in lcon-Menüs organisieren und in das Layout integrieren lassen. Ansonsten erschöpft sich hiermit - abgesehen von der kombinierten CINEMA 4D / BODYPAINT 3D-Variante - die Anzahl der sichtbaren Icons. Aufgrund der modularen Funktionsweise des Interfaces lassen sich jedoch beliebige, bislang nur in Menüs zu findende Funktionen auch als Icons in beliebige Paletten integrieren.
1.1.3
Eigene Icon-Paletten integrieren
Dazu ruft man im FENSTER-Menü unter dem Eintrag LAYOUT den Punkt PALETTEN BEARBEITEN auf. Alle Icons werden jetzt dunkel umrandet dargestellt und können durch einfaches Verschieben mit gehaltener linker Maustaste, auch „Drag & Drop" genannt, an eine andere Stelle im Interface verschoben werden. Ein Doppelklick auf ein Icon löscht dieses aus dem Layout. Möchte man neue lcons, oder auch thematisch gruppierte lcongruppen in das Layout integrieren, um z. B. häufig benutzte Werkzeuge auch als Schaltfläche anwählen zu können, so ruft man zuerst eine neue, leere Palette auf. Dazu klicken Sie mit der rechten Maustaste, bzw. auf Macintosh-Computern mit gehaltener [#]Taste, in einen leeren Bereich des Layouts. In dem aufklappenden Submenü wählen Sie den Punkt NEUE BEFEHLS-PALETTE aus. Es erscheint ein leeres kleines Fenster.
Abbildung 1.3: Zusammenstellen eigener Befehlspaletten Ziehen Sie jetzt beliebige Icons aus dem Fenster mit den miniaturisierten Icons in das leere Fenster hinein, wie es in Abbildung 1.3 angedeutet ist. Dabei sind die Icons thematisch nach Editor, Werkzeugen und z. B. installierten Plugins geordnet. Wenn Sie also das gewünschte Icon in der Auswahlliste nicht finden, wechseln Sie einfach die entsprechende Rubrik über das Aufklappmenü im oberen Bereich. Haben Sie die gewünschten Icons in dem Fenster gruppiert, klicken Sie wieder rechts, bzw. mit der [#]-Taste in das neue Icon-Fenster und wählen den Befehl BEFEHLS-GRUPPE ERZEUGEN aus. Die Icons verschwinden nun bis auf das erste lcon in der Liste. Dieses bekommt zusätzlich einen kleinen schwarzen Pfeil, der auf die Befehlsgruppe hindeutet. Jetzt verschieben Sie das Icon mittels Drag & Drop an die gewünschte Stelle im Layout und schließen das Icon-Auswahlfenster (siehe Abbildung 1.4). CINEMA 4D kehrt daraufhin in die gewohnte Betriebsart zurück.
Abbildung 1.4: Eingefügte neue Befehlspalette Damit das derart veränderte Layout auch beim nächsten Programmstart wieder erscheint, muss es nun noch über die entsprechende Funktion im FENSTER-Menü z. B. als Start-Layout gesichert werden.
1.1.4 Die wichtigsten Befehle und Funktionen Nachfolgend habe ich Ihnen nach dem gleichen Schema die wichtigsten Werkzeuge aus dem STRUKTUR-Menü in Icon-Gruppen zusammengestellt. Wir werden noch regen Gebrauch von diesen Werkzeugen machen und intensiv mit ihnen arbeiten. Deshalb belasse ich es hier bei einer kurzen Aufzählung.
Abbildung 1. 5: Eine Auswahl an Funktionen aus dem Struktur-Menü
In Abbildung 1. 5 sehen Sie von links nach rechts die Funktionen ABLÖSEN, ABTRENNEN, ARRAY, BEVEL, BRÜCKE, EXTRUDIEREN, INNEN EXTRUDIEREN, SMOOTH SHIFT, SPIEGELN, das DREHEN UM NORMALEN, das VERSCHIEBEN ENTLANG DER NORMALEN, das MESSER und den MAGNET. Ich gehe stichwortartig auf die Wirkung dieser Funktionen ein. Fast alle beschriebenen Werkzeuge funktionieren nur im POLYGONE-BEARBEITEN-Modus. Zudem besitzen viele Werkzeuge zusätzliche Einsteilmöglichkeiten in dem bereits erwähnten Fenster AKTIVES WERKZEUG. Beim ABLÖSEN werden die selektierten Punkte oder Polygone von der übrigen Struktur getrennt, bleiben jedoch als ein gemeinsames Objekt weiterhin intakt. Beim ABTRENNEN werden die selektierten Abschnitte in ein neues Objekt kopiert, bleiben jedoch am ursprünglichen Modell unverändert. Da die Teile am ursprünglichen Objekt weiterhin aktiv bleiben, können Sie z. B. über die [ < - ] - T a s t e gelöscht werden. Auf diese Weise lässt sich ein komplexes Modell in Unterobjekte zerlegen. Die ARRAY-Funktion vervielfältigt ein aktives Objekt mit diversen Variablen und Zufalls-Optionen. Die BEVEL-Funktion extrudiert selektierte Flächen, verschiebt diese also mit zusätzlich erstellten Seitenflächen und skaliert die Flächen dabei gleichzeitig. Es entsteht dadurch eine abgerundete Kante. Zu beachten ist dabei jedoch, dass das Objekt um den Wert der Extrudierung an Größe gewinnt. Das BRÜCKE-TOOL verbindet selektierte Flachen innerhalb eines Objekts miteinander. Dazu werden erst die Flächen selektiert, dann das BRÜCKE-TOOL aktiviert und schließlich muss mit gehaltener Maustaste eine Verbindungslinie zwischen den zu verbindenden Polygonen gezogen werden. Die selektierten Flächen werden automatisch gelöscht und die Ränder der entstehenden Löcher mit Polygonen verbunden. Das Werkzeug kann sowohl mit einzelnen Polygonen als auch mit Polygongruppen umgehen. Als zweite Variante dieser Funktion bietet sich das Erstellen von Polygonen an, da das BRÜCKE-TOOL auch Punkte verbinden kann. Das EXTRUDIEREN zieht Polygone oder ganze Gruppen davon aus einem Objekt heraus. Dabei werden die Eckpunkte der selektierten Polygone oder Polygongruppen dupliziert und mit dem extrudierten Teil verbunden. Mit diesem Werkzeug lassen sich Strukturen also verlängern oder auch verzweigen. Während das Extrudieren eine Entfernung von der ursprunglichen Oberfläche vorsieht, extrudiert die Funktion INNEN EXTRUDIEREN die neuen Flachen in die Ebene der alten Flachen hinein. Dies wird später an Beispielen deutlicher.
Die SMOOTH-SHIFT-Funktion arbeitet ähnlich dem EXTRUDIEREN, behält jedoch auf jeden Fall alle selektierten Elemente in einer Gruppe. Beim normalen EXTRUDIEREN können Grenzwinkel angegeben werden, ab denen Polygongruppen nicht mehr als Gruppe, sondern als Einzelobjekte behandelt werden. Beim SPIEGELN werden selektierte Punkte oder Polygone an einer vorzugebenden Ebene gespiegelt und dort ggf. auch miteinander verschmolzen. Das DREHEN UM NORMALEN und das VERSCHIEBEN ENTLANG NORMALEN berücksichtigt die Richtung der Normalenvektoren jedes selektierten Polygons bei den Bewegungsarten. Damit lässt sich z. B. eine Hülle um ein komplexes Modell erstellen, indem die duplizierten Oberflächenpolygone entlang der Normalen von der Oberflache wegbewegt werden. Ein konkretes Anwendungsgebiet sind z. B. Kleidungsstücke. Zu diesem Werkzeugkomplex gehört auch das Skalieren entlang der Normalen, bei dem das Polygon gleichmäßig um seine Normale vergrößert wird. Das MESSER-Werkzeug erzeugt entlang einer Schnittführung neue Punkte und Polygone. Der Schnitt kann auch auf eine Selektion von Polygonen beschränkt werden. Der MAGNET bewegt schließlich Punkte in seinem Wirkradius entsprechend der Mausbewegung mit. Es stehen in den Optionen des Magneten im Fenster AKTIVES WERKZEUG diverse Formen zur Auswahl, wie sich die Punkte um Umfeld des Magneten verhalten sollen.
Abbildung 1. 6: Spline-Grundobjekte
Abbildung 1. 7: 3D-Grundobjekte Die Abbildungen 1. 6 und 1. 7 zeigen Ihnen die so genannten „Grundobjekte" in CINEMA, also Formen und Objekte, die bereits fertig abgerufen und nicht erst selbst erstellt werden müssen. In CINEMA 4D sind alle diese Objekte parametrischer Natur, d. h. die Form jedes dieser Objekte kann in speziellen Dialogen weiter beeinflusst werden. So lassen sich neben den Größenverhältnissen noch Punkt- und Polygon-Zahlen vorgeben oder gezielt Rundungen hinzufügen. Zu den detaillierten Einstellmöglichkeiten für jedes dieser Objekte gelangen Sie durch einen Doppelklick auf das miniaturisierte Symbol des jeweiligen Objekts im OBJEKTE-Fenster, auf das wir noch zu sprechen kommen.
Abbildung 1.8: Verschiedene Spline-lnterpolationen
Natürlich können Splines auch manuell erstellt werden. Dazu stehen Ihnen die in Abbildung 1.6 abgebildeten Interpolationsmethoden zur Verfügung, die Sie zusammen mit den Grundobjekten im OBJEKTE-Menü abrufen können. Sie haben hier die Wahl zwischen AKIMA-SPLINES, B-SPLINES, BEZIER-SPLINES, FREIHAND-SPLINES, mit FORMELN erzeugten, LINEAREN oder KUBISCHEN SPLINES. Nachdem Sie in den PUNKTE-BEARBEITEN-Modus gewechselt und eine Spline-lnterpolation ausgewählt haben, können Sie durch Einfachklicken in ein Editorfenster Splinepfade erzeugen. Kücken und gleichzeitiges Ziehen der Maus bildet bei BEZIERSPLINES automatisch eine Tangente an dem erstellten Punkt aus, die sich weiter über deren Endpunkte skalieren und rotieren lässt. Manipulationen der Tangente mit gehaltener [^]-Taste bewirken ein „Brechen" der Tangente im Punkt, so dass beide Tangenten-Enden unabhängig voneinander bewegt werden können. Die anderen Interpolationsarten stellen zwar keine Tangenten zur Verfügung, jede Splineart kann jedoch auch nachträglich noch in jede andere umgewandelt werden. Auch hier bringt Sie ein Doppelklick auf das Spline-Symbol im OBJEKTE-Fenster zu einem kleinen Dialog, der Ihnen diese und andere Möglichkeiten bietet.
Abbildung 1.9: Szene-Objekte
Das Umfeld Ihrer Objekte bestimmen Sie über SZENE-OBJEKTE, die Sie ebenfalls im OBJEKTE-Menü finden (siehe Abbildung 1.9). Hier finden sich u. a. Kameras und Lichtquellen mit automatischer Ausrichtung, ein HINTERGRUND- und ein VORDERGRUND-OBJEKT für die automatisierte Einblendung z. B. von Bildmotiven oder Copyrightvermerken in ein Bild oder eine Animation; ein UMGEBUNGS-OBJEKT, mit dem sich Nebel und ambientes Licht in die Szene integrieren lassen, und ein STAGE-OBJEKT, mit dem in einer Animation z. B. zwischen verschiedenen Kameras umgeschaltet werden kann. Ein Großteil dieser Objekte lässt sich bereits aus dem vorhandenen Lichtquellen-lcon im Layout abrufen, ohne in das Menü wechseln zu müssen.
Abbildung 1.10: NURBS-Objekte
Besonders für die Modellierung organischer Formen sind NURBS-Objekte sehr hilfreich, die in dieser Form ab Version 6 in CINEMA Einzug gehalten haben. Sie sind vollkommen parametrisch konzipiert und erlauben daher interaktive und auch nachträgliche Veränderung aller Parameter, wie z. B. der Auflösung. Die verschiedenen NURBS-Objekte sind in Abbildung 1.10 als Symbole zusammengefasst. Neben den auch in anderen Programmen üblichen LOFT-, SWEEP-, LATHE- und EXTRUDE-NURBS findet sich in CINEMA 4D auch das sehr leistungsstarke HyperNURBS-Objekt, das in Verbindung mit niedrig aufgelösten Polygon-Objekte n schnell organisch geglättete Objekte erzeugen kann. Mit letzteren werden wir einen Großteil der kommenden Workshops bestreiten, da sie sich sehr flexibel einsetzen lassen. Die übrigen NURBS-Objekte sind aber nicht minder hilfreich, wenn es um organische Übergänge zwischen Splines geht oder um Objekte, die sich aus mehreren Splines zusammensetzen lassen.
Abbildung 1.11: Deformatoren
Die nächste Gruppe an Objekten sind die Deformatoren (siehe Abbildung 1.11). Mit ihnen lassen sich beliebige Objekte verformen. Auch Spezialeffekte, wie das Explodieren oder Schmelzen von Objekten, gehören dazu. Schließlich finden sich hier auch die für die Animation von Figuren nötigen Bones wieder. Die Philosophie von CINEMA 4D macht es hierbei möglich, Deformationen beliebig zu verschachteln und zu mischen. Dabei bleibt das Objekt unverändert, so dass man jederzeit zu dem ursprünglichen Modell zurückkehren kann.
Abbildung 1.12: Interaktive Werkzeuge
Auch sehr hilfreich sind die in der Abbildung 1.12 zusammengefassten interaktiven Werkzeuge wie das ARRAY- und das BOOLE-OBJEKT, das DUPLIZIEREN mit INSTANZEN-OPTION, METABALLS und das SYMMETRIE-OBJEKT (von links nach rechts). Anders als bei ähnlich benannten Werkzeugen anderer Hersteller oder älterer CINEMA-4D-Versionen können die Ergebnisse jederzeit modifiziert werden. Dies macht besonders das BOOLE-OBJEKT und das SYMMETRIE-OBJEKT zu wertvollen Hilfen bei der komplexen Modellierung. So können Schnittmengen beliebiger Objekte jederzeit verändert oder ergänzt werden. Die zu Grunde liegenden Modelle bleiben wie bei den Deformatoren unberührt.
Abbildung 1.13: Emitter- und Partikel-Modifikatoren
Bereits aus alteren Versionen bekannt ist das leistungsstarke Partikelsystem von CINEMA4D, das sich neben beliebigen Objekten auch animierten Modellen annehmen kann. Wie m der Abbildung 1.13 zu sehen, steht eine ganze Reihe zusatzlicher Manipulatoren für Partikelstrome zur Verfugung, die von WIND- über TURBULENZ- bis hin zu REFLEKTOR-OBJEKTEN mit optionaler Strahlteilung reicht. Besonders in Verbindung mit dem separat erhältlichen Programm Pyrocluster der Firma Cebas lassen sich realistisches Feuer, Rauch und Explosionen erzeugen. Wirksam unterstützen lässt sich dies zudem durch das neue Explosions-Plugin von CINEMA 4D, das in Version 7 Eingang gefunden hat. Näheres dazu in einem späteren Kapitel.
Abbildung 1.14: Selektionsmethoden und entsprechende Optionen
Abbildung 1.14 zeigt die angebotenen Selektionsmethoden, die sich - je nach ausgewählter Betriebsart - auf Punkte, Polygone oder ganze Objekte auswirken können. Neben einer LIVE-SELEKTION mit mehreren Optionen gibt es neben der RAHMENSELEKTION noch eine POLYGON- und eine FREIHAND-SELEKTION. Erstellte Selektionen können mit so genannten Wichtungen belegt werden, auf die dann Deformatoren, wie z. B. Bones, wirken können. Punkt- oder PolygonSelektionen lassen sich auch komplett sichern und gezielt mit Materialien belegen. Auch das vorübergehende Ausblenden von Selektionen ist möglich.
Funktionen, wie die Umwandlung von Punkt- in Polygonselektionen und umgekehrt (ganz rechts in Abbildung 1.14), erleichtern uns zusätzlich die Arbeit an komplexen Objekten. Die sinnvolle Unterteilung von Objekten in Selektionen wird somit zu einer Voraussetzung für professionelle Texturierung und Animation.
Abbildung 1.15: Sound-Objekte
Seit Version 6 sind auch Sound-Objekte in CINEMA 4D XL integriert (siehe Abbildung 1.15). Mit ihnen lassen sich Töne bestimmten Objekten zuordnen und Tondaten in Abhängigkeit von Abstand und Bewegung relativ zum Aufnahmeort in der Szene berechnen. Dabei fließen bei der Berechnung sogar physikalische Besonderheiten wie der Dopplereffekt in die Berechnung ein. Auch das Abmischen verschiedenen SoundDaten ist mit CINEMA 4D möglich. Die Möglichkeiten gehen bis zur Erstellung von Surround-Sound-Daten für Ihre Animationen. Töne und Sound-Daten können jedoch nicht direkt in CINEMA 4D „live" mit der Animation abgespielt werden. Die Montage von Bildern und Tönen muss in einem separaten Programm erfolgen. CINEMA 4D liefert also nur die entsprechend abgemixten Sound-Daten für die gewünschte Anzahl an Kanälen.
Abbildung 1.16: Einige Rendermethoden und Optionen
über die in der Abbildung 1.16 gezeigten Funktionen lassen sich schließlich die Bilder oder Animationen berechnen. Dabei haben Sie die Wahl zwischen der Berechnung eines aktiven Fensters, nur des aktiven Objekts, eines Bildausschnitts, einer Bild- oder Animationsberechnung mit nachfolgender Sicherung, wobei alle eingestellten Parameter berücksichtigt werden, und dem Aufruf eines speziellen Einstellungsfensters für die vorhandenen Optionen der Bildberechnung (von links nach rechts). Gegenüber Version 6 verbergen sich hinter diesen Funktionen komplett neu überarbeitete Programmteile, die nicht nur effektiver und höher wertiger arbeiten als die alten Methoden, sondern zudem teilweise noch schneller berechnet werden. Hinzu kommen Fotorealismus durch Simulation globaler Beleuchtung und realistische Lichtbrechung in Luft und transparenten Materialien. Ein derart hochwertiges und schnelles Berechnungs- und Darstellungssystem gibt es bislang nur in sehr viel
kostspieligeren Programmen und stellen daher eine echte Sensation dar. Ich gehe auf die Neuerungen in diesem Segment gesondert in einem späteren Kapitel ein.
1.1.5
Die verschiedenen Fenster von CINEMA 4D
Herzstück des Interfaces von CINEMA 4D XL ist das Ansichtsfenster (siehe Abbildung 1.17). Über Optionen in den Menüs jeder einzelnen Ansicht können Sie die Darstellungsqualität und die Richtung der Sicht auf die Szene separat steuern. Die farbliche Ausgestaltung der Achsen, des Rasters und des Hintergrunds lässt sich über die Programmvoreinstellungen vorgeben. Aktive Objekte werden mit rötlichen, winkligen Begrenzungen gekennzeichnet. Durch „Anfassen" einzelner Objektachsen mit dem Mauszeiger können Bewegungen auf die selektierte Achse begrenzt werden. Orangefarbene Anfasser an parametrischen Objekten erlauben die Veränderung von Größe und Kantenrundung direkt in den Ansichten. Über die kleinen Icons am rechten oberen Rand jeder Ansicht lassen sich die jeweiligen Blickwinkel auf die Objekte verschieben, die Ansicht mittels einer ZoomFunktion vergrößern oder verkleinern, oder um die Objekte rotieren. Letztere Funktion kann nur in perspektivischen Ansichten funktionieren, da die übrigen Ansichten auf die XY-, ZY- oder XZ-Ebene standardisiert sind. Das Icon für die Rotation der Ansicht ist in diesen Fenstern zwar vorhanden, bleibt jedoch ohne Funktion.
Abbildung 1.17: Die Ansichtsfenster von CINEMA 4D
Über das BEARBEITEN-Menü jeder Ansicht können selektierte Objektteile oder ganze Objekte fensterfüllend dargestellt werden, ohne auf die Zoom-Funktion oder die Lupe zurückgreifen zu müssen.
Abbildung 1.18: Objekte-, Struktur- und Browser-Fenster
Neben den Ansichten sind die OBJEKTE-, STRUKTUR- und BROWSER-Fenster sehr wichtig für die Arbeit in CINEMA 4D (siehe Abbildung 1.18). Im OBJEKTE-Fenster werden alle Elemente einer Szene verwaltet. Hier können Hierarchien angelegt sowie Namen und Eigenschaften vergeben werden. Wie bereits weiter oben beschrieben, können zusatzliche Optionen - vorwiegend von parametrischen Objekten und Splines - in diesem Fenster durch einen Doppelklick auf das Symbol eines Objektes geöffnet werden. Ein Doppelklick auf den Namen eines Objekts öffnet ein kleines Textfenster, in dem der Name des Objektes verändert werden kann. Neben der bereits beschriebenen roten Einrahmung des aktiven Objekts in den Ansichtsfenstern, wird das aktive Objekt im OBJEKTE-Fenster zusätzlich in roter Farbe geschrieben. Sie haben hier daher immer eine gute Kontrolle, ob tatsachlich das richtige Objekt ausgewählt wurde. Im STRUKTUR-Fenster haben Sie die numerische Kontrolle über Punkt- und UVWKoordinaten oder Polygon-Eckpunkte. Da hier die Informationen eines kompletten Objekts gleichzeitig dargestellt werden können, wird dieses Fenster zu einem wertvollen Arbeitsmittel bei der Manipulation größerer Punkt- oder Polygongruppen.
Im BROWSER-Fenster schließlich können Sie Ihre Projekte organisieren oder vorhandene Materialien und Szenen ordnen, über verkleinerte Abbildungen von Materialien, Modellen und Szenen lassen sich auch größere Datenbestände verwalten. Derart zusammengestellte Kataloge lassen sich verwalten und sichern, um jederzeit auf einzelne Elemente daraus zurückgreifen zu können. Der Browser kann also z. B. als Bilderkatalog für Texturen und Materialien benutzt werden, um thematisch geordnete Oberflächen schnell nach der geeigneten Textur zu durchsuchen. Im KOORDINATEN-MANAGER haben Sie jederzeit die Kontrolle über exakte Koordinaten eines selektierten Objekts, Punkts oder Polygons. Hier lassen sich die aktuellen Positionen und Abmessungen abfragen. Außerdem erlauben die Zahlenfelder direkte Eingaben. Objekte können so numerisch exakt positioniert werden. Die benutzten Einheiten lassen sich in den PROGRAMM-VOREINSTELLUNGEN beliebig wechsein. Daneben findet sich das Fenster mit der Aufschrift AKTIVES WERKZEUG. Der Inhalt dieses Fensters passt sich laufend den Möglichkeiten des gerade ausgewählten Werkzeugs an. Ich habe bereits mehrfach z. B. im Zusammenhang mit den Selektionsmethoden oder den Modelling-Werkzeugen darauf hingewiesen.
Abbildung 1.19: Koordinaten-Manager, Aktives-WerkzeugFenster und Snap-Einstellungen Hier können Sie also z. B. das MESSER-TOOL auf eine Selektion beschränken oder die Höhe einer Extrusion vorgeben. Bei Werkzeugen, die auf Wertangaben angewiesen
sind, wird die Modifikation des Objekts erst nach dem Betätigen der Schaltfläche ANWENDEN in diesem Fenster durchgeführt. Wenn Sie nicht auf exakte Wertangaben angewiesen sind, so funktionieren viele der erwähnten Werkzeuge jedoch auch interaktiv in den Ansichten durch Mausbewegung. Das dritte Fenster mit der Aufschrift SNAP-EINSTELLUNGEN ist besonders beim maßgenauen Konstruieren wichtig. Hier können Sie Arbeitsebenen, Raster und Fangpunkte aktivieren, um neue Punkte und Splines an bereits vorhandenen Elementen in der Szene einrasten zu lassen. Radien und Bezugskoordinaten lassen sich hier vorgeben. Beim freien Modellieren sollten die Snap-Funktionen deaktiviert werden, um ein unbeschränktes Setzen von Punkten und Objekten zu gewährleisten.
Abbildung 1.20: Das Materialien-Fenster
Schließlich wird der Bildschirm am unteren Rand vom MATERIALIEN-Fenster begrenzt, das die gleiche Funktionalität wie der aus älteren Versionen bekannte Materialmanager besitzt. In diesem Fenster erzeugen und verwalten Sie Materialien, die Sie dann per Drag & Drop auf die Modelle im OBJEKTE-Fenster ziehen und somit zuweisen können. Ein Doppelklick auf die Materialkugeln öffnet ein Einstellungsfenster für die Materialeigenschaften; ein Doppelklick auf die Materialbezeichnung eröffnet die Möglichkeit, sie abzuändern. Da CINEMA 4D sowohl volumetrische wie auch kanalbasierte Materialien unterstützt, kann ein Doppelklick auf eine Materialkugel unterschiedliche Dialoge öffnen. So gibt es z. B. für die mittlerweile in Version 7 integrierten SLA-Shader des Herstellers bhodilNUT komplett eigene Dialoge. Trotzdem erscheinen diese Materialien im MATERIALIEN-Fenster wie ein normales CINEMA-4D-Material. Um Ihnen einen Eindruck von der prinzipiellen Arbeitsweise mit CINEMA 4D zu geben, beschäftige ich mich nun im zweiten Teil dieses Kapitels mit dem Abiauf einer typischen Modellierungsaufgabe. Ich habe mir dazu die Umsetzung von Kolben, Pleuel und Kurbelwelle eines Automotors vorgenommen, ohne dabei nach einer speziellen technischen Zeichnung vorzugehen. Wir werden im Laufe dieses Arbeitsbeispiels einen großen Teil der Polygon- und Spline-Werkzeuge in Aktion erleben, sowie etwas über die Planung von Projekten erfahren. Um dabei auch etwas Ihre Sinne für die richtige Wahl von Modellierungsmethoden zu schärfen, werde ich das Beispiel mit drei Modellierungsvariationen beginnen, die alle mehr oder weniger zum gleichen Ergebnis führen. Trotz ähnlicher Ergebnisse unterscheiden sich die Vorgehensweisen und bringen unterschiedliche Vor- und Nachteile mit sich.
Obwohl ich mich bemühe, gerade bei den ersten Beispielen dieses Buchs alle benutzten Werkzeuge und Objekte ausführlich in Funktion und Anwendung zu beschreiben, möchte ich Sie jedoch bitten, auch das Handbuch nicht zu vergessen. Ich kann in die folgenden Arbeitsbeispiele nicht alle Funktionen von CINEMA 4D mit einfließen lassen. Dafür ist die Software viel zu komplex. Um das gesamte Potenzial des Programms auszuschöpfen ist jedoch die Kenntnis aller Werkzeuge und Techniken notwendig. Und wie wichtig die richtige Wahl der Werkzeuge und Methoden sein kann, wird folgendes Beispiel zeigen.
1.2 Ein Arbeitsbeispiel Wie bereits angekündigt, möchte ich dieses Arbeitsbeispiel mit der Problematik der Wahl der richtigen Arbeitsmethoden verbinden. Oftmals geht man unüberlegt an eine Aufgabe heran, sei es weil man unter Zeitdruck steht oder die technischen Herausforderungen auch einfach scheinender Modelle unterschätzt. Ich versuche dies an der Modellierung des Kolbens zu verdeutlichen und stelle Ihnen dazu drei verschiedene Techniken zur Wahl.
1.2.1
Die Boole-Methode
Werfen wir zuerst einen Blick auf die komplette Szene (Abbildung 1.21). Sie erkennen eine Kurbelwelle samt Pleuel und Kolben. Dabei wäre es natürlich zweckmäßig, dass die Anordnung tatsächlich funktionsfähig ist und somit realistisch animiert werden kann.
Abbildung 1.21: Die komplette Anordnung
Um dies zu gewährleisten, sollte die Anordnung in die in Abbildung 1.22 einzeln dargestellten Objekte aufgeteilt werden. Sie erkennen dort auf der linken Seite die Pleuelstange in zwei Ansichten und weiter unten einen Kolben in drei verschiedenen Ansichten. Auf der rechten Seite ist die Kurbelwelle abgebildet.
Abbildung 1.22: Die einzelnen Baugruppen
Technisch etwas anspruchsvoller ist dabei der Kolben, da er sowohl geschwungene wie auch durch Öffnungen unterbrochene Abschnitte hat. Ich möchte den Kolben daher etwas näher betrachten und Ihnen verschiedene Möglichkeiten vorstellen, ein solches Objekt - mal mehr, mal weniger geschickt - anzugehen. Ich beginne mit der „Boole-Methode", wie ich sie einmal nennen möchte, bei der man zwar recht schnell die Form annähern, jedoch dann vor unlösbare Probleme gestellt werden kann. Wir starten dabei mit einem Objekt, das bereits die Grundform recht gut beschreibt, einem Zylinder. Wir können es uns dabei recht einfach machen und diese Grundform direkt auf dem entsprechenden OBJEKTE-Menü, bzw. aus dem Icon-Menü in der Kopfleiste des Layouts abrufen. Es wird sich dann eine Situation wie in Abbildung 1.23 ergeben. Standardmäßig erscheinen neue Objekte immer im absoluten Nullpunkt des Welt-Koordinatensystems. Da man nur in den seltensten Fällen mit den Abmessungen von Grundobjekten einverstanden sein wird, gibt es diverse Einstellmöglichkeiten für jedes Objekt, die sich durch einen Doppelklick auf das verkleinerte Symbol des Objekts im OBJEKTEFenster erreichen lassen.
Abbildung 1.23: Aufrufen eines Zylinders
In unserem Fall ist dies der kleine blaue Zylinder. Der Doppelklick darauf sollte ein Fenster wie in Abbildung 1.24 offnen. Der Dialog enthalt dabei Einstellmöglichkeiten für den Radius, die Hohe oder z. B. die Unterteilung des Zylinders entlang des Umfangs. Hier liegt die große Starke parametrischer Objekte. Die Werte können jederzeit durch abermaliges Offnen des entsprechenden Dialogs verändert werden.
Abbildung 1.24: Einstellen der Zylinder-Parameter, Konvertieren des Grundobjekts und Umschalten m den Punkt-Modus
So ist es also möglich, auch noch nachträglich das Objekt mit einer abgerundeten Kante zu versehen oder die Unterteilung zu erhöhen, falls eine Nahaufnahme notig ist und keine störenden Kanten zu sehen sein sollen. Der Nachteil ist dabei jedoch, dass wir keinen direkten Zugriff auf einzelne Punkte oder Polygone eines Grundobjekts haben. Deren Anzahl und Lage wird vollständig von den eingegebenen Werten gesteuert. Ist dennoch ein Zugriff auf Punkte und Polygone notwendig, muss das Objekt konvertiert werden. Dazu genügt ein Klick auf das GRUNDOBJEKTE-KONVERTIEREN-lcon, das ebenfalls in Abbildung 1.24 oben rechts eingeblendet ist. Nun muss nur noch die gewünschte Betriebsart ausgewählt werden, also z. B. der PUNKTE-BEARBEITENModus, um auch tatsächlich die Punkte angezeigt zu bekommen.
Abbildung 1.25: Optimieren der Punkte des Zylinders
Als letzten Schritt fuhren wir das OPTIMIEREN des Objekts durch. Dies mag auf den ersten Blick verwirren, da das Objekt keinerlei Makel aufweist. Das OPTIMIEREN, also m diesem Fall das Zusammenfassen von Punkten, die den gleichen Platz im Raum einnehmen, ist deshalb notig, da ein Grundobjekt wie der Zylinder aus bis zu drei separaten Teilen bestehen kann: dem eigentlichen Zylinder und den oberen und unteren Deckflachen, die diesen verschließen. Da die Punkte der Deckflachen und des Zylinders am oberen und unteren Rand des Zylinders deckungsgleich aufeinander liegen, kommen diese Punkte an den Randern jeweils doppelt vor. Das Optimieren verbindet die paarweise vorliegenden Punkte und loscht dabei die nun überflüssigen Punkte (siehe Abbildung 1.25).
Sie finden den OPTIMIEREN-Befehl im STRUKTUR-Menü.
Abbildung 1. 26: Selektieren der inneren Polygonkreise
Im nächsten Schritt wollen wir den Zylinder innen aushohlen, damit nur ein rohrf ö r m i g e s Objekt übrig und wählen Sie die LIVE-SELEKTION aus den Selektionsmethoden aus. Sie finden die Selektionsmethoden im Menü SELEKTION oder gleich per Icon in der Kopfleiste des Layouts. Das entsprechende Icon sieht aus wie ein blauer Mauszeiger. Um die Art der Selektion weiter zu konkretisieren, gibt es weitere Einstellmöglichkeiten zu diesem Werkzeug im Fenster AKTIVES WERKZEUG. Deaktivieren Sie dort NUR SICHTBARE ELEMENTE SELEKTIEREN. Dies garantiert, dass auch Elemente ausgewählt werden, die in der benutzten Ansicht verdeckt sind. Was damit gemeint ist, wird jetzt in der Anwendung deutlicher. Fahren Sie mit dem Mauszeiger in die XZAnsicht, also der Ansicht, in der Sie den Zylinder direkt von oben sehen, und überstreichen Sie mit gehaltener linker Maustaste den inneren Polygonkreis. Die Abbildung 1. 26 zeigt dies im rechten Bereich schematisch. Den Erfolg dieser Aktion erkennen Sie daran, dass die selektierten Polygone rot umrandet dargestellt werden. Fälschlicherweise selektierte Polygone können Sie durch die zusätzlich zur Maustaste gehaltene [ S t r g ] - bzw. [Ctrl]-Taste wieder deselektieren. Die zusätzlich zur Maustaste gehaltene [^]-Taste dagegen fügt neu ausgewählte Punkte oder Polygone den bereits ausgewählten hinzu. Jedes selektierte Polygon wird neben der rotlichen Umrandung noch durch eine sichtbare NORMALE gekennzeichnet. Eine NORMALE ist eine kurze gelbliche Linie, deren Verlauf die Richtung der Oberflache eines Polygons definiert. NORMALEN gehen immer von der Außenseite eines Polygons aus, von der Innenseite ist dagegen nur ein kleiner Kreis zu erkennen. Dies muss Sie nun nicht weiter irritieren. Es ertaubt uns jedoch, in einer anderen Ansicht auf den Zylinder zu erkennen, dass nicht nur der von uns angeklickte Polygonkreis ausgewählt wurde, sondern auch der entsprechende Polygonkreis im Boden des Zylinders. Sie erkennen dies an den kleinen gelben Linien, die vom Boden des Zylinders nach unten weisen. Dort müssen also auch Polygone ausgewählt sein. Diese „Doppelselektion" wurde nur durch die ausgeschaltete Option im AKTI-
VES-WERKZEUG-Fenster möglich. Hatten wir dort den Haken belassen, waren tatsachlich nur die angeklickten Polygone auf dem oberen Deckel des Zylinders ausgewählt worden.
Abbildung 1.27: Verbindung der selektierten Polygone Für den nächsten Arbeitsschritt, das Aushohlen des Zylinders, sollten wir zuerst für eine gute Sicht auf das Modell sorgen Benutzen Sie dafür das Symbol ganz rechts oben m der Titelleiste des Ansichtsfensters mit der perspektivischen Sicht auf den Zylinder. Das Klicken auf dieses Symbol sorgt für eine bildschirmfüllende Vergrößerung der Ansicht, bei der man das Symbol betätigt hat. Benutzen Sie jetzt das Symbol gleich links daneben mit den beiden Pfeilen, die einen Punkt umkreisen. Mit diesem Symbol rotieren Sie um das aktive Objekt herum. Es findet also eine Kamerabewegung statt. Das Objekt selbst bleibt unbewegt. Benutzen Sie das Symbol so, dass Sie es mit dem Mauszeiger bedecken und dann die Maustaste gedruckt halten. Wenn Sie nun die Maus bewegen, rotiert die Ansicht entsprechend mit. Versuchen Sie einen solchen Blickwinkel einzustellen, dass Sie die oberen selektierten Polygone als flache Scheibe erkennen können. Da wir für die nächste Aktion beide selektierte Polygonkreise sehen müssen, sollten Sie nun die Darstellungsart umschalten. Dies erledigen Sie im Menü DARSTELLUNG im Ansichtsfenster. Wählen Sie dort entweder QUADER oder DRAHTGITTER aus. Beide Darstellungsarten erlauben einen Blick durch die Polygone hindurch und machen die Objekte somit transparent Sie sollten ein Ergebnis wie in
Abbildung 1.27 erzielen. Lassen Sie sich dabei nicht von den senkrechten Verbindungslinien in der Abbildung irritieren. Diese erzeugen wir erst im nächsten Schritt. Sie sollten jedoch grundsätzlich einen ähnlichen Blickwinkel auf den Zylinder haben.
Wählen Sie jetzt im STRUKTUR-Menü das BRÜCKE-Werkzeug aus. Mit diesem Werkzeug lassen sich selektierte Polygone miteinander verbinden, wobei die Polygone selbst nach der Aktion gelöscht werden. Bewegen Sie den Mauszeiger zu einer Ecke eines beliebigen Polygons im oberen selektierten Polygonkreis. Betätigen Sie nun die Maustaste und halten Sie diese gedrückt. Bewegen Sie die Maus nach unten in Richtung des zweiten selektierten Polygonkreises. Sie sollten eine Linie erkennen können, die vom oberen Polygon nach unten führt. Steuern Sie mit der Maus das Polygon und dort auch exakt die Ecke an, die dem Polygon und der Ecke oben entspricht. Die Linie am Mauszeiger sollte also eine senkrechte Verbindung zweier sich entsprechender Polygone darstellen. Wenn Sie die Maustaste nun loslassen, erstellt CINEMA 4D automatisch neue Verbindungspolygone zwischen den beiden Polygonkreisen. Dabei werden die Polygonkreise gelöscht. An deren Stelle ist durch das BRÜCKE-Werkzeug eine Art Röhre entstanden (siehe Abbildung 1.27).
Abbildung 1.28: Der „entkernte" Zylinder
Noch anschaulicher wird diese Verwandlung des Zylinders, wenn Sie die Darstellungsart im Menü DARSTELLUNG wieder auf QUICK-SHADING umschalten. Vielleicht benutzen Sie wieder das ROTIEREN-Symbol im Ansichtsfenster, um von schräg oben in den Zylinder schauen zu können. Wie Sie in der Abbildung 1.28 erkennen können, ist der Zylinder nun zu einem dickwandigem Rohr geworden. Kücken Sie erneut einmal auf das FENSTER-Symbol rechts oben in der Titelleiste der Ansicht, damit Sie wieder das Fenster mit den vier verschiedenen Ansichten vor sich haben. Im nächsten Schritt möchte ich die Wanddicke des Zylinders verringern. Dazu wechseln Sie in den PUNKTE-BEARBEITEN-Modus durch einfaches Anklicken des Symbols und wählen Sie erneut das LIVE-SELEKTION-Werkzeug aus. Achten Sie weiterhin
im Fenster AKTIVES WERKZEUG darauf, dass die Option der Selektion nur sichtbarer Elemente deaktiviert ist (siehe Abbildung 1.29).
Abbildung 1.29: Selektieren der inneren Punktkreise
Selektieren Sie in der Ansicht von oben auf den Zylinder den kompletten inneren Punktring, wie in der Abbildung 1.29 zu erkennen. Vergleichbar mit selektierten Polygonen verändert sich dabei auch die Farbe der Punkte von braun zu orange. Sie haben daher immer eine gute Kontrolle, ob Sie nicht vielleicht einen Punkt vergessen haben. Die Selektion kann dabei durch ein kontinuierliches Überstreichen der Punkte mit dem Mauszeiger und dabei gehaltener Maustaste erfolgen. Sie müssen also nicht jeden Punkt einzeln anklicken. Haben sie alles richtig gemacht, sind nun die beiden Punktkreise oben und unten ausgewählt. Wählen Sie in der waagerechten lconleiste das SKALIEREN-Werkzeug aus und deselektieren Sie die Y-Achse durch Ausschalten des Y-lcons, wie in Abbildung 1.30 unten gezeigt. Wechseln Sie daraufhin wieder mit dem Mauszeiger in die Ansicht, in der Sie den Zylinder von oben sehen können und bewegen Sie die Maus mit gehaltener Maustaste langsam nach rechts und links. Sie müssten jetzt beobachten können, wie die selektierten Punkte entweder weiter nach außen zum Rand des Zylinders, oder weiter nach innen zum Zentrum des Zylinders hin wandern. Wenn Sie gleichzeitig einen Blick auf den KOORDINATEN-MANAGER werfen, können Sie dort die Veränderungen auch numerisch verfolgen. Stellen Sie einen X- und ZWert von 370 m für die selektierten Punktkreise ein. Sie können dies durch die beschriebene Mausbewegung erreichen, oder, was exakter funktioniert, die Werte direkt in den KOORDINATEN-MANAGER eintragen. Nach Anklicken der ANWENDEN-Schaltfläche werden die Werte dann auf die selektierten Punkte übertragen (siehe Abbildung 1.30 und 1.31).
Abbildung 1.30: Skalieren der Selektion
Nach diesem Schema, also entweder durch Arbeiten mit der Maus oder durch direkte Eingabe im KOORDINATEN-MANAGER, können Sie alle Werte bezüglich Position, Größe und Winkel eines aktiven Objekts, selektierter Punkte, Polygone oder Texturen verändern.
Abbildung 1.31: Zylinder mit verringerter Wanddicke
Im nächsten Schritt soll die Oberkante des Zylinders die geschwungene Form bekommen, die einen Kolben auszeichnet. Dazu müssten Teile des Zylinders weggeschnitten werden. Eine Negativform erzeugen Zuerst müssen wir definieren, weiche Form die Schnittführung haben soll Dazu eignen sich besonders gut SPLINES, die Sie entweder im OBJEKTE-Menü oder in dem horizontalen Icon-Menü finden. Wählen Sie dort das BEZIER-Spline, das als einzige Spline-Art auch Tangenten zur exakten Kurvensteuerung anbietet. Um Splines erzeugen zu können, müssen Sie sich weiterhin im PUNKTE-BEARBEITEN-Modus befinden. Schatten Sie die Darstellungsart im Ansichtsfenster mit der frontalen Ansicht, also der XY-Ansicht, auf DRAHTGITTER oder QUADER und klicken Sie dort links beginnend eine Kurve aus fünf Punkten, wie sie die Abbildung 1.32 unten in der Einblendung zeigt.
Denken Sie daran, dass Sie Tangenten an Punkten durch gleichzeitiges Ziehen mit der Maus bei gehaltener Maustaste erzeugen können. Einfach Klicken mit der Maus erzeugt einen Spline-Punkt ohne Tangente. Alle fünf Punkte sollten Tangenten besitzen. Haben Sie aus Versehen Punkte ohne Tangenten erzeugt, ist dies auch kein Problem. Bei BEZIER-Splines lassen sich Punkte auch nachträglich noch mit Tangenten ausstatten. In einem solchen Fall selektieren Sie die entsprechenden Punkte z. B. mit der bekannten LIVE-SELEKTION und wählen dann im Menü STRUKTUR unter dem Eintrag SPLINE BEARBEITEN den Punkt WEICHE INTERPOLATION aus. Der ebenfalls dort zu findende Eintrag HARTE INTERPOLATION entfernt dagegen bei Bedarf die Tangente von einem Punkt, so dass es zu einer harten Ecke an dem Punkt kommen kann. Sie können in einem BEZIER-Spline also weiche Kurvenabschnitte mit geraden Strecken kombinieren. Haben Sie alle Punkte gesetzt, kontrollieren Sie deren Lage im STRUKTUR-Fenster (siehe Abbildung 1.32). Ein doppeltes Anklicken eines Zahlenfeldes macht dies editierbar. Sie können also die exakten Positionen gleich dort eintragen und aus der Abbildung übernehmen. Sie werden zudem feststellen, dass im STRUKTUR-Fenster angeklickte Punkte auch in den Ansichtsfenstern aktiviert werden. So haben Sie immer Kontrolle darüber, welchen Punkt Sie gerade bearbeiten. Zudem werde Sie bemerken, dass Tangenten immer nur an dem aktiven und somit selektierten Punkt sichtbar sind. Dies dient der Übersichtlichkeit.
Abbildung 1.32: Punktpositionen und Tangentensteigungen im Struktur-Fenster Wenn Sie die Punkt-Positionen entsprechend übernommen haben, versuchen Sie durch Verlängern, Verkürzen oder Verdrehen der einzelnen Tangenten einen Kurvenverlauf wie in Abbildung 1.33 zu reproduzieren. Es kommt dabei nicht auf das penible Einhalten von Werten an, Sie können der Kurve also durchaus auch eine hiervon abweichende Form geben. Die Punktpositionen sollten jedoch beibehalten werden und die Kurve sollte an keiner Stelle oben über den Zylinder hinausragen. Der Spline soll schließlich die Schnittkante bilden.
Abbildung 1.33: Mit Tangenten geformter Bezier-Spline
Da alle neuen Objekte in CINEMA 4D im Ursprung des Welt-Koordinatensystems erzeugt werden, wurde auch der Spline mitten im Zylinder erzeugt. Der nächste Arbeitsschritt besteht also aus dem Verschieben des Splines vor den Zylinder. Da nun der Spline als Ganzes verschoben werden soll, müssen Sie zuerst in die MODELLBEARBEITEN-Betriebsart umschalten. Die Spline-Punkte werden daraufhin ausgeblendet und nur die Kurve bleibt sichtbar. Schalten Sie dann m der horizontalen lconleiste m den VERSCHIEBEN-Modus und schalten Sie alle Achsen bis auf die Z-Achse aus (siehe Abbildung 1.34). Bewegungen können nun nur noch entlang der Z-Achse des aktiven Objektes erfolgen. Klicken Sie jetzt in die seitliche Ansicht oder die Ansicht von oben auf die Objekte und halten Sie die Maustaste gedrückt. Beim Verschieben der Maus wird nun der Spline mitbewegt. Halten Sie gleichzeitig den KOORDINATEN-MANAGER im Auge und stellen Sie per Mausbewegung oder durch direkte Zahleneingabe eine Z-Position von -280 m ein. Die Spline-Kurve sollte sich dann ein gutes Stück vor dem Zylinder befinden.
Abbildung 1.34: Verschiebung des Splines vor den Zylinder
Um aus der Spline-Kurve jetzt ein massives Objekt zu erzeugen, verwenden wir ein
EXTRUDE-NURBS. Rufen Sie dieses NURBS-Objekt durch Auswählen aus dem Icon-Menü auf. Das lcon ähnelt da Klicken Sie im OBJEKTE-Fenster auf das Wort Spline-Objekt und ziehen Sie dies mit gehaltener Maustaste auf das Wort Extrude-NURBS. Durch derartige Drag & Drop-Aktionen können Sie Objekte zu Gruppen zusammenfassen oder hierarchische Beziehungen herstellen. Vor dem EXTRUDE-NURBS wird dann ein kleines Pluszeichen erscheinen, das immer dann vor einem Objekt erscheint, wenn weitere Objekte darunter eingeordnet wurden. Ein Klick auf dieses Pluszeichen „klappt" wie ein Filemanager dann die Hierarchie auf, und man hat wieder Zugriff auf die untergeordneten Objekte. So können Sie jederzeit ein untergeordnetes Objekt wieder erreichen, oder auch wieder per Drag & Drop aus der Hierarchie herausziehen. Ziehen Sie dazu das Objekt einfach an die leere Stelle im OBJEKTE-Fenster direkt über dem übergeordneten Objekt.
Abbildung 1.35: Extrudierung des Splines mit einem Extrude-NURBS
Diese Art der Gruppierung von Objekten dient nicht nur der Übersichtlichkeit, sondern macht viele NURBS, Generatoren oder Deformatoren erst funktionsfähig. In diesem Fall haben wir dem EXTRUDE-NURBS das Spline durch die Unterordnung zugewiesen. Sie sollten daher in den Ansichten eine Veränderung beobachten können, denn das EXTRUDE-NURBS sorgt für die Verschiebung von Splines in eine bestimmte Richtung. Um die Lange und Richtung der Verschiebung einstellen zu können, klicken Sie doppelt auf das kastenförmige kleine Symbol des EXTRUDE-NURBS im OBJEKTE-Fenster. Ein Dialog wie in Abbildung 1.35 sollte sich offnen. Übernehmen Sie die Zahlenwerte aus der Abbildung und bestätigen Sie die Veränderungen über die OK-Schaltfläche.
Abbildung 1.36: Der extrudierte Spline im Zylinder
Die Einstellungen sorgen dafür, dass die Spline-Fläche, wie in Abbildung 1. 36, den Zylinder komplett durchdringt. Falls Ihnen die Schnittführung dann nicht mehr gefallt, können Sie diese durch Veränderung der Spline-Tangenten noch immer verandern. Das EXTRUDE-NURBS wird sich simultan anpassen und den Veränderungen folgen. Da das Wegschneiden von Objektteilen nur mit vollständig geschlossenen Objekten funktioniert, muss unser Extrude-NURBS noch etwas weiterentwickelt werden. Wechseln Sie dazu in den PUNKTE-BEARBEITEN-Modus und klicken Sie das SplineObjekt im OBJEKTE-Fenster einmal an. Sie sollten nun wieder die Spline-Punkte in den Ansichten erkennen können. Um nun dem Spline weitere Punkte hinzufügen zu können, reicht kein einfaches Klicken mit der Maus. Dies funktioniert nur direkt beim Erstellen des Splines. Nachtragliches Hinzufugen muss durch Anklicken von PUNKTE HINZUFUGEN im STRUKTUR-Menü eingeleitet werden. Zudem ist Ihnen sicherlich die Farbgebung des Splines aufgefallen. Ein Ende des Splines ist gelb, das andere rötlich. Das gelbe Ende markiert den Anfang eines Splines und somit den Punkt mit der Nummer o im STRUKTUR-Fenster. Das rötliche Ende ist also der Schluss des Splines und repräsentiert den letzten Punkt in der STRUKTUR-Liste. Neue Punkte werden immer am Ende eines Splines angefügt. Wenn Sie also einen Punkt hinzufügen, wird immer das rötliche Ende des Splines mit dem neuen Punkt verbunden.
Abbildung 1. 37: Verlängerung des Splines
Sind Sie meinen Anweisungen gefolgt, sollte Ihr rotes Spline-Ende in der XY-Ansicht rechts liegen. Dort werden wir jetzt zwei neue Punkte anfügen, die diesmal nicht exakt auf bestimmten Positionen liegen müssen. Sie sollten ungefähr so wie in Abbildung 1. 37 platziert werden. Damit Sie die Punkt so setzen können, müssen Sie die [Strg]-/[Ctrl]-Taste zusätzlich zum Mausklick halten. Die neuen Punkte sollten auf jeden Fall außerhalb des Zylinders liegen. Sie werden noch wahrend des Hinzufügens der Punkte bemerken, wie das EXTRUDE-NURBS die Form anpasst. Sind die beiden Punkte entsprechend gesetzt, verbleibt nur noch eine Lücke zwischen dem ersten Punkt und dem jetzt neuen letzten Punkt des Splines. Diese Lücke verschließen Sie im Spline-Dialog, der sich durch einen Doppelklick auf das kleine Spline-Symbol im OBJEKTE-Fenster öffnet (siehe Abbildung 1. 38). Dort aktivieren Sie die Schließung des Splines durch Abhaken der gleichnamigen Option.
Abbildung 1, 38: Schließen des Splines
Abbildung 1. 39: Boole-Operation zwischen Extrude-NURBS und Zylinder
Nach Bestätigung über die OK-Schaltfläche wird nicht nur der Spline geschlossen, sondern es werden auch neue verschließende Flächen vorne und hinten ergänzt. Wenn Sie sich erinnern, wir hatten im EXTRUDE-NURBS die Erzeugung von DECKFLÄ-
CHEN aktiviert. Diese konnten bislang jedoch noch nicht erzeugt werden, da keine geschlossenen Linienzüge vorlagen. Die Vorarbeiten sind damit abgeschlossen. Wir können diese Form jetzt mit dem Zylinder interagieren lassen. Dazu benotigen wir das BOOLE-GRUNDOBJEKT, das Sie im OBJEKT-Menü oder in den Icon-Menüs abrufen können. Das Symbol ähnelt einer blauen Kugel, aus der ein grünes Stück herausgetrennt wurde. BOOLE-Objekte kennen mehrere Betriebsarten, die exakt definieren, welche Teile der Objekte gelöscht und welche sichtbar bleiben sollen. Klicken Sie daher doppelt auf das kleine Symbol des BOOLE-Objekts im OBJEKTE-Fenster und schalten Sie den Modus A GESCHNITTEN B ein. Dies bewirkt, dass nur die Schnittmenge zweier Objekte sichtbar bleibt. Die Buchstaben A und B bezeichnen dabei die Reihenfolge zweier Objekte, oder auch zweier Objektgruppen, die unter dem BOOLE-Objekt eingeordnet sind. Das AObjekt ist das obere, das B-Objekt das untere Objekt unter dem BOOLE-Objekt. Bei dem Modus A GESCHNITTEN B ist dies zwar nicht von Belang, aber bei den anderen Betriebsarten - wie A MINUS B - kann eine falsche Reihenfolge zu unerwünschten Ergebnissen führen. Ordnen Sie jetzt nacheinander das EXTRUDE-NURBS und den ZYLINDER per Drag & Drop auf das Wort Boole im OBJEKTE-Fenster unter dem BOOLE-Objekt ein. Wie gehabt klappt ein Mausklick auf das Pluszeichen vor dem BOOLE-Objekt die Hierarchie auf (siehe Abbildung 1. 39).
Abbildung 1. 40: Hinzufügen eines Zylinders
Sollte die Reihenfolge von EXTRUDE-NURBS und Zylinder bei Ihnen umgekehrt sein, so ist dies bei diesem BOOLE-Modus nicht von Belang. Die Schnittmenge bleibt identisch. Sie können die Reihenfolge jedoch wiederum durch Drag & Drop selbst verändern und der Abbildung somit angleichen.
Hinzufügen der Öffnungen Da dies bislang so gut funktioniert hat, probieren wir die gleiche Technik nun nochmals aus, um die beiden Löcher in den Zylinder zu schneiden. Rufen Sie dazu einen neuen ZYLINDER aus dem OBJEKTE-Menü oder direkt aus dem Icon-Menü der Grundobjekte ab und tragen Sie die Werte aus Abbildung 1. 40 in den ZYLINDER-Dialog ein. Bringen Sie den ZYLINDER dann in die richtige Position, indem Sie ihn auf eine Höhe von 50 m bringen. Damit Sie dem ZYLINDER per Maus oder Eingabe den Wert Y = 50 m zuweisen können, müssen Sie zuvor in den MODELL-BEARBEITEN-Modus umgeschaltet haben.
Abbildung 1. 41: Vom Kolben abgezogener Zylinder Dieser neue ZYLINDER soll jetzt vom Kolben abgezogen werden, um Locher in den Außenwänden zu hinterlassen. Wir benotigen also wieder ein BOOLE-Objekt. Diesmal stellen Sie jedoch den Modus auf A MINUS B ein. Ordnen Sie dann die gesamte alte BOOLE-Gruppe und den neu hinzugefügten ZYLINDER unter dem neuen BOOLE-Objekt ein. Die logische Reihenfolge muss dabei lauten: „Kolben minus Zylinder". Entsprechend der Modus-Einstellung muss also der Kolben als A-Objekt oben und der Zylinder als B-Objekt unter dem Boole-Kolben eingeordnet werden, so wie es Abbildung 1. 41 zeigt. Haben Sie alles richtig gemacht, zeigt sich ein Ergebnis wie in Abbildung 1. 41 rechts.
Abbildung 1. 42: Zusammenfassen der Objektbestandteile
Diese doch etwas verwirrende Anordnung von BOOLE- und NURBS-Objekten lässt sich jetzt weiter zusammenfassen. Klicken Sie dazu einmal auf das oberste BOOLEObjekt. Alle Eintrage im OBJEKTE-Fenster sollten daraufhin rot dargestellt werden. Da ein BOOLE-Objekt ebenfalls ein Grundobjekt ist, lasst es sich mit dem Befehl GRUNDOBJEKTE KONVERTIEREN umwandeln (siehe Abbildung 1. 42 links). Dies bewirkt die Umrechnung der BOOLE- und NURBS-OBJEKTE, so dass nur noch so genannte NULL-OBJEKTE und POLYGON-OBJEKTE übrigbleiben. NULL-OBJEKTE erkennen Sie an dem Symbol des kleinen Koordinatensystems im OBJEKTE-Fenster. Man kann sie gut zum Zusammenfassen von Objekten zu Gruppen benutzen. Für sich allein gesehen, sind sie jedoch in den Ansichtsfenstern unsichtbar. POLYGON-OBJEKTE dagegen enthalten die sichtbaren Polygone, also Punkte und Flächen, aus denen alle Objekte zusammengesetzt sind. Diese Objektart kann ohne Probleme direkt im PUNKTE-BEARBEITEN- oder POLYGONE-BEARBEITEN-Modus weiter bearbeitet werden. Sie erkennen diesen Objekttyp an dem kleinen blauen Dreieck im OBJEKTE-Fenster. Jedoch sieht der Kolben noch immer recht komplex aus. Deshalb verbinden wir im nächsten Schritt alle NULL- und POLYGON-OBJEKTE zu einem einzigen Objekt. Dazu müssen wieder alle Objekte, die zusammengefasst werden sollen, aktiviert - also im OBJEKTE-Fenster rot dargestellt - sein. Dazu reicht das Anklicken des obersten Objekts der Hierarchie, m diesem Fall des NULL-OBJEKTS mit dem Namen Boole. 1. Wahlen Sie dann im FUNKTIONEN-Menü den Punkt VERBINDEN aus. Es erscheint ein neues Objekt mit dem Namen Boole im OBJEKTE-Fenster. In diesem Objekt sind jetzt alle vorher markierten Objekte enthalten. Sie können also die alte Boole. 1 - Gruppe komplett per [<-]-/[Entf]-Taste löschen (siehe Abbildung 1. 42). Sorgen Sie mit dem bereits bekannten Befehl OPTIMIEREN aus dem STRUKTUR-Menü dafür, dass doppelte und somit überflüssige Punkte, die durch das Boolen erzeugt worden sein konnten, automatisch zusammengefasst oder gelöscht werden.
Abbildung 1. 43: Fehler beim Abrunden durch ungeordnete Unterteilungen
Kanten abfasen Abschließend sollen noch die Kanten an dem Kolben etwas gebrochen werden. Man spricht hier auch von einer Fase. Dafür gibt es den bereits erwähnten BEVEL-Befehl. Zuvor wechseln Sie jedoch in den POLYGONE-BEARBEITEN-Modus und aktivieren Sie die LIVE-SELEKTION. Lassen Sie die Selektion verdeckter Polygone im Fenster Aktives Werkzeug zu und markieren Sie in der Ansicht von oben auf den Kolben alle Polygone, die die Außenwand des Kolbens mit der Innenwand verbinden. Also alle Polygone, die in der Ansicht von oben vollständig sichtbar sind.
Kontrollieren Sie Ihre Selektion in den anderen Fenstern. Polygone auf der Au-ßen oder Innenseite ja mittlerweile, wie man Selektionen ergänzt oder Teile von Selektionen auch wieder ausschalten kann. Ist die Selektion komplett, wählen Sie aus dem Struktur-Menü den Befehl Bevel und bestätigen die Vorgaben im Fenster Aktives Werkzeug mit einem Klick auf die Anwenden-Schaltfläche. Es entstehen - wie in Abbildung 1. 43 rechts zu sehen chaotisch im Raum liegende Polygone, die nichts mehr mit der ursprünglichen Form des Kolbens zu tun haben. Fehler-Analyse Woran liegt dies? Wenn Sie sich die linke Seite der Abbildung 1. 43 ansehen, stellen Sie fest, dass einige Teile des Kolbens sehr fein mit Polygonen unterteilt sind. An einigen Stellen liegen die Polygone so nahe beieinander, dass sie nur noch als Striche zu erkennen sind. Diese, in einigen Dimensionen gegen Null gehenden Abmessungen der Polygone sind dafür verantwortlich, dass die Bevel-Funktion nicht mehr richtig arbeiten kann. Eine Abfasung der Kanten an einem solchen Objekt ist also im Nachhinein nicht mehr möglich. Dies ist eine der Sackgassen, die ich zu Beginn dieses Arbeitsbeispiels beschrieben habe. Zwar sind wir durch die Boole-Objekte sehr schnell in die Nähe der gewünschten Form gekommen - tatsächlich kann man die hier bislang beschriebenen Arbeitsschritte mit etwas Übung binnen ein bis zwei Minuten ausführen -, eine Weiterbearbeitung wird jedoch nahezu unmöglich, wie wir hier sehen.
Vielleicht erahnen Sie nun, wie wichtig es ist, vor der eigentlichen Arbeit Zeit in die Planung zu investieren. Der Aufwand für ein Objekt wie dieses wäre jedenfalls komplett verschenkt worden.
1. 2. 2 Die Spline-Methode Gehen wir den Kolben einmal von einer anderen Seite heran. Wir haben bereits die Vorteile von Splines kennengelernt. Sie lassen sich einfach formen und mit NURBSOBJEKTEN zu POLYGON-OBJEKTEN umwandeln. Wir brauchten also in unserem Fall den geschwungenen oberen Rand des Kolbens nicht zu boolen, sondern könnten ihn durch einen Spline darstellen. Probieren wir es einmal aus. Rufen Sie einen so genannten FORMEL-SPLINE aus den Spline-Grundobjekten auf. Wieder haben Sie dabei die Wahl zwischen dem entsprechenden Icon und dem OBJEKTE-Menü. Klicken Sie doppelt auf das FORMELSPLINE-Symbol im OBJEKTE-Fenster und stellen Sie im FORMEL-Dialog die Werte aus Abbildung 1. 44 ein.
Abbildung 1. 44: Ein Formel-Spline Die Parameter dort sorgen dafür, dass eine komplette Schwingung auf einer Länge von 200 m erfolgt. Die Amplitude, also der maximale Ausschlag der Kurve von der Mittellage nach oben oder unter beläuft sich auf 100 m. Der Cosinus sorgt dafür, dass für den Wert Null 100 m ausgegeben werden. Die Kurve beginnt also im Nullpunkt mit der positiven Amplitudenhöhe. Die eingetragenen T-MIN- und T-MAX-Werte lassen die Kurve durch den Multiplikator 200 für X(T) bei X = -200 starten und bei X = +600 enden. Die vorgegebenen 20 Schritte unterteilen die Kurve mit 20 Punkten. Hätten wir die Kurve also von Hand erzeugen wollen, hätten wir 20 Punkte mit exakt angepassten Tangenten in den Raum klicken müssen. Mit dem FORMEL-SPLINE erzeugt man solche mathematisch beschreibbaren Kurvenzüge sehr viel exakter und schneller. Wandeln Sie den FORMEL-SPLINE nach Betätigung der OK-Schaltfläche im FormelDialog mit der GRUNDOBJEKTE-KONVERTIEREN-Funktion in einen normalen Spline um.
Abbildung 1. 45: Ein hinzugefügter Kreis-Spline
Als Nächstes fügen Sie einen KREIS-SPLINE hinzu. Dies ist wieder eine Kurvenform, die bereits fertig abgerufen werden kann. Sie finden den KREIS-SPLINE im gleichen
Menü wie das FORMEL-SPLINE. Klicken Sie doppelt auf den kleinen Kreis im OBJEKTE-Fenster und tragen Si Sie den Dialog über die OK-Schaltfläche. Da später die Punkte auf dem Kreis mit den Punkten des Formel-Splines verbunden werden sollen, könnte es sinnvoll sein, die Anzahl der Punkte auf dem KreisSpline zu erhöhen. Konvertieren Sie dazu den Kreis-Spline zu einem normalen Spline mit der bekannten GRUNDOBJEKTE-KONVERTIEREN-Funktion und wählen Sie im STRUKTUR-Menü unter dem Eintrag SPLINE BEARBEITEN den Punkt RUNDEN aus. Tragen Sie dort, wie in Abbildung 1. 46 gezeigt, eine Zahl von 16 Punkten bei KUBISCHER INTERPOLATION ein. Wenn Sie sich im PUNKTE-BEARBEITEN-Modus befinden, sollten Sie erkennen können, dass der Kreis jetzt von 16 Punkten gebildet wird, anstatt von nur vier Punkten wie zuvor.
Abbildung 1. 46: Erhöhung der Punktzahl des Kreis-Splines
Wie Sie sicher schon erraten haben, soll der Kreis später die seitliche Öffnung im Kolben bilden. Da zwei dieser Öffnungen vorhanden sind, benötigen wir diesen Kreis also nochmals. Dabei können wir uns durch einfaches Kopieren des bestehenden Kreises etwas Arbeit sparen.
Kopieren Sie Objekte oder ganze Objektgruppen mit Drag & Drop im OBJEKTE-Fenster. Halten Sie dazu die [St Sie auf das Wort Kreis. Halten Sie die Maustaste und die [Strg]-/[Ctrl]-Taste weiter gedrückt und ziehen Sie den Mauszeiger direkt über oder unter das Wort Kreis. Wenn Sie nun die Maustaste loslassen und dann [Strg]/[Ctrl] lösen, erscheint die Kopie des KREIS-SPLINES im OBJEKTE-Fenster an der Stelle, an der Sie die Maustaste gelöst haben. Eine Alternative zu dieser Methode ist die Benutzung der üblichen Befehle KOPIEREN, EINFÜGEN und AUSSCHNEIDEN im BEARBEITEN-Menü des OBJEKTE-Fenster. Da die beiden Kreise noch immer den gleichen Platz im Raum einnehmen, werden Sie weiterhin nur einen Kreis in den Ansichtsfenstern sehen. Um dies zu ändern, selektieren Sie das Kreisduplikat durch Anklicken des Namens im OBJEKTEFenster und verschieben Sie den Kreis entlang dessen X-Achse in den zweiten Bogen des ehemaligen FORMEL-SPLINES hinein. Exakter und schneller geht dies wieder per KOORDINATEN-MANAGER. Tragen Sie dort den Wert 400 für X ein und betätigen die ANWENDEN-Schaltfläche. Damit die Verschiebung auch stattfindet, müssen Sie sich jedoch im MODELL-BEARBEITEN-Modus befinden.
Abbildung 1. 47: Zusammenstauchen und Verschieben des kopierten Formel-Splines Wie zuvor den Kreis duplizieren Sie jetzt den FORMEL-SPLINE im OBJEKTE-Fenster und übernehmen für die Kopie die in Abbildung 1. 47 vorgegebenen Werte. Wenn Sie in den PUNKTE-BEARBEITEN-Modus umschalten, erkennen Sie, dass die Punkte durch die Größenveränderung des duplizierten FORMEL-SPLINES auf eine Linie gezwungen wurden.
Die beiden FORMEL-SPLINES sollten Sie nun verbinden. Dazu ordnen Sie einen Spline dem anderen unter, aktivieren den oberen der beiden Splines im OBJEKTE-Fenster und wählen den Befehl VERBINDEN aus dem FUNKTIONEN-Menü aus. Es erscheint ein neuer Spline im OBJEKTE-Fenster, der beide FORMEL-SPLINES enthält. Sie können also die alte Formelgruppe beruhigt löschen. Nach einer derartigen Verbindung von Splines haben wir es mit so genannten SPLINE-SEGMENTEN innerhalb eines Splines zu tun. SEGMENTE sind dabei eigenständige Spline-Stücke mit eigenem Anfang und Ende. Sie erkennen dies wieder an der schon besprochenen Farbgebung der Splines, wenn Sie sich das neue Spline im PUNKTE-BEARBEITEN-Modus anschauen. Sollen nun die SPLINE-SEGMENTE zu einem zusammenhängenden Spline verbunden werden, achten Sie zuerst wieder auf die Reihenfolge. In unserem Fall enden beide Splines auf der rechten Seite. In dieser Konstellation ist eine fortlaufende Verbindung nicht möglich. Die Richtung eines der beiden Segmente müsste zuvor gewechselt werden.
Abbildung 1. 48: Verbinden der Segmente und Schließen des Splines Für solche Fälle gibt es den Befehl REIHENFOLGE UMKEHREN im SPLINE-BEARBEITEN-Submenü des STRUKTUR-Menüs. Damit der Befehl auf das richtige Segment wirken kann, sollten Sie es zuvor jedoch mit der LIVE-SELEKTION im PUNKTE-MODUS auswählen. Ich
habe hierfür das untere Segment komplett ausgewählt. Nachdem Sie REIHENFOLGE UMKEHREN gestartet haben, erkennen Sie an der Umkehrung der Segment-Färbung den Erfolg.
Selektieren Sie nun noch die beiden Punkte, die in der Abbildung 1.48 oben rechts hell eingekreist sind und wählen Sie den Befehl SEGMENT VERBINDEN aus dem zuvor beschriebenen Menü, so werden beide Segmente mit einer Linie verbunden. Wir haben es jetzt nur noch mit einem Spline zu tu. Daher verschließt auch ein Abhaken der SPLINE-SCHLIESSEN-Option nun den kompletten Spline (siehe Abbildung 1.48 Mitte und unten). Im nächsten Schritt fassen Sie die beiden Kreise zu einem einzigen Spline zusammen. Die Arbeitsschritte, a!so zuerst das Gruppieren der beiden Kreise und dann das Ausführen des VERBINDEN-Befehls sind mittlerweile bekannt. Die beiden einzelnen Kreis-Splines können Sie danach löschen. Wiederholen Sie dies nun erneut mit dem neuen Kreis-Spline und dem neuen Formel-Spline. Ordnen Sie dabei den Spline mit den beiden Kreisen dem nun geschlossenen Formel-Spline unter und VERBINDEN Sie abermals die beiden Splines zu einem neuen Spline.
Wickeln eines Extrude-NURBS Dies mag zuerst verwirren, ergibt jedoch einen Sinn, wenn Sie erfahren, dass EXTRUDE-NURBS auch Löcher in Flächen erzeugen können, wenn die „Loch-Splines" vorher dem umgebenden Spline untergeordnet worden sind. Rufen Sie also das bekannte Extrude-NURBS auf und ordnen sie diesem das mehrfach verbundene Spline-Objekt unter (siehe Abbildung 1.49 oben). Sie sollten in den Ansichtsfenstern bereits jetzt die wellenförmige Fläche mit den beiden Löchern darin erkennen können. Dabei spielt die INTERPOLATION und die Anzahl der ZWISCHENPUNKTE des neuen FORMEL-SPLINES eine entscheidende Rolle für die Unterteilung des EXTRUDE-NURBS mit Polygonen. Sie können dies sehr schön im DRAHTGITTER-Modus einer Ansicht beobachten, wie die Anzahl der Polygone variiert, wenn Sie die Anzahl der Zwischenpunkte im Spline-Dialog verändern. Um hier mit einem übersichtlichen Objekt arbeiten zu können, reduzieren Sie die INTERPOLATION auf GLEICHMÄSSIG mit nur einem ZWISCHENPUNKT (siehe Abbildung 1.49). Im nächsten Schritt öffnen Sie den EXTRUDE-NURBS-Dialog und übernehmen Sie die Werte aus Abbildung 1.50. Der Wert von 200 m mag zuerst sehr hoch erscheinen; wir müssen die Dicke jedoch mit einem anderen Arbeitsschritt reduzieren. Einfacher wäre es sicher, man würde hier gleich die gewünschte Wanddicke eintragen und dann das gesamte Gebilde so verbiegen, dass es einen Zylinder bildet. Eigentlich habe ich genau dies vor, die Lage und Form der Deckflächen-Polygone macht dies jedoch derzeit unmöglich.
Abbildung 1. 49: Interpolation des Splines verändern
Abbildung 1. 50: Einstellungen des Extrude-NURBS In Abbildung 1. 51, die eine frontale Ansicht auf das EXTRUDE-NURBS im DRAHTGITTERModus zeigt, verlaufen die Polygone kreuz und quer über die Deckflächen. Ein solches Objekt lässt sich nicht verbiegen, da ein Objekt nur durch das Verschieben von Punkten verbogen werden kann. Dort wo keine Punkte sind, also hier im gesamten Innenbereich der Deckflächen, kann auch nichts verbogen bzw. verschoben werden.
Ist dies schon wieder eine Sackgasse? Nein, denn mit einem Trick können wir dieses Problem kurzfristig umgehen. Obwohl wir bislang nicht so gute Erfahrungen mit dem BOOLE-Objekt gemacht haben, bringt dies uns hier weiter.
Abbildung 1, 51: Lage und Form der Deckflächen-Polygone
Erzeugen Sie daher einen WÜRFEL und übernehmen Sie für diesen die Einstellungen auf Abbildung 1. 52. Verschieben Sie den Würfel danach so, dass sowohl die hintere wie auch die vordere Deckfläche aus dem Würfel hinausragen. Ansonsten sollten alle übrigen Teile des EXTRUDE-NURBS vollständig im Inneren des Würfels liegen.
Abbildung 1. 52: Gleichmäßige Unterteilung der Deckfläche n mittels Boole-Operation
Dadurch können wir die unliebsamen DECKFLÄCHEN abtrennen und durch Flächen mit der gleichmäßigen Unterteilung des Würfels ersetzen. Deshalb habe ich auch die hohe Anzahl an SEGMENTEN im WÜRFEL-Dialog gewählt. Damit dies gelingt, erzeugen Sie nun noch ein BOOLE-Objekt mit dem Modus A GESCHNITTEN B und ordnen den WÜRFEL und die EXTRUDE-NURBS-Gruppe unter diesem ein (siehe Abbildung 1. 52). Ais Lohn winken uns dabei gleichmäßig unterteilte Deckflächen. Zudem wird die Dicke des EXTRUDE-NURBS auf die Tiefe des WÜRFELS beschnitten. So weit, so gut. Wir können die Fläche jetzt biegen und benötigen dazu ein WICKEL-OBJEKT aus der Gruppe der DEFORMATOREN. Sie finden es in dem Orange-farbigen (Icon-Menü oder im OBJEKTE-Menü. Alle Deformatoren funktionieren so, dass sie dem Objekt untergeordnet werden müssen, auf das sie wirken sollen. In unserem Fall ist dies das BOOLE-Objekt (siehe Abbildung 1. 53).
Abbildung 1. 53: Wickeln des Extrude-NURBS
Übernehmen Sie die Einstellungen aus Abbildung 1. 53 für das WICKEL-OBJEKT. Als Alternative zu der Werteingabe können Sie auch die goldgelben Anfasser-Kugeln an dem WICKEL-OBJEKT in den Ansichtsfenstern benutzen. Sie steuern darüber den Winkel der Wicklung und deren Radius. Ein Verschieben des gesamten WICKEL-OBJEKTS senkrecht zu der zu verbiegenden Fläche - also in unserem Fall entlang der Z-Achse - vergrößert oder verkleinert das entstehende Objekt insgesamt. Ich gebe hier bewusst keine Werte vor, damit Sie sich mit dem WICKEL-OBJEKT etwas beschäftigen und durch Verschieben und Verändern der Parameter ein für Sie akzeptables Ergebnis erzielen. Viel falsch können Sie dabei nicht machen, da die entstehende Form durch die zylindrische Wicklung vorgegeben ist. Ein mögliches Ergebnis sehen Sie in Abbildung 1. 53 rechts.
Abbildung 1. 54: Angleichung der Öffnungen
Achten Sie jedoch darauf, dass sich die beiden offenen Enden des gewickelten EXTRUDE-NURBS berühren und an der Stelle keine Lücke bleibt.
Korrigieren der Öffnungen Wenn Sie das fertige Objekt genauer betrachten, sehen Sie, dass die Öffnungen der Löcher durch die Wicklung auf der Innenseite merklich schmaler geworden sind. Dies liegt daran, dass die Verzerrung der Oberfläche außen größer ist als innen. Um dies zu korrigieren, müssen wir an die Punkte des EXTRUDE-NURBS heran. Dafür muss das EXTRUDE-NURBS jedoch erst konvertiert werden. Vergessen Sie nicht das OPTIMIEREN des EXTRUDE-NURBS nach der Konvertierung und wechseln Sie dann in den PUNKTE-BEARBEITEN-Modus. Aktivieren Sie die LIVE-SELEKTION ohne Beschränkung auf sichtbare Elemente und selektieren Sie in der frontalen Ansicht die beiden Punktkreise eines Lochs. Wechseln Sie dann in die Ansicht von oben auf das EXTRUDE-NURBS und deaktivieren Sie mit gehaltener [Strg]-/[Ctrl]-Taste alle Punkte des vorderen Punktkreises. Entweder durch Arbeiten mit der Maus in der SKALIEREN-Betriebsart mit Beschränkung auf die X-Achse oder durch direkte Werteingabe im KOORDINATEN-MANAGER bringen Sie dann den Punktkreis in die in Abbildung 1. 54 gezeigte Form. Wiederholen Sie dies mit allen übrigen Punktkreisen entsprechend. Die äußeren Punktkreise werden also seitlich etwas gestaucht, während die inneren seitlich auseinandergezogen werden. Meine Werte entnehmen Sie dabei der Abbildung 1. 54, wobei dies keine zwingenden Größenverhältnisse sind. Wechseln Sie dann wieder in den OBJEKT-BEARBEITEN-Modus, um das Resultat in den Ansichtsfenstern begutachten zu können. Lassen Sie dabei die Ansicht etwas um das Objekt herum wandern, also auf die Seite, auf der die beiden Enden des EXTRUDE-NURBS zusammenstoßen.
Abbildung 1. 55: Beseitigung von sichtbaren Unregelmäßigkeiten
Sie erreichen dies am einfachsten in der perspektivischen Ansicht, dem sogenannten KAMERA-FENSTER, indem Sie dort die Symbole für das ROTIEREN und das VERSCHIEBEN der Ansicht nutzen. Um über das VERSCHIEBEN-lcon in der Titelleiste des KameraFensters auch Bewegungen zum Objekt hin bzw. vom Objekt weg zu realisieren, benutzen Sie auf einem Windows-PC die rechte Maustaste, bzw. auf einem AppleComputer zusatzlich die [#]-Taste. Dies unterscheidet sich grundsatzlich von der Zoow-Funktion, die die Ansichtsfenster ebenfalls per Icon bieten. Beim Zoomen im Kamera-Fenster wird nämlich mit der Brennweite gearbeitet wie bei einer Fotokamera auch. Das bedeutet, dass es zu Verzerrungen bei kleinen Brennweiten kommt, dem sogenannten Fischaugeeffekt. Gewohnen Sie sich also frühzeitig an, das Verschieben-lcon mit der rechten Maustaste bzw. der [#]-Taste auch für Zooms zu nutzen. Sie haben jederzeit Kontrolle über die Brennweite im Kamera-Fenster, wenn Sie auf das Kamera-lcon in der linken Icon-Reihe klicken. Den Wert der Brennweite können Sie dann im KOORDINATEN-MANAGER ablesen. Normale Werte liegen bei 35 bis 50 mm. Darüber beginnt der Tele-, darunter der weitwinklige Bereich. Dies nur als Information am Rande, wenn Sie merkwürdige Verzerrungen der Objektdarstellung im Kamera-Fenster beobachten sollten. Wenn Sie also eine gute Sicht auf die Rückseite des Kolbens haben, wie es Abbildung 1. 55 zeigt, werden Sie ähnliche Effekte feststellen, wie in der Abbildung durch den Pfeil markiert. Es entsteht an der Stoßkante der EXTRUDE-NURBS-Enden eine sichtbare Kante. Diese lässt sich nur durch zeitaufwändiges Löschen der Polygone an den Enden und manuelle Verbinden der Punkte dort unterbinden. Dies hilft uns aber nicht weiter, da wir spätestens bei der Frage der nachträglichen Abrundung der Kanten wieder in eine Sackgasse geraten. Das Ergebnis Wenn Sie sich die oberen Flächen im Drahtgittermodus genauer betrachten, so haben wir es auch hier wieder mit einer großen Anzahl sehr kleiner Flächen zu tun, die unser BEVEL-Werkzeug überhaupt nicht gerne sieht. Das beste Ergebnis mit dieser Technik ist also das auf der rechten Seite der Abbildung 1. 55.
Eine Alternative, die ich hier nicht weiter beleuchten mochte, ist das manuelle Verbinden der Punkte des EXTRUDE-NURBS. Man nutzt dann bereits die DECKFLACHEN MIT RUNDUNG-Funktion des EXTRUDE-NURBS, konvertiert und optimiert das EXTRUDENURBS, löscht komplett die Polygone der Deckflächen und verbindet die weiterhin im PUNKTE-MODUS sichtbaren Punkte manuell mit Polygonen. Das Ergebnis wäre optimal, doch mit welchem zeitlichen Aufwand? Um Sie nicht komplett zu desillusionieren stelle ich jetzt als letzte Variante eine Kombination der bislang vorgeführten Techniken vor, die ein akzeptables Ergebnis in kurzer Zeit erzielt.
1.2.3
Selektive Deformationen
Wir hatten bislang mit hauptsächlich einem Problem zu kämpfen: Die Verteilung von Polygonen und Punkten nach dem Boolen macht ein Objekt nahezu unbrauchbar für weitergehende Manipulationen, wie z. B. das Abrunden von Kanten. Es gibt zumindest eine Stelle des Kolbens, bei der wir um das Boolen kaum herumkommen werden, nämlich die Löcher für die untere Pleuel-Achse. Konzentrieren wir uns also darauf, das Objekt bis zum Zeitpunkt des Boolens so zu modellieren, dass es ohne sichtbare Kanten und mit einer gleichmäßigen Polygonverteilung den Kolben ohne die Locher darstellt. Wir starten mit einem ZYLINDER. Diese Form ist bereits sehr nahe an dem Kolben und weist eine gleichmäßige Unterteilung auf. Übernehmen Sie die Daten aus Abbildung 1.56. Konvertieren Sie danach den Zylinder und optimieren Sie ihn. Wechseln Sie dann in den PUNKTE-BEARBEITEN-Modus und schalten Sie die LIVESELEKTION mit der Beschränkung aufsichtbare Elemente ein. Wählen Sie alte Punkte des äußeren oberen Rands des Zylinders aus. Die Punkte auf der X-Achse sollten dabei mit ausgewählt werden (siehe Abbildung 1.56). Am besten Sie arbeiten dabei in der Ansicht von oben.
Sichern von Selektionen Diese PUNKT-SELEKTION wollen wir nun abspeichern. Dafür gibt es so genannte TAGS. TAGS sind die kleinen Symbole rechts von dem trennenden Strich im OBJEKTE-Fenster. Von TAGS gibt es diverse Arten mit verschiedenen Funktionen. Wir interessieren uns hier jedoch nur für das SELEKTIONS-TAG. Sie erzeugen dieses im Menü SELEKTION mit dem Befehl SELEKTION EINFRIEREN. Ist der Befehl aufgerufen worden, finden sich alle Informationen zu den ausgewählten Elementen, in unserem Fall die Koordinaten der ausgewählten Punkte, in einem TAG wieder. Das TAG erscheint hinter dem Zylinder im OBJEKTE-Fenster und zeigt neun orange Punkte zur Erinnerung daran, dass es für eine PUNKT-SELEKTION steht.
Abbildung 1. 56: Ein konvertierter Zylinder mit Punkt-Selektion
Klicken Sie doppelt auf das SELEKTIONS-TAG. Es öffnet sich ein Fenster wie in Abbildung 1. 57. Sie können dort die Selektion bei Bedarf wieder aktivieren, deaktivieren oder noch andere Aktionen auslosen. Damit wir diese abgespeicherte Selektion später sinnvoll einsetzen können, muss sie mit einem eindeutigen Namen versehen werden, den nur diese Selektion trägt. Tragen Sie also in dem NAME-Feld z. B. das Wort Oben1 ein. Schließen Sie den Dialog wieder über die OK-Schaltfläche. Wenn Sie nun den Mauszeiger über das SELEKTIONS-TAG bewegen, können Sie am unteren linken Rand des CINEMA — 4D — Layouts das Wort Oben1 lesen. Man nicht unbedingt öffnen, um ihren Namen zu erfahren. Ähnlich funktioniert dies mit allen Tags, bei denen Namen eine Rolle spielen, so auch bei den BESCHRÄNKUNGSTAGS, die wir gleich noch kennen lernen werden.
Abbildung 3. 57: Punkt-Selektionen erzeugen
Zuerst müssen wir jedoch noch eine weitere Punkt-Selektion erzeugen. Dabei gibt es einen wichtigen Stolperstein zu erkennen. In dem Moment, in dem wir neue Punkte auswählen und wieder den SELEKTION-EINFRIEREN-Befehl benutzen, wird unsere erste Oben — 1 — Selektion mit der neuen Punkt-Selektion überschrieben. Dies liegt daran, dass das SELEKTIONS-TAG noch aktiv ist und CINEMA 4D unsere erneut abgespeicherte Selektion als Korrektur oder Erweiterung der zuletzt abgespeicherten Selektion versteht. Aktive Tags erkennen Sie an der roten Umrandung im OBJEKTE-Fenster. Das Problem lasst sich schnell umgehen, wenn wir vor dem Abspeichern einer neuen Selektion einfach ein anderes Tag auswählen, das nichts mit Selektionen zu tun hat, z. B. das UVW-KOORDINATEN-TAG, das einem gewölbten Schachbrett ähnelt (siehe Abbildung 1. 57, oben rechts). Ein einmaliges Anklicken reicht dazu aus. Nun ist das SELEKTIONS-TAG nicht mehr aktiv und wird nicht mehr überschrieben. Wahlen Sie jetzt wieder mit der LIVE-SELEKTION und wieder mit der Beschränkung aufsichtbare Elemente den halben inneren Punktring aus, wie es ebenfalls Abbildung 1. 57 zeigt. Speichern Sie die selektierten Punkte wieder mit SELEKTION EINFRIEREN ab. Dank unseres Umschaltens auf das UVW-TAG erscheint nun ein neues SELEKTIONS-TAG hinter dem Zylinder. Sie kennen nun ja bereits den Dialog, der sich bei einem Doppelklick auf das Tag öffnet. Tragen Sie also z. B. Oben2 als Namen für das neue SELEKTIONS-TAG dort ein (siehe Abbildung 1. 58).
Abbildung 1. 58: Die zweite Punkt-Selektion
Selektionen deformieren Als Nächstes rufen Sie einen FORMEL-DEFORMATOR aus dem gleichen Icon-Menü ab, aus dem wir bereits das WICKEL-OBJEKT bezogen haben. Wie immer finden Sie alle Objekte auch nochmals im OBJEKTE-Menü. Das Icon des FORMEL-DEFORMATORS ähnelt einer dreidimensionalen Wasserwelle. Öffnen Sie den Dialog des FORMEL-DEFORMATOR durch einen Doppelklick auf das Symbol im OBJEKTE-Fenster und übernehmen Sie die Angaben aus Abbildung 1. 59. Die dort beschriebene Formel sorgt für eine maximal positive Amplitude für den Ursprung der Deformation, da sie den Cosinus benutzt. Die Skalierung der Deformation steuern Sie nicht wie beim FORMEL-SPLINE direkt in der Formel, sondern durch die Größenangaben. Diese lassen sich auch interaktiv in den Ansichtsfenstern mit den orangen Anfasserkugeln verändern und auf das Objekt anpassen.
Abbildung 2. 59: Parameter des Formel-Deformators
Ordnen Sie dann das FORMEL-OBJEKT dem ZYLINDER unter. Der Zylinder verformt sich senkrecht, da wir den Effekt im FORMEL-DIALOG auf die Y-Richtung beschränkt hatten. „Beschränkung" ist dabei das Stichwort, denn eine derartige Verformung, die sich auf das gesamte Zylinder-Objekt erstreckt, bringt uns nicht wirklich weiter.
Hier kommen nun unsere Punkt-Selektionen ins Spiel. Es gibt nämlich die Möglichkeit, Deformationen auf Selektionen zu beschränken. Damit der Deformator die für ihn richtigen Selektionen kennt, müssen ihm die Namen der Selektionen in einem BESCHRÄNKUNGS-TAG mitgeteilt werden. Deswegen war es auch so wichtig, die Selektions-Tags eindeutig zu benennen. Solch ein BESCHRÄNKUNGS-TAG finden Sie im DATEI-Menü des OBJEKTE-Fenster unter dem Eintrag NEUES TAG. Damit das BESCHRÄNKUNGS-TAG auch hinter dem FORMELOBJEKT landet, sollte dies aktiv sein, also im OBJEKTE-Fenster einmal angeklickt und somit rot dargestellt sein. Ansonsten können Tags auch mittels Drag & Drop von einem Objekt zum nächsten verschoben werden, oder mit zusätzlicher [Strg]-/ [Ctrl]-Taste direkt im OBJEKTE-Fenster kopiert werden. Klicken Sie doppelt auf das BESCHRÄNKUNGS-TAG und tragen Sie an der obersten Position den Namen der ersten PUNKT-SELEKTION, also Oben1 ein (siehe Abbildung
1. 60).
Abbildung 1. 60: Beschränkungs-Tag zuweisen
Schließen Sie den Dialog über die OK-Schaltfläche und wechseln Sie in die MODELLBEARBEITEN-Betriebsart. Verschieben Sie nun das FORMEL-OBJEKT entlang der Z-Achse nach vorne, bis dessen Mittelpunkt direkt auf dem Zylinderrand liegt. Dies ist bei einem Z-Wert von -250 m der Fall, da der Zylinderradius mit 250 m vorgegeben wurde. Sie können den Wert auch direkt in den KOORDINATEN-MANAGER eintragen (siehe Abbildung 1. 61). Wie Sie in der Abbildung ebenfalls sehen, beschränkt sich die Verformung nun auf den oberen Rand des Zylinders, also exakt auf die PUNKT-SELEKTION Oben1.
Abbildung 1. 61: Beschränkung der Deformation auf eine Punkt-Selektion
Ganz ähnlich gehen wir jetzt für die zweite Selektion vor. Duplizieren Sie dazu mit der bereits beschriebenen Vorgehensweise das Formel-Objekt ([Strg]-/ [Ctrl]Drag & Drop) und öffnen Sie das automatisch mitkopierte BESCHRÄNKUNGS-TAG. Verändern Sie dort die Eintragung auf Oben2, den Namen unserer zweiten Punkt-Selektion (siehe Abbildung 1. 62).
Abbildung 1. 62: Duplizierte Formel-Deformation und veränderte Beschränkung
Damit die entstehende Deformation an die richtige Stelle kommt, verschieben Sie das neue Formel-Objekt auf die Position Z = -125, also exakt auf die Z-Koordinate des inneren Punktringes, und reduzieren Sie die Z-Größe im Formel-Dialog auf 320 m (siehe Abbildung 1. 63)
Abbildung 1. 63: Veränderung von Größe und Position der zweiten Formel-Deformation
Nach genau dem gleichen Schema verfahren wir mit den übrigen Punkten oben auf dem Zylinder. Erstellen Sie also zusätzlich eine PUNKT-SELEKTION für den hinteren Rand und eine Selektion für den hinteren inneren Punktring. Achten Sie dabei darauf, dass nur die Punkte oben auf dem Zylinder ausgewählt werden und dass Sie keine Punkte auswählen, die bereits in den Selektionen Oben1 und Oben2 vorhanden sind. Der Abbildung 1. 64 können Sie entnehmen, dass ich die beiden neuen Punkt-Selektionen Oben3 und Oben4 genannt habe. Achten Sie wieder darauf, dass tatsächlich neue SELEKTIONS-TAGS erzeugt werden und das aktive Tag nicht einfach überschrieben wird.
Abbildung 1. 64: Hinzufügen weiterer Punkt-Selektionen
Duplizieren Sie dann die ersten beiden FORMEL-OBJEKTE, verändern Sie die Beschränkungsnamen in den jeweiligen BESCHRÄNKUNGS-TAGS auf Oben3, bzw. Oben4 (siehe Abbildung 1. 65) und verschieben Sie die beiden neuen Formel-Objekte auf die andere Seite des Zylinders. Die neuen Positionen lauten also Z = +250 m und Z = +125 m.
Abbildung 1. 65: Neue Formel-Deformatoren und Beschränkungen
Den Zylinder entkernen Wechseln Sie nun in den POLYGONE-BEARBEITEN-Modus und markieren Sie den kompletten inneren Polygonkreis. Beschränken Sie dabei die LIVE-SELEKTION nicht nur auf die sichtbaren Polygone. Schalten Sie die Darstellungsqualität der Kameraansicht in den DRAHTGITTERoder QUADER-Modus und verbinden Sie die beiden Polygonkreise mit dem BRÜCKEWerkzeug aus dem STRUKTUR-Menü. Diese Arbeitsschritte haben wir ja bereits bei unserem ersten ModeIIing-Versuch in diesem Kapitel benutzt. Ich verzichte daher auf eine Wiederholung der Abbildungen (siehe Abbildungen 1. 26 und 1. 27) und eine detailliertere Beschreibung.
Abbildung 1. 66: Der deformierte Zylinder im Punkte-Modus
Nach dieser Entkernung des Zylinders wandeln Sie mit dem Befehl AKTUELLEN ZUSTAND IN OBJEKT WANDELN aus dem FUNKTION-Menü den Zylinder um. Zuvor muss der Zylinder ausgewählt und somit im OBJEKTE-Fenster einmal angeklickt worden sein.
Durch diesen Befehl werden alle deformierenden Befehle in das Objekt eingerechnet. Wir haben also keinen Zugriff auf die Deformatoren mehr. Dafür können wir das Objekt im deformierten Zustand jetzt auf Polygon- und Punktebene weiter bearbeiten. Wechseln Sie also in den PUNKTE-BEARBEITEN-Modus und selektieren Sie den kompletten inneren Punktkreis oben auf dem offenen Zylinder. Sie können dies mit der gewohnten LIVE-SELEKTION erledigen, oder die noch immer vorhandenen SELEKTIONS-TAGS benutzen. Klicken Sie dazu doppelt auf das Tag Oben2 und betätigen Sie die SELEKTION-WIEDERHERSTELLEN-Schaltfläche. Kücken Sie danach OK. öffnen Sie dann das Tag Oben4 und klicken Sie dort auf PUNKTE SELEKTIEREN. Jetzt sollte der komplette innere Punktring oben selektiert sein. Verwenden Sie nicht SELEKTION WIEDERHERSTELLEN beim Tag Oben4, da ansonsten alle vorhandenen Selektionen wieder ausgeschaltet und nur die im Tag Oben4 gespeicherten Punkte selektiert werden. Benutzen Sie das S KAUEREN-Werkzeug, um die selektierten Punkte näher an den Kolbenrand zu bringen, so wie es Abbildung 1. 66 zeigt. Wie dünn der Rand werden soll, überlasse ich Ihnen, da wir frei und nicht nach einer technischen Zeichnung arbeiten. Lassen Sie mittels PUNKTE SELEKTIEREN der Tags Oben1 und Oben3 noch die übrigen Punkte des oberen Zylinders selektieren und wandeln Sie diese Punkt-Selektion mit dem Befehl PUNKT-SELEKTION AUF POLYGONE ÜBERTRAGEN aus dem SELEKTION-Menü in eine POLYGON-SELEKTION um. Der Wechsel in den POLYGONE-BEARBEITEN-Modus geschieht dabei automatisch. Es werden durch den Befehl alle Polygone ausgewählt, bei denen zuvor alle Eckpunkte selektiert wurden. In unserem Fall also der komplette obere Rand des Kolbens, wie in Abbildung 1. 67 gezeigt. Naturlich hatte man dies auch mit der LIVE-SELEKTION im POLYGON-Modus erledigen können, aber so haben Sie gleich noch einen anderen Nutzen des SELEKTIONS-TAGS kennengelernt
Abbildung 1. 67: Selektion der oberen Polygone
Wählen Sie aus dem STRUKTUR-Menü die BEVEL-Funktion aus und bestätigen Sie die Vorgaben im Fenster AKTIVES WERKZEUG (siehe Abbildung 1. 68). Endlich funktioniert das Brechen der Kanten wie gewünscht, da wir es mit einer gleichmaßig unterteilten Fläche zu tun haben.
Vergessen Sie nicht, GRUPPEN ERHALTEN mit zu aktivieren. Ansonsten wird jedes Polygon für sich abgekantet und wir bekommen einen stufigen Rand mit sichtbaren Sprüngen. So werden jedoch alle selektierten Polygone als zusammenhangende Gruppe erkannt und auch zusammen verschoben.
Abbildung 1. 68: Abfasung der oberen Kante mit dem Bevel-Werkzeug Wie die Pfeile in der Ansicht der Abbildung 1. 68 beweisen, bringt das BEVEL-Werkzeug hier eine schone Abrundung zustande.
Einbringen der Löcher mit der Boole-Funktion Da diese Hürde genommen ist, kommen wir nun zu der BOOLE- Funktion und dem Einbringen der Löcher in den Kolben. Erzeugen Sie also einen neuen ZYLINDER und geben Sie diesem die in Abbildung 1. 69 gezeigten Parameter. Beachten Sie eben-
falls die dort eingeblendete Veränderung der Y-Koordinate im KOORDINATEN-MANAGER. Für eine W müssen Sie sich im MODELL-BEARBEITEN-Modus befinden. Der Zylinder sollte waagerecht den Kolben auf beiden Seite durchstoßen. Rufen Sie dann ein BOOLE- Grundobjekt auf und stellen Sie den Modus auf A MINUS B. Ordnen Sie dem BOOLE-Objekt den Kolbenzylinder und den Lochzylinder unter. Beachten Sie dabei die Reihenfolge: Zuerst kommt der Kolben und dann der waagerechte Zylinder (siehe Abbildung 1. 69). Den Erfolg sollten Sie sofort in den Ansichtsfenstern sehen können. Konvertieren Sie jetzt den waagerechten Zylinder mittels der GRUNDOBJEKTE-KONVERTIEREN-Funktion und wechseln Sie in den PUNKTE-BEARBEITEN-Modus. Wechseln Sie in die Ansicht von oben, wie es die Abbildung 1. 70 zeigt, und skalieren Sie einzelne Punktreihen des Zylinders so, dass abgerundete Löcher im Kolben entstehen können.
Abbildung 1. 69: Boolen der Öffnungen
Für die Selektion ganzer Punktreihen des waagerechten Zylinders - die in Wirklichkeit Punktkreise sind - benutzen Sie am besten die RAHMEN-SELEKTION, die Sie im gleichen Menü finden wie die LIVE-SELEKTION. Achten Sie darauf, dass auch verdeckte Punkte selektiert werden. Sie kennen ja die Option dafür im Fenster AKTIVES-WERKZEUG.
Abbildung 1. 70: Verformung des boolenden Zylinders
Wenn Sie sich dabei etwas Mühe geben, gelingt Ihnen eine brauchbare Abrundung der ausgeschnittenen Bereiche im Kolben. Abbildung 1. 71 zeigt ein mögliches Ergebnis dieser Bemühungen.
Als letzte Aktion benutzen Sie GRUNDOBJEKTE KONVERTIEREN auf das BOOLE-Objekt, optimieren dies und weisen dem Objekt ein so genanntes GLÄTTEN-TAG zu. Sie finden dies im DATEI-Menü des OBJEKTE-Fenster unter dem Eintrag NEUESTAG. Ein Doppelklick auf das GLATTEN-TAG, das zwei stilisierte blaue Kugeln zeigt, öffnet einen kleinen Dialog, der ebenfalls in Abbildung 1. 71 gezeigt ist. Dort können Sie einen Grenzwinkel eingeben, bis zu dem die Kante zwischen zwei Polygonen noch geglättet werden soll. Je größer der Winkel, desto gleichmäßiger werden die Kanten mit Helligkeitsschattierungen geglättet. Es ist also nur ein optischer Effekt, der nicht die Lage der Punkte und Polygone beeinflusst. Ein Winkel von knapp unter 90° sorgt dafür, dass rechtwinklige Kanten als harte Kanten erkennbar bleiben, kleinere Winkel jedoch geglättet werden. Mit einem solchen Wert können Sie fast alle Modelle mit gutem Erfolg belegen.
Abbildung 1. 71: Glätten des fertigen Objekts
Fazit Trotz einiger kleiner Problemzonen, die auch in dieser Variante noch auf der Oberfläche als unregelmäßige Helligkeitsveränderungen hervorrufen, die auch oft als Fragmente bezeichnet werden, könnten wir mit diesem Ergebnis gut weiterarbeiten. Zudem ließ sich mit dieser Technik recht schnell arbeiten, da wir viel mit Kopien arbeiten konnten. Im Prinzip war hier nur die Arbeit mit den FORMEL-Objekten etwas zeitaufwändig. Mit diesem Beispiel, wie man durch geschicktes Vorgehen Zeit sparen und trotzdem noch ein gutes Ergebnis erzielen kann, möchte ich dieses einleitende Kapitel schließen. Alte CINEMA-4D-Hasen werden mir verzeihen, wenn ich hier die Arbeitsschritte und Funktionen etwas ausführlicher beschrieben habe. Ich weiß jedoch von zahlreichen Rückmeldungen, dass es viele Leser meiner Bücher gibt, die auch Hilfestellungen bei grundlegenden Arbeitstechniken in CINEMA 4D erwarten. Im nächsten Kapitel, das die Arbeit mit HyperNURBS, Polygon-Werkzeugen und Expressions vorführen wird, werde ich nicht mehr ganz so ausführlich sein können. Ich muss CINEMA-4D-Einsteigern unter den Lesern dann bei Unklarheiten auf die Befehlsbeschreibungen im CINEMA-4D-Handbuch verweisen. Natürlich werde ich dennoch versuchen, zumindest bei der ersten Benutzung eines Befehls, detailliert auf dessen Anwendung und Funktionsweise einzugehen.
2
HyperNURBS
Um Ihnen möglichst viele unterschiedliche Modellierungsansätze zu zeigen, beginnen wir dieses Kapitel ebenfalls mit der Modellierung eines Kolbens. Diesmal greifen wir jedoch dabei weder auf Splines, noch auf Boole-Objekte, noch auf Deformatoren zurück und erzielen dennoch in weit weniger Arbeitsschritten ein optimales Ergebnis. Es eignet sich allerdings nicht jede Form für die Ausmodellierung mit HyperNURBS. Tatsächlich bringt dieses ab der Version 6 eingeführte Werkzeug jedoch so viele Vorteile mit sich, dass man sich fragt, wie man bislang ohne dieses ausgekommen ist. Ein großer Vorteil liegt darin, dass wir weiterhin mit den bekannten Grundobjekten und Polygonwerkzeugen arbeiten können, uns als nicht vollig umgewöhnen müssen.
2. 1
Die Modellierung des Kolbens
Wir können deshalb mit einem normalen Zylinder beginnen, der die in Abbildung 2. 1 gezeigten Abmessungen besitzt. Ein großer Unterschied zu den bisherigen Ansätzen fällt schon hier ins Auge, denn wir arbeiten mit einem relativ eckigen Zylinder, in diesem Fall mit nur 10 Flächen entlang des Umfangs. Bei der Arbeit mit derart niedrig aufgelösten Objekten spricht man deshalb auch von Low-Poly-Modellierung. Dies erlaubt uns eine sehr übersichtliche und schnelle Modellierung. Für die nötige Komplexität und Abrundung der eckigen Objekte sorgt spater das HyperNURBS.
Abbildung 2. 2. Zylinder mit selektierten Deckflachen
Wandeln Sie den Zylinder in ein Polygon-Objekt um und denken Sie an die Optimier ung des Objekts, damit die Deckflächen mit dem Rest des Objekts verschmolzen werden. Dies sind Arbeitsschritte, die bereits ausführlich im ersten Kapitel besprochen wurden. Wechseln Sie in den POLYGON-Modus und selektieren Sie mit der LIVE-SELEKTION die beiden Deckflächen, wie ebenfalls in der Abbildung zu sehen. Wählen Sie das INNEN-EXTRUDIEREN-Werkzeug aus dem STRUKTUR-Menü aus und extrudieren Sie beide Flächen um 50 m nach innen. Erhalten Sie dabei die Gruppen. Sie kennen ja bereits die Optionen dazu im Fenster AKTIVES WERKZEUG. Im zweiten Schritt benutzen Sie das normale EXTRUDIEREN aus dem gleichen Menü und tragen dort einen Wert von -133 m ein. Dieser Wert kommt dadurch zustande, dass der Zylinder genau 400 Einheiten hoch ist und drei Unterteilungen entlang der Höhe aufweist. Da der Zylinder innen ebenfalls diese drei Unterteilungen bekommen soll, ist diese Extrudierung um ein Drittel der Höhe notwendig. Diese beiden Schritte sind ebenfalls in Abbildung 2. 2 zu sehen.
Abbildung 2. 2: Extrudieren der Deckflachen
Um den Zylinder jetzt innen zu öffnen, benutzen wir das bereits bekannte BRÜCKE-Werkzeug aus dem STRUKTUR-Menü. Ziehen Sie dabei eine Verbindungslinie zwischen zwei selektierten Polygonecken, die sich in den beiden extrudierten Deckflächen entsprechen. Daraufhin werden die ehemaligen Deckflächenpolygone automatisch gelöscht und es entstehen neue Flächen entlang der Verbindungsachse. Der Zylinder sollte nach dieser Aktion ausgehöhlt sein wie in Abbildung 2. 3.
Abbildung 2. 3: Mit dem Brücke-Werkzeug ausgehöhlter Zylinder Im nächsten Schritt kümmern wir uns um die beiden Öffnungen, die später die Achse des Kolbens aufnehmen sollen. Klicken Sie dazu mit der LIVE-SELEKTION und ausgeschalteter Beschränkung aufsichtbare Flächen in der frontalen Ansicht auf das mittlere Polygon. Automatisch werden vier Polygone selektiert, von denen ich die beiden hier sichtbaren in Abbildung 2. 4 links weiß hervorgehoben habe. Halten Sie nun die [ S t r g ] - / [ C t r l ] - T a s t e zusätzlich zur LIVE-SELEKTION gedrückt, um die hinteren Flächen wieder zu deaktivieren. Es bleibt also nur die Fläche direkt vorne auf dem Zylinder und die benachbarte Fläche auf der Innenseite ausgewählt. Schalten Sie die Darstellungsart in der Kameraansicht auf DRAHTGITTER oder QUADER und verbinden Sie die beiden Flächen mit dem BRÜCKE-Werkzeug. Es entsteht eine Öffnung, wie sie Abbildung 2. 4 rechts zeigt. Bevor Sie fortfahren, sichern Sie den nun automatisch selektierten Rahmen der entstandenen Öffnung als SELEKTIONS-TAG. Den Befehl SELEKTION EINFRIEREN im SELEKTiON-Menü kennen Sie ja bereits. Klicken Sie doppelt auf das SELEKTIONS-TAG und benennen Sie dies z. B. mit Loch1. Wiederum in der frontalen Ansicht klicken Sie jetzt mit der LIVE-SELEKTION direkt in die neue Öffnung hinein. Wiederum sollen auch verdeckte Flächen dabei ausgewählt werden. Es sollten dadurch die beiden entsprechenden Polygone auf der Rückseite des Zylinders ausgewählt werden.
Abbildung 2. 4: Hinzufügen von Offnungen
Verbinden Sie auch diese Flachen mit dem BRÜCKE-Werkzeug und speichern Sie auch dort die Rahmenpolygone in ein neues SELEKTIONS-TAG. Um ein Überschreiben des bereits vorhandenen SELEKTIONS-TAGS zu verhindern, klicken Sie zuvor auf das UVW- oder das GLATTEN-TAG. Diese kleine Fehlerquelle kennen Sie ja bereits aus dem ersten Kapitel. Benennen Sie auch dieses zweite Tag z. B. mit Loch2. Das Ergebnis und die beiden SELEKTIONS-TAGS sehen Sie in Abbildung 2. 5.
Abbildung 2. 5: Sichern der Selektionen
In den nächsten Arbeitsschritten geht es jetzt um die Formung der geschwungenen oberen Kante des Kolbens. Dabei ist etwas Fantasie nötig, denn die niedrige Anzahl der Punkte und Flächen lässt die geschwungene Form nur erahnen. Beginnen Sie in der seitlichen Ansicht auf den Zylinder, mit der LIVE-SELEKTION oder der RAHMEN-SELEKTION die drei sichtbaren oberen Punkte auf der X-Achse auszuwählen. Lassen Sie dabei die Selektion unsichtbarer Punkte zu. Sie müssen dazu natürlich in den PUNKTEBEARBEITEN-Modus wechseln. Ansonsten haben Sie keinen Zugriff auf die Punkte. Benutzen Sie dann das SKALIEREN-Werkzeug und beschranken Sie die Bewegungsfreiheit auf die Y-ACHSE. Durch eine Mausbewegung mit gehaltener Maustaste nach links rücken die ausgewählten Punkte dann naher zusammen, wie es Abbildung 2. 6 zeigt. Schalten Sie dann auf das BEWEGEN-Werkzeug und lassen Sie
wiederum nur Bewegungen entlang der Y-Achse zu. Verschieben Sie die selektierten Punkte nach unten, wie in Abbildung 2. 6 rechts gezeigt. Da auch die verdeckten Punkte mit ausgewählt wurden, beziehen sich beide Arbeitsschritte automatisch sowohl auf die Außen —, wie auf die Innenwände des Zylinders.
Abbildung 2. 6: Skalieren und verschieben der seitlichen Punkte Bleiben Sie im PUNKTE-BEARBEITEN-Modus und selektieren Sie in der Ansicht von oben die in Abbildung 2. 7 markierten Punkte. Da dabei auch unsichtbare Punkte selektiert werden, müssen Sie mit der [Strg]-/[Ctrl]-Taste die Punkte am Boden des Zylinders in der seitlichen Ansicht wieder deaktivieren. Es sollen wiederum nur jeweils die drei obersten Punkte aktiviert bleiben. In der seitlichen Ansicht skalieren Sie die ausgewählten Punkte entlang der Y-Achse etwas näher zueinander und verschieben diese dann entlang der Y-Achse nach unten (Abbildung 2. 7 rechts). Die Form sollte von der Seite betrachtet nun einer Mischung zwischen den Buchstaben U und V gleichen.
Abbildung 2. 7: Selektieren und Verschieben angrenzender Punkte An dieser Stelle kommt jetzt zum ersten Mal ein HyperNURBS ins Spiel. Rufen Sie dieses Objekt aus dem Icon-Menü oder dem OBJEKTE-Menü ab. Es erscheint daraufhin im OBJEKTE-Fenster.
Ordnen Sie den ehemaligen Zylinder dem HyperNURBS unter. Nun wirkt das HyperNURBS auf das Polygon-Objekt und glättet es. Dabei werden die Flächen des Objekts zu Tangenten an der geglätteten Form. Es ist also fast unmöglich, eine scharfe Kante in einem HyperNURBS zu erzeugen. Nur Gebiete mit hoher Polygondichte können das HyperNURBS so „anziehen", dass es auch eckige Formen annehmen kann. Dies ist also einer der Nachteile von HyperNURBS. Gerade technische Modelle mit hart aufeinander stoßenden Baugruppen lassen sich eventuell besser mit den in Kapitel 1 beschriebenen Techniken umsetzen. Kombinationen können natürlich auch durchaus sinnvoll sein, wenn z. B. geschwungene Karosserieteile an einer Ecke wie abgeschnitten enden sollen. Bei unserem Kolben hat ein HyperNURBS jedoch nur Vorteile. Wir sparen uns die Probleme, die beim Boolen der Löcher oder des oberen Randes entstanden wären und haben bereits nach diesen wenigen Arbeitsschritten die Form fast vollendet. Wie Abbildung 2.8 zeigt, haben wir die gewünschte Form fast erreicht. Das HyperNURBS sollte nur etwas mehr der Form folgen und gerade an der Öffnungen und am oberen Rand weniger abgerundet erscheinen. Wie eben erwähnt, lässt sich ein HyperNURBS über die Dichte von Flachen naher in bestimmte Regionen hineinziehen und so zu härteren Kanten und Ecken überzeugen. Wechseln Sie also in den POLYGON-Modus und selektieren Sie den kompletten oberen Rand des Kolbens. Sie arbeiten dabei weiterhin an dem niedrig aufgelösten Zylinder-Objekt, das dem HyperNURBS untergeordnet wurde. Wahlen Sie nur den oberen Rand aus. Aktivieren Sie also bei der Selektion die Begrenzung auf sichtbare Flächen. Zu dieser Selektion fügen Sie jetzt die bereits abgespeicherten Selektionen der Öffnungspolygone hinzu. Klicken Sie dazu doppelt auf die SELEKTIONS-TAGS und wählen Sie dort jeweils POLYGONE SELEKTIEREN. Wahlen Sie dann das INNEN-EXTRUDIEREN-Werkzeug und tragen Sie einen OFFSETWert von 5 m ein. Ganz wichtig hierbei ist die Erhöhung des maximalen Winkels auf über 90°, damit die rechtwinkligen Polygone der Öffnungen als zusammenhängende Gruppen erkannt werden und zusammen nach innen extrudiert werden. Es entstehen ansonsten unterschiedliche Flächendichten in den Öffnungen. Nach Ausführung des Befehls sollte der Kolben wie in Abbildung 2.9 aussehen. Das HyperNURBS zieht sich naher an den oberen Rand und in die Öffnungen hinein und bildet diese Regionen nun besser ab. Die noch immer bestehende kleine Rundung an den Kanten kommt uns dabei sehr entgegen. In Kapitel 1 musste dies mühsam mit der BEVEL-Funktion nachtraglich erzeugt werden. Hier bekommen wir diese Abrundung praktisch als Nebenprodukt geliefert.
Abbildung 2. 8. Polygon-Objekt im HyperNURBS
Abbildung
2. 9 hinzufugen von härteren Kanten
Um jetzt an bestimmten Stellen die Kontrolle über die Form weiter zu erhohen, kann man mit dem MESSER-Werkzeug weitere Punkte und neue Flächen hinzufugen. Ich habe dafür die Frontalansicht gewählt und dort senkrecht exakt durch die Öffnung einen Schnitt gelegt. Sie sollten dazu im POLYGONE-BEARBEITEN-Modus sein. Dabei wird der Schnitt - ähnlich wie beim BRÜCKE-Werkzeug - durch Klicken und Ziehen mit der Maus erzeugt. Halten Sie zusätzlich die [^]-Taste gedrückt, wird die Schnittrichtung auf ein Vielfaches des in den MESSER-Optionen eingetragenen Winkels beschränkt. Die Abbildung 2. 10 zeigt diesen Arbeitsschritt. Ich habe dort meine Schnittführung mit dem senkrechten schwarzen Strich in der frontalen Ansicht eingezeichnet. Mein Startpunkt war dabei oben, noch über dem Rand des Low-Poly-Kolbens. Es ist in diesem Fall wichtig, dass sowohl Start- als auch Endpunkt des Schnitts außerhalb des Objekts liegen, damit der Schnitt tatsachlich durch das gesamte Objekt geht. Endet ein Schnitt innerhalb eines Objekts, oder hat man durch die Begrenzung auf eine Selektion nur einen Teilbereich des Objekts durchschnitten, erzeugt das Werkzeug oftmals dreieckige Flächen, die den durchschnittenen Teil mit dem unberührten verbinden. Derartige Bereiche können sich ungünstig auf HyperNURBS auswirken. Besonders Dreiecke können Probleme bei der Kontinuität der NURBS-Oberfläche mit sich bringen und zu unschönen Helligkeitsunterschieden im fertigen Bild führen. Ein ganz ähnliches Problem wie schon bei den Fragmenten aus dem ersten Kapitel.
Abbildung 2. 10- Hinzufugen zusätzlicher Punkte mit dem Messer-Werkzeug Ziehen Sie die durch den Messerschnitt entstandenen neuen Punkte am oberen Rand des Kolbens etwas nach oben. Die neuen Punkte in den Öffnungen skalieren Sie entlang der Y-Achse auseinander, um die runde Form dort wieder herzustellen. Rufen Sie dann einen neuen Zylinder auf und geben Sie diesem die Parameter aus Abbildung 2. 11. Eine große Hilfe dabei, Ordnung in die Objekte zu bringen, ist die Möglichkeit, individuelle Namen für die Objekte zu vergeben. Bislang haben wir es immer bei der Standardbenennung belassen. Gerade bei Szenen, in denen z. B. mehrere Zylin-
der vorkommen, wird es jedoch mit zunehmender Komplexität immer schwieriger, auf Anhieb das zu bearbeitende Zylinder-Objekt im OBJEKTE-Fenster zu erkennen. Dies lässt sich ändern: Klicken Sie doppelt auf den Namen eines Objekts, öffnet sich ein kleines Dialogfenster, in dem Sie einen neuen Namen eingeben können. Wie Sie in Abbildung 2. 11 erkennen können, habe ich den Kolbenzylinder nun Kolben genannt und den neuen Zylinder-Achse. Die Namensvergabe ist beliebig und verändert dabei nicht das Verhalten im Programm. Einzige Ausnahme ist die Verwendung von Instanzen, auf die wir noch zu sprechen kommen. Instanzen sind auf die Beibehaltung eines Namens angewiesen und finden daher nach einer Namensveränderung ihr Bezugsobjekt nicht wieder. Ganz ahnlich kann eine Namensveränderung auf COFFEE-EXPRESSIONS wirken.
Abbildung 2. 11: Hinzufugen einer Achse und Ändern der Namen Durch die Angabe der Z-Achse für den Achsenzylinder direkt in den Zylinderparametern sollte der Zylinder direkt dort erscheinen, wo auch die Offnungen liegen. Die Höhe des Achsenzylinders ist dabei größer als der Durchmesser des Kolbens. Die Achse sollte deshalb noch verkürzt werden, um möglichst bündig mit dem Kolben abzuschließen. Wechseln Sie dazu zum BEWEGEN-Werkzeug und verändern Sie durch Verschieben des orangen Anfassers am Achsenzylinder die Länge entsprechend. Schließlich können Sie im PUNKTE-BEARBEITEN-Modus noch die Öffnungen exakt auf die Kreisform der Achse anpassen. Am Ende steht ein Ergebnis wie in Abbildung 2. 12.
Abbildung 2. 12: Der Kolben im aktuellen Stadium der Modellierung
2. 1. 1 Die Kolbenringe modellieren Damit ist die Modellierung des oberen Kolbenteils abgeschlossen. Wir fahren fort mit dem unteren Teil, der von so genannten Kolbenringen bestimmt wird. Diese dichten im Hub den Kolben gegenüber dem Zylinder ab. Diese Ringe sitzen in Rillen am Kolben. Zuerst gilt es also, den Kolben nach unten zu verlängern, um Platz für diese Rillen und die Ringe zu schaffen. Selektieren Sie dazu im POLYGON-Modus den unteren Rand des Kolbens und rufen Sie das EXTRUDIEREN-Werkzeug mit einem Offset von 40 m insgesamt sechsmal auf. Beachten Sie die Beibehaltung der selektierten Gruppe im Fenster AKTIVES WERKZEUG.
Abbildung 2. 13. Verlängern des Kolbens
Wie Sie in Abbildung 2. 13 erkennen können, reicht für diese Arbeitsschritte die sechsmalige Betätigung der ANWENDEN-Schaltfläche aus, wenn der OFFSET-Wert richtig eingegeben wurde.
Selektieren Sie dann den kompletten neu entstandenen Bereich mitsamt den verdeckten Flachen z. B. in der frontalen Ansicht. Falls Sie nicht mehr das komplette Kolben-Objekt sehen können, benutzen Sie die Navigationshilfen am oberen Rand jedes Ansichtsfensters oder die automatische Zoom-Funktion auf das aktive Objekt im BEARBEITEN-Menu jedes Ansichtsfensters. Deselektieren Sie im zweiten Schritt alle sichtbaren äußeren Flächen wieder. Dazu sollten ebenfalls alle Polygone des unteren Rands gehören und die erste Reihe an Flachen, die den Kolben innen beschließt. Es bleiben also nur die neuen inneren Flachen mit Ausnahme der untersten Reihe selektiert. Diese Flachen können Sie nun löschen. Dafür wechseln Sie in das STRUKTURFenster, das Sie genau neben dem OBJEKTE-Fenster finden und schalten dort im Modus-Menu auf POLYGONE. Im BEARBEITEN-Menü des STRUKTUR-Fensters finden Sie dann den LÖSCHEN-Befehl. Schneller geht dies natürlich, wenn Sie gleich nach Selektion der zu löschenden Punkte oder Polygone die [<-]-/[Entf]-Taste drücken. In manchen Situationen birgt dies jedoch das Risiko, dass aus Versehen statt der Polygone z. B. ein gerade aktives Tag des Objekts oder das gesamte Objekt geloscht wird. Auf der sicheren Seite ist man also immer bei Benutzung der LÖSCHEN-Funktion im STRUKTUR-Fenster. Benutzen Sie nun die LIVE-SELEKTION und aktivieren Sie drei komplette Polygonreihen im neuen Bereich des Kolbens, wobei Sie jeweils eine Reihe dazwischen auslassen. Die Abbildung 2. 14 zeigt diese Selektion in den beiden oberen Bildern. Rufen Sie nun das EXTRUDIEREN-Werkzeug auf und tragen Sie einen Wert von -40 m für den OFFSET ein. Wie Sie sich noch erinnern, bezieht sich der OFFSET immer auf die Richtung der Normalen auf den Polygonen. Da hier alle Normalen nach außen zeigen, bewirkt ein negativer Offset eine Verschiebung in das Innere des Kolbens hinein. Das Resultat sehen Sie in Abbildung 2. 14 im unteren Teil. Es entsteht eine wellenförmige Oberfläche. Diese Kerben sollen zu den Aussparungen für die Ringe werden. Damit wir die Aussparungen später wieder etwas eckiger gestalten können, sollten Sie die noch selektierten Polygone jetzt als Selektion abspeichern mit der SELEKTION-EINFRIEREN-Funktion. Achten Sie wieder darauf, dass kein anderes SELEKTIONS-TAG aktiviert ist. Öffnen Sie nun das dritte SELEKTIONS-TAG hinter dem Kolben-Objekt per Doppelklick und vergeben Sie einen Namen. Ich habe hier den Namen Ringe gewählt (siehe Abbildung 2. 15). Belassen Sie die extrudierten Flachen weiter aktiv und rufen Sie die ABTRENNENFunktion auf. Sie finden diese im STRUKTUR-Menü unter dem Eintrag OBERFLACHE BEARBEITEN. Es erscheint ein neues Objekt, Kolben. 1, unter dem Kolben im OBJEKTE-Fenster. Dieses neue Objekt enthält jetzt alle abgetrennten Flächen aus dem Kolben-Objekt. Sie erkennen dies sofort, wenn Sie im POLYGONE-BEARBEITEN-Modus auf das Kolben. 1-Objekt klicken. Es enthält nur die drei Ringe aus dem Kolben-Objekt.
Abbildung 2. 14: Einkerbungen für Kolbenringe erzeugen
Klicken sie doppelt auf das Wort Kolben. 1 und verändern Sie den Namen auf Ringe. Alle Tags des Kolben-Objekts wurden automatisch mit auf das Ringe-Objekt übertragen, haben hier jedoch keine Bedeutung mehr, da zum Teil die entsprechenden Flächen gar nicht mehr vorhanden sind. Sie können daher durch Nacheinander-Anklicken und Betätigen der [ < - ] - / [ E n t f ] -Taste alle Tags bis auf das GLATTEN-TAG löschen. Im letzten Schritt ordnen Sie das Ringe-Objekt dem Kolben-Objekt unter. Dies hat zum einen den Sinn, zusammengehörige Objekte zu sortieren und das OBJEKTEFenster damit übersichtlicher zu gestalten. In diesem Fall ist es jedoch auch deshalb wichtig, da ein HyperNURBS immer nur das erste Objekt glättet und abrundet, das unter ihm eingeordnet ist. Ob es sich dabei um ein einzelnes Objekt oder eine Gruppe handelt, ist egal. Ein Objekt, das wie in Abbildung 2. 15 oben rechts zwar unter dem HyperNURBS eingeordnet wurde, hier jedoch nur an zweiter Position liegt, ist daher von einer Glättung ausgeschlossen. Die Abbildung zeigt unten rechts schließlich die korrekte Einordnung und das Resultat der letzten Aktionen.
Abbildung 2. 15: Kolbenringe modellieren
Noch bestehen die Ringe nur aus drei Flächenzügen. Diese müssen im nächsten Schritt wieder bis auf die äußere Begrenzung des Kolbens gebracht werden. Benutzen Sie daher das EXTRUDIEREN-Werkzeug, diesmal jedoch nur mit den Flachen des Ringe-Objekts und mit einem OFFSET von +40 m. Es entsteht eine gefaltete Oberfläche wie in Abbildung 2. 16. Um die rundliche Form detaillierter zu formen, benutzen Sie wieder das INNEN EXTRUDIEREN bezogen auf die weiterhin aktivierten äußeren Flächen der extrudierten Ringe. Ein Offset von 5 m reicht dafür aus. Das Ergebnis sehen Sie in Abbildung 2. 16 unten. Die Ringe selbst sind jetzt mit harten Kanten versehen. Es fehlen nun noch die Kanten der angrenzenden Aussparungen am Kolben. Um hier die richtigen Flachen auszuwählen, können wir auf die abgespeicherte Selektion zurückgreifen. Klicken Sie doppelt auf das Ringe-SELEKTIONS-TAG und in dem entsprechenden Dialog auf die SELEKTION-WIEDERHERSTELLEN-Schaltfläche. Schließen Sie vorerst den Dialog und wählen Sie aus dem SELEKTION-Menu den Punkt SELEKTION VERGRÖSSERN. Dies bewirkt, dass nun alle direkt an die Selektion angrenzenden Flachen ebenfalls ausgewählt werden. In unserem Fall sind dies alle Flachen, die die Einfassungen für die Ringe bilden. Die Flächen im Inneren der Rillen sind für uns weniger interessant, da diese vollständig von den Ringen verdeckt werden. Diese Flachen könnten wir also weder ausschalten. Dazu klicken Sie doppelt auf das Ringe-SELEKTIONS-TAG und wählen diesmal POLYGONE DESELEKTIEREN aus (siehe Abbildung 2. 17). Übrig bleiben jetzt nur die selektierten Flächen ober- und unterhalb der Ringe in den Aussparungen am Kolben.
Abbildung 2. 16; Kolbenringe formen
Abbildung 2. 17: Arbeiten mit gespeicherten Selektionen
Wenn Sie jetzt noch das INNEN EXTRUDIEREN mit dem gewohnten 5-m-Offset auf diese Flächen anwenden, zieht sich die HyperNURBS-Fläche auch in den Ringaussparungen näher an das Polygon-Objekt des Kolbens heran, und es entstehen auch hier die härteren Kanten an den Ringen (siehe Abbildung 2. 18).
Abbildung 2. 18: Die fertigen Kolbenringe Die Kolbenringe auf einem realen Kolben sind jedoch keinesfalls geschlossen, sondern an einer Stelle offen, um sie auf den Kolben und in die Aussparungen zwingen zu können. Diese Öffnung in den Ringen sollten wir also noch berücksichtigen. Um diese erstellen zu können, wäre ein freies Sichtfeld auf die Ringe hilfreich. In unserem Fall verdeckt jedoch der Kolben einen Großteil der Ringe. Den Kolben zu löschen, nur um bessere Sicht zu haben, ist jedoch keine Lösung. Für solche Fälle existieren die beiden grauen Punkte hinter jedem Objekt im OBJEKTE-Fenster. Diese verandern nicht nur durch Anklicken Ihre Farbe von grau zu grün, von grün zu rot und von rot wieder zu grau, sondern steuern auch die Sichtbarkeit von Objekten. Dabei steht die Farbe des oberen Punktes für die Sichtbarkeit in den Ansichtsfenstern und die des unteren Punktes für die Sichtbarkeit des Objekts in einem gerenderten, also in einem berechneten Bild. Ein grauer Punkt ist die neutrale Stellung, in der das Objekt zwar sichtbar, jedoch für andere Punktfarben übergeordneter Objekte empfanglich ist. Ein unsichtbares Objekt, dem ein Objekt mit grauem Punkt untergeordnet ist, wird also auch dieses unsichtbar machen. Ein grüner Punkt dagegen bedeutet, dass das Objekt in jedem Fall sichtbar ist. Ein roter Punkt dagegen schaltet das Objekt in jedem Fall auf unsichtbar. Da die Einstellungen jederzeit verändert werden können, kann man also bereits fertige Objekte mit dem oberen Punkt unsichtbar machen, um besser im Editor an noch unfertigen Objekten arbeiten zu können. Belasst man den unteren Punkt grau oder grün, werden jedoch alle Objekte im berechneten Bild wieder sichtbar. Wir können diese Funktionen hier recht gut gebrauchen und schalten daher die Achse und den Kolben auf „rot". Noch ist das Ringe-Objekt auf grau geschaltet und
übernimmt daher die Unsichtbarkeit des Kolbens. Schaltet man bei den Ringen jedoch den obersten Punkt auf grün, sind diese nun als einziges sichtbar {siehe Abbildung 2. 19).
Abbildung 2. 19: Sichtbare und unsichtbare Objekte im Objekte-Fenster Derart „freigelegt" wählen Sie ein komplettes Segment jedes Rings im POLYGONModus aus. Am besten eignet sich dafür das kurze Stück direkt unter den Öffnungen des Kolbens, das durch den Einsatz des MESSER-Werkzeugs entstanden ist. Löschen Sie dieses Segment, damit die Ringe an der Stelle geöffnet werden. Abbildung 2. 20 zeigt ganz links das offenes Ende eines Rings im Detail. Deutlich zu erkennen ist dort die Unterteilung der vorderen Fläche durch das INNEN EXTRUDIEREN. Wechseln Sie in den PUNKTE-BEARBEITEN-Modus und wählen Sie das POLYGONE-ERZEUGEN-Werkzeug aus dem STRUKTUR-Menü aus. Mit diesem Werkzeug können Sie vorhandene Punkte manuell mit Flächen verbinden. Dazu klicken Sie nacheinander die Eckpunkte des erzeugenden Polygons an. Auf den jeweils letzten Punkt einer Fläche klicken Sie doppelt. Im gleichen Augenblick erscheint dann die neue Flache zwischen den angeklickten Punkten. Beachten Sie dabei, dass Polygone nur drei- oder viereckig sein können. Wünschen Sie die Erzeugung eines Dreiecks, doppelklicken Sie also bereits auf den dritten Punkt. Sehr wichtig ist ebenfalls die Reihenfolge des Anklickens, denn in exakt der gleichen Reihenfolgen werden die Punkte auch miteinander verbunden. Gehen Sie beim Anklicken also am besten im oder gegen den Uhrzeigersinn vor.
Abbildung 2. 20: Exemplarisches Schließen eines Kolbenringes
Da die nun offenen Enden der Ringe keine ausschließlich mit Vierecken zu schließenden Flachen sind, sollten Sie wie in Abbildung 2. 20 vorgehen. Verschließen Sie zuerst die äußeren Bereiche mit zwei Dreiecken und dann die mittlere Fläche mit einem Viereck. Gehen Sie so bei allen Ringen vor. Falls eine der neuen Flachen gegenüber den umliegenden zu dunkel erscheint, könnte dies an einer verdrehten Normalen liegen. Wie bereits erwähnt, werden die Normalen der Polygone auch zur Berechnung der Schattierungen herangezogen. Werden Polygone manuell erzeugt, kann es zu falschen Ausrichtungen dieser Normalen kommen. Dies hängt unter anderem auch mit der Reihenfolge des PunkteAnklickens zusammen. Selektieren Sie also auffällig schattierte Flächen und wählen Sie im STRUKTURMenü den Befehl NORMALEN UMDREHEN aus. Beobachten Sie mehrere Bereiche auf Ihrem Objekt mit derart merkwürdigen dunklen Flecken, reicht oft der Befehl NORMALEN AUSRICHTEN aus dem gleichen Menü aus, um diesen Fehler zu korrigieren. Beachten Sie dabei, dass sich dieser Befehl ebenfalls auf Selektionen beschränken lässt. Um das gesamte Objekt derart zu optimieren, sollten also keine Polygone ausgewählt sein. Haben Sie alle sechs offenen Enden der Ringe wie beschrieben verschlossen, können Sie den Kolben und die Achse wieder sichtbar machen. Klicken Sie dafür einmal auf die roten Punkte, damit diese wieder die graue Färbung annehmen und die Objekte sichtbar machen.
Abbildung 2. 21: Innen extrudierte Enden der Ringe
Alternativ können Sie auch die Enden der Ringe noch detaillierter enden lassen, indem Sie die neu erstellten Polygone selektieren und dort mit einem kleinen OFFSETWert nach INNEN EXTRUDIEREN lassen (siehe Abbildung 2. 21). Der Kolben ist somit so gut wie komplett. Wir sollten nur noch einen Boden hinzufügen, um den Kolben massiver erscheinen zu lassen. Hier kann man natürlich sehr aufwändige Modellierungen vornehmen, um z. B. die Aussparungen für die Ventilköpfe mit einzubauen. Mir reicht an dieser Stelle ein einfacher ZYLINDER aus, der in den Kolben gesteckt wird. Der Radius eines solchen Zylinders sollte natürlich etwas kleiner sein als der Radius des Kolbens, damit der Zylinder voltständig im Inneren verschwindet. Auch die Länge sollte geringer ausfallen, da die Achse oben ja nicht verdeckt werden soll. Zudem muss genügend Platz für die Pleuelstange bleiben, die die Achse umfassen muss. Ich habe den Zylinder wieder als Low-Poly-Modell ausgelegt, um ihn direkt unter das gleiche HyperNURBS wie den Kolben einzuordnen. Meine Einstellungen dazu sehen Sie in Abbildung 2. 22.
Abbildung 2. 22: Einen Zylinder als Kolbenboden einsetzen
Lassen Sie den neuen Zylinder zu einem Polygon-Objekt KONVERTIEREN und wechseln Sie in den PUNKTE-BEARBEITEN-Modus. Vergessen Sie nicht, den Zylinder zu OPTIMIEREN. Selektieren Sie den mittleren Punkt der unteren Deckfläche und verschieben Sie diesen entlang der Y-Achse etwas nach oben. Dadurch wird der Boden nach innen gewölbt (siehe Abbildung 2. 23). Den mittleren der Kolben-Ringe habe ich verdreht. Die Öffnung liegt also exakt auf der gegenüberliegenden Seite des Kolbens. Dies macht das Objekt realistischer, da es eigentlich nicht vorkommt, dass alle Öffnungen direkt übereinander liegen. Selektieren Sie dazu einen oder mehrere Punkte des mittleren Rings und wählen Sie aus dem SELEKTiON-Menü den Eintrag ZUSAMMENHANG SELEKTIEREN. Es werden dadurch alle Punkte ausgewählt, die über Flächen in Verbindung zu den selektierten Punkten stehen. Da keine verbindenden Flächen zwischen den Ringen vorhanden sind, kann man auf diese Art und Weise sehr einfach einzelne Ringe selektieren. Benutzen Sie das ROTATIONS-Werkzeug und eine Beschränkung auf die Y-Achse, um den Ring zu drehen. Falls der Kolben - und somit auch die aus ihm entwickelten Ringe - nicht exakt rotationssymmetrisch ist, kann es nötig werden, den verdrehten Ring etwas zu verformen, um ihn wieder an die entsprechende Rille anzupassen.
Abbildung 2. 23: Der komplette Kolben
2. 2 Modellieren der Pleuelstange Wir können uns einem neuen Bauteil zuwenden, dem Pleuel, bzw. der Pleuelstange. Für diese Modellierung verwende ich die so genannte Box-Modellierung. Dabei wird ein Objekt aus einem einfachen Würfel heraus entwickelt, wobei dieser immer feiner unterteilt und verzweigt wird, bis die endgültige Form erreicht ist. Der Vorteil daran ist, dass man mit vier bis fünf Werkzeugen auskommt: dem EXTRUDIEREN-,
dem INNEN-EXTRUDIEREN-, dem MESSER- und dem BRÜCKE-Werkzeug. Dies sind allesamt Werkzeuge und Funktionen, die uns bereits bekannt sind. Wir beginnen mit dem beschriebenen WÜRFEL, den Sie auf die in Abbildung 2. 24 gezeigten Größenverhältnisse bringen und danach KONVERTIEREN, da wir auf die Rächen und Punkte zugreifen können müssen. Belassen Sie die Position des Würfels so, wie er auch von CINEMA 40 aus positioniert wurde. Er sollte sich jetzt genau auf der Achse des Kolbens befinden.
Abbildung 2. 24: Formen der Pleuelstange aus einem Würfel Wechseln Sie in den POLYGONE-BEARBEITEN-Modus und selektieren Sie die beiden seitlichen Flächen des Würfeis. Dies sind also die Flächen, die Sie in der Ansicht von
der Seite- in der ZY- Ansicht - vollständig sehen können. Eine der beiden Seitenflachen ist dabei immer von der gegenüberliegenden Fläche verdeckt, aber Sie können mit der Option für die LIVE-SELEKTION auch verdeckte Flächen selektieren. Wählen Sie das ExTRUDiEREN-Werkzeug und tragen Sie in den Optionen einen OFFSET von 10 m ein. Bei allen folgenden Schritten belassen Sie die Selektion und führen das EXTRUDIEREN oder INNEN EXTRUDIEREN aus. Wechseln Sie zum INNEN-EXTRUDIEREN-Werkzeug und wenden Sie dies mit einem OFFSET von 20 m an. Es folgt wieder ein normales EXTRUDIEREN mit 60 m und abermals ein INNEN EXTRUDIEREN mit 5 m. Diese Schritte finden Sie nochmals in Abbildung 2. 24 dokumentiert. Die entstandene Form ist in Abbildung 2. 25 zu sehen. Ginge es dabei nur um die Form, hätte man sich zumindest einige Schritte sparen können. Da das BOX-MODELLING jedoch seine Stärke erst in Verbindung mit HyperNURBS ausspielen kann, sollten wir jetzt schon daran denken, gewünschte Ecken mit höherer Punktdichte zu versehen.
Abbildung 2. 25: Der untere Teil der Pleuelstange Was wir gerade geformt haben, soll später zu dem unteren Teil der Pleuelstange werden. Mit diesem Bereich ist die Stange also an der Achse des Kolbens befestigt. Wir fahren fort mit einer neuen Polygon-Selektion, nämlich den Flächen oben und unten auf dem Würfel. Selektieren Sie diese am besten in der Ansicht von oben. Wieder gilt es einige EXTRUDIEREN-Befehle anzuwenden, um neue Flächen aus dem Würfel zu ziehen. Starten Sie mit einer Extrudierung um 40 m und lassen Sie dieser ein INNEN EXTRUDIEREN mit 20 m folgen. Deselektieren Sie nun die untere Fläche. Es ist also nur noch die innere Fläche oben ausgewählt. Tragen Sie im KOORDINATEN-MANAGER den Wert 700 m für die Y-POSITION ein. Die selektierte Fläche wird daraufhin auf die Y-Koordinate 700 m verschoben und zieht die entsprechenden Verbindungsflächen hinterher. Es entsteht von vorne betrachtet eine Form wie in Abbildung 2. 26 unten.
Abbildung 2 26 Verlängerung des Pleuel nach oben
Lassen Sie das obere Polygon weiterhin aktiviert und extrudieren Sie es mit einem OFFSET von -20 m nach innen Dies klingt etwas merkwürdig, da das Minuszeichen eine Vergrößerung der Flache bringt und daher eigentlich ein Extrudieren nach au ßen stattfindet Diese vergrößerte Flache verschieben Sie wieder durch Werteingabe im KOORDI NATEN MANAGER auf eine neue Position, nämlich auf Y = i 200 m Extrudieren Sie abermals nach innen mit -100 m und verschieben Sie diesmal auf Y = i 220 m Es folgt ein normales EXTRUDIEREN um 500 m (siehe Abbildung 2 27)
Abbildung 2 27 Formen des Pleuelkopfes
Diese doch recht große Rache, die durch den letzten EXTRUDIEREN Schritt entstan den ist, wird spater zum Lager für die Kurbelwelle Es wird also in deren Mitte ein großes Loch entstehen
Abbildung 2 28 Pleuelkopf mit selektierten Seitenflächen
Zuvor muss die Form jedoch noch verbreitert werden. Selektieren Sie also in der seitlichen Ansicht die beiden Flächen links und rechts am Kopf der Pleuelstange. Die entsprechenden Flächen habe ich in Abbildung 2. 28 weiß umrahmt. Ganz ähnlich wie zu Beginn der Pleuelmodellierung verbreitern wir hier die Form mittels einer EXTRUDIERUNG um diesmal 100 m, einem INNEN EXTRUDIEREN um 40 m und einem EXTRUDIEREN um 150 m, wie es Abbildung 2. 29 zeigt. Das ganze Gebilde wirkt jetzt zwar recht „kopflastig", dies wird sich jedoch bald ändern. Zuvor selektieren Sie noch das Polygon direkt oben auf dem Kopf, wie es ebenfalls die Abbildung - angedeutet durch den weißen Strich-zeigt.
Abbildung 2. 29: Seitenteile des Pleuelkopfes formen
Abbildung 2. 30: Oberen Pleuelkopfausformen
Achten Sie darauf, nur die obere Fläche auszuwählen. Aktivieren Sie also diesmal die Begrenzung auf sichtbare Elemente für die Selektion. EXTRUDIEREN Sie die Fläche mit einem OFFSET von 100 m (siehe Abbildung 2. 30). Ich hatte ja bereits erwähnt, dass der Kopf der Pleuelstange noch mit einer Öffnungversehen werden soll, die eine Achse der Kurbelwelle aufnehmen muss. Selektieren Sie dazu in der frontalen Ansicht die vordere und hintere mittlere Fläche des Pleuelkopfes. Sie müssen also wieder die Selektion unsichtbarer Flächen zulassen. EXTRUDIEREN Sie die beiden Flächen um 10 m nach INNEN und korrigieren Sie dann die Größe der weiterhin selektierten Flächen auf 360 x 360 Einheiten. Sie erledigen dies am einfachsten durch direkte Werteingabe für die X- und Y-Größe im KOORDINATEN-MANAGER (siehe Abbildung 2. 31).
Abbildung 2. 31: Öffnung für die Kurbelwelle hinzufügen
Benutzen Sie dann den BEVEL-Befehl, den Sie ebenfalls im STRUKTUR-Menü finden, mit einem INNEREN OFFSET von 5 m und einer gleichzeitigen EXTRUSION von -5 m. Sie erkennen bereits an den Benennungen der Werte, dass man dies auch durch INNEN EXTRUDIEREN und EXTRUDIEREN hätte erreichen können. Der BEVEL-Befehl nimmt einem also nur einen Arbeitsschritt ab.
Schließlich verbinden Sie die beiden selektierten Flächen mit dem BRÜCKE-Werkzeug. Es entsteht dadurch eine rechteckige Öffnung im Pleuelkopf, wie es Abbildung 2. 31 zeigt. Die Pleuelstange wirkt dadurch wesentlich weniger massiv.
2. 2. 1 Aufteilen der Pleuelstange in Baugruppen Wäre die Pleuelstange auch in der Realität so zusammengesetzt, würde man keine Verbindung zwischen Kurbelwelle und Pleuelstange herstellen können. Tatsächlich setzt sich die Pleuelstange aus drei Teilen zusammen: der eigentlichen Stange in der Mitte und je einem verschließenden Deckel oben und unten. Eigentlich sind dann noch Lagerschalen als separate Objekte vorhanden, die aber im montierten Zustand nicht sichtbar sind.
Abbildung 2. 32: Mit dem Messer-Werkzeug ein Trennen der Baugruppen vorbereiten. Wir sollten also zumindest die Dreiteilung der Pleuelstange mit aufgreifen. Um dies vorzubereiten, benötigen wir zusätzliche Punkte in den Bereichen, in denen die Bauteile aufeinandertreffen sollen. Dies erledigen wir mit dem MESSER-Werkzeug. Legen Sie drei Schnitte wie in Abbildung 2. 32 eingezeichnet an. Achten Sie darauf, die Schnitte sowohl außerhalb des Objekts zu beginnen wie auch enden zu lassen. Um automatisch senkrechte oder waagerechte Schnittführungen zu bekom-
men, halten Sie während der Mausbewegung die [^]-Taste gedrückt. Wir haben dies ja bereits beim Kolben praktiziert. Der senkrechte Schnitt dient dabei weniger der späteren Unterteilung in Baugruppen als vielmehr kosmetischen Zwecken am Mittelteil. Dazu gleich mehr. Zuerst muss nämlich die Öffnung etwas korrigiert werden, da sie durch die hinzugekommenen Punkte und Flächen die kreisrunde Form etwas verloren hat. Kompensieren Sie dies durch eine Verkleinerung der in den Ecken der Öffnung liegenden Punktgruppe. Selektieren Sie dazu im PUNKTE-BEARBEITEN-Modus alle Punkte in den vier Ecken der Öffnung und wählen Sie das SKALIEREN-Werkzeug aus. Achten Sie darauf, auch die Punkte auf der Rückseite mit auszuwählen. Deaktivieren Sie die Z-Achse für die Skalierung. Lassen Sie also nur die X- und die Y-Achse aktiviert. Dies sorgt dafür, dass die Tiefe der Punktgruppe beim Skalieren konstant bleibt. Wenn Sie nun die Maus mit gehaltener Maustaste nach links bewegen, wird die selektierte Punktgruppe verkleinert und die Ecken bewegen sich näher an den Mittelpunkt der Öffnung heran (siehe Abbildung 2. 33). Ordnen Sie das Pleuel-Objekt einem neuen HyperNURBS im OBJEKTE-Fenster unter. Sie sollten sofort eine Glättung der Form in den Ansichtsfenstern beobachten können. Begutachten Sie dabei den Erfolg der Korrektur an der Öffnung und arbeiten Sie dort ggf. durch weiteres Skalieren nach, bis die kreisrunde Form wieder vorhanden ist.
Abbildung 2. 33: Korrigieren der Öffnung
Im nächsten Schritt können wir jetzt durch erneutes Unterteilen des Low-Poly-Pleuels im HyperNURBS einzelne Regionen verbessern. Nötig ist dies z. B. an den „Schultern" oben am Pleuel-Kopf. Die entsprechenden Flächen sind in Abbildung 2. 34 weiß markiert. Selektieren Sie die Flächen am besten in der Ansicht von oben und lassen Sie die Selektion verdeckter Flächen zu. Lassen Sie die Flächen 10 m nach INNEN EXTRUDIEREN. Wie Sie in der Abbildung sehen können, glättet sich dadurch dort das HyperNURBS. Dort sollen später die Schrauben und Muttern aufliegen, die die Baugruppen des Pleuels verbinden.
Abbildung 2. 34: Flächen für Schrauben abflachen
Die gleiche Aktion, diesmal jedoch mit einem kleineren Offset von vielleicht nur 5 m, vollziehen Sie an den entsprechenden Flächen unten an der Pleuelstange. Dort wo die Achse mit dem Pleuel verbunden ist, verschließt schließlich auch ein separater Deckel das Objekt und muss dort mit Schrauben befestigt werden. Achten Sie darauf, beim Auswählen der Flächen nicht versehentlich Flächen am oberen Teil mit auszuwählen. Die Gefahr besteht besonders bei der ansonsten günstigen Auswahl der Flächen in einer Ansicht von unten.
Abbildung 2. 35; Pleuelstange verstärken
Sie erinnern sich vielleicht noch an den senkrechten Messerschnitt durch die Pleuelstange, der eigentlich nichts mit der Aufteilung in Baugruppen zu tun hatte. Durch den Schnitt sind jedoch die Polygone im Mittelteil geteilt worden. Selektieren Sie die in der frontalen Ansicht linke Seite des Mittelstücks. Dabei sollte auch die Rückseite mit ausgewählt werden. Lassen Sie die Flächen um 30 m EXTRUDIEREN und SKALIEREN Sie dann die weiterhin selektierten Flächen leicht entlang der X- und der Y-Achse. Verfahren Sie identisch
mit der anderen Seite des Mittelstücks. In der Abbildung 2. 35 erkennen Sie rechts den Erfolg dieses Arbeitsschritts. Der Schaft zeigt jetzt die typische Verstärkung, die man oft bei Gussteilen findet. Da die Pleuelstange und deren Kopf zudem doch recht dick erscheinen, habe ich alle Flächen oberhalb der Umfassung der Kolbenachse selektiert und im KOORDINATEN-MANAGER eine Z-Größe von 150 m eingegeben. Da wir hier weder konkrete Maße noch Bildvorlagen verwenden, liegen derartige Veränderungen jedoch in Ihrem Ermessen.
Abbildung 2. 36: Abtrennen des oberen Deckels
Um nun die Trennung der einzelnen Baugruppen tatsächlich zu vollziehen, selektieren Sie nun alle Flächen oberhalb des Messerschnitts, der oben horizontal durch die Öffnung des Pleuel verläuft. Achten Sie dabei darauf, auch die Flächen an der hinteren Seite auszuwählen (siehe Abbildung 2. 36). Im nächsten Schritt wählen Sie ABTRENNEN aus dem STRUKTUR-Menü. Sie finden den Befehl im Untereintrag OBERFLACHE BEARBEITEN. Alle selektierten Flächen werden nun in ein neues Objekt kopiert. Gleichzeitig bleiben die Flächen jedoch auch im ursprünglichen Objekt erhalten. Dort sollten wir die Flächen also löschen. Benutzen Sie dafür sicherheitshalber die LÖSCHEN-Funktion aus dem STRUKTUR-Fenster. Genaueres dazu können Sie nochmals in dem Abschnitt dieses Kapitel nachlesen, in dem wir die Ringe des Kolbens modelliert haben. Dort wurden die entsprechenden Flächen ebenfalls abgetrennt. Schalten Sie nun in den PUNKTE-BEARBEITEN-Modus und aktivieren Sie wieder das ursprüngliche Pleuel-Objekt. Sie erkennen dann, dass die Punkte, obwohl wir die Flächen des oberen Bereichs gelöscht haben, noch immer vorhanden sind. Da wir diese jedoch nicht mehr benötigen, können Sie diese Punkte ebenfalls entfernen. Wählen Sie dafür die bekannte OPTIMIEREN-Funktion aus dem STRUKTUR-Menü, Sie verbindet nicht nur aufeinander liegende Punkte und Flächen, sondern löscht auch Punkte, die nicht durch Flächen verbunden sind. Da sich das OPTIMIEREN jedoch durch Selektionen auch auf Flächen oder Punkte begrenzen lasst, müssen Sie
darauf achten, dass keine Punkte selektiert sind Nur so ist gewährleistet, dass das Optimieren tatsächlich das gesamte Objekt erfasst Bleiben Sie im Punkte Modus und wählen Sie das POLYGONE ERZEUGEN Werkzeug aus dem STRUKTUR Menü aus Wir werden jetzt den nun offenen oberen Rand der Pleuelstange manuell wieder verschließen Wahlen Sie dazu eine geeignete K
a
m
nen zu können Benutzen Sie zudem das Fenster Symbol ganz rechts m der Titel leiste des Kamera-Fensters, um das Fenster kurzfristig zu vergrößern Ein erneuter Klick auf das Symbol stellt dann spater wieder den ursprünglichen Zustand mit den vier Ansichten her
Abbildung 2 37 Pleuelstange ohne Deckel Machen Sie das abgetrennte Deckel Objekt nach bekannter Art und Weise unsichtbar und beginnen Sie durch Nacheinander Anklicken der Eckpunkte und einen Doppelklick auf den jeweils letzten Punkt, die Punkte mit Flachen zu verbinden Wie Sie in Abbildung 2 38 an den hervorgehobenen Flachen erkennen können, habe ich zwei Dreiecke eingesetzt, um die Flache seitlich zu schließen Man kann natürlich auch eine andere Flachenaufteilung wählen, sollte jedoch immer auf eine Symmetne achten, um sichtbare Veränderungen durch die HyperNURBS-Glättung vorzubeugen Wie Sie ja bereits wissen, reagiert ein HyperNURBS auf unterschiedliche Punkt und Flachendichten
e
r
Haben Sie die beiden oberen Flächen links und rechts der Öffnung verschlossen, wiederholen Sie dies bei dem abgetrennten Deckel Dort sind ebenfalls durch die Abtrennung offenen Ränder entstanden Um an diesem abgetrennten Deckel arbeiten zu können, sollten Sie jetzt das Pleuel Objekt unsichtbar machen Achten Sie hier darauf, möglichst die gleiche Flächenanordnung z u verwenden wie beim Pleuel D a die Teile unmittelbar auf e
Abbildung 2. 38: Manuell verschlossene Pleuelstange
Abbildung 2. 39: Verschlossener Deckel
i
n
a
Selektieren Sie, nachdem alle verschließenden Flächen erzeugt wurden, alle neuen Flächen und rufen Sie das BEVEL-Werkzeug auf. Führen Sie dies mit einer EXTRUSION und einem INNEREN OFFSET von Jeweils 3m aus. Dies wird im HyperNURBS für einen sehr kleinen Radius an der Kante sorgen (siehe Abbildung 2. 38). Wiederholen Sie den BEVEL-Befehl mit den verschließenden Flächen an der Pleuelstange. Der obere Teil des Pleuels ist damit komplett. Verfahren Sie nun ebenso mit dem unteren Deckel der Pleuelstange - also unterhalb des Messerschnitts - der auf der Höhe der Kolbenachse verläuft. Die Arbeitsschritte - angefangen mit dem ABTRENNEN und der OPTIMIERUNG bis hin zum manuellen Verschließen und BEVELN - bleiben gleich. Ich wiederhole dies deshalb an dieser Stelle nicht noch einmal im Detail. Am Ende sollte das Pleuel-Objekt samt den beiden Deckeln so wie in Abbildung 2. 40 aussehen. Ordnen Sie dabei die beiden separaten Deckel dem Pleuel-Obekt im OBJEKTE-Fenster unter, damit diese ebenfalls von dessen HyperNURBS geglättet werden.
Abbildung 2. 40: Die komplette Pleuelstange noch ohne Schrauben
2. 2. 2 Schrauben und Muttern hinzufügen Damit die separaten Teile der Pleuelstange auch technisch korrekt verbunden werden, sollten wir Schrauben und dazugehörende Muttern hinzufügen. Da dabei nur die aus dem Pleuel herausragenden Teile sichtbar sind, brauchen wir uns nicht mit
der Modellierung der Bohrlöcher oder des kompletten Schraubengewindes zu beschäftigen. Beginnen wir also mit einem neuen Zylinder. Übernehmen Sie für diesen die Einstellungen aus Abbildung 2. 41. Bereits das Grundobjekt kommt mit der niedrigen Umfangsunterteilung optisch recht nahe an einen typischen Schraubenkopf heran. Platzieren Sie den Zylinder an die in Abbildung 2. 41 oben rechts dargestellte Position. Benennen Sie den Zylinder mit Schraube und duplizieren Sie dieses Objekt. Wir können den Schraubenkopf schließlich auch als Mutter am unteren Teil der Verbindung benutzen. Eine sinnvolle Position für das Duplikat können Sie ebenfalls der Abbildung entnehmen. Einziger Unterschied bei der Muffer im Vergleich zum Schraubenkopf ist jedoch, dass ein Teil des Schraubengewindes aussen sichtbar wird. Dies lässt sich recht einfach modellieren. KONVERTIEREN Sie die Mutter zu einem Polygonobjekt, OPTIMIEREN Sie es und selektieren Sie dann die Polygone der unteren Deckfläche. EXTRUDIEREN Sie die Flächen als Gruppe um 15 m nach INNEN und dann um 30 m regulär nach unten.
Abbildung 2. 41: Schraube und Mutter hinzufügen Vergrößern Sie die Selektion einmal über den gleichlautenden Befehl im SELEKTIONMenü, bis der aus der Mutter ragende Schaft ausgewählt ist. Da dieser Teil das Schraubengewinde darstellen soll, ist die sechseckige Form dort jedoch nicht sehr glaubwürdig.
Für derartige Objektteile, die abgerundet werden sollen, bietet sich die UNTERTEILEN-Funktion des STRUKTUR-Menüs an. Aktivieren Sie dort die HYPERNURBS-GLÄTTUNG und belassen Sie es bei einer Unterteilung. Wenn Sie die Eingaben in dem Dialog bestätigt haben, sollten die selektierten Objektteile der Mutter so wie in Abbildung 2. 42 aussehen, wo wir von unten auf die Mutter blicken. Die Objektteile wurden nicht nur feiner mit Polygonen aufgelöst sondern gleichzeitig noch so abgerundet, wie wir es bei einem Objekt in einem HyperNURBS mit einer ähnlichen Unterteilungsstufe erwarten würden. Einziger Unterschied ist hierbei, dass wir die Unterteilungstiefe nicht nachträglich verändern können. Ein großer Vorteil besteht jedoch darin, dass wir nicht das komplette Objekt mit einem HyperNURBS zu glätten brauchen, sondern einzelne Regionen davon der Glättung unterziehen können. So können wir die eckige Form der Mutter mit der abgerundeten Form des Schraubengewindes in einem Objekt kombinieren.
Abbildung 2. 42: Abgerundetes Schraubengewinde
_—•
Damit uns die mühsam erhaltene niedrige Auflösung und Eckigkeit von Schraubenkopf und Mutter nicht durch das GLÄTTEN-TAG zunichte gemacht werden, sollten Sie dort einen niedrigen Grenzwinkel einstellen. Wie Sie in Abbildung 2. 43 erkennen können, habe ich dort jeweils 50° eingestellt. Dies lässt die 60°-Ecken der Zylinder ungeglättet, schattiert jedoch die Flächen des Gewindes, da diese in Winkeln kleiner als 50° zueinander stehen. Den Erfolg sehen Sie in Abbildung 2. 43 auf der rechten Seite. Gruppieren Sie Mutter und Schraube im OBJEKTE-Fenster. Beide Objekte lassen sich dann gleichzeitig bewegen. Duplizieren Sie diese Gruppe und verschieben Sie das Duplikat auf die andere Seite des Pleueldeckels. Verdrehen Sie die neue Gruppe etwas um die Y-Achse, damit eine realistische Variation in die Ausrichtung der Schrauben kommt. Das Resultat dieser Aktionen sehen Sie in Abbildung 2. 44.
Abbildung 2. 43: Phong-Schattierung reduzieren
Abbildung 2. 44: Schraube/Mutter-Gruppe duplizieren
Wiederholen Sie die letzten Arbeitsschritte für zwei weitere Schraube/Mutter-Kombinationen, die Sie am unteren Deckel der Pleuelstange platzieren. Sie können dafür entweder mit neuen Zylindern arbeiten, oder mit Duplikaten der bereits erstellten Zylinder, die Sie dann jedoch verkleinern müssen.
2. 3 Modellieren der Kurbelwelle
Als letzte große Baugruppe der Szene widmen wir uns jetzt der Kurbelwelle. Auch hier arbeiten wir wieder mit einem Würfel als Ausgangsobjekt für die Low-Poly-Modellierung in Verbindung mit e Erzeugen Sie also einen WÜRFEL mit den in Abbildung 2. 45 gezeigten Größenverhältnissen und verschieben Sie diesen in die obere Öffnung der Pleuelstange. Rufen Sie ein neues HyperNURBS-Objekt auf und ordnen Sie diesem den Würfe! unter. Konvertieren Sie den Würfel, selektieren Sie im POLYGONE-BEARBEITEN-Modus die beiden Würfelflächen, die aus der Pleuelöffnung herausschauen und EXTRUDIEREN Sie diese um 20 m. Wiederholen Sie dies durch nochmaliges Betätigen der ANWENDEN-Schaltfläche im Fenster AKTIVES WERKZEUG.
Sie sollten jetzt einen zylinderförmigen Körper erkennen, der in der Öffnung der Pleuelstange ruht. Verändern Sie ggf. die Größe des Würfels, damit kein sichtbarer Spalt zwischen HyperNURBS-Würfel und Pleuelöffnung bleibt. Der geglättete Würfel soll schließlich zu einer Achse der Kurbelwelle werden (siehe Abbildung 2. 45).
Abbildung 2. 45: Achse der Kurbelweite hinzufügen
Abbildung 2. 46: Den Übergang von der Achse zum Gewicht formen
Wechsein Sie in den PUNKTE-BEARBEITEN-Modus und selektieren Sie an jedem Ende des extrudierten Würfels die beiden unteren Punkte ganz aussen. Ziehen Sie diese Punkte nach unten und verbreiteren Sie deren Abstand zueinander durch Skalieren entlang der X-Achse (siehe Abbildung 2. 46). Diese Veränderung leitet die Formung der Gewichte zwischen den Kurbelwellen-Achsen ein. Wechseln Sie wieder in den Polygon-Modus. Die beiden äußeren Flächen sollten noch immer selektiert sein. EXTRUDIEREN Sie die Flächen um -20 m NACH INNEN. Danach EXTRUDIEREN Sie diese Flächen um 150 m und führen Sie dann durch ein EXTRUDIEREN NACH INNEN um 20 m wieder zurück (siehe Abbildung 2. 47).
Abbildung 2. 47: Dos Gewicht der Kurbelwelle extrudieren Bringen Sie die beiden selektierten Flächen wieder auf die Ausgangsgröße von 360 x 360 m. Diese Rächen bilden gleich die nächsten Achsen. Zuvor verschieben Sie jedoch die beiden Flächen an den unteren Rand des extrudierten Gebildes, da sich die Höhen der Achsen an einer Kurbeiwelle abwechseln (siehe Abbildung 2. 48). Ähnlich wie zu Beginn EXTRUDIEREN wir auch jetzt die Achsen um 20 m. Wiederholen Sie diesen Schritt mit gleichen Werten ein zweites Mai. Dies sorgt im HyperNURBS durch die größere Flächendichte für einen exakteren Oberflächenverlauf. Lassen Sie diesem eine dritte Extrudierung, diesmal mit 90 m folgen. Dies entspricht dann exakt der Hälfte der gewünschten Achsenlänge (siehe Abbildung 2-49).
Abbildung 2. 48: Weitere Achsen formen
Abbildung 2. 49: Zusätzliche Achsen extrudieren
Wir EXTRUDIEREN deshalb nur bis zur Hälfte der gewünschten Länge, da wir im nächsten Schritt die übrige Hälfte automatisch erzeugen wollen. In Abbildung 2. 50 sehen Sie links den derzeitigen Zustand unserer Kurbelwelle. Durch das EXTRUDIEREN und INNEN EXTRUDIEREN an beiden Enden des Würfels ist ein symmetrisches Objekt entstanden. Da eine Kurbelwelle jedoch nicht nur aus einer Achse und einem Pleuel besteht, wären weitere Arbeitsschritte nötig, um die Kurbelwelle zu verlangern. Mit Hilfe eines so genannten SYMMETRIE-OBJEKTS nehmen wir uns diese Arbeit ab. Dazu sind nur kleine Vorarbeiten nötig. In unserem Fall müssen Sie eine Deckflache an der gewünschten Symmetrieachse löschen. Ich habe mich für die linke Seite entschieden. Die andere Seite der Kurbelwelle lassen Sie unberührt. Durch das Löschen der Deckfläche öffnet sich die Achse der Kurbelwelle zu einem offenen Zylinder. Die Öffnung, die durch das Löschen der Fläche entstanden ist, habe ich in Abbildung 2. 50 mit einem weißen Kreis markiert.
Abbildung 2. 50: Kurbelwelle spiegeln mit einem Symmetrie-Objekt Rufen Sie nun ein SYMMETRIE-OBJEKT auf. Sie finden es im gleichen Menü wie das BOOLE-OBJEKT. Das Icon ähnelt einem Gesicht mit verschiedenfarbigen Hälften. Ähnlich wie das BOOLE-OBJEKT vermag auch das SYMMETRIE-OBJEKT für sich allein genommen nichts. Erst wenn ein Objekt oder eine Gruppe diesem untergeordnet wird, tritt seine Wirkung zutage. Zuvor klicken Sie jedoch doppelt auf das Gesichtlcon im OBJEKTE-Fenster und übernehmen Sie die Einstellungen aus Abbildung 2. 50. Die Einstellungen sorgen dafür, dass die untergeordneten Objekte an der XYEbene des SYMMETRiE-Objekts gespiegelt werden. Die PUNKTE-VERSCHMELZEN-Option verbindet alle innerhalb des Toleranzabstands liegenden Punkte an der SYMMETRIEEBENE miteinander und loscht dort die überflüssigen Punkte automatisch. Dies hat besonders bei Low-Poly-Objekten in HyperNURBS den Vorteil, dass ein kontinuierlicher Oberflächenverlauf auch an der Symmetrieachse erhalten bleibt. Das Objekt verhält sich dann tatsächlich so, als hätten wir es z. B. durch EXTRUDIEREN aus einem Stuck geformt. Ordnen Sie den Kurbelwellenwürfel dem SYMMETRiE-Objekt unter. Dieses wiederum ordnen Sie dem HyperNURBS der Kurbelwelle unter (siehe Abbildung 2. 50).
Abbildung 2. 51; Das Symmetrie-Objekt der Kurbelwelle und duplizierte Pleuel und Kolben
Verschieben Sie nun in der OBJEKTACHSEN-BEARBEITEN-Betriebsart das SYMMETRIE-OBJEKT so, dass dessen Koordinatenursprung direkt auf der Kantendes Öffnung der Kurbelwellenachse liegt. Entscheidend ist dabei nur die Z-Koordinate. Das SYMMETRIEOBJEKT kann also in der Ebene der Achsenöffnung eine beliebige Position einnehmen. Der Vorgang ist in der Praxis sehr viel weniger abstrakt, als ich ihn hier in Worte fassen kann, da Sie laufend das gespiegelte Objekt vor sich haben. Sie erkennen also bereits in den Ansichtsfenstern, ob sich das gespiegeltes Objekt und das ursprüngliches Objekt noch durchdringen, oder - falls das SYMMETRIE-OBJEKT außerhalb des zu spiegelnden Objekts liegt - sogar eine Lücke zwischen beiden Objekten besteht. Ziel ist eine Konstellation wie in Abbildung 2. 51 oben zu sehen ist. Die Kurbelwelle sollte auf der Seite, auf der Sie die Öffnung der kurzen Achse hergestellt haben, durch eine symmetrische Kopie der Kurbelwelle ergänzt werden. Arbeiten Sie hierbei exakt, damit die Punkte am offenen Rand tatsächlich verschmolzen werden und das HyperNURBS dort eine kontinuierliche Flache bildet. Falls Ihnen dies nicht gelingen sollte, überprüfen Sie, ob auch wirklich alle Punkte des offenen Achsenrands in einer Ebene liegen, also die gleiche Z-Koordinate haben. Erhohen Sie ggf. die Toleranz für das Verschmelzen der Punkte im Dialog des SYMMETRIE-OBJEKTS.
Die Modellierung des Objekts ist damit abgeschlossen. Sicherlich kann man noch einige Kleinigkeiten erganzen: So können Sie die Gewichte der Kurbelweile noch weiter nach oben und unten herausragen lassen oder diese noch tiefer gestalten. Dazu reicht ein Verschieben weniger Punkte, da wir den Vorteil haben, an einem Low-Poly-Modell zu arbeiten. Vieles lasst sich jedoch auch mit Texturen und Materialien ausgleichen, wie wir in späteren Kapiteln kennen lernen werden.
2. 4 Vorbereitungen für die Animation Da ein derartiges Objekt erst in der Animation, also der Darstellung eines Bewegungsvorgangs, richtig interessant wird, mochte ich die dafür nötigen Schritte nun im zweiten Teil dieses Arbeitsbeispiels beschreiben. Wir beginnen damit, die noch fehlenden Pleuel und Kolben durch einfaches Kopieren zu erganzen. Die Kurbelwelle weist nach der Modellierung dank des SYMMETRIE-Objekts drei Achsen auf. Wir benötigen also noch zwei Pleuel und noch zwei Kolben. Damit Kolben und Pleuel gleich als zusammenhängende Einheit dupliziert werden, sollten Sie alle Objekte der Pleuelstange und des Kolbens in einer Gruppe zusammenfassen. Entweder ordnen Sie dafür das Kolben-Objekt dem Pleuel-Objekt unter, oder Sie wählen aus dem OBJEKTE-Menu im OBJEKTE-Fenster den Befehl OBJEKTE GRUPPIEREN aus. Der Mauszeiger verändert sich daraufhin zu einem kleinen Fadenkreuz. Sie können nun im OBJEKTE-Fenster einen Rahmen mit der Maus um die Objekte aufziehen, die in einer Gruppe zusammengefasst werden sollen. Dies funktioniert immer dann sehr gut, wenn die Objekte im OBJEKTE-Fenster unmittelbar über- oder untereinander stehen. Sind die Objekte jedoch im OBJEKTEFenster verteilt und noch durch andere Objekteintrage voneinander getrennt, macht es wenig Sinn. Sie müssten dann die übrigen Objekte doch wieder von Hand in die Gruppe ziehen. Egal, wie Siesich entschieden haben, duplizieren Sie die Gruppe aus Pleuel und Kolben zweimal und verschieben Sie die Duplikate so, dass die übrigen zwei Kurbelwellenachsen ebenfalls von je einer Pleuelstange mit Kolben besetzt werden (siehe Abbildung 2. 51 unten). Die Gruppen können nun wieder aufgelost werden, denn wir benotigen für die Animation separate Baugruppen. Die Objekte sollen sich schließlich m gewissen Grenzen unabhängig voneinander bewegen können. Sehr wichtig m diesem Zusammenhang ist die richtige Gruppierung der Teile m Objektgruppen. Überprüfen Sie Ihre Gruppierungen nochmals anhand der Abbildung 2. 52. Repräsentativ für jede Baugruppe habe ich eine Gruppe aufgeklappt dargestellt. Die Kopien dieser Gruppe sind dann ebenso sortiert. Wie Sie sehen, habe ich alle Schrauben und Muttern eines Pleuels jeweils in einem NULL-OBJEKT zusammengefasst. Dies hat weniger technische als optische Grunde, je aufgeräumter eine Szene organisiert ist, desto großer sind Ihre Chancen sich auch noch nach Wochen oder Monaten auf Anhieb in Ihr zurechtzufinden.
Abbildung 2. 52: Sinnvolle Anordnung der Objekte für die Animation
Wichtig in diesem Zusammenhang ist auch die sinnvolle Benennung der Objekte. Wie Sie in der Abbildung erkennen, habe ich auch die HyperNURBS mit Namen versehen. Dies erspart das Aufklappen der HyperNURBS, um zu sehen, was sich unter ihnen verbirgt. Ebenso habe ich das SYMMETRIE-Objekt konvertiert und die daraus hervorgegangene Gruppe aus NULL-OBJEKT und Kurbelwelle zusammengefasst. Entweder benutzen Sie dafür den VERBINDEN-Befehl aus dem FuNKTiONEN-Menü und loschen dann die alte NULL-OBJEKT/Kurbelwelle-Gruppe oder Sie ziehen gleich die Kurbelwelle aus dem NULL-OBJEKT direkt unter das HyperNURBS und löschen einfach das NULLOBJEKT. Da NULL-OBJEKTE nur organisatorischen Zwecken dienen, verändert sich dadurch das Objekt nicht. Sehr wichtig im Zusammenhang mit der Benennung der Baugruppen ist, dass Sie die Achsenzylinder in den Pleuel-Objekten fortlaufend nummerieren, als z. B. Achse1, Achse2 und Achse3. Wir müssen in den später besprochenen COFFEEEXPRESSIONS nämlich auf einzelne Objekte zurückgreifen und dafür müssen diese eindeutig benannt sein.
Abbildung
2
-53
verschieben lokaler Koordinatensysteme
Sind entsprechend der Abbildung also die Baugruppen sortiert und benannt, müssen wir uns um die Drehzentren der Objekte kummern. Damit meine ich die Punkte, um die sich die Objekte später drehen sollen. In unserem Fall sind diese Punkte schnell identifiziert, denn die Pleuelstange muss um die jeweilige Achse der Kurbelwelle rotieren können, und der Kolben muss sich um die Achse unten an der Pleuelstange bewegen lassen. Zudem sollten Sie das lokale Koordinatensystem der Kurbeiwelle an eine Stelle zwischen den Achsen der Kurbelwelle bewegen. Ansonsten würde vielleicht eine Kurbelwellen-Achse direkt auf der Rotationsachse liegen und somit keine Bewegung an dem dort anliegenden Pleuel hervorrufen können.
2. 4. 1 Lokale Drehzentren positionieren Um nun diese Punkte für jedes Objekt festzulegen, muss das lokale Koordinatensystem der Gruppe oder des Objekts an die entsprechende Stelle verschoben werden. Der erste Schritt dorthin ist das Umschalten in die OBJEKTACHSEN-BEARBEITEN-Betriebsart via dem besprochenen Icon auf der linken Seite des Layouts. Alle Werkzeuge, wie das BEWEGEN, das SKALIEREN oder das ROTIEREN-Werkzeug, beziehen sich jetzt ausschließlich auf das lokale Koordinatensystem des aktiven
Objekts. Mit einigen Ausnahmen bei Deformatoren z. B. bleibt das eigentliche Objekt davon unberührt und wird nicht verändert. Aktivieren Sie nun das Pleuel1-HyperNURBS und verschieben Sie dessen Koordinatensystem in die Mitte der dazugehörigen Achse des Kurbelwellen-Objekts. Danach selektieren Sie das HyperNURBS des Kolben1-Objekts und verschieben dessen Koordinatensystem auf den Mittelpunkt des kleinen Achsenzylinders, der unten im Pleuel1-Objekt eingeordnet ist. Dabei wird die Ordnung der Objekte nicht verändert. Alle Objekte bleiben dort eingeordnet, wo sie auch zuvor im OBJEKTE-Fenster standen. Nur die Koordinatensysteme werden im Raum verschoben. Da derzeit noch alle Objekte senkrecht ausgerichtet sind, kann man für das Verschieben der Koordinatensysteme die erlaubten Bewegungen auf die Y-Achse begrenzen. Man vermeidet dadurch seitliches Verschieben. Gehen Sie ebenso für die Kurbelwelle vor und verschieben Sie deren Koordinatensystem auf eine Position zwischen den unterschiedlichen Achsenlagen. Hier lässt sich dies großzügiger handhaben, indem Sie eine Verschiebung nach Augenmaß vornehmen. Ist das Verschieben von Hand für die Kolben und Pleuel zu ungenau, kann man auch die ÜBERNEHMEN-Funktion im FUNKTIONEN-Menü verwenden. Dabei gehen Sie so vor, dass Sie zuerst z. B. den Kolben1-HyperNURBS selektieren und dann die ÜBERNEHMEN-Funktion auswählen. Im erscheinenden Dialog tragen Sie den Namen des Objekts ein, dessen Werte auf das aktive Objekt übertragen werden sollen. In unserem Fall also Achse1. Markieren Sie die Option POSITION, damit die Position der Achse auf den Kolben übertragen wird. Wenn Sie den Dialog bestätigt haben, wird sich das lokale Koordinatensystem des Kolbens exakt an der Position befinden, an der auch die Achse liegt. Dies funktioniert nicht nur mit dem Koordinatensystem, denn in der MODELLBEARBEITEN-Betriebsart würde z. B. das gesamte Objekt auf die Position des eingetragenen Objekts bewegt werden. Achten Sie also auf die eingeschaltete Betriebsart, bevor Sie diese Funktion aufrufen. Der Kolben soll schließlich an Ort und Stelle verbleiben. Beim Pleuel funktioniert dies leider nicht nach dieser Methode, da oben an der Kurbelwelle keine derart eindeutige Position übertragen werden kann. Hier kann man sich jedoch gut an den Punktpositionen an der Schnittstelle zwischen oberem Pleueldeckel und Pleuelstange orientieren. Dazu klicken Sie im PuNKTE-BEARBEiTEN-Modus einen Punkt des Deckeis oder der Pleuelstange an der entsprechenden Position an und übernehmen den im Koordinaten-Manager abgelesenen Wert für die Welt-Y-Position für das lokale Koordinatensystem des Pleuel-HyperNURBS. Ich hebe hier das Ablesen im Weltsystem so hervor, da sich dessen Wert je nach Einordnung in Hierarchien deutlich von dem eines Objekt-System s unterscheiden kann. Ein einfaches Beispiel macht dies deutlich: Der Nullpunkt eines Objekts hat die Koordinaten 0, 0, 0; übertrage ich diesen Wert jedoch auf ein zweites Objekt, so muss dieses dennoch nicht zwingend am gleichen Ort im Raum liegen. Die Koordi-
nate 0, 0, 0 gibt es schließlich in jedem Objekt, obwohl die Welt-Koordinaten völlig anders sein können. Entscheiden Sie sich also gerade beim Übertragen von Positionen immer für das Weltsystem, das Sie durch einfaches Auswählen aus dem Aufklappmenü des KOORDINATEN-MANAGERS abrufen können. Die Abbildung 2. 53 zeigt noch einmal die korrekte Lage der Koordinatensysteme von Pleuel- und Kolben-HyperNURBS. Entsprechende Positionen gelten dann auch für die Kopien von Pleuel- und Kolben-HyperNURBS.
Abbildung 2. 54: Einfügen und positionieren von Null-Objekten Um eine sinnvolle Hilfestellung bei der Animation zu sein, müssen sich die Pleuelstangen an der Rotation der Kurbelwelle orientieren und sich ebenfalls entsprechend auf und ab bewegen. Würden wir die Pleuel direkt der Kurbelwelle unterordnen, würden die Pleuel zwar die gewünschte Position auf den Kurbelwellenachsen behalten, sich jedoch völlig unerwünscht um die Kurbelwelle herumbewegen, als wären es starre Erweiterungen der Welle. Unsere Aufgabe besteht nun also darin, die Auf- und Abbewegung der Kurbelwelle auf die Pleuel zu übertragen, nicht aber die Rotation.
2. 4. 2 Hilfsobjekte einsetzen Im ersten Schritt müssen wir daher Bezugspunkte auf den Achsen der Kurbelwelle erschaffen, an denen sich die Pleuel orientieren können. Rufen Sie dafür drei neue
NULL-OBJEKTE aus dem OBJEKTE-Menü ab und benennen Sie diese mit Link1, Link2 und Link3. Diese Hilfsobjekte müssen jetzt an genau die gleichen Stellen wie die lokalen Koordinatensysteme der Pleuel-HyperNURBS, weil wir gleich per so genannter COFFEE-EXPRESSION die Position der Hilfsobjekte laufend auf die HyperNURBS übertragen lassen können. Die Pleuel würden sonst immer bezüglich der Kurbelwelle am gleichen Ort verankert bleiben. Wir benutzen also zuerst die ÜBERNEHMEN-Funktion aus dem FUNKTIONEN-Menü und übertragen die Position von Pleuel-HyperNURBS auf das Null-Objekt Link1. Hierfür brauchen Sie sich nicht mehr in der Koordinatenbetriebsart zu befinden, sondern sollten zuvor auf OBJEKT-BEARBEITEN oder MODELL-BEARBEITEN umgeschaltet haben. Übertragen Sie nach diesem Schema ebenfalls die Position vom PleuelHyperNURBS auf Link2 und vom Pleuel3-HyperNURBS auf Link3. Damit sich diese Link-Objekte später auch tatsächlich mit der Kurbelwelle mitbewegen können, ordnen Sie die drei NULL-OBJEKTE der Kurbelwelle unter (siehe Abbildung 2. 54).
Abbildung 2. 55: Hinzufügen weiterer Null-Objekte als Hilfsobjekte
Im nächsten Schritt benotigen wir weitere Hilfsobjekte, an denen die Pleuel ihre Ausrichtung festmachen können. Die Link-Objekte dienen ja nur dafür, dass wir Bezugspunkte für die Positionsveränderung durch Kurbelwellen-Rotation bekommen. Bezüglich der Richtung der Pleuel können sie uns jedoch nicht weiterhelfen. Einzige Ausnahme wäre der Fall, dass die Pleuel samt Kolben eine einfache Auf- und Abbewegung vollziehen sollen. Aufgrund der Abmessungen ist dies jedoch hier nicht möglich. Bereits jetzt in der Ausgangsstellung überschneiden sich ja die Kol-
ben. Duplizieren Sie also nach und nach die drei Link-Objekte und ordnen Sie jeweils die Kopie dem Original unter. Benennen Sie die Kopien Target1, Target2 und Target3. Schließlich ziehen Sie die Target-Objekte soweit entlang der lokalen YAchse nach unten, dass sie knapp unterhalb des jeweiligen Kolbenbodens zu liegen kommen. Durch diese Konstellation bekommen wir nun zwischen dem Link- und dem Target-Objekt eine virtuelle Hilfslinie, an der wir eine Pleuelstange ausrichten können. Noch ist diese Richtung exakt senkrecht, was aus den genannten Gründen hier jedoch wenig Sinn macht.
Abbildung 2. 56: Festlegen der Zylinderneigung durch Rotation der Null-Objekt-Gruppen Rotieren Sie daher jeweils eine komplette Link-/Target-Gruppe um das jeweilige Link-Null-Objekt herum um +45° oder -45° um die Z-Achse. In meinem Fall habe ich die äußeren beiden Link-Gruppen, also Link1 und Link3 um +45° und die mittlere Link2-Gruppe um -45° um deren Z-Achse rotiert. Aus Sicht der XY-ANSICHT ergibt sich dann eine Formation wie in Abbildung 2. 56. Die Target-Objekte habe ich etwas
vergrößert als weiße Punkte dargestellt. Sie sehen, dass sich durch die Rotation der Link-Gruppen die Positionen der eigentlichen Link-Objekte nicht verändert haben. Nur die Target-Objekte sind entweder nach links oder rechts herausgeschwenkt worden. (Der Wert von 45° ist der Winkel, in dem die Pleuelstangen nach außen weisen sollen. )
2. 5 COFFEE-Expressions Die Vorbereitungen sind soweit abgeschlossen. Wir haben die Drehzentren der Objekte an die richtigen Stellen verschoben und Hilfsobjekte für die Positionen und Richtungen hinzugefugt. Im letzten Schritt müssen jetzt Beziehungen zwischen den Hilfsobjekten und den tatsächlichen Objekten der Baugruppen hergestellt werden. So beginnen wir damit, die Pleuel-HyperNURBS via einer COFFEE-EXPRESSION an die Link-Objekte zu knüpfen. COFFEE-Expressions sind dabei kleine Programme, mit deren Hilfe wir Objekte oder Parameter steuern können. Die Arbeitsweise ist ganz ähnlich den Befehlen, die wir mit der Maus bedienen können, Expressions haben jedoch den Vorteil, dass sie automatisch aktualisiert werden. Dazu ein kurzes Beispiel. Wir haben bereits mehrfach den ÜBERNEHMEN-Befehl aus dem FUNKTIONEN-Menü benutzt. Eine sehr hilfreiche Sache, wenn z. B. die Position eines Objekts auf ein anderes übertragen werden soll. Was passiert aber nun, wenn eines der beiden Objekte nach dieser Aktion wieder bewegt wird? Das andere Objekt verbleibt an seiner Position, und es entsteht wieder ein Unterschied zwischen beiden Positionen. Wir müssen den Befehl also erneut aufrufen, um die Positionen wieder anzugleichen. Wollten wir also in einer Animation die Position von Pleuel-HyperNURBS und Link-Objekt laufend angleichen lassen, so müssten wir nach jedem Bild die Funktion neu aufrufen. Dies ist also nicht praktikabel. Eine derartige Aufgabe ist damit prädestiniert für eine kleine COFFEE-Expression, die bei jedem berechneten Bild automatisch das Pleuel-HyperNURBS an die Position des Link-Objekts verschiebt. Um eine COFFEE-Expression einem Objekt zuzuweisen, aktivieren Sie das Objekt im OBJEKTE-Fenster und wählen Sie im DATEi-Menü des OBJEKTE-Fensters den Punkt EXPRESSION und dort COFFEE-EXPRESSION aus. Es erscheint daraufhin eine kleine Kaffeetasse als Symbol hinter dem Objekt. Wenn Sie doppelt auf dieses Symbol klicken, öffnet sich der sogenannte EXPRESSION-EDITOR. Dort schreiben, testen, sichern und laden Sie Ihre Expressions. Erzeugen Sie eine solche Expression hinter dem Pleuel1-HyperNURBS und übertragen Sie den Text aus Abbildung 2. 57 in den Expression-Editor.
Abbildung 2. 57: COFFEE Expression für das automatische Nachfuhren der Pleuel bei Rotation der Kurbelwelle
Werfen wir einen kurzen Blick auf die Befehle dort, damit Sie ein Gespür für die Arbeitsweise von Expressions bekommen. Bereits eine neue noch leere Expression enthält einige Elemente. Ganz oben lesen Sie main (doc. o p ) . Dies ist für Sie nicht weiter von Bedeutung. Es bildet lediglich den Anfang der Expression und sorgt dafür, dass die beiden Abkürzungen doc und op automatisch mit Werten gefüllt werden. Dabei enthalt doc alle Informationen der aktiven Szene, also alle Objekte in Ihrer Szene, op hingegen enthält alle Daten des Objekts, hinter dem die Expression steht. In unserem Fall sind also alle Daten des Pleuel1-HyperNURBS dort gespeichert. Der eigentliche Listingbereich ist von zwei geschweiften Klammern umgeben. Auch diese sind bereits von Anfang an vorhanden. Sie schreiben Ihr Programm also zwischen die beiden geschweiften Klammern. In der ersten eigentlichen Programmzelle begegnen uns drei markante Befehle und Symbole. var link1=doc->FindObject("Link1"); Das Wort v a r steht für „Variable". Es leitet die Definition eines Begriffs ein, den wir im Programmcode mit Werten füllen oder anderweitig benutzen mochten. Wir teilen dem Programm also mit, dass wir den Begriff link1 ab jetzt verwenden mochten. Wir können, wie in diesem Fall, sogar in der gleichen Zeile bereits festlegen, welche Information in der Variable link1 gespeichert werden soll. Hier ist dies eine Information aus der vordefinierten d o c - V a r i a b l e . Da bekanntlich doc für alle Objekte der Szene stehen kann, müssen wir konkretisieren, welche Informationen aus doc wir gerne abrufen mochten. Die geschieht mit dem -> Symbol. Man konnte also bislang die Zeile so lesen: „Reserviere den Begriff link1 und speichere in diesem Begriff folgende Information aus der doc-Variable". Der letzte Teil der Zeile verwendet einen neuen Befehl: FindObject(). Wie die wörtliche Übersetzung schon vermuten lässt, sucht der Befehl das Objekt, dessen
Name in den Anführungszeichen in der Klammer hinter dem Befehl steht. Letztlich bewirkt die Zeile, dass das Objekt mit den Namen „Link1" aus der doc-Variable herausgesucht wird und dessen Daten an die Variable link1 übergeben werden. Bitte beachten Sie noch das Semikolon am Ende der Zeile. Jede Befehlszeile muss mit einem Semikolon beendet werden. Sollte es später Fehlermeldungen geben, ist dies eine berüchtigte Fehlerquelle. Wichtig für Sie ist noch zu wissen, dass die Namensgebung von Variablen nahezu beliebig ist. Ausgenommen sind natürlich reservierte Funktionen und Befehle, aber grundsätzlich könnten Sie die Variable hier auch „Anton" oder „XB111" nennen. Wählen Sie jedoch am besten assoziative Begriffe. Werfen wir einen Blick auf die Zeilen zwei und drei: var opglobal=op->GetMg(); var lglobal=link1->GetMg(); Hier taucht wieder der var-Befehl auf, es werden also wieder von uns bestimmte Begriffe mit Werten gefüllt oder für den späteren Gebrauch reserviert. Komplett neu ist hier nur der GetMg()-Befehl. Er fragt eine so genannte Matrix ab. Eine Matrix ist in diesem Fall eine Anordnung von Vektoren, also zusammengehörenden Werten, wie z. B. X-, Y- und Z-Positionen, oder Verdrehwinkel eines Objekts. Der GetMg()-Befehl liefert dabei eine globale Matrix, also die Werte im Weltsystem. Dies macht die Werte unabhängig von der Position eines Objekts in der Hierarchie des OBJEKTE-Fensters. Zusammenhängend kann man also hier lesen: „Reserviere mir den Begriff opglobal und speichere in diesem Begriff die globalen Werte des op-Objekts". Wie bereits erwähnt ist das op-Objekt jenes Objekt, hinter dem die Expression steht. Ganz ähnlich funktioniert die dritte Programmzeile. Hier wird die Variable l global mit den globalen Werten des link1-Objekts gefüllt, das wir zuvor über den FindObject-Befehl definiert haben. opglobal>SetV0(lglobal->GetVBO): Hier begegnen wir dem eigentlichen Kern dieser Expression, denn hier wird die Position des Link1-Objekts auf das Pleuel1-HyperNURBS übertragen. Da die Programmzeile eine verkürzte Schreibweise darstellt, entzerre ich die Zeile etwas, um Ihnen das Verständnis zu erleichtern:
lglobal->GetV0() Hier wird aus der zuvor gefüllten globalen Werte-Matrix in l global mit dem - > G e t V 0 ( )-Befehl der Vektor mit der Bezeichnung V0 herausgesucht. Dazu müssen Sie wissen, dass die globale Matrix ihre Werte in vier „Schubfächern" sortiert hat. V0 enthält dabei die Position des Objekts. Die „Fächer" V1 bis V3 enthalten die Vektoren der lokalen X-, Y- und Z-Achsen. Über deren Werte lässt sich die Richtung und auch die Größe des Objekts steuern. Diese interessieren uns hier jedoch nicht. Ganz ähnlich wie der GetV0()-Befehl funktioniert der SetV0()-Befehl. Hier werden die in der Klammer stehenden Werte in das V0-Schubfach einer Matrix geschrieben.
Zusammenhängend können wir also lesen: „Hole die Information über die Position aus dem lglobal-Objekt ab und schreibe diese Information in die Positionszeile des opglobal-Objekts". Wir haben jetzt also die Positionsinformation des op-Objekts durch die Positionsinformation des link1-Objekts ersetzt. Wir müssen diese Werte nun nur noch auf das op-Objekt übertragen. Bislang haben wir ja nur mit Variablen gearbeitet. Die geschieht jetzt also in der letzten Programmzeile: op->SetMg(opglobal); Es gibtauch ein Gegenstück zum GetMg()-Befehl, nämlich den SetMg()-Befehl. Damit übergeben wir eine globale Matrix an ein Objekt. Diese Matrix ist hier die Variable opglobal. Wir lesen also wieder: „Schreibe die Werte der Variable opglobal in die globale Matrix des op-Objekts". Oben in der Kopfzeile des EXPRESSION-EDITORS finden Sie die KOMPILIEREN-Schaltfläche. Klicken Sie einmal darauf, um CINEMA 40 Ihre Expression testen zu lassen. Sollten Sie Befehle falsch geschrieben oder z. B. ein Semikolon vergessen haben, wird Sie eine entsprechende Fehlermeldung mit Angabe der Programmzeile darüber informieren. Sie können dann wie in einer Textverarbeitung den Fehler korrigieren. Sind keine Fehler aufgetreten, können Sie die AUSFÜHREN-Schaltfläche betätigen. Das Programm wird jetzt tatsächlich ausgeführt. Auch hier kann es noch zu Fehlermeldungen kommen, wenn z. B. im FindObject-Befehl ein Objektname eingetragen wurde, der in der Szene nicht vorkommt. Die Befehle des Programms sind somit vielleicht völlig korrekt, aber das Programm kann trotzdem nicht richtig ablaufen. Sollte es auch hier zu keiner Fehlermeldung kommen, können Sie das Expression-Fenster schließen. Eine Sicherung ist nicht unbedingt nötig, da COFFEE-Expressions später zusammen mit der Szene abgespeichert werden. Das Sichern macht aber z. B. dann Sinn, wenn Sie sich eine Bibliothek mit Expressions zusammenstellen wollen. Viele dieser kleine Programme sind nämlich sehr universeil einsetzbar und lassen sich z. B, durch einfaches Austauschen von Objektnamen im FindObject-Befehl auch in anderen Projekten nutzen. CINEMA 40 verfügt jedoch auch über einige fertige Expressions, die wir natürlich gerne nutzen wollen. Sehr hilfreich in unserem Fall ist die lK-EXPRESSION. Sie finden Sie im gleichen Menü wie die COFFEE-EXPRESSION im OBJEKTE-Fenster. Eine IK-EXPRESSION sorgt dafür, dass das Objekt mit der Expression laufend versucht, die Position eines Ziel-Objekts zu erreichen. Der Schwerpunkt liegt hier auf „versucht", denn anders als bei unserer Expression, können Objekte hierbei durch hierarchische Verknüpfungen oder Beschränkungen durchaus daran gehindert werden, ein anderes Objekt zu erreichen. Die Expression versucht in solchen Fällen, die Distanz zwischen dem Ziel und dem Objekt mit der Expression möglichst klein zu gestalten. Rufen Sie eine solche IK-EXPRESSION für das Achse1-Objekt in der Pleuel1-Gruppe auf. Klicken Sie doppelt auf das kleine Fadenkreuz, das Symbol dieser Expression, und tragen Sie in den Dialog den Namen des Zielobjekts ein, dessen Position möglichsterreicht werden soll. In unserem Fall ist dies Target1 (siehe Abbildung 2. 58).
Abbildung 2. 58: Exemplarischer lK-Expression-Dialog für das Ausrichten der Pleuelstangen
Sie sollten jetzt bereits eine Reaktion in den Ansichtsfenster erkennen können. Die Pleuelstange mit den Expressions solle sich um das Drehzentrum herum mit dem unteren Ende dem Target-Objekt zuneigen. Da dies Jedoch außerhalb der möglichen Reichweite liegt, kann das Zielobjekt nicht ganz erreicht werden. Am oberen Ende wird der Pleuel schließlich von unserer selbstgeschriebenen Expression auf der Kurbelwellenachse festgehalten. Etwas störend ist jetzt natürlich, dass der dazugehörende Kolben nicht auch von dieser Ausrichtung erfasst wird. Er steht noch an der ursprunglichen Position und hat daher keine Verbindung mehr zur Pleuelstange und deren unterer Achse. Das werden wir nun ändern. Kopieren Sie die COFFEE-EXPRESSION des Pleuel-HyperNURBS auf das entsprechende Kolben-HyperNURBS. Der Kolben wird daraufhin ebenfalls die Position oben an der Kurbelwellen-Achse einnehmen. Dort wollen wir ihn jedoch nicht haben. Vielmehr sollte er die Position des Achse-Objekts in der Pleuel-Gruppe einnehmen. Klicken Sie also doppelt auf das COFFEE-EXPRESSION-Symbol hinter dem Kolben und verändern Sie den Namen in dem FindObject-Befehl auf „Achsel", wie es Abbildung 2. 59 zeigt. Ich habe dort die Namen der Variablen angepasst. Dies ist jedoch nur eine kosmetische Maßnahme. Die Expression funktioniert auch ohne Probleme mit den alten Benennungen. Nach dem KOMPILIEREN und AUSFUHREN sollte der Kolben an die Position der unteren Achse springen. Die alte Verbindung wurde damit automatisch wieder hergestellt.
Abbildung 2. 59: COFFEE-Expression zur automatischen Nachfuhrung der Kolben bei Bewegung der Pleuel
Diese Anordnung der zwei COFFEE-Expressions und der IK-Expression übertragen Sie jetzt per [Strg]-/[Ctrl]-Drag mit der Maus auf die entsprechenden Elemente der beiden anderen Pleuelstangen und Kolben. Jetzt verstehen Sie auch, weshalb die Achsen unterschiedliche Namen haben mussten. Die Expressions hätten sonst nicht feststellen können, welche Position maßgeblich sein soll. Die einzige Arbeit besteht jetzt noch in der Korrektur aller Bezugsnamen in den kopierten Expressions. So müssen die Zielnamen in den kopierten IK-EXPRESSIONS in Target2 bzw. Targets umgeändert werden. Auch die FindObject-Namen in den COFFEE-Expressions müssen auf Link2, Link3, sowie Achse2 bzw. Achse3 verändert werden. Jede Pleuel/Kolben-Gruppe hat schließlich eigene Bezugsobjekte. Haben Sie alle Expressions richtig zugeordnet und auch die korrekten Namen eingetragen, sollte sich Ihnen ein Bild wie in Abbildung 2. 60 bieten. Das faszinierende daran ist, dass dieser Zusammenhalt und diese automatische Ausrichtung auch hervorragend in der Animation funktionieren wird. Der zeitliche Mehraufwand bei den Vorbereitungen und Programmierungen wird dort um ein Vielfaches wieder kompensiert.
Abbildung 2. 60: Ergebnis der bisherigen COFFEE- und IK-Expressions
Was nun noch zu tun bleibt, ist die Ausrichtung der Kolben. Bislang hangen diese noch unmotiviert nach unten. Stellen wir uns die technisch sinnvolle Arbeitsweise vor, so sollten die Kolben in zylinderförmigen Röhren von der Kurbelwelle getrieben auf- und abgleiten. Die Röhre füngiert dabei gleichzeitig als Fuhrung und verhindert ein Verkanten der Kolben. Der Winkel der Ausrichtung der Kolben bleibt also wahrend der gesamten Bewegung konstant. Diese Information hilft uns maßgeblich weiter, denn eine konstante Rotation lässt sich durch einfaches Drehen der Kolben erzielen. Um hier jedoch eine weitere Variante vorzuführen, möchte ich auch diese Winkelveränderung per COFFEE-Expression realisieren. Dazu sind nur zwei weitere Befehlszeilen in den Expressions der Kolben nötig (siehe Abbildung 2. 61).
Abbildung 2. 61: Ergänzen der Kolben-Expression
Zuerst definieren wir eine zusätzliche Variable, die ich hier rotation1 genannt habe. Dieser Variable übertragen wir alle Informationen des Target1-Null-Objekts. Die Zeile laute! also: var rotation1=doc->FindObject („Target1"); Die übrigen Befehlszeilen bleiben davon unberührt. Nur am Ende des Programms fügen wir noch eine weitere Befehlszeile ein: op->SetRotation (rotation1->GetRotation()); Hier begegnen uns zwei neue Befehle, nämlich SetRotation() und G e t R o t a t i o n ( ) . Wie man schon fast aus den Namen erschließen kann, werden damit die Rotationswerte abgefragt oder gesetzt. Wir können also lesen: „Hole die Rotationswerte aus der Variable rotation1 und übertrage diese Werte auf die Rotation des op-Objekts". Da in unserem Fall das Targen -Objekt um 45° gedreht wurde, wird diese Drehung nun auch auf den Kolben übertragen. Zusätzlich bleibt die Position auf dem Achsei -Objekt jedoch erhalten. Da der SetRotation( )-Befehl nach dem SetMg()-Befehl steht, werden dessen Winkelinformationen einfach überschrieben. Ergänzen Sie die übrigen Kolben-Expressions identisch. Sie können die beiden neuen Zeilen durch Kopieren und Einfügen in die anderen Expressions direkt übernehmen. Achten Sie nur darauf, den FindObject( )-Befehl entsprechend auf Target2 bzw. Target3 anzupassen. Der Rest kann so bleiben. Nun bleibt nicht mehr viel zu tun, um die Animation perfekt ablaufen zu lassen. Ziehen Sie die Target-Null-Objekte aus den Link-Gruppen heraus und platzieren Sie diese z. B. oberhalb des Kurbelwellen-HyperNURBS im OBJEKTE-Fenster. Dies ist nötig, da die Target-Objekte ansonsten bei einer Drehung der Kurbelwelle mitbewegt würden. Sie sollen jedoch als fixe Bezugspunkte für die Ausrichtung der Kolben und Pleuel dienen.
Abbildung 2. 62: Schlüsselpositionen der Target-Objekte
Aktivieren Sie jetzt das Polygon-Objekt der Kurbelwelle und drehen Sie dies um die lokale Z-Achse. Drehen Sie die Weile soweit, bis die Kolben der einen Seite den kleinsten Abstand von der Welle haben. Bei mir war dies bei 45° der Fall (siehe Abbildung 2. 62 links). Aktivieren Sie nacheinander die Target-Objekte und verschieben Sie diese entlang deren Y-Achsen soweit, dass diese knapp unterhalb der jeweiligen Achse-Objekte liegen. Dies sorgt dafür, dass die Pleuel gezwungen werden, eine möglichst exakte Neigung von +45° bzw. -45° zu der Kurbelwelle einzunehmen.
2. 6 Key-Frames Damit diese Position gespeichert wird, benutzen wir so genannte Key-Frames. Diese Key-Frames sind nichts anderes als gespeicherte Informationen eines Objekts zu einem definierten Zeitpunkt. Sie können selbst bestimmen, welche Informationen in einem Key-Frame gespeichert werden sollen. Dazu dienen die kleinen Symbole unten rechts am Bildschirmrand des Layouts. Sie finden dort verkleinerte Bewegen-, Rotieren- und Skalieren-Icons, wie noch andere Icons, deren Funktionen jedoch hier noch nicht interessant sind. Sie können diese Icons durch Anklicken aktivieren und auch wieder deaktivieren. In unserem Fall benötigen wir für die Target-Objekte nur die Information bezüglich der Position. Deaktivieren Sie also alle Icons außer dem kleinen Bewegen-lcon. Nun muss der Zeitpunkt bestimmt werden, an dem die Information gespeichert werden soll. Dafür ist der ZEIT-MANAGER mit seinem Zeitschieber da, der gleich links von den kleinen Key-Frame-lcons liegt. Stellen Sie diesen auf „o B". Damit wird das Key-Frame bei Aufnahme direkt an den Anfang unserer Animation, nämlich in das Bild o gesetzt. Aktivieren Sie jetzt eines der verschobenen Target-Null-Objekte und klicken Sie auf den kleinen roten Kreis bei den Key-Frame-Symbolen. Sie haben damit ein Positions-Key-Frame für das Target-Objekt für den Zeitpunkt o B aufgenommen.
Klicken Sie dann auf das nächste bereits verschobene Target-Objekt und nehmen Sie wieder durch Anklicken des roten Kreises ein Key-Frame auf. Wiederholen Sie dies für das letzte Target-Objekt. Im letzten Schritt muss nun noch die Drehung der Kurbelwelle gesichert werden, damit wir einen reproduzierbaren Gesamtzustand der Szene erhalten. Bei der Kurbelwelle ist jedoch keinesfalls die Position entscheidend (sie bewegt sich ja nicht von der Stelle) sondern nur die Rotation. Aktivieren Sie also bei den KeyFrame-lcons das Rotations-Symbol, klicken Sie einmal auf das Kurbelwelle-Objekt im OBJEKTE-Fenster und klicken Sie dann auf den bekannten Aufnahmeknopf für Key-Frames. Damit ist die derzeitige Rotation der Kurbelwelle ebenfalls zum Zeitpunkt o B abgespeichert. Wir legen jetzt willkürlich fest, dass sich die Kurbelwelle in einer Sekunde einmal um die eigene Achse drehen soll. Standardmäßig enthält eine Sekunde fertiger Film in CINEMA 4D 25 Einzelbilder. Da Bild o ebenfalls mitzählt, müssen wir also die vollständige Bewegung mit Bild 24 abgeschlossen haben. Verschieben Sie daher den Zeitschieber des ZEIT-MANAGERS auf Bild 24, also auf 24 B. Falls noch nicht geschehen, wechseln Sie in den MODELL-BEARBEITEN-Modus und drehen Sie die Kurbelwelle um die lokale Z-Achse exakt um 360° weiter. Wenn Sie wie ich bei einem Winkel von 45° in Bild o gestartet sind, sollten Sie also einen Winket von 405° in Bild 24 einstellen. Sofern Sie weiterhin die Aufnahmen von Rotationswerten für Key-Frames aktiviert haben, können Sie wieder den Key-Frame-Aufnahmeknopf betätigen. Eine volle Umdrehung der Kurbelwelle ist somit in Key-Frames festgehalten. Wir können uns jetzt um die Target-Objekte kummern. Diese dürfen, um jederzeit möglichst eng an den Achsen der Pleuel zu liegen, nicht an den Startpositionen belassen werden. Bewegen Sie also durch Anklicken und Verschieben mit der Maus den Zeitschieber des ZEIT-MANAGERS langsam wieder in Richtung Bild o. Sie sollten dabei bereits die Rotation der Kurbelwelle beobachten können. Stoppen Sie an der Stelle, an der die Target-Objekte am weitesten von den Achsen-Objekten entfernt sind. Dies ist bei mir bei einem Kurbelwellenwinkel von 225° der Fall, also exakt in der Mitte der bislang von uns festgehaltenen Bildersequenz. Da nun wieder nur Positionen abgespeichert werden sollen, aktivieren Sie ausschließlich die Positionsinformation bei den Key-Frame-lcons und bewegen Sie das erste Target-Objekt entlang dessen Y-Achse wieder auf eine Position knapp unterhalb der dazugehörigen unteren Pleuel-Achse (siehe Abbildung 2. 62 rechts). Nehmen Sie diese Position mit den Aufnahmeknopfauf. Wiederholen Sie dies mit den übrigen zwei Target-Objekten.
Abbildung 2. 63: Nötige Einstellungen in der Zeitleiste
Um nun einen Überblick über alle Key-Frames zu bekommen, gibt es in CINEMA 40 die sogenannte ZEITLEISTE. Dies ist ein gleichnamiges Fenster, das Sie aus dem FENSTER-Menü von CINEMA 40 abrufen können. In Abbildung 2. 63 sehen Sie die ZEITLEISTE unserer Szene, wobei hier schon einige Einstellungen vorgenommen wurden, die jetzt erst besprochen werden. Bei Ihnen vorhanden sein sollten jedoch die drei Positions-Spuren hinter den Target-Objekten und die Winkelspur hinter dem Kurbelwelle-Objekt. Die kleinen grauen Kästen auf den Spuren sind die von uns gesetzten Key-Frames. Durch einen Doppelklick darauf können die in den Key-Frames gespeicherten Werte betrachtet und auch verändert werden. Ebenso lassen sich die Key-Frames mit der Maus verschieben, falls ein anderer Zeitpunkt für das Key-Frame gewünscht wird. Die grauen Balken unter den KeyFrames sind die SEQUENZEN. Sie können sich diese vielleicht als Trägermaterial für die Key-Frames vorstellen. Sequenzen können bestimmte Längen haben oder auch automatisch wiederholt werden. Alle Key-Frames auf dieser Sequenz werden dann ebenso wiederholt. Man spart sich damit die Aufnahme periodisch wiederkehrender Positionen, Winkel oder anderer Parameter. Dies wurde bei uns ebenfalls Sinn machen, da die Target-Objekte immer nur zwischen den beiden bislang gesetzten Key-Frames hin- und herpendeln müssen. Klicken Sie also doppelt auf den grauen Sequenzbalken hinter dem obersten Target-Objekt. Es öffnet sich ein Fenster, wie es ebenfalls in Abbildung 2. 63 zu sehen ist. Verkurzen Sie dort die Lange der Sequenz auf 24 Bilder und setzen Sie eine beliebige Anzahl an Wiederholungen ein. Ich habe dort drei Wiederholungen eingetragen. Sofort erkennen Sie im Feld darüber, dass diese Sequenz durch die Wiederholungen nun 75 Bilder - das Wort „Bilder" wird durch den Buchstaben „B" abgekürzt - lang ist. Dies entspricht also drei Sekunden, wenn eine Sekunde aus 25 Bildern besteht.
Sehr wichtig für uns ist hier noch das Abhaken der WEICH-Option. Diese sorgt dafür, dass die Wiederholungen der Sequenz und damit auch die Wiederholung der KeyFrames ohne sichtbaren Sprung erfolgen. Die Key-Framefreie Zone zwischen dem letzten Key-Frame und dem Ende der Sequenz bei Bild 24 wird also dafür genutzt, die Bewegung wieder auf den Stand des ersten Key-Frames der Sequenz zu bringen. In unserem Fall wird sich dadurch also das Target-Objekt wieder zur Position des ersten Key-Frames hinbewegen. Aktivieren Sie diese weiche Wiederholung samt der Verkürzung der Sequenz auf 24 Bilder für alle drei Target-Objekte. Leider können wir die Drehung der Kurbelwelle nicht so einfach durch weiches Wiederholen der Rotations-Sequenz automatisieren. Wurden wir die Sequenz auch hier verkurzen und die Wiederholung aktivieren, würde die Weile sich nur zwischen den Winkeln 45° und 405° hin- und herbewegen. Es fände keine fortlaufende Rotation statt. Bewegen Sie also den Zeitschieber, der in der Zeitleiste die Form eines grünen Kästchens hat, weiter nach rechts, bis Sie bei Bild 49 landen. Drehen Sie die Kurbelwelle in einem beliebigen Ansichtsfenster um weitere 360° um deren ZAchse und speichern Sie diese erneute Rotation wieder mit einem Rotations-KeyFrame ab. Die Kurbelwelle sollte nun bereits um 765° verdreht sein. Wiederholen Sie dies bei Position 74 B mit einem Winkel von 1125°, also 765° plus weitere 360° einer vollen Umdrehung. Die Kurbelwelle dreht sich damit im Sekundentakt immer um 360°, also eine komplette Umdrehung, weiter. Man könnte dies nach diesem Schema beliebig fortfuhren. Besonders für die Target-Objekte ist eine Veränderung der Lange der Animation sehr schnell durch Veränderung der Wiederholungszahl machbar. Bei der Kurbelwelle hängen Sie einfach jeweils im Abstand von 25 Bildern ein Key-Frame mit einer weiteren Rotation um 360° an. Wenn Sie den Zeitschieber nun langsam von Bild o nach rechts verschieben, sollten Sie die Rotation der Kurbelwelle mit der entsprechenden Bewegung von Pleuel und Kolben beobachten können. Die Animation ist somit vorerst abgeschlossen und Sie könnten das Objekt mit Materialien belegen, eine geeignete Kameraposition wählen und dann den Film berechnen lassen. All dies sind Arbeitsschritte die noch ausgiebig in einem folgenden Kapitel besprochen werden. Sichern Sie also die Szene für den spateren Gebrauch auf Ihre Festplatte. Sie finden die Szene zudem auch nochmals auf der CD zu diesem Buch.
Abbildung 2. 64: Exemplarisch dargestellte Zusammenfassung der Beziehungen zwischen den Objekten
Abschließend habe ich Ihnen in Abbildung 2. 64 noch einmal die unterschiedlichen Beziehungen der Objekte untereinander durch Pfeile eingezeichnet. Daraus ersehen Sie, dass die Pleuel die Position der Link-Objekte an der Kurbelwelle übernehmen. Sie bleiben dadurch auf den Achsen der Kurbelwelle, auch wenn sich diese dreht. Der Pleuel wird dabei durch die IK-EXPRESSION der untergeordneten Achse auf ein Target-Objekt außerhalb ausgerichtet. Die Kolben übernehmen die Position der Achse-Objekte aus den Pleuel und folgen daher der Bewegung der Pleuel exakt nach. Zudem orientieren Sie sich an der Neigung der Target-Objekte und werden so bezüglich ihrer Rotation fixiert. Wie Sie hier ansatzweise gesehen haben, sind Expressions, egal ob selbst geschrieben oder fertig abgerufen, eine sehr große Hilfe bei der Automatisierung von Bewegungen. Es lohnt sich also, sich mit den einzelnen Befehlen näher auseinanderzusetzen. Das Beispiel hat gezeigt, wie universell bereits eine einzige Expression einsetzbar ist. Wir werden uns daher im folgenden Kapitel noch naher mit diesen kleinen Programmen beschäftigen und an einem konkreten Beispiel lernen, wie vielfältig sich diese einsetzen lassen.
3
Expressions
Wie im letzten Kapitel zu sehen, haben Expressions durchaus ihre Vorteile, auch wenn die Programmierung nicht jedermanns Sache ist. Zumal wenn man seine persönlichen Schwerpunkte eher im Design oder der Modellierung sieht. Trotzdem werde ich mit Hilfe kleinerer Beispiele versuchen, Ihnen die gangigsten Befehle und Funktionen näher zu bringen. Danach wird es Ihnen sicher leichter fallen, selbst Expressions zu schreiben, oder aus Abwandlungen der hier vorgeführten eigene zu entwickeln.
3. 1 Die fließende Spirale Bitte nehmen Sie mir den merkwürdigen Titel dieses Beispiels nicht übel, aber mir fiel einfach keine bessere Umschreibung für das gangige Kinderspielzeug ein, das wir hier modellieren und vor allem animieren wollen. Sicherlich kennen Sie die eng gewickelten Metall- oder Kunststoffspiralen, die man - nach leichtem Anschubsen - z. B. Treppenstufen hinunterwandern lassen kann. Die Spirale neigt sich dabei zuerst über den Rand der ersten Stufe und wird dann von der Schwerkraft auf die folgende Stufe gezogen. Das am Schluss nachgezogene Stuck der Spirale erhält durch die Trägheit einen Bewegungsimpuls nach vorne und zieht so die Spirale wiederum über die Kante in Richtung 2. Stufe. Es ergibt sich damit eine fließende Abwärtsbewegung der Spirale, bis auch die letzte Stufe der Treppe überwunden wurde. Wir haben es hier also mit einer Biegung der Spirale zu tun - sie muss schließlich über die Kante einer Stufe zur nächsten Stufe eine Strecke zurücklegen -, und einer Veränderung der Länge. Die Spirale ist im Ruhezustand nämlich um einiges kurzer als während der Bewegung, wenn z. B. ein Ende noch auf der oberen Stufe liegt, während der ehemals obere Teil der Spirale schon die nächste Stufe erreicht hat. Lassen Sie uns mit der Modellierung einer stilisierten Spirale und einigen Würfeln, die unsere Treppenstufen darstellen sollen, beginnen. Als Platzhalter für die Spirale verwenden wir hier einen Zylinder, da dieser sehr viel weniger komplex ist und daher schneller in den Ansichtsfenstern dargestellt werden kann. Später tauschen wir ihn dann gegen eine richtige Spirale aus.
3. i. i Die Modellierung Rufen Sie zuerst einen ZYLINDER aus den Grundobjekten ab und übernehmen Sie für diesen die Einstellungen auf Abbildung 3, 1. Ansonsten ist hierbei nichts zu beachten, bis auf die Erhöhung der Segmentanzahl für die Höhe. Da der Zylinder gebogen werden soll, müssen wir für eine entsprechende Unterteilung sorgen. Wir haben ja schon im ersten Kapitel beim Biegen des Zylinders festgestellt, dass eine gleichmäßige und hohe Polygondichte bei Deformationen sehr nützlich sein kann. Da der Zylinder andererseits nur als Platzhalter für die Spirale dient, brauchen Sie es damit jedoch auch nicht zu übertreiben.
Abbildung 3. 1: Parameter für den Zylinder
Der Einfachheit halber belassen wir den Zylinder an Ort und Stelle und rufen jetzt einen WÜRFEL aus den Grundobjekten ab. Bringen Sie die Würfel auf die in Abbildung 3. 2 dargestellten Abmessungen. Der Würfel steht für eine Treppenstufe, über die der Zylinder nach unten gleiten soll. Damit diese Bewegung über mehrere Stufen animiert werden kann, sollten Sie noch weitere Würfel gleicher Größe hinzufügen. Kopieren Sie dazu einfach den Würfel noch zweimal. Sie sollten jetzt also 3 gleiche Würfel in Ihrer Szene haben.
Abbildung 3. 2: Parameter der drei Würfelstufen
Im nächsten Schritt setzen wir die Würfel an entsprechende Positionen, damit eine Treppe entsteht. Meine drei Positionen für die Würfel können Sie Abbildung 3. 3 entnehmen. Prinzipiell sind die Werte für die Positionen und auch die Größe der Stufen beliebig wählbar. Die von mir vorgegebenen Werte haben jedoch den Vorteil, dass sich ganzzahlige Abstände ergeben. Dies macht uns später das Rechnen etwas einfacher.
Abbildung 3. 3: Positionen der Würfelstufen Am besten arbeiten Sie bei den kommenden Schritten in der frontalen, also der XYAnsicht. Wir haben dann einen gemeinsamen Bezugspunkt für die weitere Arbeit. Die gesamte Szene sollte sich jetzt so darstellen, dass auf der obersten Stufe der Zylinder steht und rechts unterhalb von diesem zwei weitere Würfelstufen liegen. Schalten Sie in die Betriebsart LOKALE KOORDINATEN BEARBEITEN um und begrenzen Sie die Bewegungsfreiheit für das BEWEGEN-Werkzeug auf die Y-Achse. KONVERTIEREN Sie den Zylinder zu einem POLYGON-OBJEKT und ziehen Sie dann das Koordinatensystem des Zylinders herunter bis auf das Niveau seines Bodens (siehe Abbildung 3. 4). Da unser Zylinder direkt im Welt-Nullpunkt liegt und die Höhe exakt 200 m beträgt, sollte das Koordinatensystem also genau bei einer Welt-Y-Koordinate von 100 m liegen. Sie können diesen Wert also auch direkt in den KOORDINATEN-MANAGER eintragen.
Abbildung 3. 4: Verschieben des lokalen Koordinatensystems des Zylinders
Dieses Verschieben des lokalen Koordinatensystems ist deshalb so wichtig, da es nicht nur Drehzentrum eines Objekts ist - wie wir bereits bei dem Kolben und dem Pleuel gesehen haben -, sondern auch Startpunkt für Größenveränderungen. Da das untere Ende des Zylinder auch während des Verbiegens und Streckens auf der Stufe verbleiben muss, darf sich die Position des Bodens beim Skalieren also vorerst nicht verändern. Die Losung lautet, den Boden als Startpunkt für die spätere Skalierung zu definieren und damit das Koordinatensystem dorthin zu verschieben. Damit sind die Vorbereitungen abgeschlossen, und wir können uns mit dem Animieren beschäftigen.
3. 1. 2
Das Animieren des Zylinders
Wir beginnen mit dem Verbiegen des oberen Zylinderabschnitts in Richtung der zweiten Stufe. Für derartige Anwendungen ist der Biege-Deformator wie geschaffen. Sie finden das sogenannte BIEGE-OBJEKT im gleichen Menü wie den zuvor schon benutzten FORMEL-DEFORMATOR und das WICKELN-OBJEKT. Doppelklicken Sie auf das Symbol des BIEGE-OBJEKTS im OBJEKTE-Fenster und übernehmen Sie die Einstellungen aus Abbildung 3. 5. Der MODUS im BIEGE-OBJEKT definiert dabei, welcher Bereich des Objekts durch das BIEGE-OBJEKT verbogen werden soll. Die BEGRENZT-Einstellung sorgt dafür, dass nur der in den Einflussbereich des Deformators hineinragende Teil des Objekts verbogen wird. Der Deformator wirkt dann je nach Lage im Objekt wie ein Scharnier. Der KRÜMMUNG-Wert steuert über einen Winkel die Starke des Biegens. Ein Wert von 180° sorgt also dafür, dass ein Objekt zu einem „U" verbogen wird. Der RICHTUNG-Wert bezieht sich auf die Richtung, entlang derer gebogen wird. Da Sie diese Werte auch direkt in den Ansichtsfenstern über das Verschieben des Anfassers an dem BIEGE-OBJEKT steuern können, wird Ihnen das Zusammenspie! der Werte schnell verstandlich.
Abbildung 3. 5: Parameter des Biege-Objekts
Bevor wir jedoch etwas verbiegen können, muss das BIEGE-OBJEKT erst an die richtige Stelle gebracht werden. Dies gilt sowohl für das OBJEKTE-Fenster wie auch für die Position in den Ansichten. Deformatoren wirken im Allgemeinen nur auf übergeordnete Objekte. Wir könnten das BIEGE-OBJEKT also direkt unter dem ZYLINDER einordnen. Kurzfristig wurde dann alles wunschgemäß funktionieren; da wir den ZYLINDER jedoch die Treppen hinab bewegen wollen, wurde dadurch das BIEGE-OBJEKT auch mitbewegt. Wir werden zu einem spateren Zeitpunkt dieses Beispiels erkennen, welche katastrophalen Folgen das nach sich ziehen wurde. Glauben Sie mir bis zu der entsprechenden Stelle in diesem Arbeitsbeispiel einfach, dass dies nicht sehr wünschenswert wäre. Vor unlösbare Aufgaben stellt uns dies hier jedoch nicht, denn auch für solche Zwecke sind NULL-OBJEKTE sehr gut zu gebrauchen. Wenn wir das BIEGE-OBJEKT einem NULL-OBJEKT unterordnen, m dem zudem ein POLYGON-OBJEKT liegt, wird das POLYGONOBJEKT verformt, als ob man den Deformator direkt dem POLYGON-OBJEKT untergeordnet hatte. Von Vorteil ist jedoch, dass wir das POLYGON-OBJEKT frei bewegen können, ohne das BIEGE-OBJEKT mit zu verschieben. Es ist schließlich dem NULL-OBJEKT untergeordnet, das an Ort und Stelle verbleibt. Wie so oft sagt auch hier ein Bild mehr als umständliche Beschreibungen. Die entsprechende Anordnung von BIEGE-OBJEKT, ZYLINDER und NULL-OBJEKT sehen Sie in Abbildung 3. 6. Die gleiche Abbildung dokumentiert die wünschenswerte Position für das BIEGE-OBJEKT. Es bedeckt damit den kompletten oberen Teil des Zylinders. Wenn Sie das BIEGE-OBJEKT positionieren wollen, denken Sie daran, wieder in den MODELL — BEARBEITEN — Modus zurückzuschalten. In diesem Fall funktioniert es zwar auch im LOKALE-KOORDINATEN-BEARBEITEN-Modus, aber es ist besser, Sie gewöhnen sich eine gewisse Disziplin in Bezug auf die aktiven Modi an. Ein paar Zeilen tiefer im Text werden Sie verstehen, warum.
Abbildung 3 6: Lage und Einordnung des Biege-Objekts
Da BIEGE-OBJEKT und ZYLINDER jetzt in der richtigen Position zueinander stehen, können wir den Zylinder nun über den Deformator animieren. Dafür benutzen wir KeyFrames, wie schon im Kapitel zuvor. Zuerst müssen wir uns entscheiden, welche Werte als Key-Frames für das Objekt gesichert werden sollen. Für diesen Zweck gibt es die kleinen Icons am unteren rechten Bildschirmrand. Die Abbildung 3. 7 zeigt diese mit kurzen Benennungen ihrer Funktionen. Einige davon haben wir bereits im letzten Kapitel benutzt. Aktivieren Sie die Aufnahme von Parameterwerten, vergewissern Sie sich, dass der Zeitschieber auf dem Bild o steht, aktivieren Sie das Biege — Objekt und klicken Sie einmal auf das Aufnahme-lcon. Sie finden dies links von den Key-Frame-lcons in Form einer kleinen roten Kugel.
Komplette Hierarchie
Bewegen ——' Skalieren—!
Point Level Animation
l— Parameter -Rotieren
Abbildung 3. 7: Key-Frame-lcons
Verschieben Sie den Zeitschieber auf Bild 15, offnen Sie den Dialog des BlEGE-OBJEKTS durch einen Doppelklick auf dessen Symbol im OBJEKTE-Fenster und verandern Sie die Einstellungen dort entsprechend Abbildung 3. 8. Schließen Sie den Dialog über die OK-Schaltfläche und nehmen Sie wiederum ein PARAMETER-Key-Frame für das BIEGE-OBJEKT auf.
Wenn Sie jetzt mit gehaltener Maustaste den Zeitschieber langsam zwischen Bild o und Bild 15 hin- und herbewegen, können Sie die Krümmung des Zylinders beobachten. Aus der geraden Haltung m Bild o biegt der Zylinder sich langsam immer mehr, bis er in Bild 15 um 180° verbogen erscheint. Dass dabei das obere Ende des Zylinders in Bild 15 nicht exakt horizontal liegt, rührt daher, dass das BIEGE-OBJEKT den ZYLINDER um ein kurzes Stück überragt.
Abbildung 3. 8: Gebogener Zylinder
Darum werden wir uns gleich noch kümmern. Werfen wir zuvor in Abbildung 3. 9 noch einen Blick auf die Zeitleiste, die Sie ebenfalls schon aus Kapitel 2 kennen. Sie erkennen dort, dass durch die Aufnahme der Key-Frames automatisch eine Sequenz entstanden ist. Damit ist der graue Balken gemeint, auf dem die KeyFrames liegen. Vor der Sequenz steht der Name des Key-Frame-Typs. in unserem Fall sind es PARAMETER-Key-Frames. Es ist also nicht möglich, beliebige Key-Frames auf einer Sequenz zu mischen. Jede Art hat eine eigene Sequenz mit eigener Benennung. Sie werden dies spätestens bemerken, wenn wir jetzt GRÖSSE-Key-Frames für den Zylinder erzeugen.
Abbildung 3. 9: Animation der Biegung über Key-Frames
Bewegen Sie dazu den Zeitschieber wieder auf Bild o zurück, aktivieren Sie den Zy-
linder im OBJEKTE-Fenster und schalten Sie auf die Aufnahme von GRÖSSE-Key-Frames um. Alle anderen auf die rote Aufnahmekugel. Verschieben Sie dann den Zeitschieberauf Bild 15 und wiederholen Sie die Aufnahme eines GRÖSSE-Key-Frames. Wie Sie in Abbildung 3. 10 erkennen können, ist hinter dem Zylinder eine weitere Sequenz mit der Benennung Größe aufgetaucht. Auf dieser Sequenz finden sich nun die beiden neuen Key-Frames, die Sie soeben aufgenommen haben. Ebenfalls eingeblendet in der Abbildung 3. 10 sehen Sie als Erinnerung die aktivierte OBJEKT-BEARBEITEN-Betriebsart.
Abbildung 3. 10: Key-Frames für die Größe des Zylinders Die Aufnahme von GRÖSSE-Key-Frames ist heikel, da in diesen Key-Frames nicht die Abmessungen eines Objekts gespeichert werden, sondern die Längen der Koordinatenachsen. Grundsätzlich gibt es zwei Arten, ein Objekt zu skalieren, also dessen Größe zu
verändern. Bislang haben wir dafür das SKALIEREN-Werkzeug im MODELL — BEARB von dessen lokalem Ursprungentferntoderauf diesen zu bewegt. Die lokalen Koordinatenachsen bleiben davon unberührt.
Die zweite Möglichkeit besteht ebenfalls in der Benutzung des SKALIEREN — Werk-zeu sen verlängert oder verkürzt. Die Punkte des Objekts bleiben an Ort und Stelle, werden jedoch durch die verzerrten Achsen an anderen Positionen eingezeichnet. Das Ergebnis ist optisch also völlig identisch. Der große Unterschied besteht darin, dass sich nur die Veränderung der Achsenlängen in Form von Key-Frames animieren lässt. Will man die Größe eines
Objekts also über die Zeit animieren, muss die Skalierung des Objekts im OBJEKTE — B Fälle, wegen denen ich Sie um Aufmerksamkeit in Bezug auf die verwendete Betriebsart gebeten habe. ) Bei der Aufnahme der ersten beiden GRÖSSE-Key-Frames war es nicht so tragisch, falls Sie sich noch in der MODELL — BEARBEITEN — Betriebsart befunden haben, da die Größe des Zylinders noch nicht verändert wurde. Achten Sie jedoch zukünftig darauf.
Abbildung 3. 11: Verlängerung des Zylinders mit entsprechendem Key-Frame
Schalten Sie also nun in den OBJEKT — BEARBEITEN — Modus und aktivieren Sie das SKALIEREN-Werkzeug mit Begrenzung auf die Y-Achse für den Zylinder. Bewegen Sie den Zeitschieber auf Bild 20 und skalieren Sie den Zylinder solange, bis dessen oberes Ende die nächste Treppenstufe erreicht. Wie Sie Abbildung 3. 11 entnehmen können, ist dies in unserem Beispiel bei einer Y-Größe von 2. 3 m der Fall. Nehmen Sie hier wieder ein GRÖßE-Key-Frame für den Zylinder auf. Wie Sie erkennen können, ergibt sich nun, da der Zylinder das BIEGE-OBJEKT voltständig durchläuft, tatsächlich eine Krümmung von 180°, und beide Enden des Zylinders verlaufen absolut parallel.
Abbildung 3. 12: Der verlängerte Zylinder mit deaktiviertem Deformator
Im nächsten logischen Schritt muss sich das Zylinderende von der obersten Stufe lösen und der Zylinder auf der zweiten Stufe wieder zur ursprünglichen Größe zusammenschrumpfen. Hier begegnet uns ein Problem, denn das Skalieren hat seinen Bezugspunkt im lokalen Koordinatensystem. Da wir dies zu Beginn an das untere Ende des Zylinders verschoben haben, lässt sich der Zylinder nur von diesem Punkt aus skalieren. Verändern wir jetzt also die Größe des Zylinders, so wird sich dessen oberes Ende wieder von der zweiten Stufe der Treppe lösen und nach oben wandern. Es kommt also zu einer simplen Umkehrung der bisherigen Bewegung.
Wollen wir dies umgehen, muss der Zylinder gleichzeitig mit der verkürzenden Skalierung nach oben bewegt werden. Diese Verschiebung nach oben, die durch das BIEGE-OBJEKT gleichzeitig einen Versatz nach rechts und eine Umkehrung der Bewegung um 180° bedeutet, muss dabei so mit der Rücknahme der Skalierung gekoppelt sein, dass der Kontakt zur zweiten Stufe nicht verloren geht. Sie ahnen es wahrscheinlich bereits, dass hier wieder eine Lösung in Form einer einfachen Expression auf uns wartet. Bevor wir diese entwickeln können, müssen wir jedoch eine Formel erarbeiten, welche die Länge in Bezug zur Positionsänderung stellt. Ein guter Anhaltspunkt dafür ist die Position des Zylinderteils, das auf der zweiten Stufe haften bleiben soll. An diese Position in Relation zum Zylinder kommen wir, wenn wir die Deformatoren in der Szene kurzzeitig deaktivieren. Dafür ist ein einmaliges Anklicken der Deformatoren-Drawing-Pipeline auf der linken Interface — Seite ausreichend (siehe Abbildung 3. 12). Das Biege — Objekt verliert sofort seinen Einfluss auf den Zylinder, und wir können den Zylinder in seiner tatsächlichen Form betrachten. Der Zylinder ist durch die Skalierung in Bild 20 exakt 2. 3-mal länger als noch zu Beginn der Animation. Der obere Teil des Zylinders liegt nach dieser Skalierung exakt auf der zweiten Treppenstufe auf, wenn wir den Biege-Deformator wieder einschalten. Dies bedeutet, dass wir den nun oberen Rand des Zylinders festhalten müssen, während das untere Ende solange an dieses heranrückt, bis die ursprüngliche Länge wieder hergestellt ist. Um das obere Ende des Zylinders mit einer Expression festhalten zu können, müssen wir zuerst feststellen, wo dies im Raum liegt. Wechseln wir dazu einmal in den PUNKTE-BEARBEITEN-Modus und klicken einen beliebigen Punkt auf der oberen Deckfläche des Zylinders an. Werfen Sie einen Blick in das STRUKTUR-Fenster und suchen Sie dort die hell unterlegten Punktkoordinaten. Uns interessiert hier nur die Y-Koordinate, also die vertikale Position. Wir lesen dort einen Wert von 200. Kann dies stimmen? Der Zylinder war doch bereits zu Beginn 200 Einheiten hoch. Nun ist er um einiges länger. Dieser Unterschied hängt mit der bereits angesprochenen Skalierung der Objektachsen zusammen. Die Punkte bleiben an Ort und Stelle, erscheinen jedoch durch die verzerrten Achsen durchaus an ganz anderem Ort. Um die tatsächliche Position zu erfahren, müssen wir den Y-Wert der Position mit dem Skalierungsfaktor der entsprechenden Achse multiplizieren. In unserem Fall ergibt dies 2. 3 x 200, also 460. Die tatsächliche Höhe des Punkte beträgt also 460 m, und nicht nur 200 m. Da wir jedoch auch den Ursprung des lokalen Koordinatensystems verschoben haben, kommt ein weiterer Faktor hinzu. Wir müssen die Position des Objekts im Raum noch zu dieser Punktkoordinate hinzuzählen. Bei einer Y-Position des Objekts von 100 m ergibt sich daher ein endgültiger Wert von 360 m als Y-Wert für den oberen Zylinderrand.
2. 3 * 200 = 460 460-100 = 360
Abbildung 3. 13: Umrechnung von Objekt- in Welt — Koordinaten
Dies hätten wir auch einfacher erfahren können. Diesen Zwecken dient die Umschaltmöglichkeit zwischen OBJEKT- und WELT-System im KOORDINATEN-MANAGER. Selektieren Sie wieder einen Punkt auf der oberen Deckfläche des Zylinders und wechseln Sie im KOORDINATEN-MANAGER auf das WELT-System. Tatsächlich bekommen Sie dort nun den von uns berechneten Wert 360 m angezeigt. Trotzdem ist es für Sie von Nutzen zu wissen, wie dieser Wert zustande gekommen ist (siehe Abbildung 3. 13). 2. 3 * 200 = 460 460-100 = 360
Abbildung 3. 14: Expression für die automatische Anpassung der Größe bei Positionsveränderung
Vergeuden wir jetzt keine weitere Zeit und beschäftigen uns mit der Expression Rufen Sie eine neue COFFEE-EXPRESSION für den Zylinder auf und tippen Sie dort die Programmzellen aus Abbildung 3 14 ein Wie gewohnt stelle ich Ihnen die Befehlszeilen hier noch einmal detaillierter vor var Pos = op >GetPosition(), Der v a r Befehl sollte Ihnen bekannt vorkommen Damit werden Variablen reser viert oder auch gleich mit Werten gefüllt In diesem Fall sorgt op >GetPosition(), dafür, dass die Position des Zylinders, der sich hinter der Abkürzung op verbirgt, m der Variable Pos gesichert wird In den nächsten beiden Zeilen wird zuerst die Variable Ze t mit der Zeit gefüllt, an der zum Zeitpunkt des Aufrufs der Expression der Zeitschieber steht Danach er halt die Variable Bild die Bildnummer, die sich aus der eingestellten Zeit ergibt Diese etwas umständliche Abfrage ist notig, da wir m CINEMA 40 die Anzahl der Bilder pro Sekunde Animation frei einstellen können Die eingestellte Anzahl der Bilder pro Sekunde fließt über den Befehl doc >GetFps() m die Berechnung mit ein Sie können diese beiden Zeilen also exakt so auch m Ihre eigenen Expressions übernehmen, falls Sie irgendwo die aktuelle Bildnummer m der Animation benötigen var Zeit = doc >GetTime(), var Bild = Zeit->GetFrame(doc > G e t F p s ( ) ) ; Wenn Sie schon einmal mit Basic programmiert haben, kommt Ihnen sicherlich die kommende Programmzeile bekannt vor: if (Bild > 20) { } Mit einer so genannten if Abfrage kann man Programmabschnitte von Bedingungen abhangig machen Die Befehlszeilen, die nur dann ausgeführt werden sollen, wenn die Bedingung zutrifft, stehen m geschweiften Klammern In diesem Fall lautet die Bedingung „Fuhre die folgenden Befehle nur aus, wenn der Wert der Variablen Bild großer als 20 ist" Das heißt, dass die m den geschweiften Klammern stehenden Befehle nur dann ausgeführt werden, wenn die Animation weiter als Bild 20 fortgeschritten ist Ist diese Bedingung nicht erfüllt, werden die eingeklammerten Befehle einfach übersprungen und daher nicht ausgeführt In unserer Expression steht nur ein Befehl m den Klammern op > S e t S c a l e ( v e c t o r ( 1 , (360 Pos y ) / 2 0 0 D),
op > kennen Sie bereits Damit weisen wir dem Objekt, hinter dem die COFFEE — EXPRESSSION im OB Befehl die Große des Objekts Wie die Position oder der Winkel eines Objekts, so ist auch die Große ein Vektor, hier nämlich X Große, Y Große und Z-Größe
Bislang haben wir immer alle drei Komponenten eines Vektors m einer Variablen gespeichert Ein Beispiel dafür ist die Pos Variable m dieser Expression Obwohl wir nur das Wort Pos mit dem GetPosition() Befehl definiert haben, so enthalt die Variable Pos doch drei Werte, nämlich die X , die Y- und die Z Koordinate der Position Will man an einzelne Bestandteile eines solchen Vektors herankommen, so hangt man an die Vektor Variable einfach ein x, y oder z hinten an Mochte man also die Y Koordinate der Position erfahren, so steht diese m der Variable Pos y Das funktioniert m der anderen Richtung so, dass wir drei Werte über den vector () Befehl wieder zu einem Vektor zusammenfassen können Wir können also z B schreiben var Wert = vector (l, 128, 19) Dann enthalt Wert 2 bei einer Abfrage automatisch den Zahlenwert 19, da dies der Z-Anteil des Wert Vektors i st Kehren wir zu der Befehlszeile zurück Wie Sie dort m dem vector() Befehl er kennen können, sind der X und der Z Anteil des Vektors mit dem Wert i besetzt Dies bedeutet m unserem Fall, dass der Zylinder weder m dessen X- noch m dessen Z Richtung skaliert wird Die Große bleibt dort m jedem Fall konstant, so wie wir den Zylinder modelliert haben Der Y-Anteil des Vektors ist jedoch mit einer kurzen Formel definiert, die wie folgt lautet (360 Pos y ) / 2 0 0 Diese Beziehung zwischen den Werten für die Bestimmung der Hohe des Zylinders ergab sich aus der Berechnung, die wir m Abbildung 3 13 nachvollzogen haben Dort hieß es 200 (Y-Koordinate der oberen Punkte) x 2 3 (Y Große beim Erreichen der 2 Treppenstufe)-100 {Start Y Position des Zylinders) = 360 (Welt Y-Koordinate der oberen Punkte des Zylinders) Lost man diese Beziehung nach der Y Große auf, so erhalt man obige Formel Die Große wird durch die Variable Pos y laufend so angepasst, dass der obere Rand des Zylinders an Ort und Stelle verbleibt. Nach dem Kompilieren und Ausfuhren der Expression können Sie den EXPRESSION-EDITOR wieder schließen Setzen Sie zum Zeitpunkt 20 B ein POSITION Key Frame für den Zylinder, und verschieben Sie das zweite GRÖSSE Key Frame des Zylinders auf Bild 9 (siehe Abbildung 3 15) Das Verschieben von Key Frames können Sie dabei durch einfaches Anklicken und Verschieben mit dem Mauszeiger vollziehen Diese Verschiebung des GROSSE-Key Frames sorgt dafür, dass der Zylinder bereits an Lange zunimmt, noch wahrend die Biegung durch das BIEGE OBJEKT stattfindet Das hinzugekommene POSITION Key Frame halt die Lage des Zylinders bis zu diesem Zeitpunkt fest Da also keine anderen POSITION Key Frames vor dem Zeitpunkt 20 B existieren, wird die dort gespeicherte Position automatisch auch für die Zeit zwischen Bild o und Bild 20 übernommen
Abbildung 3. 15: Hinzugefugter Positions-Key-Frame
Verschieben Sie nun den Zeitschieber zum Bild 27 und bewegen Sie den Zylinder aufwärts entlang der Y-Achse. Sie sollten den Biege-Deformator dafür wieder aktiviert haben, um die Wirkung im ganzen Ausmaß zu sehen. Dank unserer Expression bleibt der Zylinder mit dem ehemals oberem Ende auf der zweiten Treppenstufe fixiert, während das untere Ende durch das BIEGE-OBJEKT wandert und der Zylinder schließlich wieder seine ursprungliche Form annimmt. Behalten Sie bei der Bewegung die Werte im KOORDINATEN-MANAGER im Auge. Dort sollten Sie bei der Position stoppen, bei der der Zylinder wieder eine Y-Größe von i eingenommen hat. Der Zylinder ist dann wieder auf die Startgroße geschrumpft. Wie Sie in Abbildung 3. 16 sehen, ist dies bei einer Y-Position von 160 m der Fall. Dort können Sie auch sehr gut erkennen, wie das BIEGE-OBJEKT nicht nur die Richtung, sondern auch die Position verändert hat. Durch die vier rechtwinkligen Ecken symbolhaft angezeigt, sehen Sie die tatsächliche Position des Zylinders. Setzen Sie in Bild 27 ein POSITION — Key — Frame für den Zylinder, um diesen Abschnitt der Animation zu fixieren.
Abbildung 3. 16: Positionsveränderung, bis die ursprüngliche Lange wiederhergestellt ist
Da wir jetzt die erste Stufe wortwörtlich genommen haben, wollen wir den Zylinder noch eine weitere Stufe hinabschicken. Dafür benötigen wir ein neues BIEGE-OBJEKT, da sich der Zylinder jetzt am ehemals unteren Ende biegen muss.
Rufen Sie also wieder ein BIEGE-OBJEKT ab und übertragen Sie die Einstellungen aus Abbildung 3. 17. Größe und Modus entsprechen dabei komplett dem ersten BIEGEOBJEKT. Es soll schließlich auch ebenso arbeiten. Damit auch dieses BIEGE-OBJEKT auf den Zylinder wirken kann, müssen Sie es in die gleiche Gruppe einordnen. Versuchen Sie es zuerst mit der Anordnung, die die Abbildung 3. 17 zeigt, also zuerst das alte dann das neue BIEGE-OBJEKT.
Abbildung 3. 17- Zweites Biege — Objekt für eine weitere Bewegungsphase des Zylinders
Abbildung 3. 18: Relative Lage des zweiten Biege-Objekts
Drehen Sie das neue BIEGE-OBJEKT um 180° um dessen Z-Achse und verschieben Sie es auf eine Hohe von 230 m. Diese Einstellungen können Sie natürlich auch direkt per Zahleneingabe im KOORDINATEN-MANAGER übernehmen (siehe Abbildung 3. 18). Wie Sie in der Abbildung sehen können, liegt bei ausgeschalteten Deformatoren das untere Ende des Zylinders komplett im neuen BIEGE-OBJEKT. Wenn Sie nun die Deformatoren wieder aktivieren und den orangen Anfasser des neuen BIEGE-OBJEKTS in einem Ansichtsfenster verschieben, passiert etwas Merkwürdiges. Der Zylinder scheint um einen entfernten Punkt zu rotieren. Es findet also nicht der gewünschte Knick des nun oberen Bereichs statt. Dies liegt daran, dass Deformationen der Reihe nach ausgeführt werden. Zuerst wird also die alte Deformation ausgeführt, da diese im NULL-OBJEKT als erste Deformation auftaucht. Erst danach findet die Biegung des neuen BIEGE-OBJEKTS statt. Durch die falsche Reihenfolge wurde der Zylinder also aus dem Wirkungskreis des folgenden Deformators „herausgebogen". Drehen Sie deshalb die Reihenfolge im NULL-OBJEKT um. Zuerst muss das neue BIEGE-OBJEKT eingeordnet sein, dann das alte, jetzt funktioniert alles nach Plan, denn das neue BIEGE-OBJEKT ist zu Beginn der Animation ja noch in neutraler Stellung und überführt den Zylinder, ohne ihn zu biegen m den Wirkungskreis des alten Deformators hinein. Wenn der Zeitpunkt für die Biegung des neuen BIEGE-OBJEKTS gekommen ist, ist der Zylinder schon längst aus dessen Wirkungsbereich entlassen. Abbildung 3. 19 zeigt also die korrekte Einordnung der Deformatoren.
Abbildung 3. 19: Neue Key-Frames für den Zylinder und das zweite Biege-Objekts Setzen Sie im Bild 27 ein PARAMETER-Key-Frame für das neue BIEGE-OBJEKT und wechseln Sie zu Bild 37. Setzen Sie dort ebenfalls ein PARAMETER-Key-Frame für das BIEGEOBJEKT. Diesmal jedoch mit einer 180°-Krümmung in Richtung o°. Da das neue BIEGE-OBJEKT um 180° um die Z-Achse verdreht ist, wird die 0°-Richtung ebenfalls um 180° gedreht und die Krümmung erfolgt in exakt der anderen Richtung als dies beim ersten BIEGE-OBJEKT der Fall war. Da der Zylinder jedoch ebenfalls durch das erste BIEGE-OBJEKT um 180° gedreht wurde, gleicht sich dies wieder aus, und die Krümmung erfolgt wieder in die richtige Richtung, nämlich der dritten Stufe entgegen.
Diese Zusammenhänge werden recht schnell deutlich, wenn Sie das zweite BIEGEOBJEKT über dessen Anfasserpunkt interaktiv verändern. Sie erkennen dann, dass ein Verschieben nach rechts eine Krümmung nach links auslöst. Da sich die Position des Zylinders während dieses zweiten Biege — Manövers
noch nicht verandern soll, nehmen Sie ebenfalls in Bild 37 ein weiteres POSITION — Key — Frame für
Abbildung 3. 20- Korrektur der Einordnung des zweiten Biege-Objekts Das Schöne an unserer Expression ist nun, dass sie uns weiterhin behilflich ist. Ziehen Sie den Zylinder langsam entlang der Y-Achse nach unten und Sie bemerken, wie sich dessen oberes Ende der dritten Stufe zuneigt, ohne den Halt des Zylinders auf Stufe 2 zu gefährden. Diese Bewegung ist genau das, was wir brauchen. Verschieben Sie den Zeitschieberauf Bild 45 und ziehen Sieden Zylinder auf eine Position herunter, so dass dessen Ende gerade die dritte Stufe erreicht. Dies sollte exakt bei der Position -100 m der Fall sein. Die Lange nimmt dadurch wieder den Faktor 2. 3 an (siehe Abbildung 3. 21). Halten Sie dies in einem Positions-Key-Frame für den Zylinder fest (siehe Abbildung 3. 22).
Abbildung 3. 22: Key-Frame für die Position des Zylinders setzen
So hilfreich wie die COFFEE-EXPRESSION bislang war, so störend wird sie nun, denn das bislang fixierte Ende des Zylinders muss sich nun von der zweiten Stufe lösen. Dies stellt uns aber auch vor keine größeren Probleme, denn wir haben die Expression ja bereits einmal zuvor auf einen Bereich begrenzt. Durch die if-Abfrage wird die COFFEE-EXPRESSION erst ab Bild 21 aktiv. Dort müssen wir also auch die Deaktivierung vornehmen: if (Bild>20 U Bild<46) Wir ergänzen dafür die Bedingung der if-Abfrage so, dass bei einem Zeitpunkt nach Bild 45 die Bedingung nicht mehr erfüllt wird. Über das &&-Zeichen können wir den logischen UND — Befehl mit in die Bedingung einführen. Wir lesen hier also: „Solange die Bild-Variable größer als 20 und gleichzeitig kleiner als 46 ist, führe die folgenden Befehle aus". Damit ist unser Problem gelöst, denn ab Bild 46 haben wir in der Animation wieder freie Hand, was wir mit der Größe und der Position des Zylinders veranstalten. Beide Werte sind dann nicht mehr voneinander abhängig (siehe Abbildung 3. 23).
Abbildung 3. 23: Anpassen der COFFEE-Expression auf den gewünschten Zeitbereich
Wechseln Sie jetzt zu Bild 51 und reduzieren Sie die Y-Größe auf einen Wert von i (siehe Abbildung 3. 24). Sie beachten dabei ja wieder, dass dies aus den angesprochenen Gründen nur im OBJEKT — BEARBEITEN — Modus gelingen kann. Nehmen Sie dann ein GRÖßE-Key-Frame für den Zylinder auf (siehe Abbildung 3. 25).
Interessant ist an dieser Position, dass wir uns angeblich wieder in der Ausgangsstellung befinden, obwohl wir doch zwei Stufen hinter uns gelassen haben. Dies liegt an den Richtungsumkehrungen der BIEGE-OBJEKT und an der unterschiedlichen Skalierungsrichtung durch unsere Expression.
Abbildung 3. 24: Der Zylinder ist wieder in der Ausgangsstellung angelangt.
Abbildung 3. 25: Reduzierung der Zylindergröße mit einem Key-Frame festhalten
Damit ist die Animation des Zylinders abgeschlossen, oder nicht? Bewegen Sie einmal langsam den Zeitschieber zwischen den Bildern 35 und 51 hin und her. Sie werden einen Sprung in der Längenveränderung bei Bild 46 feststellen. Dies ist exakt das erste Bild nachdem die Expression nicht mehr für eine berechnete Länge des Zylinders sorgt. Dies liegt daran, dass CINEMA 40 Veränderungen nur zwischen Key-Frames berechnen kann. Wenn also das letzte von uns gesetzte GRÖSSE-Key-Frame in Bild 20 liegt und das nächste dann erst in Bild 51 folgt, so wird die Veränderung zwischen diesen beiden Key-Frames auf den gesamten Zwischenraum verteilt. Da unsere Expression die GRÖSSE — Werte im Bereich zwischen Bild 21 und 45 selbst berechnet und somit die Werte der Key-Frame-lnterpolation überschreibt, haben wir davon bislang nichts bemerkt. Ab Bild 46 kommt dann jedoch dieser Zwischenwert wieder zutage.
Damit die Berechnung der Werte zwischen Bild 46 und Bild 51 wie gewünscht abläuft, muss also noch ein GRÖSSE-Key-Frame direkt in Bild 45 aufgenommen werden. Da in diesem Bild noch die Größe durch die Expression berechnet wird, brauchen wir nur den Aufnahmeknopf zu betätigen, um das GRÖSSE-Key-Frame mit dem richtigen Wert zu setzen (siehe Abbildung 3. 26). letzt wird die Größenveränderung in den letzten Bildern der Animation perfekt berechnet.
Abbildung 3. 26: Die durch die Expression unterbrochene Key-Frame-lnterpolation korrigieren Nach diesem Schema können Sie beliebig viele Stufen zurücklegen. Der Zylinder wird dabei zwischen den beiden Positionen hin- und herbewegt. Sie müssen nur die entsprechenden BIEGE — OBJEKTE hinzufügen und richtig einordnen. So können Sie z. B. das erste BIEGE-OBJEKT durch Kopieren an die oberste Stelle bringen und damit die Krümmung in Richtung nächster Stufe einleiten (siehe Abbildung 3. 27). Die automatisch mitkopierten PARAMETER-Key-Frames müssen dann jedoch an einen späteren Zeitpunkt verschoben werden. Ebenso können Sie natürlich die Geschwindigkeit der Animation beliebig variieren. Die von mir angegebene Abstände für die Key-Frames sind völlig willkürlich gewählt worden. Denken Sie nur daran, die COFFEE-EXPRESSION entsprechend zu verändern, wenn Sie das Timing der Animation durch Verschieben der Key-Frames verändern. Die if-Abfrage dort muss dann auf den neuen Bilderbereich umgestellt werden. Gleiches gilt für die Abstände der Treppenstufen oder die Größenverhältnisse des Zylinders. All dies sind Werte, die in die Formel der Expression mit eingeflossen sind und dann ebenfalls angepasst werden müssen.
Abbildung 3. 27: Beispiel "-, ^; -CT^^'^^C ce'~: värtsbewegung
3. 1. 3 Austauschen des Zylinders Sie erinnern sich sicher noch, dass der Zylinder eigentlich nur ein Platzhalter für die komplexere Spirale war, damit wir flüssiger arbeiten können. Wenn wir die gleichen Größenverhältnisse auch für die Spirale verwenden, sollte der Austausch jedoch problemlos möglich sein. Prinzipiell sollte unsere Animation sogar mit jedem beliebigen Objekt funktionieren, das die gleiche Größe wie der Zylinder hat. Beginnen wir also damit, eine HELIX aus den Spline — Grundobjekten abzurufen. Klicken Sie doppelt auf das Helix-Symbol im OBJEKTE-Fenster und übernehmen Sie die Einstellungen aus Abbildung 3. 28. Wie Sie dort sehen können, bringen wir damit die Helix auf die gleichen Abmessungen wie den Zylinder. Einzig der Endwinkel und die UNTERTEILUNG sind in größeren Grenzen frei wählbar. Wenn Sie also die Anzahl der Windungen verringern möchten, reduzieren Sie den WINKEL-ENDE-Wert. Die Anzahl der Unterteilungen sorgt später in Zusammenarbeit mit dem SWEEP-NURBS für einen möglichst runden Verlauf der Spirale. Zu niedrige Werte führen hierzu unschönen Ecken. Setzen Sie den Zeitschieber auf Bild o und benutzen Sie die ÜBERNEHMEN-Funktion im FUNKTiONEN-Menü, um die Helix an exakt die gleiche Position wie den Zylinder zu stellen (siehe Abbildung 3. 28).
Abbildung 3. 28: Ersetzen des Zylinders durch eine Helix
Als Profil des Drahtes, der die Spirale bilden soll, wähle ich einen KREIS — Spline aus dem gleichen Menü wie die HELIX. Um nicht mit einem kreisrunden Profil zu arbeiten, aktivieren Sie dort die ELLIPSE-Option und übernehmen die Werte aus Abbildung 3. 29Wichtig ist dabei, dass das Profil, in diesem Fall die Ellipse, in der XY-Ebene liegt. Überprüfen Sie also die EBENE-Einstellung im KREIS-Dialog. Falls hier eine andere Ebene eingestellt ist, führt die senkrechte Ausrichtung auf dem HELIX — Spline nicht mehr zu dem erwünschten Ergebnis.
Abbildung 3. 29: Eine Ellipse als Querschnitt des Materials der Spirale verwenden
Um aus Helix — Spline und Ellipse tatsächlich eine massive Spirale zu modellieren, benötigen wir noch ein SWEEP-NURBS-Objekt aus dem NURBS — Menü. Ellipse und Helix müssen jetzt derart unter dem SWEEP-NURBS eingeordnet werden, dass zuerst das Profil und dann der Pfad zum Zuge kommen.
Das Sweep-NURBS sorgt dann dafür, dass das Profil auf dem Pfad entlangwandert und dabei eine Hülle aus Polygonen erzeugt. Ob zusätzlich die Enden mit DECKFLACHEN geschlossen werden sollen, stellen Sie im dazugehörigen SWEEP-NURBS-Dialog ein (siehe Abbildung 3. 30).
Abbildung 3. 30: Die Spirale mit einem Sweep-NURBS modellieren Sie sollten nun eine eng gewickelte Spirale um den Zylinder herum erkennen können. Schalten Sie die Ansichten ggf. auf QUICKSHADING um, um eine schattierte Ansicht auf die Objekte zu erhalten.
Abbildung 3, 31: Strg-/Ctrl-Kopien auf das Helix — Objekt verschieben. Da die GRÖSSE- und PosiTiON-Sequenzen ebenso mit der Helix funktionieren, können Sie diese vom Zylinder auf die Helix ziehen. Halten Sie dazu [Strg] bzw. [Ctrl] ge-
drückt, Klicken Sie auf das Wort POSITION hinter dem Zylinder-Objekt in der ZEITLEISTE und halten Sie die Maustaste gedrückt. Verschieben Sie dann den Mauszeiger an die entsprechende Stelle hinter dem Helix — Objekt in der ZEITLEISTE und lassen Sie die Maustaste und die [ S t r g ] - / [ C t r l ] - T a s t e los. Sie haben damit eine identische Kopie der gesamten Sequenz samt alter Key-Frames darauf erzeugt. Gehen Sie ebenso bei der GROSSE-Sequenz vor, wie es Abbildung 3. 31 zeigt.
Abbildung 3. 32: Deformatoren und Expression auf Helix — Objekt ziehe n. Nach dem gleichen Schema kopieren Sie jetzt die beiden Deformatoren und die Expression. Diesmal arbeiten Sie jedoch im OBJEKTE-Fenster, wie es Abbildung 3. 32 zeigt. Beachten Sie bei den Biege — Objekten, dass die Reihenfolge beibehalten wird. Die PARAMETER — Sequenzen der BIEGE — OBJEKTE wurden durch diese Aktion automatisch mitkopiert. Werfen wir einen Blick auf Abbildung 3. 33. Sie sollten ähnlich merkwürdige Beobachtungen machen können, wenn Sie den Zeitschieber langsam vorwärts bewegen. Die Spirale verhält sich völlig anders als der Zylinder. Die Fehlerquelle ist schnell gefunden. Vielleicht erinnern Sie sich noch an meinen Hinweis zu Beginn des Beispiels, als wir die BIEGE — OBJEKTE dem NULL-OBJEKT untergeordnet haben und nicht dem Zylinder direkt. Da sich die Helix wegen der POSITION-Key-Frames bewegt, werden bei dieser Anordnung die BIEGE — OBJEKTE mit ver-
schoben. Dies macht also den Unterschied zwischen der Zylinder- und der Helix — Animation aus, s Man konnte jetzt auf die Idee kommen, die Deformatoren nicht der Helix direkt, sondern dem SWEEP-NURBS unterzuordnen. Ein cleverer Gedanke, der auch fast zum Ziel führt. Leider wird dadurch jedoch auch der Ellipse-bzw. Kreis-Spline deformiert. Das Profil der Spirale liegt schließlich in der gleichen Gruppe. Die Dicke der Profile verändert sich damit während des Biegens!
Abbildung 3. 33: Fehlerhafte Deformation durch mitbewegte Deformatoren.
Abbildung 3. 34: Automatische Positionskorrektur durch Expressions.
Die Lösung bringt hier wieder eine kleine Expression, die die BIEGE — OBJEKTE an Ort und Stelle belässt, obwohl das übergeordnete Objekt bewegt wird. Hört sich kompliziert an, ist aber tatsächlich nur ein Zweizeiler: var bieger = doc -> FindObject („Biege-Obj"); op -> SetMg (bieger -> GetMg()); Die erste Zeile speichert die Daten des Objekts Biege-Obj in die Variable bieger. Die zweite Zeile sucht aus der Variablen bieger die globale Matrix heraus, die Position, Große und Winkel enthalt, und überträgt diese auf das op-Objekt. Sie werden sich vielleicht fragen, was das Biege-Obj nun ist, da bislang kein Objekt diesen Namen trägt. Damit diese Technik funktionieren kann, müssen wir die Namenderalten BIEGE — OBJEKTE beim Zylinder verändern. Ansonsten kann die Expression nicht feststellen, welches BIEGE-OBJEKT wir meinen. Expressions gehen nämlich nur nach dem vergebenen Namen vor. Der vergebene Name ist natürlich völlig willkürlich gewählt. Hauptsache die Namen unterscheiden sich von denen der Biege — Objekte bei der Helix, damit es dort nicht zu Verwechslungen kommen kann.
Ergänzen Sie also die in Abbildung 3. 34 abgebildeten Expressions für die beiden BIEGE — OBJEKTE der HELIX. Achten Sie darauf, dass die BIEGE — OBJEKTE auch tatsächlich die korrekte Position übernehmen.
Abbildung 3. 35: Die Spirale folgt jetzt den Deformationen des Zylinders.
Im Ansichtsfenster sehen wir jetzt, dass sich die Spirale nun ebenso wie zuvor der Zylinder verformt {siehe Abbildung 3. 35). Es bleibt nun noch die Deaktivierung der beiden alten BIEGE — OBJEKTE. Klicken Sie dazu einmal auf die grünen Haken hinter den Deformatoren. Damit lassen sich einzelne Deformatoren ein- und ausschalten, ohne gleich alle Deformatoren in einer Szene über die Drawing-Pipeline ausschalten zu müssen. Zudem sollten Sie die Zylindergruppe über rote Punkte dahinter unsichtbar machen. Mit der Spirale haben wir ja jetzt ein sehr viel! ansprechenderes Objekt vor uns.
Abbildung 3. 36: Ausblenden und Deaktivieren der Zylinder-Gruppe führt zum gewünschten Ergebnis.
Damit sind wir am Ziel, denn die Spirale folgt Jetzt exakt der Bewegung und Verformung des Zylinders. Ohne Expressions wäre diese Aufgabe nur mit erheblichem Mehraufwand und selbst dann wahrscheinlich nicht so exakt machbar gewesen. Speichern Sie die Szene für die spätere Berechnung auf Ihrer Festplatte ab. Alle Arbeitsschritte, die mit der Texturierung und der Berechnung zu tun haben, werden konzentriert in einem späteren Kapitel behandelt.
3. 2
Bewegungsabläufe automatisieren
Bislang haben uns Expressions dabei geholfen, Objekte automatisch auszurichten oder diese zu positionieren. In diesem Beispiel werden wir lernen, dass mit Expressions noch weit mehr möglich ist.
Wir werden nicht nur Punkte damit steuern, sonderauch noch einen Morphing -Algorithmus entwickeln, der üb Morph-Sequenz hinausgeht. Dies hört sich komplizierter an, als es tatsächlich ist. Ich werde mir dennoch besondere Mühe geben, Ihnen die Mathematik hinter diesem Vorgang zu erläutern, da sich diese Methode auch für viele andere Aufgaben eignet. Wie bereits gesagt, ist dies ansonsten so mit den eingebauten Möglichkeiten von CINEMA 40 nicht möglich. Wir beginnen mit dem Bau einer kleinen Maschine, die hauptsächlich aus drei Zylindern und einem Seil besteht. Damit das Seil umgelenkt werden kann, kommen noch ein paar Ring — Objekte hinzu. Beginnen Sie damit, drei ZYLINDER aus den Grundobjekten aufzurufen und für diese die Einstellungen und Positionen aus Abbildung 3. 37 zu übernehmen. Sie sollten danach drei ineinander verschachtelte Zylinder erkennen können, wobei der jeweils kleinere Zylinder aus dem größeren herausragt. Als Führungen für das noch zu modellierende Seil — Objekt benutze ich einfache RING-Objekte, die Sie ebenfalls im OBJEKTE-Menü finden. Wir benötigen davon vier Exemplare gleicher Größe. Einziger Unterschied zwischen den Ringen ist dabei, dass einige die +Y- und einige die +X — Richtung benutzen (siehe Abbildung 3. 38). Dies sorgt dafür, dass zwei Ringe waagerecht und zwei senkrecht stehen. Man hätte dies natürlich auch durch nachträgliches Drehen der Objekte erreichen können. Übernehmen Sie ebenfalls die entsprechenden Positionen, wie sie Abbildung 3-38 zeigt.
Abbildung 3. 37: Drei Zylinder konfektionieren und positionieren
Abbildung 3. 38: Vier Ringe konfektionieren und positionieren
Das Gerät soll noch eine Art Ausleger bekommen, auf dem zwei Würfel befestigt sind. Einer der Würfel soll beweglich auf dem Ausleger gleiten können, der andere als Anschlag dienen. Wie das funktionieren kann, zeige ich später. Übernehmen Sie vorerst die Daten aus Abbildung 3. 39 für den Zylinder und die beiden Würfel.
Abbildung 3. 39. - Zylinder und Würfel hinzufugen
Damit ist das Gerat komplett und sollte sich wie in Abbildung 3. 40 präsentieren. Bevor wir die Objekte nun nach Baugruppen sortieren und hierarchisch ordnen, fügen wir noch einen Spline hinzu, der das erwähnte Zugseil darstellen soll.
Abbildung 3. 40: Das Gerat mit seinen mechanischen Baugruppen
Wahlen Sie dazu aus den Splines den AKIMA-Spline aus und beginnen Sie in der XYAnsicht - unten am Boden des untersten Zylinders beginnend - insgesamt acht Spline-Punkte zu erzeugen. Sie müssen Sie dafür im PUNKTE-BEARBEITEN-Modus befinden. Positionieren Sie die Punkte ungefähr so, wie es die Abbildung 3. 41 zeigt. Die Punkte 2, 5, 6 und 7 liegen dabei genau in den Offnungen der Ring-Objekte. Der erste Punkt, bzw. der Punkt mit der Nummer o, sollte innerhalb aber nahe der Außenwand des größten Zylinders liegen. Die Punkte i, 3 und 4 beulen den Spline seitlich leicht aus.
Abbildung 3. 41: Einen Akima-Spline als Seilzug hinzufugen
Da dieses Gerät auch bewegt werden soll, müssen die Objekte zu sinnvollen Gruppen zusammengefasst werden. Die Hauptgruppen, an denen sich dabei alles zu ori-
entieren hat, sind die drei Zylinder. Benennen Sie diese entsprechend ihrer Position mit Basis, Mitte und Oben.
Gruppieren Sie dann den Ring auf dem Ausleger mit dem darunter liegenden Würfel- Diese Objekte bilden eine Einheit, die sich auch so bewegen lassen soll. Ebenso verfahren Sie mit dem Auslegerzylinder und dem zweiten Würfel. Diese beiden Gruppen ordnen Sie dem Oben — Zylinder ebenso unter wie die beiden Ringe, die oben und seitlich an dem Oben — Zylinder befestigt sein sollen. Der Mitte-Zylinder bleibt für sich allein, da keine anderen Objekte direkt mit ihm verbunden sind. Der Basis-Zylinder bekommt nur den einen seitlichen Ring untergeordnet. Um den Seilzug zu modellieren, rufen Sie einen KREIS — Spline auf, geben diesem einen Radius von 5 m und ordnen Kreis und Seilzug — Spline in einem schon bekannten SWEEP-NURBS. Das Seil bekommt dadurch eine Dicke von 10 m und wird damit bei der Berechnung später auch dargestellt, was bei Splines allein nicht der Fall ist. Übernehmen Sie bitte meine Benennung der Objekte aus Abbildung 3. 42. Sie wissen ja, dass Expressions Objekte nach deren Namen auffinden. So ist hier sichergestellt, dass Sie die jetzt besprochenen Expressions auch ebenso übernehmen können.
Abbildung 3. 42- Den Seilzug — Spline mit einem Kreis-Spline in einem Sweep-NURBS verbinden und die Baugruppen hierarchisch ordnen.
Sinn der jetzt folgenden kurzen Expressions ist es, die Bewegungsmöglichkeiten der beiden oberen Zylinder zu begrenzen, aber auch voneinander abhangig zu machen. Beim Verschieben des Oben — Zylinders soll dieser nicht nur senkrecht nach
oben oder unten wandern, sondern automatisch den Mitte-Zylinder mitziehen, falls eine größere Lange ansonsten nicht mehr erreicht werden könnte. Beginnen wir mit der Expression für den Oben — Zylinder aus Abbildung 3. 43. Rufen Sie eine COFFEE-EXPRESSION für den Oben — Zylinder im OBJEKTE-Fenster ab und übernehmen Sie den Text aus der Abbildung, der mit dem Wort „Oben" gekennzeichnet ist. Hier sollte Ihnen fast alles bekannt vorkommen. Beginnen wir mit einer zeilenweisen Besprechung: var opglobal, pos; opglobal = op -> GetMg(); pos = opglobal -> GetV0(); Hier werden über die var-Befehl die beiden von mir gewählten Worte opglobal und pos als Variablen reserviert und dann mit Werten gefüllt. Zuerst bekommt die Variable opglobal die globalen Werte des op-Objekts, also des Objekts hinter dem die Expression steht, und dann erhalt die pos-Variable den Positionsvektor des op-Objekts, der sich ja im V0 — Fach verbirgt. Lassen Sie sich in der Abbildung nicht von den Zeilen irritieren, die von zwei Schrägstrichen eingeleitet werden. Dies sind so genannte Kommentare, die nichts mit der Funktion der Expression zu tun haben. Man kann solche Zeilen bei längeren Expressions einfügen, um sich selbst eine Hilfestellung zu geben, was in den folgenden Abschnitten berechnet oder ausgelost wird. Dies erleichtert das Zurechtfinden in Expressions erheblich. Gewöhnen Sie sich dies auch an, wenn Sie Expressions z. B. an Dritte weitergeben mochten. Derjenige hat es dann viel leichter, die Funktionsweise der Expression zu verstehen. CINEMA 40 selbst überspringt beim Ausfuhren der Expression diese Zeilen.
if (pos. y < 80) pos. y = 80; if (pos. y > 720) p o s . y = 720;
Hier begegnen uns zwei if — Abfragen, die wir auch schon im vorherigen Beispiel benutzt haben. In der Klammer steht jeweils eine Bedingung. Wenn diese Bedingung erfüllt ist, wird der Befehl ausgeführt, der in geschweiften Klammern unter dem if — Befehl folgt. So haben wir es z Hier sehen Sie eine verkürzte Schreibweise, die dadurch möglich wird, dass nur ein Befehl auszufuhren ist, wenn die Bedingung zutrifft. In solchen Fallen kann der Befehl oder die Aktion direkt hinter die Klammer der Bedingung geschrieben werden. Die erste if-Abfrage überprüft, ob die Y-Position kleiner als So ist. Ist dies der
Fall wird der Befehl hinter der Klammer ausgeführt. Dieser besagt, dass die Y-Position gleich So ist. Diese Konstell So unterschreiten kann. Ganz ähnlich funktioniert die zweite if — Befehlszeile. Dort wird jedoch der obere Bewegungsfretraum begrenzt, denn jede Position über 720 führt zu einer Zurückstufungauf den Wert 720. So einfach wie diese Zeilen anmuten, so mächtig sind Sie auch; Sie können durch geschicktes Begrenzen der Bewegungsfreiheit z. B. den Fuß einer Figur daran
hindern, durch den Boden zu treten, oder mechanische Scharniere automatisieren. Die gleiche Methode funktioniert nicht nur mit Positionswerten, sondern auch mit der Größe oder der Richtung eines Objekts. Wir haben jetzt den Y — Positionswert ggf. zurechtgestutzt und müssen diesen wieder in das V0 — Fach zurückschreiben: opglobal -> SetV0 (vector ( 0 , pos. y, 0 ) ) ; Da wir nur den Y-Wert des Positionsvektors verändert haben, müssen wir diesen mit dem X- und dem Z-Wert wieder zu einem Vektor zusammenfügen. Wir haben da-
für bereits den vector ()-Befehl kennengelernt. Wollten wir die alten X- und Z — Werte wieder überneh pos. z). Wir haben hier jedoch die Möglichkeit, noch eine andere Beschränkung einzubauen, nämlich die Festlegung auf eine Koordinate. Indem wir hier den X- und den Z-Wert der Position mit der Zahl o vorgeben, lässt sich dadurch der Zylinder nicht mehr nach links oder rechts, bzw. nach vorne oder hinten verschieben. Dies geht in diesem Fall, da der Zylinder direkt im Ursprung, also auf der Position 0, 0, 0 generiert und nur nach oben verschoben wurde. Ansonsten müsste man hier die entsprechenden X- und Z — Koordinaten eintragen, an denen sich das Objekt befinden soll. Jetzt bleibt uns nur noch, die neuen Werte komplett an das op-Objekt zu übergeben:
op -> SetMg(opglobal); Damit sind wir für den Oben — Zylinder schon fertig. Eine ganz ähnliche Expression schreiben wir uns jetzt für den Mitte-Zylinder: var master = doc -> FindObject („Oben"); var mglobal, opglobal, mpos, pos; opglobal = op -> G e t M g ( ) ; mglobal = master -> G e t M g ( ) ; mpos = mglobal ->GetV0(); Die erste Zeile läutet die kleine Veränderung ein, die wir für dieses Objekt berücksichtigen müssen. Das sich der Mitte-Zylinder automatisch mitbewegen soll, wenn der Oben — Zylinder eine bestimmte Höhe überschreitet, müssen wir die Position des Oben — Zylinders mit einbeziehen. Wir übertragen daher zuerst in die Variable master die Daten des Oben-Zylinders mit dem doc -> FindObject(„Oben")-Befehl und speichern dann die globale Matrix mit master -> GetMg() in mglobal und schließlich daraus den Positionsvektor mit mglobal -> GetV0() in mpos ab. Die globale Matrix des Mitte-Zylinders wird über opglobal -> GetMg() gesichert.
pos = mpos. y - 40;
Abbildung 3. 43: Bewegungsfreiheit der Zylinder begrenzen
Hier kommt der eigentliche Trick dieser Expression, denn wir weisen der pos-Variable einfach die Y-Koordinate des Oben-Zylinders abzüglich eines Offsets von 40 zu. Dies führt normalerweise dazu, dass sich der Mitte-Zylinder immer 40 m unter dem Oden-Zylinder befindet. Das hätten wir auch mit einem Unterordnen des MitteZylinders unter den Oben — Zylinder erzielen können. Ergänzt wird dies jetzt jedoch durch eine eigene Bewegungsfreiheit des MitteZylinders: if (pos < 40} pos = 40; if ( p o s > 370) pos = 370;
Wie in der Expression zuvor wird hier die Bewegungsfreiheit mit zwei if-Abfrage eingeschränkt. Der Mitte-Zylinder kann somit weder eine Position unter 40 m noch
über 370 m einnehmen. Besonders die Begrenzung nach oben ist hier entscheidend, da dies die Regel durchbricht, dass der Mitte-Zylinder immer 40 m unter dem
Oben-Zylinder liegt. Ab einer Hohe von 370 m bleibt er hangen und folgt dem Oben-Zylinder erst wieder n der Mitte-Zylinder an die Anfangsposition zurückgeführt. Die Begrenzung nach unten hätte man sich hier sogar noch sparen können, da der Oben-Zylinder bereits nach unten begrenzt ist. opglobal -> SetV0 vector ( 0 , pos, 0) ); op -> SetMg ( o p g l o b a l ) ; Hier wird der Positionsvektor wieder mit den Werten (o, pos, o) gefüllt, um auch beim mittleren Zylinder ein seitliches Ausweichen oder eine Bewegung in die Tiefe zu verhindern. Schließlich folgt die Übertragung auf das op-Objekt. Werfen wir einen Blick auf unsere Szene und testen wir unsere Expressions einmal (siehe Abbildung 3. 44). Aktivieren Sie den Oben-Zylinder und verschieben Sie diesen in eine beliebige Richtung. Sie werden sehen, dass sich der Zylinder nur nach oben oder unten verschieben lässt. Ab einer gewissen Höhe trennt sich dann der mittlere Zylinder von der Bewegung des Oben-Zylinders ab und bleibt stehen. Erst bei der Abwartsbewegung des Oben-Zylinders bewegt sich dieser wieder von der Stelle.
Die Ringe und der Ausleger folgen automatisch mit, da diese direkt dem Oben-Zylinder untergeord Sweep-NURBS? Das Objekt lässt sich nicht unmittelbar nur einem der Zylinder zuordnen. Es kommt hinzu, dass sich der Spline der Position der Zylinder anpassen müsste. So kann es jedenfalls nicht bleiben, wie die Abbildung 3. 44 zeigt. Der Spline verharrt völlig unbeweglich und hat daher keinen Bezug mehr zu den Ringen und den Zylindern.
Abbildung 3. 44: Resultierender Bewegungsablauf bei Auf-/Abbewegung des obersten Zylinders
Es gilt jetzt also einerseits Punkte des Splines an den Ringen fest zu halten und andererseits eine glaubhafte Streckung der jetzt noch „schlaffen" Bereiche des Splines bei Bewegung des obersten Zylinders umzusetzen. Werfen wir zuerst einen Blick auf den Status quo, also die Punktkoordinaten des Splines in der unteren Stellung der Apparatur {siehe Abbildung 3. 45).
Abbildung 3. 45: Punkt-Koordinaten des Splines m der Ausgangsstellung
Wechseln Sie dazu in den PUNKTE-BEARBEITEN-Modus, aktivieren Sie den Seilzug — Spline im SWE durch einen Doppelklick auf einzelne Werte direkte Zahleneingaben vornehmen. Damit wir eine vergleichbare Ausgangslage haben, übernehmen Sie bitte die Werte aus Abbildung 3. 45 für Ihren Spline. Es steht Ihnen naturlich frei, die Spline-Punkte an andere Positionen zu setzen. Sie müssten dann nur die später beschriebene Expression entsprechend verandern. Nehmen Sie sich ein Blatt Papier zur Hand und notieren Sie die Positionen der Punkte i, 3 und 4. Dies sind die Punkte, die die „schlaffen" Bereiche des Splines definieren. Wenn Sie meine Werte übernehmen möchten, können Sie auf diese Notiz natürlich verzichten. Im nächsten Schritt wechseln Sie in den MODELL-BEARBEITEN-Modus zurück und verschieben den Oben-Zylinder auf eine Höhe, von der Sie glauben, dort müsse das Seil gespannt sei. Lesen Sie bei dieser Höhe die Y-Koordinate des senkrechten Ringes oben auf dem Oben-Zylinder ab. Ich erhalte dafür einen Wert von 665 m (siehe Abbildung 3. 46). Die Wahl dieses Objekts in der Oben-Gruppe war völlig willkürlich. Sie hätten auch den Oden-Zylinder selbst oder ein anderes Objekt der Gruppe ablesen können. Spater wichtig ist nur die numerische Differenz zwischen dieser Position und der Startposition des abgelesenen Objekts in der untersten Stellung.
Wechseln Sie jetzt ohne das Objekt weiter zu verändern, wieder in den PUNKTE — Modus und verschie entsteht. Meine Werte dazu entnehmen Sie der Abbildung 3. 47.
Abbildung 3, 46: Festlegung einer Grenzhöhe
Abbildung 3. 47: Zielpositionen der Punkte i, 3 und 4 bei Erreichen der Grenzhöhe
Was ist nun der Sinn dieser Schritte? Wir haben jetzt zwei Stadien eines Objekts definiert, in diesem Fall des Splines. Eine Überführung von Stadium i in das Stadium 2 eines Objekts nennt man Morphing. Dabei wird jeder Punkt des Objekts von seiner Ausgangsstellung in die Zielstellung gebracht. CINEMA 40 kennt für diese Zwecke z. B. PLA, also die Point Level Animation. Bei dieser und alten übrigen eingebauten Morphing — Methoden handelt es sich jedoch um Key — Frame — basierte Funktionen. Dies bedeutet, wir müssen uns entscheiden, zu welchen Zeitpunkt weiches Stadium erreicht werden soll. Ein Innehalten in einem derartigen Morphing ist ebenfalls nicht möglich. Dazu müssten Zwischenstadien generiert werden, die z. B. den Spline in einer halb gespannten Position darstellen. Dies alles kann uns nicht gefallen, denn dadurch geht die Interaktivität unserer Maschine verloren. Ich möchte die Maschine mit dem Mauszeiger „live" bewegen können, ohne Key-Frames zu setzen.
3. 2. 1 Wie funktioniert Morphing? Damit dies funktionieren kann, werfen wir einen kurzen Blick darauf, wie Morphing funktioniert (siehe Abbildung 3. 48):
Abbildung 3. 48: Grundlagen des Morphens von Punkt- Koordinaten
Beginnen wir mit dem linken Teil der Abbildung. Sie veranschaulicht die wichtigsten Parameter für das Morphen eines Punktes in einem Objekt. Die Ausgangsposition des Punktes nennen wir Position*. Vom lokalen Ursprung des Objektes aus, zu dem der Punkt gehört, führt ein so genannter Ortsvektor zu Position i und damit zu unserem Punkt dort. Diesen Ortsvektor nenne ich Vector i. Wir kennen zudem die Position 2, zu der der Punkt in Position i wandern soll. Position 2 ist über den Ortsvektor Vector2 mit dem Ursprung verbunden. Der Weg zwischen Position i und Position 2 ergibt sich aus der Rechnung Vector 2 minus Vector i. Dazu muss man wissen, dass die Addition und die Subtraktion von Vektoren durch Parallelverschiebung und einfaches Aneinanderlegen der Vektoren bildlich vollzogen werden kann. Das Ergebnis dieser Rechnung ist der graue Vektor, der von Position i zu Position 2 führt. Dies ist ein so genannter Richtungsvektor, Wie der Name schon sagt, definiert ein Richtungsvektor in welche Richtung und wie weit ein Weg beschriften werden soll. Den Startpunkt für den „Weg" kennt er jedoch nicht. Dafür ist der Ortsvektor da. Wir müssen also zuerst mit einem Ortsvektor zu einem Punkt gebracht werden, von dem aus der Richtungsvektor dann zum Ziel führt. Diesen Zusammenhang macht die rechte Seite der Abbildung 3. 48 deutlich. So kann man die Position 2 auch erreichen, wenn man mit dem Ortsvektor Vector i zu Position i „reist" und von dort den Richtungsvektor Vector 2 - Vector i zu Position 2 nimmt. Multipliziert man nun den Richtungsvektor mit einem Wert zwischen o und i kann man zu einem beliebigen Punkt auf der Strecke Position 1/Position 2 gelangen. Diesen Werte nenne ich hier in der Abbildung x. Dieser Faktor ermöglicht es
uns nun, jede Koordinate zwischen den beiden Positionen zu berechnen, die auf einer gerade Verbindungslinie liegt.
Wenn es uns jetzt noch gelingt, diesen Faktor x an die Bewegung des Oben-Zylinder zu knüpfen, habe i zu Position 2 zu bewegen. Bei einer derartigen Steuerungsmöglichkeit redet man auch von gewichtetem Morphing. Prinzipiell lassen sich nach diesem Schema auch mehrere verschiedene Zielpositionen mit verschiedenen x — Faktoren mischen. Interessant kann dies bei Gesichtsanimationen sein. Dazu jedoch später mehr. Stürzen wir uns also in die COFFEE-EXPRESSION für den Spline im SWEEP-NURBS (siehe Abbildung 3. 49). Wenn Sie bislang alle Punkt- und Objekt-Koordinaten aus meinen Abbildungen übernommen haben, können Sie die Expression aus der Abbildung exakt so übernehmen. Ich habe in der Abbildung, die diesmal doch etwas längere Expression bildlich in der Mitte getrennt und nebeneinander gruppiert, damit die Schrift im Druck nicht zu klein wird. Sie schreiben natürlich wie gewohnt alle Befehle untereinander.
Abbildung 3. 4$: COFFEE-Expression für den Spline var var var var
RingB = doc -> FindObject ( „ R i n g - B a s i s " ) ; RingO = doc -> FindObject ( „ R i n g - O b e n " ) ; RingO2 = doc -> FindObject („Ring-Oben2"); Gleiter = doc -> FindObject ( „ R i n g - b e w e g l i c h " ) ;
In den ersten Zeilen speichern wir die Daten der vier Ring-Objekte in Variablen ab. Wir benötigen diese Daten, um später die entsprechenden Splinepunkte exakt der Bewegung der Ringe nachführen zu können. Dabei werden ihre Positionen einfach übernommen. var Bglobal, O g l o b a l , O 2 g l o b a l . G g l o b a l ; var Faktor, posB, posO, posO2, posG, Punkt;
Hier passiert eigentlich nichts, außer dass wir uns einige Worte als Variablen reservieren. Bglobal = RingB -> G e t M g ( ) ; posB = Bglobal -> GetVBO; Ich spare mir hier die Aufzählung aller vier Befehlsblöcke, denn der Inhalt ist immer gleich: „Speichere zuerst die globale Matrix in einer Variable ab und sichere dann in einer zweiten Variable den Vektor mit den Positionsdaten". Punkt = op -> G e t P o i n t s ( ) ; Hier begegnet uns etwas Neues. Mit dem op -> GetPoints()-Befehl holen wir die Positionsdaten aller Punkte des op-Objekts auf einmal ab. Es handelt sich dabei um ein so genanntes Array, also ein Datenfeld. Um die Daten eines Array — Elements abzufragen, muss man die Nummer des gewünschten Elements angeben. Mehr dazu gleich. Faktor = (posO2. y-288. 631) / (665-288. 631); Hier definieren wir unseren x-Faktor, also den Multiplikator, der festlegt, wie weit wir die Distanz zwischen Start- und Endpunkt des Morphings gehen wollen. Die Zahl 665 sollte Ihnen bekannt vorkommen. Dies ist die Position des Oben2 — Rings, ab der der Spline gespannt sein soll. Hat Oben2 diesen Wert erreicht, müssen alle Splinepunkte also in Position2 sein. Den etwas krummen Wert 288. 631 habe ich aus der untersten Y-Position des Oben2 — Rings abgelesen, also wenn das Gerät vollständig eingefahren ist. Die Differenz zwischen den beiden Werten gibt also die zu überbrückende Distanz für den Ring an. Wenn posO2. y die momentane Position des Rings ist und (655-288. 631) die maximale Strecke darstellt, dann erhalten wir mit (posO2. y - 288. 631) / ( 6 6 5 288. 631) eine einfache Formel, die uns mit Werten zwischen o und i anzeigt, wieviel der Strecke zurückgelegt wurde. Weiter geht es mit der beliebten if-Abfrage: if (posO2. y > 665) { posG. x = 6 7 5 - (posO2. y - 6 6 5 ) ;
Punkt [1] = vector (-123. 977, -152. 993, -5. 478); Punkt [3] = vector (-120. 033, 229. 832, 2. 691); Punkt [4] = vector (-115. 967, 481. 203, -0. 663); } Wenn also die Position des Oben2-Rings über der von uns festgelegten Grenze von 665 liegt, werden die in geschweiften Klammern stehenden Befehle ausgeführt. Damit die Maschine einen realistischen Arbeitsablauf darstellt, muss der Seilzug seine Länge behalten (es sei denn, er besteht aus elastischem Materia!)- Wenn er also die Länge behalten soll, so muss er - nachdem der Spielraum der Seillänge durch die Streckung vollständig verbraucht wurde - den am Ende des Seils liegenden Ring samt Würfel auf dem Ausleger näher zum Oben-Zylinder ziehen. Es
müsste also eine Bewegung entlang der X-Achse stattfinden. Bei mir beträgt die XKoordinate des Ring — beweglich — Objekts, wie ich ihn genannt habe, in der entspannten Position 675 m. Ich habe es mir jetzt einfach gemacht und einfach festgelegt, dass ein Meter mehr an Höhe des Oben2-Rings zu einem Meter weniger bei der X-Koordinate des Gleiter-Rings führt. Nichts anderes steht in der Formel für posG. x. In den drei Zeilen danach weisen wir den Punkten i, 3 und 4 die Punktkoordinaten zu, die wir selbst so eingestellt haben. Hier sehen Sie auch, wie man auf die bereits erwähnten Elemente eines Arrays zugreift. Man hängt an die Array — Variable die Nummer des gewünschten Elements in eckigen Klammern an. Punkt [1] enthält also hier den Positionsvektor des Punktes mit der Nummer i im STRUKTUR-Fenster. Dieser gesamte if — Komplex sorgt also dafür, dass -wenn der Ring Oben2 die YKoordinate 665 m überschreitet —, die Spline-Punkte i, 3 und 4 in ihrer Endposition liegen und gleichzeitig der Gleiter-Ring samt dem untergeordneten Würfel näher an den Oben2-Zylinder heranrückt. Was mit dem Spline passieren soll, wenn der Oben2-Ring unter der Koordinate 665 m bleibt, muss noch geklärt werden. Die Expression fährt daher wie folgt fort:
eise { posG. x = 675; Punkt [l]. x = -172. 173 + ( - 1 2 3 . 977 + 172. 173) * Faktor; Punkt [l]. y = -128. 895 + (-152. 993 + 128. 895) * Faktor; Punkt [1]. z = -5. 478;
} Gleich zu Beginn wieder ein neuer Befehl: else leitet einen in geschweiften Klammern stehenden Befehlsblock ein, der nur ausgeführt wird, wenn die direkt darüber stehende if-Bedingung nicht erfüllt wurde. Das bedeutet, nur wenn posO2. y nicht größer als 665 ist, werden die Befehle in den else — Klammern ausgeführt. Dies ist der Bereich, in dem das Morphing des Splines stattfinden muss, also die Verformung vom schlaffen in ein gespanntes Seil. Zuerst wird die X-Position des Gleiter-Rings auf 675 fest eingestellt. Dies sorgt dafür, dass der Gleiter direkt vor dem Stopperwürfel sitzt, solange das Seil noch nicht gespannt ist. Danach folgen die Morphing — Rechnungen für die drei Spline-Punkte. Da sich das Prinzip wiederholt, habe ich hier nur den Punkt i als Listing aufgeführt. Sie sehen hier, wie nacheinander für die X-, die Y- und die Z — Komponente des Punktes die in Abbildung 3. 48 rechts ermittelte Formel mit Werten gefüllt wird. Dieses Schema wird nur für die Z-Koordinate durchbrochen, da diese für Start- und Endposition exakt gleich ist. Wir können hier also einen festen Wert eintragen, bzw. könnten die Zeile sogar komplett weglassen.
Ebenso gehen wir für die Punkte 3 und 4 vor. Sie setzen einfach nur die notierten Koordinaten für Start- und Endpunkt in die Formel ein. Punkt Punkt Punkt Punkt
[2] [5] [6] [7]
= = = =
posB; posO; posO2; posG;
Bislang haben wir uns nur um die Punkte i, 3 und 4 gekümmert. Die hier dokumentierten Zeilen sorgen jetzt nach den if- und den else — Befehlen dafür, dass die Punkte 2, 5, 6 und 7 exakt auf den Positionen der Ring — Objekte bleiben. Dies ist besonders bei Punkt 7 interessant, der an den beweglichen Ring gekoppelt wird. Das Spline-Ende wird sich also durch die Gleiterbewegung ebenfalls verschieben, als wären beide Objekte tatsächlich verbunden. Da diese Zeile außerhalb der if- und der else — Befehle steht, werden sie in jedem Fall ausgeführt. Dies macht ja auch Sinn, da das Seil immer durch die Ringe laufen soll, egal in welcher Position der Oben2-Zylinder bzw. der Ring-Oben2 gerade ist. Gglobal -> SetV0 ( p o s G ) ; Gleiter -> Setg ( G g l o b a l ) ; op -> SetPoints (Punkt); Wir müssen die Werte nun wieder an die Objekte übergeben, damit diese auch auf unsere Berechnungen reagieren können. Die beiden ersten hier dokumentierten Zeilen sorgen für die Positionsveränderung des beweglichen Rings samt untergeordnetem Würfel. Das Gegenstück zum GetPoints()-Befehl ist der hier gezeigte S e t P o i n t s ( ) - B e fehl, der das Punkt — Array wieder zurückschreibt. Damit sind alle modifizierten Daten wieder den Objekten zugewiesen. Bei Veränderungen der Punktpositionen gibt es noch den folgenden Befehl, den man anhängen sollte. Er informiert CINEMA 4D davon, dass eine Veränderung an dem Objekt vorgenommen wurde und veranlasst dadurch ein Neuzeichnen in den Ansichtsfenstern. Besonders wichtig wird dieser Befehl auch, wenn man Punkte eines Objekts löscht oder hinzufügt. Es gibt nämlich einige Tags, die von einer derartigen Veränderung in Kenntnis gebracht werden müssen, damit es nicht zu Problemen kommt. op -> Message (MSG_UPDATE); Sicherlich ein langes Programm, aber ich denke der Aufwand hat sich gelohnt. Wenn Sie die Expression kompiliert und ausgeführt haben schließen Sie den Expression Editor und bewegen Sie den Oben2-Zylinder langsam auf und ab. Es sollte sich jetzt eine voll funktionsfähige kleine Maschine von Ihnen wie magisch bewegen lassen (siehe Abbildung 3. 50). Das faszinierende an dieser Art der Animation ist die Möglichkeit der Interaktivität. Sie können jederzeit innehalten, z. B. das Objekt drehen und dann mit der Bewegung fortfahren. Diese komplexe Animation lässt sich jetzt mit nur zwei Key-Frames
animieren und berechnen, einem für die untere und einem für die obere Position des Oben2-Zylinders. Vielleicht auch eine interessante Angelegenheit für Kundenpräsentationen von Objekten. Denken Sie z. B. an ein Auto, bei dem durch das Bewegen eines NULL-OBJEKTS das Faltdach zusammenklappt oder das Licht angeschaltet wird. Der Nachteil ist ganz klar der relativ lange Zeitaufwand für die Programmierung und - bei komplexeren Objekten und Szenen - ein eher träger Bildschirmaufbau. Zudem können Sie nur in den Darstellungsqualitäten des Editors arbeiten. Die volle Raytracing-Funktionalität mit Spiegelungen, Schatten und Transparenzen wird erst beim Berechnen des Bildes oder Films sichtbar. Dies ist jedoch weit entfernt von einer Interaktivität, wie wir sie hier beobachten können.
Abbildung 5. 50: Automatisierte Bewegungssequenz für das Gerät Ganz fertig sind wir mit diesem Gerät noch nicht, denn eigentlich hatte so der bewegliche Ring oben auf dem Ausleger keinen Grund, in die Ausgangsstellung zurückzukehren, wenn der Oben-Zylinder nach unten bewegt wird. Dagegen würde eine Feder helfen, die den Gleiter wieder nach rechts an den Anschlag zieht. Diese Feder müsste am jetzt noch offenen Ende des Auslegers befestigt sein. Duplizieren Sie also den Stopper-Würfel auf dem Ausleger-Zylinder und ziehen Sie diesen nach rechts. Der Ausleger sollte auch etwas länger sein, damit die Feder noch Platz hat. Verlängern Sie dazu einfach den Auslegerzylinder und platzieren Sie den duplizierten Stopperam Ende. Rufen Sie einen neuen Zylinder auf, den Sie wie in Abbildung 3. 51 konfigurieren. Die Einstellungen bewirken, dass der Zylinder nur halb modelliert wird. Es entsteht eine glatte Schnittkante, an der die Feder befestigt sein könnte. Platzieren Sie diesen Zylinder im Stopper-Würfe l am Ende der Stange.
Abbildung 3. 51: Ein halber Zylinder als Anker für die Feder
Schließlich brauchen wir noch die Feder selbst. Solch ein Objekt haben wir schon im letzten Beispiel umgesetzt. Sie wissen also bereits, dass ein KREIS-Spline mit einem HELIX-Spline in einem SWEEP-NURBS zu dem gewünschten Ergebnis führt (siehe Abbildung 3. 52). Übernehmen Sie von dort die Parameter und platzieren Sie die Feder zwischen den Stoppern auf dem Ausleger.
Abbildung 3. 52: Helix und Kreis zu einer Feder zusammenfügen
Damit sich die Feder entsprechend der Bewegung des Seilzugs streckt und zusammenzieht, benötigen wir eine zusätzliche Expression für den HELIX-Spline. Wir könnten dort die Länge des Splines verändern, um die Längenänderung der Feder zu steuern. Da wir dies jedoch schon im ersten Beispiel praktiziert haben, verwende ich hier eine andere Methode, bei der wir direkt die Werte in einem parametrischen Objekt verändern können, also die Werte, die Sie m diesem Fall im HELIX-Dialog eingetragen haben. Wenn Sie nämlich wissen, wie dies funktioniert, können Sie nach dem gleichen Schema z. B. auch die Radien eines Würfels oder die Helligkeit einer Lampe über eine Expression steuern. Tippen Sie also die Expression aus Abbildung 3. 53 für den HELIX-Spline der Feder ab. Wie immer gehe ich kurz auf die einzelnen Zeilen ein, da hier neue Befehle vorkommen. var RingO2 = doc -> FindObject („Ring-Oben2"); if (!RingO2) return; Die erste Zeile sollte Ihnen vom Aufbau her bekannt vorkommen. Wir definieren dort das Wort RingO2 als Variable und weisen dieser die Daten des Objekts RingOben2 zu. Die folgende if-Abfrage haben wir bislang so nicht benutzt. In der Klammer steht jedoch wieder eine Bedingung. In diesem Fall lesen wir: „Wenn die Variable RingO2 nicht mit Werten gefüllt ist, dann... ". Das Ausrufezeichen vor der Variable bedeutet nämlich „nicht". Es handelt sich hier um eine etwas verkürzte Schreibweise, da kein Vergleich der Variable mit einem Zahlenwert vorliegt. Trotzdem ist dies eine legitime Bedingung. Der Befehl, der ausgeführt wird, wenn die Variable keine Werte enthält, ist return. Er sorgt dafür, dass die Expression beendet, bzw. nicht weiter ausgeführt wird. Bei dieser if-Abfrage handelt es sich also um eine Sicherheitsabfrage, um Komplikationen im Programm zu vermeiden, wenn eine wichtige Variable nicht mit Werten gefüllt werden konnte. Dies kann hier eigentlich nur der Fall sein, wenn der F i n d O b j e c t ( ) - B e f e h l kein Objekt mit dem entsprechenden Namen finden konnte. Die Variable bleibt dann unbelegt. var Werte = op -> G e t C o n t a i n e r ( ) ; if ( I W e r t e ) return; Die Variablendeklaration von hoehe und posO2 überspringe ich gleich, da dieser Befehl bereits mehrfach benutzt und langsam bekannt sein sollte. Hier begegnet uns jedoch etwas Neues, nämlich der GetContainer()-Befehl. Ein Container enthält alle Parameter eines Objekts, also bei einer Lichtquelle z. B. deren Farbe, Helligkeit und die Art des Schattenwurfs - also alle Werte, die sich im entsprechenden Dialog des Objekts auch im OBJEKTE-Fenster einstellen lassen, in unserem Fall erhalt die Variable Werte hier alle Daten der Helix. Auch hier folgt wieder zur Sicherheit eine if-Abfrage, ob auch tatsachlich die entsprechenden Daten gefunden und übergeben werden konnten. Hatten wir den parametrischen HELIX-Spline also in ein Spline-Objekt konvertiert, so konnte der
Container nicht mit Werten gefüllt werden und wurde daher einen Abbruch der Ex-pression — Ausführung pro Es folgen bereits bekannte Zeilen, in denen die Position des Ring-Oben2-Objekts in der Variable posO2 gespeichert werden. hoehe = 250. 0; if (posO2. y > 665) hoehe = 250 + (posO2. y - 6 6 5 ) ; Hier wird die Variable hoehe zuerst mit einem Wert von 250 gefüllt. Dies entspricht der Ausgangshöhe der HELIX, also der Länge in der entspannten Position. Danach folgt eine Abfrage, ob die Y-Position des Ring-Oben2-Objekts den Wert 665 übersteigt. Dies war ja der von uns selbst gesetzte Grenzwert für die Höhe, ab dem der Seilzug auf dem Ausleger eine Verkürzung erfahrt. Dies ist also auch der Zeitpunkt an dem die Feder die Lange verändern muss, um den Anschluss nicht zu verlieren. Da die Variable hoehe für die HÖHE im HELIX-Dialog stehen soll, muss diese Variable also dann angepasst werden. Für die entsprechende Wertberechnung greife ich auf die gleiche Formel wie schon für den beweglichen Ring zurück. Jeder Meter mehr an Höhe über 665 m führt zu einem Meter mehr im Wert der Variablen hoehe. Dieser hoehe — Wert - egal ob er nun noch bei 250. o liegt, oder durch die Erfüllung der if-Bedingung neu berechnet wurde -, muss nun in den HELIX-Container eingetragen werden. Dies bewirkt der Set — Data — Befehl. Werte -> SetData (PRIM_HELIX_HEIGHT, hoehe); op -> SetContainer ( W e r t e ) ; Container können so viele verschiedenen Parameter enthalten, dass wir dem Befehl mit auf den Weggeben müssen, wohin der Wert abgespeichert werden soll. Für diesen Zweck gibt es festgelegte Benennungen für jedes Parameter-basierte Objekt, die Sie dem so genannten SDK für die COFFEE- Programmiersprache entnehmen können. Eine aktuelle HTML — Version des SDKs finden Sie auf der CD zu diesem Buch.
Dort können Sie auch nachschlagen, dass die Benennung für die Höhe einer Helix mit PRIM_HELIX_HEIGH Wenn Sie mehrere Werte eines Objekts gleichzeitig in einer COFFEE-EXPRESSION oder einem COFFEE-PLUGIN vorgeben möchten, können Sie auch mehrere dieser SetData — Zeilen untereinander schreiben und jeweils dem Container des Objekts zuweisen. Hier kommen wir jedoch nur mit dem Höhe-Wert aus. Ist der Container nun mit den neuen Werten gefüllt, muss er dem Objekt wieder übergeben werden. Dies geschieht mit dem SetContainer-Befehl. op -> Message (MSG_UPDATE): In dieser abschließenden Befehlszeile teilen wir CINEMA 40 mit, dass wir das opObjekt bezuglich der Form verändert haben und erwirken damit einen Aktualisierung eventuell abhangiger Tags und der Ansichtsfenster.
Abbildung 3. 53: COFFEE-Expression für die automatische Anpassung der Federlänge
Lassen Sie die Expression -wie mittlerweite gewohnt - kompilieren und ausführen. Die Feder sollte sich jetzt wie in Abbildung 3. 54 automatisch mit dem Seilzug verändern. Die Maschine ist damit komplett.
Abbildung 3. 54: Bewegungsphasen der Feder
3.3Delta—Expression Ais Abschluss dieses Kapitels über COFFEE-EXPRESSIONS möchte ich Ihnen eine so genannte DELTA — EXPRESSION vorführen. Mit Delta sind Expressions und Plugins betitelt, die auf bereits vergangene Daten eines Objekts bezug nehmen. Dies kann die Position, die Größe oder z. B. auch die Farbe sein. Wir haben dabei jegliche Freiheit,
da wir selbst beliebige Werte so speichern können, dass eine Expression zu einem späteren Zeitpunkt wieder auf diese Daten zugreifen kann. Wozu könnte man dies benutzen? Stellen Sie sich ein Auto mit einer langen Antenne vor. Das Auto beschleunigt, bremst ab, fährt in eine Kurve usw. Dabei wird die Antenne keineswegs starr dem Auto folgen, sondern anfangen zu schwingen und zu pendeln. Dies hängt mit der Trägheit jedes massebehafteten Objekts zusammen. Trägheit könnte man nämlich auch so umschreiben, dass dies eine Kraft ist, die den Zustand eines Objekts bewahren möchte. Im Falle der Antenne heißt dies also, dass die Antenne beim Beschleunigen des Autos eigentlich lieber in ihrer letzten Position bleiben möchte. Sie folgt daher der Beschleunigung nur mit einer Verzögerung. Wir merken dies selbst, wenn wir beim Beschleunigen des Autos mehr oder minder stark in den Sitz gepresst, bzw. beim Bremsen nach vorn in den Gurt gedrückt werden. Um nun aber wieder auf Expressions zurückzukommen, so heißt das, dass wir das Antenne — Objekt für eine gewisse Zeitspanne auf der vorherigen Position festhalten müssen, bevor wir diesem erlauben dürfen, dem Auto-Objekt zu folgen. Damit dies funktionieren kann, müssen wir also dem Auto-Objekt einen gewissen Vorlaufgewähren. Ich habe Ihnen eine entsprechende Expression geschrieben, die ich Ihnen hier detailliert vorsteilen möchte. Dieser Effekt lässt sich recht häufig verwenden, wenn es um die Animation von Objekten aus mehreren elastischen Teilen geht. uiain (doc, op) {
var T = doc -> GetTime(); var sec = T -> GetSecond(); var J. pos, rot, vec, rotv, RDZeit, DZeit, RDX, DX, RDY, DY, RDZ, DZ;
var var var var
Delay = 10; damp = 0; Rdamp = 0; speed = 1;
var rspeed = 1; var scale = 6; var rscale = 6; var OFFSETX, OFFSETY, OFFSETZ; var ROFFSETX, ROFFSETY, ROFFSETZ; OFFSETX = 0. 0; OFFSETY = 250. 0; OFFSETZ = 0. 0; ROFFSETX = 0. 0; ROFFSETY = 0. 0; ROFFSETZ = 0. 0; var follow = doc -> FindObject ("Follow"); var bc = op -> GetContainer();
if (sec = 0. 0) { for (j = 1; j < Delay+1; j ++) {
bc->SetData (j. op->GetPosition());
bc->SetData (j+200, op->GetRotation()); bc->SetData (98, sec); // Zeitpunkt ohne Rotationsveränderung bc->SetData (99, vector (0, 0, 0)); // Rotationsveränderung bc->SetData (100, vector (0, 0, 0)); // Distanzvektor
bc->SetData (101, sec); // Zeitpunkt des Stillstehens
} } vec = scale * bc -> GetVector (100); rotv = rscale * bc -> GetVector (99); pos = bc -> GetVector (1); rot = bc -> GetVector (201); // Rotation if (rot != bc •> GetVector (202)) { bc -> SetData (98, sec); bc -> SetData (99, bc -> GetVector (202) - rot); follow -> SetRotation (vector (rot. x +• ROFFSETX, rot. y + ROFFSETY, rot. z + ROFFSETZ)); } if (rot == bc -> GetVector (202)) { RDZeit = sec • bc- > GetFloat(98); RDX = sin (rspeed * RDZeit * PI) * (rotv. x) *1 / ((Rdamp + 1) * RDZeit + 1); RDY = sin (rspeed * RDZeit * PI) * (rotv. y) *1 / ((Rdamp + 1) * RDZeit + 1); RDZ = sin (rspeed * RDZeit * PI) * (rotv. z) *1 / ((Rdamp + 1) * RDZeit + 1); follow -> SetRotation (vector(rot. x + ROFFSETX + RDX, rot. y + ROFFSETY + RDY, rot. z + ROFFSETZ + RDZ)); } // Position if (pos != bc -> GetVector (2)) { bc -> SetData (101, sec); bc -> SetData (100, bc -> GetVector (2) - pos); follow -> SetPosition (vector (pos. x + OFFSETX, pos. y + OFFSETY, pos. z + OFFSETZ)); }
if (pos = bc -> GetVector(2)) {
DZeit = sec - bc -> GetFloat DX = sin (speed * DZeit * PI) DZeit + 1); DY = sin (speed * DZeit * PI) DZeit + 1); DZ = sin {speed * DZeit * PI) DZeit + 1); follow -> SetPosition (vector OFFSETY + DY, pos, z + OFFSETZ
(181); * (vec. x) *1 / ((damp + 1) * * (vec. y) *1 / ((damp + 1) * * (vec. z) -l / ((damp + 1) * (pos. x + OFFSETX + DX, pos. y + + DZ));
] / / Delta-Werte verschieben
for (j = 1; j < Delay; j++) {
bc -> SetData (j, bc -> GetVector (j+D); bc -> SetData (j+200, bc -> GetVector (j+201));
} // Neue Werte speichern bc -> SetData (Delay. op -> GetPosition()); bc -> SetData (Delay+200, op -> GetRotation()); op -> SetContainer (bc);
} Listing 5. 1: Delta — COFFEE — Expression für Rotation und Position
Nahezu alle in diesem Listing benutzten Befehle sind ihnen mittlerweile bekannt. Ich reiße daher die Funktionen der einzelnen Befehlsgruppen nur noch an: var var var var var
T = doc -> G e t T i m e ( ) ; sec = T -> GetSecond; j, pos, rot, vec, rotv, RDZeit, DZeit. RDX, D X , RDY, DY, RDZ, DZ; Delay = 10; damp = 0;
var Rdamp = 0; var speed = 1; var rspeed = 1; var scale = 6; var rscale = 6; var OFFSETX. OFFSETY, OFFSETZ; var ROFFSETX, ROFFSETY, ROFFSETZ; OFFSETX = 0. 0; OFFSETY = 250. 0; OFFSETZ = 0. 0; ROFFSETX = 0. 0; ROFFSETY = 0. 0; ROFFSETZ = 0. 0;
Hier werden zuerst alle benötigten Variablen reserviert. T erhält die Daten der zeitlichen Position innerhalb der Animation, sec die entsprechende Umrechnung in die Einheit Sekunden.
Der Wert von delay legt fest, wie viele Bilder das Objekt einem anderen Objekt „hinterherhinken" soll. Damp und Rdamp beziffern die zusatzliche Starke der Dämpfung der Schwingungen für die Position und die Rotation. Die Schwingungen werden zwar später automatisch entsprechend der verstrichenen Zeit gedämpft, über diese beiden Werte kann die Dämpfung jedoch erhöht werden. Für diese und die noch folgenden Variablen gilt, dass ich ein vorgestelltes r für die Werte benutze, die für die Rotation von Bedeutung sind. speed und rspeed steuern die Schnelligkeit des Nachschwingens. Je höher der Wert, desto steifer wirkt die Verbindung zwischen den Objekten, scale und r s c a l e skalieren die Amplitude des Nachschwingens. Damit kann man ein stärkeres Nachschwingen erzwingen, als es die Bewegung des Hauptobjekts eigentlich generieren wurde. Es folgen die OFFSET-Werte für alle drei Achsen jeweils für die Position und die Rotation. Über diese Werte steuern Sie die Lage des folgenden Objekts zu der des Hauptobjekts. Die hier eingestellten Werte sorgen also dafür, dass das folgende Objekt in der Ausgangsposition 250 m über dem Hauptobjekt liegt und alle Rotationswerte bei o liegen (ROFFSET-Werte steuern die Ausgangslage der Rotation). var f o l l o w = doc -> FindObject ( " F o l l o w " ) ; var bc = op -> GetContainer(); Die Variable follow wird milden Werten des Objekts gefüllt, das dem Hauptobjekt mit der Expression folgen soll. In meiner Szene habe ich dieses Objekt Follow genannt. Danach folgt der eigentlich wichtigste Teil dieser Expression. Wir rufen einen Container für das Hauptobjektauf, dem wir die Variable bc geben. Ein Container ist uns bereits im Beispiel zuvor begegnet, wo wir Werte der HELIX über einen Container verändern konnten. Dieser Container hier hat jedoch keinen festgelegten Inhalt mit feststehenden Benennungen für einzelne Werte. Wir können den Inhalt selbst festlegen.
if (sec == 0. 0) { for (j = 1; j < Delay+1; j ++) { bc->SetData (j, op->GetPosition()); b c - > S e t D a t a (j+200, op->GetRotation()); bc->SetData (98, s e c ) ; / / Zeitpunkt ohne Rotationsveränderung bc->SetData (99, vector (0, 0, 0 ) ) ; // Rotationsveränderung bc->SetData (100, vector (0, 0, 0 ) ) ; / / Distanzvektor b c - > S e t D a t a (101, s e c ) ; // Zeitpunkt des Stillstehens } } Um eine definierte Ausgangsposition für die spatere Berechnung der Schwingungen zu haben, muss der Container nun mit Werten gefüllt werden. Sinnvoll ist dafür immer der erste mögliche Zeitpunkt in einer Animation, also der Zeitpunkt o. Dies
drückt die if-Abfrage aus. Interessant ist hier die Bedingung sec==o. o. Das doppelte Gleichheitszeichen liest sich wie folgt: „Wenn die Variable sec identisch mit Null, dann... ". Befinden wir uns also am Beginn der Animation, werden die nachfolgend in ge-
schweiften Klammern stehenden Zeilen ausgeführt. Diese beginnen mit einer for — Schleife. Eine for-Schleife w Gruppe von Befehlen mehrmals hintereinander ausführen möchte. Dies mag zuerst unlogisch klingen. Der große Vorteil dabei ist, dass die for-Schleife mit einer Variablen funktioniert, die im Laufe der Zeit ihren Wert verändern kann. Die forSchleife enthalt zudem eine Abbruchbedingung, mit der die Wertentwicklung dieser auch Zählvariable genannten Variable laufend überwacht werden kann. Schließlich können wir noch eine Schrittweite für die Zählvariable definieren. In diesem Beispiel ist die Zahlvariable j und diese hat zu Beginn den Wert1 (j=1). Nach jedem Durchlauf wird j um den Wert i erhöht (j ++). Diese Schreibweise ist die verkürzte Version der Formel j=j+1. Die Zählvariable hat also zuerst den Wert i und wird dann nach jedem Durchlauf um i erhöht. Wann endet nun diese Schleife? Dafür sorgt die Abbruchbedingung, die hier lautet j < Delay + 1. Solange j also kleiner als der Wert der Variablen Delay plus i bleibt, wird die Zahlvariable um i erhöht und die eingeklammerten Befehle werden ausgeführt. Die Befehle innerhalb der for-Schleife, die ja wegen der übergeordneten if-Abfrage nur dann ablauft, wenn sec==0 ist, sorgen jetzt für die Befüllung des Containers. Dieses Füllen des Containers funktioniert mit dem bc->SetData()-Befehl. In der SetData — Klammer wird zuerst die Nummer oder der Name eingetragen, unter der der Wert später wieder auffindbar sein soll. Dann folgt ein Komma und der eigentliche Wert, der unter der Nummer gespeichert werden soll. Beim ersten Schleifendurchlauf lesen wir also in der ersten Befehlszeile: „Speichere im Container unter der Nummer1 den Positionsvektor des op-Objekts ab". Da sich die Zahlvariable j laufend verändert, wird beim nächsten Durchlauf der Schleife der Positionsvektor nicht wieder unter der Nummer i abgespeichert, sondern unter Nummer 2. Der Wert wird also nicht überschrieben, sondern es kommt zu einer zeitlichen Abfolge von Werten. Wenn wir also einen Delay von 10 eingestellt haben, so werden 10 Positionsvektoren des op-Objekts gespeichert. Hier haben alle Einträge von i bis 10 dann noch den gleichen Wert, da sie zum gleichen Zeitpunkt aufgenommen wurden, aber später im Programm wird sich dies ändern. An Platz 5 steht dann exakt die Position, die das op-Objekt vor 5 Bildern innehatte. In der folgenden Zeile werden dagegen die Containerplatze 201 bis 210 mit den Rotationsvektoren gefüllt. Die Speicherplätze 98 bis 101 erhalten hier Nullvektoren oder den Wert o. o. Da hier nur diese vier Containerplatze belegt werden, hatten diese Zeilen nicht in der for-Schleife stehen müssen. Es hatte ausgereicht, diese Zeilen unter die forSchleife, aber noch innerhalb der if- Klammern anzubringen. Aber so funktioniert es natürlich auch.
Die zukünftige Bedeutung der Werte in den Plätzen 98 bis 101 habe ich als Kommentar hinter den Zeilen angefügt. Dies wird im Verlauf des Programms noch deutlicherwerden. vec = s c a l e * bc -> GetVector (100); rotv = rscale * bc -> GetVector ( 9 9 ) ; pos = bc -> GetVector (1); rot = bc -> GetVector (201); Die Variable vec bekommt hier den Richtungsvektor zwischen den letzten beiden Positionen, multipliziert mit dem Skalierungswert s c a l e , zugewiesen. Was ein Richtungsvektor ist, können Sie in dem Abschnitt mit dem Seilzug-Morphing des letzten Beispiels nachlesen. Da nicht nur Postionen, sondern auch Winkel als Vektoren geschrieben werden können, verwende ich die gleiche Formel auch für rotv, also die entsprechend skalierte Änderung der Rotationsvektoren. pos und rot bekommen jeweils die letzten noch gespeicherten Positionen im Container zugewiesen, also die Werte, die das op-Objekt vor der mit delay bestimmten Zeit innehatte. if (rot != bc -> GetVector (202)) { bc -> SetData (98. s e c ) ; bc -> SetData (99, bc -> GetVector (262) - rot): follow -> SetRotation (vector (rot. x + ROFFSETX, rot. y + ROFFSETY. rot. z + R O F F S E T Z ) } ;
}
Wenn dieser Rotationsvektor rot mit dem vorherigen nicht übereinstimmt, muss das op-Objekt noch in Bewegung sein. Ein Nachschwingen ist also nicht notig, sondern nur das Übernehmen der Rotation. Dies ist verkürzt die Botschaft dieser Zeilen. Sowohl die gespeicherte Zeit in Fach 98, wie auch die Veränderung der Winkel in Fach 99 werden auf den aktuellen Stand gebracht. Schließlich wird für das follow-Objekt noch der Rotationswert eingestellt, wobei auch der Winkel-Offset mit einfließt. if (rot == bc -> GetVector ( 2 0 2 ) ) { RDZeit = sec - bc- > GetFloat(98); RDX = sin (rspeed * RDZeit * PI) * (rotv. x ) *1 / {(Rdamp + 1) * RDZeit + 1);
RDY = sin (rspeed * RDZeit * PI) * (rotv. y) *1 / ((Rdamp + 1) * RDZeit + 1); RDZ = sin (rspeed * RDZeit * PI) * (rotv. z) -l / ((Rdamp + 1) * RDZeit + 1); follow -> SetRotation (vector(rot. x + ROFFSETX + RDX, rot. y + ROFFSETY + RDY, rot. z + ROFFSETZ + RDZ)); l
Wenn nun aber der rot-Vektor nicht mit dem Vektor danach in Fach 202 übereinstimmt, so bedeutet dies, dass zu diesem Zeitpunkt keine Rotation des op-Objekts stattgefunden hat. Dann werden diese Zeilen ausgeführt und zuerst einmal für die Variable R D Z e i t die Differenz zwischen der aktuellen Zeit und der letzten Zeit einer Rotationsveränderung berechnet. Dieser Wert entspricht dann der Zeit, die das opObjekt schon insgesamt stillsteht. Die Werte RDX, RDY und RDZ berechnen im Prinzip eine einfache Sinusschwingung, die jedoch durch das Multiplizieren mit l / ((Rdamp +1 ) * RDZeit + 1)laufend abgeschwächt wird. Dadurch, dass bei längerem Stillstehen des op-Objekts die Zeitdifferenz zwischen der aktuellen Zeit und der letzten Veränderung immer größer wird, reduziert sich dieser Faktor laufend und dämpft damit die Schwingung im Laufe der Zeit ab. Hinzu kommt die Verstärkungsmöglichkeit der Dämpfung durch einen Rdamp-Wert großer o. Diese gedampfte Sinusschwingung wird dann einfach zu dem vorhandenen Rotationswert addiert und mit follow->SetRotation() auf das follow-Objekt übertragen. Solange also das op-Objekt in Ruhe verweilt, bekommt das follow-Objekt eine zeitlich gedampfte Sinusschwingung mit der maximalen Amplitude der letzten Winkeländerung multipliziert mit dem rscale-Wert verpasst. if (pos != bc -> GetVector ( 2 ) ) t bc -> SetData (101. sec);
bc -> SetData (100, bc -> GetVector (2) - pos); follow -> SetPosition (vector (pos. x + OFFSETX, pos. y + OFFSETY, pos. z + OFFSETZ));
) if (pos == bc -> G e t V e c t o r ( 2 ) } { DZeit = sec • bc -> GetFloat (101); DK = sin (speed * DZeit * PI) * (vec. x) *1 / ((damp + 1) *
DZeit + 1); DY = sin (speed - DZeit * PI) * (vec. y) *1 / ((damp + 1) * DZeit + 1); DZ = sin (speed - DZeit * PI) * (vec. z) *1 / ((damp + 1) * DZeit + 1); f o l l o w -> SetPosition (vector (pos. x + OFFSETX + DX, pos. y + OFFSETY + DY, pos, z + OFFSETZ + D Z ) ) ; )
Exakt das Gleiche passiert hier für die Position s werte des follow-Objekts. Die erste if-Abfrage überprüft, ob das op-Objekt weiterhin in Bewegung ist. Wenn ja, wird dessen Bewegung einfach für das follow-Objekt übernommen und die Felder 101 und 100 werden aktualisiert. Auf diese Werte muss zugegriffen werden, wenn plötzlich ein Stillstand des op-Objekts eintritt. Wir können dann aus dem Wert in Feld 101 ablesen, wann die letzte Bewegung stattgefunden hat und aus Feld 100 erfahren wir, wie groß die Veränderung dieser Bewegung war.
Beide Werte sind essentiell für die zweite if-Abfrage, die dann abgearbeitet wird, wenn das Objekt zwischen den abgespeicherten Werten in Feld i und 2 keine Bewegung mehr zeigt. Es kommt dann zu der bereits bekannten Sinus-Berechnung, die uns eine schöne gedämpfte Schwingung mit dem letzten Bewegungsvektor als Amplitude um die letzte Position liefert. Diese Werte werden dann mit dem SetPosition( )-Befehl auf das follow-Objekt übertragen. for (j = 1; j < Delay; j++) { bc -> SetData (j, bc -> GetVector (j+D); bc -> SetData (j+200. bc -> GetVector (j+281)); l Damit haben wir es fast geschafft. Funktionieren kann es allerdings erst, wenn wir laufend die aktuelle Position und Rotation des op-Objekts abspeichern und die zuvor gespeicherten Werte um eine zeitliche Position im Container verschieben. Dieses Verschieben erledigt hier die for-Schleife, die von i bis zu Delay-1 läuft. Setzt man für j Zahlenwerte ein, so ergeben die beiden Befehlszeilen in der Schleife sehne!! einen Sinn. Der Wert von Fach i wird gefüllt mit dem Wert von Fach 2, der von Fach 2 mit dem Wert von Fach 3 und so weiter. Die Werte rücken also alle ein Fach auf, und der letzte Wert in Fach i fällt weg. Das gleiche passiert um 200 verschoben für die Rotationswerte. So rutscht der Wert aus Fach 202 in das Fach 201 usw. Jetzt müssen wir nur noch die beiden Fächer Delay und Delay+200 mit den aktuellen Werten füllen. Damit haben wir die Container-Fächer auf den aktuellen Stand gebracht. bc -> SetData (Delay. op •> G e t P o s i t i o n ( ) ) ; bc -> SetData (Delay+200, op -> G e t R o t a t i o n ( ) ) ; op -> SetContainer (bc); Jetzt gilt es nur noch, diese mühsam erworbenen Daten in dem Container so zu speichern, dass beim nächsten Aufruf der Expression alle Daten noch da sind. Dies erledigt die Setzte Zeile der Expression mit dem SetContainer()-Befehl. Alle Werte im bc-Container werden dann so gesichert, dass sie für die Berechnung des nächsten Bildes wieder zur Verfügung stehen. Dies ist sehr wichtig, da wir in den Berechnungen auf bereits vergangene Positionen und Winkel zugreifen müssen, eben auf Delta-Werte zur aktuellen Position. Da sich der Effekt nur in der Animation zeigt, lässt sich ein Beispiel kaum in Bilder für das Buch bannen. Ich bitte Sie daher, die Szenen auf der CD zu diesem Kapitel zu betrachten. Ich denke, der Programmieraufwand lohnt sich, da der Effekt sehr vielseitig einsetzbar ist und auch ansonsten in CINEMA 40 nicht integriert ist. Ein kleiner Wehrmutstropfen bleibt jedoch bei den meisten Delta-Plugins übrig, denn sie kooperieren oft nicht mit dem Netzwerk-Renderer von CINEMA 40. Dies hängt damit zusammen, dass die Werte für den Container zeitlich linear gesammelt werden. Der Netzwerk-Renderer springt jedoch - je nach Leistung der integrierten
Rechner - fast beliebig von Bild zu Bild in einer Animation. Die Containerwerte verlieren dadurch ihre Kontinuität und können nicht mehr zu den erwünschten Ergebnissen führen. Ein Ausweg wäre die Speicherung der Positionen und Rotationen in einer Datei auf der Festplatte. Dies ist auch in Expressions durchaus möglich. Ich empfehle daher, die Arbeit mit dem COFFEE-SDK, das alle verfügbaren Befehle und kleinere Beispiele enthält. Da es aber noch genügend andere interessante Betätigungsfelder in CINEMA 4D gibt, möchte ich das Expression-Kapitel hiermit schließen. Ich hoffe, Sie konnten Ideen für eigene Expressions sammeln oder die Scheu vor der Programmierung verlieren, falls Sie zuvor noch nichts mit diesem Thema zu tun hatten. Als Ausweg und schnelle Lösung gibt es aber auch eine ständig anwachsende Zahl von Expressions und Plugins im Netz. Ein guter Startpunkt für eine Suche danach ist die MAXON-Homepage. Weitere Quellen und Plugins finden Sie auf der CD zu diesem Buch.
4
Organisches Modellieren
Wenden wir uns in diesem Kapitel etwas von den eher technischen Einsatzgebieten von CINEMA 4D ab Sehr oft lese ich in 3D-Foren von 30 Begeisterten, die nach Hilfe bei der Modellierung von menschlichen Köpfen suchen Dabei fehlen nicht die technischen Vor aussetzungen bei der Arbeit m CINEMA 40, sondern anatomische Kenntnisse oder künstlerisches Fertigkeiten Spätestens seit Version 6 und dem Einzug von HyperNURBS in CINEMA 40 ver suchen sich immer mehr an der Darstellung von so genannten Characters, also von kunstlichen Figuren mit fantastischem oder realistischem Ursprung
Ich mochte daher m diesem Kapitel ausführlicher erläutern, wie man an die Planung und Realisierung eines s Damit sich der Aufwand für diesen komplexen Workshop lohnt, habe ich ihn auf die kommenden drei Kapitel verteilt, wobei jedes Kapitel einen anderen Schwerpunktabdeckt In diesem Kapitel arbeiten wir uns von der ersten Skizze bis zum fertigen Modell eines menschlichen Kopfes vor Im nächsten Kapitel erganzen wir den Kopf durch einen Robotertorso und lernen dabei etwas über die Modellierung technischer Bau teile Am Schluss des kommenden Kapitels kommt dann noch ein Raum hinzu und wir gruppieren die Objekte zu einer Szene Im sechsten Kapitel nutzen wir dann das erweiterte Materialsystem von CINEMA 4D V7, um die Szene möglichst realistisch und ohne den Einsatz von Bildtexturen zu texturieren Dort beschäftigen wir uns dann auch mit den Radiosity- und Gl Berechnungsmethoden, um die Szene perfekt zu berechnen Jedes Kapitel ist m sich abgeschlossen Sie können also durchaus ein Kapitel überspringen und mit den Szenen und Objektdaten von der CD ROM an beliebiger Stelle einsteigen
4. 1 Herstellen von 3D-tauglichen Vorlagen Die Aufgabenstellung für dieses Kapitel ist die Modellierung eines weiblichen Kopfes, den wir zunächst skizzenhaft entwerfen wollen Diese Herangehensweise ist unbedingt zu empfehlen, da man durch vorhandenes Skizzen oder Bildmaterial bei der Modellierung viel Zeit sparen kann Zudem lasst sich damit der Gesichtsaus druck schon frühzeitig planen und bleibt nicht - wie beim freien Modellieren - dem Zufall überlassen
Wir beginnen mit einem Blatt Papier oder mit einem leeren Dokument in einem Bildbearbeitungs- oder Malprogramm Ihrer Wahl. Wir benötigen dabei nur die grundlegendsten Funktionen. Wir starten mit einer Skizze der seitlichen Schädelansicht und wählen dazu ein Seitenverhältnis von 8 zu 6, also z. B. ein leeres Dokument in Photoshop mit den Abmessungen 800 x 600 Pixel. Wir benötigen zudem 4 Hilfslinien. Eine senkrechte Linie begrenzt links ein quadratisches Feld von 600 x 600 Pixel, eine waagerechte Linie teilt dieses Quadrat exakt in der Mitte. Eine zweite senkrechte Linie teilt das Quadrat gleichmäßig senkrecht, und eine zweite horizontale Linie halbiert die untere Hälfte des Quadrats (siehe Abbildung 4. 1).
Abbildung 4. 1: Hilfslinien für die seitliche Kopfansicht Die linke Hälfte des Quadrats wird beginnend bei einem Viertel der Höhe bis zur oberen Mitte mit einem Halbkreis gefüllt. Dies wird der Hinterkopf. Auf der rechten Seite des Quadrats zieht sich ein gestreckter Halbkreis vom Scheitel bis ganz nach unten. Diese Linie flankiert die Stirn und das Gesicht. Das Ohr wird grob zwischen der mittleren und unteren horizontalen Linie eingezeichnet, wobei der obere Rand des Ohrs über die Mittellinie hinausragt. Schließlich verbindet eine weich geschwungene Linie den Mittelpunkt des Quadrats mit dem Kinn (siehe Abbildung 4. 2). Eine neue Hilfslinie teilt das untere Viertel des Quadrats erneut gleichmäßig horizontal. Dort wo diese neue Hilfslinie die Gesichtspartie durchschneidet, beginnt eine geschwungene Linie, die bis zum Mittelpunkt des Quadrats reicht. Diese Linie definiert die Wangen, sowie später die Position der Lippen.
Abbildung 4. 2: Grundform des seitlichen Kopfes einzeichnen
Die Nase beginnt auf der horizontalen Mittellinie, markiert ca. ein Drittel Wegstrecke vor der nächsten horizontalen Hilfslinie darunter die Nasenspitze und endet dann an der Halbierung der Quadrathälfte (siehe Abbildung 4. 3). Die Nasenspitze sollte dabei über dem unteren Ansatzpunkt der Nase liegen (Stupsnase).
Abbildung 4. 3: Nase und Wange einzeichnen
Die horizontal Halbierende des Quadrats markiert gleichzeitig die Höhe der Augen. Die Augen liegen also exakt auf der Hälfte des Kopfes. Wie tief die Augen im Kopf liegen, ist Ermessenssache (siehe Abbildung 4. 4).
Abbildung 4. 4: Das Auge platzieren
Zeichnen Sie nun eine Gerade von der Nasenspitze bis zu der Stelle, an der die Wangenlinie mit der Gesichtslinie zusammentrifft. Diese Linie gibt die maximale Auswölbung der Lippen an. Die Oberlippe steht daher weiter ab als die Unterlippe. Die Unterlippe wird begrenzt von der Wangelinie, wobei der Mundwinkel ungefähr unter dem Auge liegt (siehe Abbildung 4. 5). Eine Gerade von der Nasenwurzel direkt vor den Augen bis zum Mundwinkel markiert die Lage der Nasenflügel. Korrigieren Sie den Verlauf der Nasenspitze bis zur Oberlippe durch eine sanft geschwungene Linie. Über dem Auge sollte noch die Braue ergänzt werden. Diese sollte ein gutes Stuck über dem Auge liegen, da sie auch den Augenwutst markiert (siehe Abbildung 4. 6).
Abbildung 4. 5: Die Lippen einzeichnen
Abbildung 4. 6: Nasenflügel und Augenbraue ergänzen
Sie können nun alle Hilfslinien entfernen und die Konturen nochmals auf Stimmigkeit überprüfen. Wölben Sie zudem das Kinn etwas nach vorne, damit unter der Unterlippe eine kleine Kuhle entsteht (siehe Abbildung 4. 7).
Abbildung 4. 7: Hilfslinien entfernen und Konturen nachzeichnen
Diese Skizze soll uns als Referenz für die Seite genügen. Wir benötigen als Nächstes ein ähnliches Konzept für die Skizze einer frontalen Ansicht. Damit beide Ansichten spater exakt zueinander passen, verwenden Sie bitte wieder die gleichen Abmessungen für die Höhe, also 600 Pixel. Wählen Sie die Arbeitsfläche etwas größer, also vielleicht 650 Pixel, damit für das Zeichnen mehr Spielraum vorhanden ist. Die Breite ist ebenfalls mit 650 Pixeln gut gewählt, damit seitlich für die Ohren genügend Platz bleibt. Halbieren sie die 600 x 600 Pixel-Fläche mit zwei Hilfslinien horizontal und vertikal, und trennen Sie unten die überflüssigen 50 Pixel mit einer weiteren Linie optisch ab. Zeichnen Sie eine ovale Form in das Quadrat, wobei diese unten etwas spitzer zuläuft. Lassen Sie jeweils seitlich ca. 100 Pixel frei (siehe Abbildung 4. 8). Messen Sie den Kopfdurchmesser auf der Mittellinie ab und teilen Sie diese Entfernung in 5 gleiche Abschnitte auf. Ich habe dies in Abbildung 4. 9 mit vertikalen Linien angedeutet. Diese Hilfslinien beruhen darauf, dass ein Kopf ungefähr 5 Augen breit ist. Wir können also von der Kopfbreite auf die Lage und Breite der Augen schließen.
Abbildung 4. 8: Hilfslinien für frontale Kopfansicht und Umrisslinie
Abbildung 4. 9. - Fünf gleichmäßige Unterteilungen der Kopfbreite
Wie in der seitlichen Ansicht, liegen die Augen nämlich exakt in der Mitte des Kopfes und daher genau auf der halbierenden Horizontalen. Zeichen Sie also dort links und rechts der Mitte zwei ovale Platzhalter für die Augen ein (siehe Abbildung 4. 10).
Abbildung 4 10: Einzeichnen der Augen Nehmen Sie sich einen Zirkel zur Hand und messen Sie die Distanz zwischen den äußeren Ecken der Augen ab. Schlagen Sie dann mit diesem eingestellten Wert Kreise um die äußeren Augen — Winkel. Markieren Sie die Stelle, in der sich diese Kreise mit der senkrechten Mittellinie kreuzen. Durch diesen Kunstgriff haben wir ein gleichschenkliges Dreieck konstruiert. Das heißt, jede Seite des Dreiecks ist exakt gleich lang. In einem Malprogramm können Sie dies z. B. so konstruieren, dass Sie auf einer leeren Ebene eine Linie vom linken Augenwinkel des linken Auges zum rechten Augenwinkel des rechten Auges ziehen und diese Linie dann um 60° drehen. Verschieben Sie diese gedrehte Linie dann so, dass der obere Punkt in dem entsprechenden Augenwinkel landet. Markieren Sie schließlich die Stelle, auf der die gedrehte Linie die senkrechte Hilfslinie berührt (siehe Abbildung 4. 11).
Abbildung 4. u: Hilfslinien für Nase und Mund
Gehen Sie ein Drittel der Strecke zwischen diesem Punkt und der horizontal Haibierenden hinauf und markieren Sie die Stelle. Dort endet die Nase. Schlagen Sie einen großzügigen Bogen von der horizontalen Mittellinie durch den durch das Dreieck ermittelten Punkt. Diese Linie markiert die Wangenlinie, die uns bei der Konstruktion des Mundes helfen wird. Bedenken Sie, dass diese Linie an den Seiten des Kopfes nicht bereits an der Mittellinie sichtbar sein wird. Wie man in der seitlichen Ansicht sehen konnte, beginnt diese Linie bereits an den Ohren und lauft daher u m den halben Kopf herum (siehe Abbildung 4. 12). Skizzieren Sie - unten von der Wangenlinie begrenzt - die Lippen, wobei die Unterlippe etwas voluminöser sein sollte als die Oberlippe. Platzieren Sie die Mundwinkel unter der Mitte der Augen. Skizzieren Sie grob die Ohren, die auf Hohe der Augen beginnen und auf Hohe der Nasenmarkierung enden. Zeichnen Sie die Augenbrauen ein, wobei der äußere Rand leicht nach oben gerichtet sein sollte. Sie beginnen über den inneren Augenwinkeln und gehen außen über die Augenbreite hinaus. Zeichnen Sie zwischen der Nasenwurzel, also der Stelle zwischen den Augen auf der senkrechten Mittellinie und den Mundwinkeln ein Dreieck. Auf der Hohe der Nase gibt dieses Dreieck die Breite der Nasenflügel vor (siehe Abbildung 4. 13).
Abbildung 4. 12: Wangen, Nase und Mund einzeichnen
Abbildung 4. 13 Nasenbreite bestimmen
Versuchen Sie nicht, die Nase komplett mit Linien einzugrenzen. Eine angedeutete seitliche Linie und die Lage der Nasenlocher reichen vollkommen. Wie Sie in Abbildung 4. 14 erkennen können, habe ich die äußeren Augenwinkel leicht nach oben gezogen, und die Wangen entlang der Wangenlinie nach außen verstärkt. Sie können dann alle Hilfslinien loschen und beide Skizzen entweder einscannen oder z. B. als TIFF- oder JPEG — Bilddaten auf Ihrer Festplatte sichern. Die hier abgedruckten Skizzen von mir sind ansonsten auch auf der CD zu finden.
Abbildung 4. 14: Hilfslinien entfernen und Konturen nachzeichnen
Bei den hier vorgestellten Beziehungen und Regeln zum Zeichnen eines menschlichen Kopfes handelt es sich nur um Faustregeln. Um der Figur charakteristische und unverwechselbare Zuge zu verleihen, sind kleine aber dennoch beabsichtigte Durchbrechungen dieser Regeln notig. So verändert z. B. die Breite und Lange der Nase das Erscheinungsbild ebenso dramatisch, wie die Dicke der Lippen oder die Lage und Neigung der Augen. Verstehen Sie daher die vorangegangene Anleitung nur als Gerüst und fugen sie selbst nach Belieben Veränderungen hinzu. Seien Sie jedoch maßvoll, da ansonsten ein zu unrealistischer Eindruck entstehen kann. Oftmals generieren schon kleinste Veränderungen große optische Unterschiede.
4. 2 Vorbereitungen für die Modellierung Trotz der stark verbesserten Modellierungswerkzeuge von CINEMA 40 seit Version 6 gibt es noch einige kleinere Spezialgebiete, für die es keine Standardwerkzeuge gibt. Ich habe daher bereits schon vor einiger Zeit drei recht nützliche Plugins geschrieben, die kostenlos über meine Internetseite www. vonkoenigsmarck. de bezogen werden können. Naturlich liegen diese Plugins auch auf dieser Buch — CD — ROM für Sie bereit. Da ich von vielen CINEMA — Benutzern weiß, dass diese Plugins bereits zur Standardbestückung gehören, möchte ich in diesem Workshop vermehrt mit ihnen arbeiten. Sie werden schnell erkennen, warum sich diese Plugins so großer Beliebtheit erfreuen.
4. 2. 1 EdgeExtrude, EdgeBevel und Cutter Zuvor sollten Sie die drei Plugins mit den dazugehörenden Icon — Dateien in den Plugin-Ordner von CINEMA4D legen. Nur dann können sie ordnungsgemäß registriert werden. Jedes dieser Plugins hat ein eigenes Symbol, um die Integration in das vorhandene Layout zu vereinfachen. Gegebenenfalls können Sie naturlich auch Tastaturkürzel vergeben. Rufen Sie dazu im FENSTER-Menü den Punkt PALETTEN BEARBEITEN im LAYOUT-Unterpunkt auf und wählen Sie die PLUGINS im Aufklappmenü aus. Erzeugen Sie durch Rechtsklick oder [#]-Klick irgendwo in das Layout eine neue Befehlspalette aus dem Menü aus und ziehen Sie die Symbole der Plugins Cutter, EdgeBevel und EdgeExtrude in die leere Palette (siehe Abbildung 4. 15). Durch erneuten Rechtsklick, bzw. [#]-Klick in die Befehlspalette wählen Sie BEFEHLS-GRUPPE ERZEUGEN aus.
Abbildung 4. 15. - Zusammenstellen einer neuen Befehlsgruppe
Die Icons kollabieren dadurch zu einem einzigen Symbol mit einem kleinen schwarzen Pfeil am unteren Rand. Ziehen Sie dieses Icon der Gruppe dann in Ihr CINEMA4D-Layout an eine beliebige Stelle, dort wo Sie gerne den Zugriff auf diese Befehle hätten (siehe Abbildung 4. 16). Beenden Sie das Bearbeiten des Layouts und der Paletten durch Schließen des BEFEHLE-Fensters. Sind Sie mit dem Inhalt und der Lage der neuen Befehlsgruppe m Ihrem Layout zufrieden, sollten Sie das Layout so als Startlayout oder unter einem neuen Namen sichern. Ansonsten ist das hinzugefugte Befehls-Menü beim nächsten Start von CINEMA4D nicht mehr dort. Wenn Sie Ihr Layout nicht verändern möchten, können Sie die drei Plugins auch über das PLUG-INS-Menü starten. Die Wahl per Icon ist jedoch schneller.
Abbildung 4 16: Integrieren der Befehlsgruppe in das Layout
Die Funktionsweise der Plugins ist schnell erklärt. Ich beginne mit EDGEEXTRUDE. Wie die Übersetzung des Namens schon verheißt, extrudiert das Plugin Ecken, also Verbindungen zwischen Punkten (siehe Abbildung 4. 17). Über die Werte kann man die Entfernung und Richtung steuern, in der die extrudierten Punkte und Kanten generiert werden sollen. Die CROSS-EXTRUDE-Option erzeugt zusatzlich Querverbindungen, falls dies möglich ist. Werden also die vier Eckpunkte eines viereckigen Polygons selektiert und mit der CROSS-EXTRUDE-Option extrudiert, so entstehen nicht nur vier neue Polygone, die senkrecht auf den Rändern des Polygons stehen, sondern auch vier X-förmig angeordnete Polygone, die sich exakt in der Mitte des Polygons treffen. Weiterhin gibt es diverse Optionen für die Bestimmung der Verschiebungsrichtung in Bezug auf das Ausgangsobjekt. Dies wird uns hier jedoch nicht beschäftigen. Wir werden das Plugin nur wie folgt benutzen: Selektieren von Punkten, Starten des Plugins, Klicken auf CREATE, ohne die Werte zu verändern und schließlich das Verschieben der neu entstandenen Punkte z. B. mit dem normalen BEWEGEN-Werkzeug. Dies lasst uns den größtmöglichen Freiraum, um selbst die Lage der neuen Punkte zu steuern. Da der EDGEEXTRUDE — Dialog zudem modal ist und daher immer geöffnet bleiben kann, genügt ein Klick auf die CREATE — Fläche, um die Aktion auszulosen.
Abbildung 4. 37; Edge-Extrude-Dialog
Das zweite Plugin habe ich EDGEBEVEL genannt. Es vermag die bereits beschriebenen Kanten von Polygonen abzuschrägen, also Fasen zu erzeugen. Dies kann in Bereichen mit vielen Dreiecken nicht immer zum Erfolg führen, erleichtert jedoch das nachträgliche Hinzufügen von Punkten in ein Modell. Um die Funktionsweise zu testen, rufen Sie einen normalen Würfel auf, konvertieren Sie diesen, wechseln Sie in den PUNKTE-BEARBEITEN-Modus und wählen Sie z. B. die vier Punkte der oberen Fläche aus. Starten Sie das Plugin und tragen Sie z. B. einen EDGEBEVEL — OFFSET von 15 ein. Belassen Sie alle übrigen Werte und klicken Sie auf CREATE. Um die selektierten Punkte herum werden neue Punkte und Flächen erzeugt. Wenn Sie dies an einer anderen Stelle im Objekt wiederholen und eine EDGE-TYPE von z. B. +45° einstellen, so bleibt die entstehende Region nicht so bestehen, sondern wird zwischen den neu generierten Punkten abgeschrägt. Ob dies nach außen oder innen passiert, hängt von der Richtung der Normalen auf den Polygonen ab. Wurde die Fase also in der falschen Richtung erzeugt, widerrufen Sie den letzten Befehl und verändern Sie den EDGE-TYPE auf -45°. Wenn Sie den EDGE-TYPE auf FREE einstellen, können Sie im Feld darunter selbst einen Abstandswert für den EDGE-OFFSET eingeben. Wenn Sie damit etwas herumgespielt haben, werden Sie schnell die Möglichkeiten aber auch die Grenzen kennenlernen. Bei niedrig aufgelösten Objekten wird es kaum Probleme geben, bei Objekten mit vielen Unterteilungen und Dreiecken kann es zu falschen oder unerwünschten Ergebnissen kommen. Wichtig ist dabei noch zu wissen, dass nach häufigem Gebrauch manchmal die Normalen neu ausgerichtet werden müssen. Dafür gibt es eine eigene Funktion im STRUKTUR-Menü.
Abbildung 4. 18: Edge-Bevel-Diaiog
Das dritte Plugin, der CUTTER, kommt ganz ohne Dialog aus. Das Plugin schneidet benachbarte selektierte Polygone entzwei. Der Vorteil gegenüber dem MESSERWerkzeug von CINEMA ist, dass mit dem CUTTER auch um Ecken herum Schnitte gezogen werden können, und dass notwendige Verbindungspolygone nur innerhalb der selektierten Flächen erzeugt werden. Alle nicht selektierten Flächen bleiben unberührt. Als kleines Bonbon erhält der CUTTER zudem bereits vorhandene UV-Koordinaten. Bereist zugewiesene und fixierte Texturen müssen nach der CUTTER-Benutzung also nicht neu platziert und angepasst werden. Die typische Benutzung des CUTTERS sieht so aus, dass Sie die Flächen an Ihrem Objekt selektieren, innerhalb der Sie neue Punkte benotigen. Es folgt der Aufruf des CUTTER — Plugins im PLUG-INSMenü oder per Icon. Danach ist das Ergebnis ohne weitere Arbeitsschritte sofort im Editor sichtbar.
4. 2. 2 Die Skizzen als Vorlagen nutzen Bevor wir mit der Modellierung beginnen können, müssen wir zuerst die erstellten Skizzen in CINEMA4D laden und im Editor platzieren. Rufen Sie dazu ein neues Material im MATERIALIEN-Fenster auf und deaktivieren Sie alle Kanäle bis auf den LEUCHTEN — Kanal. Laden Sie dort über den BILD... -Schalter das Bild mit der frontalen Ansicht des Kopfes ein. Wurde das Bild geladen, erscheint eine verkleinerte Kopie davon in dem Vorschaufenster und entsprechend verzerrt auch auf der Materialkugel oben links im
Schließen Sie das MATERIAL-BEARBEITEN-Fenster und erzeugen Sie ein zweites MaMATERIA terial mit den gleichen Einstellungen, wobei Sie nun die seitliche Kopfansicht einlesen (siehe Abbildung 4. 19).
Abbildung 4. 19: Zwei Materialien mit den Bildvorlagen konfigurieren
Rufen Sie aus dem OBJEKTE- oder dem GRUNDOBJEKTE-lcon-Menü eine EBENE ab und tragen Sie in den durch Doppelklick geöffneten Dialog die Werte aus Abbildung 4. 20 ein. Diese Werte sind keinesfalls willkürlich gewählt, sondern entsprechen exakt den Abmessungen der seitlichen Kopfansicht. Diese soll nämlich in Original-
große auf die Ebene gelegt werden. Daher sollten die Maße auch übereinstimmen. Sind Ihnen die Maße eines Bildes entfallen, so können Sie diese jederzeit im MATERIAL-BEARBEITEN-Fenster ablesen. Die Größe wird unter dem Vorschaubild des eingeladenen Bildes angezeigt (siehe Einkreisungen in Abbildung 4. 19)
Abbildung 4. 20: Bildvorlagen auf Objekten anordnen Sie können den EBENE-Dialog wieder schließen und das Material mit der seitlichen Ansicht direkt aus dem MATERIALIEN-Fenster auf das EBENE-Objekt im OBJEKTE-Fenster ziehen (Drag & Drop). Es öffnet sich ein TEXTUR-Dialog wie in Abbildung 4. 20, den Sie direkt über die OK-Taste wieder schließen können. Das standardmäßig ausgewählte UVW-MAPPING sorgt automatisch dafür, dass das Material plan auf der Oberfläche landet. Es kann höchstens vorkommen, dass das Material spiegelverkehrt oder auf dem Kopf stehend erscheint. Dies kann dann im TEXTUR-Menü im OBJEKTEFenster durch horizontales oder vertikales Spiegeln der Textur korrigiert werden. In unserem Fall reicht es jedoch aus, die Einstellungen aus Abbildung 4. 21 für die Ebene zu übernehmen. Diese sorgen für die nötigen Drehungen und eine seitliche Verschiebung um 400 Einheiten. Die Vorlage soll schließlich nicht in der Mitte der Szene stehen, sondern etwas abseits, um die spätere Arbeit nicht zu erschweren.
Abbildung 4. 21: Vorlagen im Raum ausrichten
Nun benötigen wir noch eine zweite Ebene für die frontale Vorlage. Auch diese sollte mit den Abmessungen des Bildes übereinstimmen. Wie Abbildung 4. 22 zeigt, muss die Ebene also 650 x 650 Einheiten groß sein. Beachten Sie auch immer die Richtungen der Ebenen. Verschieben Sie die Ebene über den KOORDINATEN-MANAGER auf eine Z-Position von +400 Einheiten und ziehen Sie auch auf diese Ebene das passende Material, also das Material mit der frontalen Vorlage. Sie können den TEXTUR-Dialog wieder bestätigen, ohne die Werte zu verändern.
Abbildung 4. 22: Frontale Vorlage ausrichten
Abbildung 4. 23: Die beiden Vorlagen im Raum
Das Resultat dieser Aktionen ist eine Szene wie in Abbildung 4. 23. Die Ebenen zeigen die Bildvorlagen und stehen exakt rechtwinklig zueinander. In dem Raum dazwischen entsteht nun der Kopf. Sind bei Ihnen nicht in allen Fenstern die Vorlagen zu erkennen, vergewissern Sie sich, dass zumindest QUICK SHADING und die Darstellung von Texturen in den entsprechenden Ansichtsfenstern aktiviert ist. Beides steuern Sie im DARSTELLUNG — Menü jedes Ansichtsfensters. Alle senkrecht zu den Ebenen liegenden Ansichten können jedoch prinzipiell keine Bildvorlagen zeigen (siehe Abbildung 4. 23 oben rechts).
4. 3 Die Modellierung des Kopfes Beginnen möchte ich mit dem Auge. Dieses stellt ein eigenes Objekt dar, damit es später auch unabhängig von der Kopf-Geometrie bewegt werden kann.
4. 3. 1 Das Auge Rufen Sie dazu ein KUGEL-Grundobjekt auf und platzieren Sie es so hinter der frontalen Bildvorlage, dass nur ein Teil durch diese hindurchragt und somit in der frontalen Ansicht sichtbar ist (siehe Abbildung 4-24). Verschieben Sie die Kugel so entlang der X- und Y-Achsen, dass die sichtbaren Kugelflachen mit den gezeichneten Pupillen übereinstimmen. Machen Sie dabei auch von dem orangen Anfasser der Kugel Gebrauch, um die Kugel auf eine passende Größe zu bringen. Die Kugel sollte als Ganzes das in der Bildvorlage sichtbare Auge seitlich überragen. Natürlich ist hier etwas Augenmaß im wahrsten Sinne des Wortes gefragt. Ich habe mich für einen Radius von 70 m entschieden, wie Sie Abbildung 4. 25 entnehmen können.
Abbildung 4. 24: Eine Kugel als Auge einsetzen
Noch wichtiger als die passende Größe ist jedoch die exakte Platzierung der Kugel, die Sie mit der bereits beschriebenen Methode an dem die frontale Vorlage durchbrechenden Kugelabschnitt ermessen können. Der sichtbare Anteil der Kugel sollte die komplette Pupille in der Bildvorlage abdecken.
Abbildung 4. 25: Große und Auflösung der Kugel bestimmen
Sind Sie mit den X- und den Y — Koordinaten des Auges zufrieden, verschieben Sie es entlang der Z-Achse in der seitlichen Ansicht so weit nach vorne, bis es dort die korrekte Position einnimmt (siehe Abbildung 4. 26). Bitte lassen Sie sich in der Abbildung nicht von der schwarzen Farbe der Kugel irritieren. Diese habe ich nur wegen des größeren Farbkontrastes zu der vorwiegend weißen Bildvorlage gewählt.
Abbildung 4. 26: Die endgültige Lage des Auges
Sie können als Nächstes die Konvertierung in ein Polygon-Objekt einleiten, da wir nun auf die Punkte und Polygone der Kugel zugreifen müssen. Zuvor drehen Sie die Kugel jedoch noch um 90° um die X-Achse. Dies hat den Sinn, die Polregion des Kugel-Objekts in den Bereich zu drehen, in dem die Pupille und die Iris liegen. Die kreisförmige Punkteverteilung dort vereinfacht die Modellierung der runden Pupille und der Iris (siehe Abbildung 4. 27).
Abbildung 4. 27: Das konvertierte und rotierte Auge
Wechseln Sie in den PUNKTE-BEARBEITEN-Modus und selektieren Sie einen Punkt des ersten Punktkreises vom Kugelpol aus gesehen. Fall Sie eine andere Kugelunterteilung als ich gewählt haben, sollten Sie die frontale Vorlagenebene kurzfristig entlang der Z-Achse zum Auge hin verschieben, bis nur noch der Pupillenteil der Kugel aus dem Bild ragt {siehe Abbildung 4. 28 links). Sie können dann den entsprechenden Punktkreis schnell identifizieren, der am ehesten die äußere Begrenzung der Pupille darstellen soll. Stellen Sie im KOORDINATEN-MANAGER entweder die Weit-Z-Koordinate oder die lokale Y-Koordinate des selektierten Punktes fest. Markieren und kopieren Sie den entsprechenden Wert im KOORDINATEN-MANAGER. Selektieren Sie dann den vorderen Po! der Kugel, also den Punkt, der von vorne gesehen innerhalb der Ins liegt. Übertragen Sie auf diesen Punkt den soeben kopierten Wert. Der Punkt rutscht damit auf die gleiche Höhe wie der umgebende Punktkreis. Die Kugel wird dadurch vorne abgeflacht (siehe Abbildung 4. 28). Die in der Abbildung rechts eingezeichnete helle Linie soll die Abflachung der Kugel verdeutlichen. Haben Sie eine andere Kugelunterteilung gewählt, sind ggf. noch andere Punktkreise zwischen dem Pol und der äußeren Pupillengrenze vorhanden. Deren Punkte sollten dann auch in dieser Ebene liegen. Markieren Sie dazu den entsprechenden Punktkreis und übertragen Sie erneut den abgelesenen oder kopierten Koordinatenwert. Das Ergebnis sollte in jedem Fall eine Abflachung des Bereichs der Kugel sein, in dem die Pupille liegen soll.
Abbildung 4. 28: Abflachung der Pupille Für die nächsten Aktionen benötigen wir mehr Punkte innerhalb der Pupille. Mit CINEMA-4D-eigenen Werkzeugen lässt sich dies leider nicht vollbringen, deshalb
kommt nun das CUTTER — Plugin zum Zuge. Selektieren Sie im P gone des abgeflachten Bereichs (siehe Abbildung 4. 29 links). Rufen Sie per Icon oder im PLUG-INS-Menü den CUTTER auf. Fast augenblicklich sollten Sie das Resultat erkennen können (Abbildung 4. 29 rechts). Es ist ein kreisförmiger Schnitt entstanden, der uns die gewünschten Punkte innerhalb der Pupille erzeugt.
Abbildung 4. 2$: Selektive Unterteilung der Pupille
Diese neuen Punkte sind auch gleichzeitig selektiert, was Sie im PUNKTE-BEARBEITENModus erkennen können. Benutzen Sie das SKALIEREN-Werkzeug, um die neue Punktgruppe derart zu verkleinern, dass wir Sie als Irisbegrenzung benutzen können. Wie Sie in Abbildung 4. 30 ablesen können, habe ich die Gruppengröße mit 16 x 16 Einheiten angegeben. Die Iris hat dadurch einen Durchmesser von 8 Einheiten.
Abbildung 4. 30- Große der Iris definieren
Selektieren Sie nun den Pol selbst und verschieben Sie diesen entlang der lokalen Y-Achse auf den Mittelpunkt des Auge zu. Es entsteht ein Trichter, der später das Schwarz der Iris darstellen soll. Sie können es sich auch einfach machen und gleich den Wert o für die Y-Koordinate eingeben. Der Polpunkt landet dann exakt im Mittelpunkt der Kugel (siehe Abbildung 4. 31).
Abbildung 4. 31: Die Iris formen
Die Grundform ist damit hergestellt. Um auch in eventuellen Nahaufnahmen noch gut auszusehen, möchte ich noch ein paar Details hinzufügen. Ich beginne mit der Selektion der Punkte des äußeren Pupillenrands (siehe Abbildung 4. 32). Rufen Sie das EDGEBEVEL — Plugin auf und tragen Sie einen EDGEBEVEL — OFFSET von 3 ein (siehe Abbildung 4. 32). Bestätigen Sie über die CREATE — Schaltfläche. Um den selektierten Punktkreis herum haben sich zwei neue Punktkreise gebildet. Beide Kreise sind dabei die eingestellten 3 Einheiten von dem selektierten Punktkreis entfernt. Dies macht eigentlich noch keinen Sinn, da die Punkte allein noch keine neue Schattierungsqualität in das Objekt bringen.
Abbildung 4. 32: Die äußere Begrenzung der Pupille hervorheben
Dies werden wir jetzt ändern. Die ursprüngliche Selektion ist auch nach der Aktion noch erhalten und wir können diesen mittleren Punktkreis daher gleich weiter manipulieren. Geben Sie dazu einen Y-Wert von z. B. 69 m im KOORDINATEN-MANAGER ein (siehe Abbildung 4. 33). Der Punktring wird dadurch leicht nach vorne aus der Ebene herausgehoben. Es entsteht ein kreisförmiger Wall um die Iris herum, der eine andere Schattierung hervorrufen wird. Ein kleiner Wulst um die Iris ist entstanden. Es steht Ihnen naturlich frei, eventuell noch geringere Y — Werte zu versuchen, falls Ihnen der Effekt zu stark erscheint.
Abbildung 4. 33: Den mittleren Punktkreis neu platzieren
Etwas Ahnliches habe ich mit der Irisbegrenzung vor. Selektieren Sie daher den IrisPunktkreis und benutzen Sie abermals das EdgeBevel Plugin. Diesmal wähle ich einen Offset von 2 (siehe Abbildung 4. 34)
Abbildung 4. 34: Die Begrenzung der Ins verstarken
Abbildung 4, 35, - Proberendering der frontalen Kugelansicht
Der weiterhin selektierte Punktkreis sollte nun ebenfalls auf eine andere Höhe gebracht werden. Ich habe wieder die 69 m benutzt. Die Abbildung 4. 35 zeigt das berechnete Resultat unserer Aktionen. Die Iris hat eine erkennbare Struktur bekommen, die spater im Zusammenspiel mit einer Textur mehr Lebendigkeit in das Objekt
bringen kann. Es steht Ihnen natürlich auch hier frei, die Offsets und Höhen der Verschiebungen selbst zu bestimmen. Beachten Sie nur, dass Sie den Effekt nicht übertreiben dürfen. Das Auge wird schließlich noch von einem zweiten Objekt und den Augenlidern bedeckt. Zu starke Ausbuchtungen wurden zu störenden Schatten, sichtbaren Abständen oder gar zu Überschneidungen zwischen den Objekten führen. Das innere Auge ist somit fertig modelliert. Wir können uns jetzt etwas von unnötigen Punkten und Flachen lösen, die im fertigen Objekt keine Rolle mehr spielen. Wählen Sie dazu die RAHMENSELEKTION aus und vergewissern Sie sich im Fenster AKTIVES WERKZEUG, dass auch verdeckte Elemente ausgewählt werden. Ziehen Sie im PUNKTE-BEARBEITEN-Modus m der seitlichen Ansicht einen Rahmen um den hinteren Teil der Kugel. Achten Sie darauf, nicht auch den verschobenen Pol mit zu selektieren. Dieser muss erhalten bleiben. Der Selektionsrahmen könnte also so wie in Abbildung 4. 36 aussehen. Durch Betätigen der [Entf]-/[<-]-Taste löschen wir dann die selektierten Punkte. Man hatte auch die entsprechenden Polygone selektieren und löschen können. Dann wären die Punkte jedoch erhalten geblieben und hätten durch ein zusätzliches OPTIMIEREN des Objekts (STRUKTUR-Menü) entfernt werden müssen. Beim Löschen von Punkten verschwinden dagegen gleichzeitig auch die Polygone zwischen den gelöschten Punkten.
Abbildung 4. 36: Loschen überflüssiger Polygone und Vorbereiten einer Polygon Selektion
Schalten Sie auf die LIVE-SELEKTION um und lassen Sie auch hier die Selektion verdeckter Flachen zu. Wechseln Sei in den POLYGON-Modus und selektieren Sie die trichterförmige Iris Ausstülpung, wie es Abbildung 4. 36 zeigt.
Abbildung 4. 37: Sichern der Iris Polygon Selektion
Sichern Sie diese Selektion im SELEKTION-Menü durch Einfrieren und vergeben Sie den Namen Iris an die Selektion (siehe Abbildung 4. 37). Dies wird uns später die Texturierung erleichtern, da Materialien auch auf Polygon-Selektionen beschränkt werden können.
Abbildung 4. 38: Selektion der Pupille ohne Iris
Ebenfalls im SELEKTION-Menü finden Sie den Befehl zum Ausweiten von Selektionen. Rufen sie den Befehl sooft auf, bis die gesamte Pupille selektiert ist. Klicken Sie nun auf das Symbol der Iris Selektion im OBJEKTE-Fenster und wählen Sie POLYGONE DESELEKTIEREN aus. Dadurch wird die Iris — Selektion von der gerade aktiven Selektion abgezogen. Es bleibt also nur die scheibenförmige Pupille selektiert. Sichern Sie auch diese Selektion ab (siehe Abbildung 4. 38). Bedenken Sie, dass die
Iris-Selektion im OBJEKTE-Fenster nicht aktiv sein darf. Sie wird ansonsten überschrieben. Diese Fehlerquelle und deren Umgehung haben wir ja bereits mehrfach in vorherigen Kapitel kennengelernt. Um die Glanzpunkte und Spiegelungen auf einem Auge besser steuern zu können, benötigen wir ein zweites Objekt, das das Auge komplett umgibt. Dieses Objekt muss auch die linsenförmige Ausstülpung über der Pupille bilden, die für realistische Reflexe sorgen wird. Als Ausgangsobjekt eignet sich wieder besonders gut eine KUGEL. Diese muss jedoch etwas größer als die Augenkugel sein, damit es nicht zu Durchdringungen oder Überschneidungen kommen kann. Ich habe eine KUGEL mit einem Radius von 70, 5 m gewählt (siehe Abbildung 4. 39).
Abbildung 4. 39: Hinzufügen einer zweiten, größeren Kugel Wählen Sie auf jeden Fall die gleiche Unterteilung wie bei der Augenkugel. Sie können meinem Beispiel folgen und auch hier die voreingestellten 24 Unterteilungen belassen. Um nun passgenau das Auge-Objekt zum umgeben, müssen die Positionen von Augenkugel und neuer Kugel exakt übereinstimmen. Man kann dies natürlich durch Kopieren und Einfügen der Werte aus dem KOORDINATEN-MANAGER erreichen, aber schneller geht es sicher mit der ÜBERNEHMEN-Funktion im FUNKTIONEN-Menü (siehe Abbildung 4. 40). Wählen Sie dazu die neue Kugel aus und rufen Sie dann die ÜBERNEHMEN-Funktion auf. Tragen Sie den Namen des Objekts ein, dessen Werte übernommen werden sollen. In unserem Fall also den Namen der Augen-Kugel, die ich mittlerweile AugeL genannt habe. Kreuzen Sie POSITION und RICHTUNG an, damit diese Parameter auf die neue Kugel übertragen werden. Nach der Bestätigung über die OK-Schaltfläche umgibt die neue Kugel dann die Augenkugel.
Abbildung 4. 40: Automatische Platzierung der neuen Kugel
Durch unsere EDGEBEVEL — Aktionen an der Pupille durchbrechen einige Bereiche die umgebende Kugel trotz des größeren Durchmessers. Dies wird sich jedoch nun legen, da wir die Umkugel mit einer Ausstülpung für die Hornhaut des Auges ausstatten werden. Dabei hilft uns wieder die EDGEBEVEL — Funktion, da wir einen harten Übergang zwischen der Kugelform und der Linse benötigen (siehe Abbildung 4. 41). Selektieren Sie dazu im PUNKTE — Modus den Punktkreis der neuen Kugel, der über der sichtbaren Wulst der darunter liegenden Pupille liegt. In der Abbildung ist dieser Wulst als schwarzer Ring hervorgehoben. Benutzen Sie hier den gleichen EDGEBEVEL — OFFSET wie a
Abbildung 4. 41: EdgeBevel des Linsenansatzes
Durch diese Aktion hat sich noch nichts an der Form verändert. Wir müssen dazu die neuen Punkte erst noch verschieben. Selektieren Sie dazu die zwei inneren Punktringe der neu entstandene Punktgruppe (siehe Abbildung 4. 42). Geben Sie diesen Punkten eine neue Y-Koordinate von 71 m durch Eingabe im KOORDINATENMANAGER.
Abbildung 4. 42: Verschieben von Punktringen
Verkleinern Sie die Selektion auf den inneren der 3 Ringe (siehe Abbildung 4. 43) und verschieben Sie diesen Ring auf eine Y-Position von 74m.
Abbildung 4 43: Verschieben der inneren Punktringe
Schließlich selektieren Sie den Polpunkt und bringen diesen auf eine Y-Koordinate von 77 m. Wie Sie in Abbildung 4. 44 erkennen können, haben die Verschiebungen eine linsenförmige Ausstülpung erzeugt, unter der es keine Überschneidungen mit der Pupille mehr gibt. Die von mir genannten Koordinaten verstehen sich dabei nur als grobe Richtlinien. Entscheidend ist die möglichst gleichförmige Rundung und dass keine Überschneidungen mehr mit der Pupille auftreten. Beachten Sie auch hier, dass Übertreibungen der Linsenformung später nicht nur unrealistisch wirken, sondern auch Durchdringungen bei den Augenlidern provozieren können. Es geht hier lediglich um eine Abweichung aus der kugelförmigen Oberfläche, um sichtbare Reflexionsunterschiede zwischen dem Bereich der Pupille und des restlichen Augenkörpers hervorzurufen.
Abbildung 4. 44: Abschluss der Linsenmodellierung
Auch bei dieser Kugel ist der hintere Teil nicht von Nutzen und kann durch Loschen der Punkte entfernt werden (siehe Abbildung 4-45)- Auch extreme Augenpositionen werden keinen Blick auf die rückwärtige Augenhälfte zulassen.
Abbildung
4.
45:
sehen überflüssiger Punkte
Bis auf die spaterfolgende Texturierung ist das Auge damit komplett. Wir beschäftigen uns nun mit den Augenlidern, die natürlich möglichst exakt an dem Auge anliegen müssen. Deshalb macht es auch keinen Sinn, zuerst das Gesicht und erst spater die Augen zu modellieren.
4-3-2
Die Augenlider
Die Modellierung eines Kopfes kann grundsatzlich auf zwei verschiedene Arten erfolgen, mit der Box-Modelling-Methode, oder mit der Extrusions-Methode, wie Sie EDGEEXTRUDE möglich macht. Es gibt zwar noch einige Spline- und NURBS — basierte Techniken, die mit den Werkzeugen von CINEMA jedoch weniger erfolgreich sind. Das Box-Modelling haben wir bereits bei der Kurbelwelle und den Zylindern kennengelernt: Man entwickelt dabei aus einem Würfel durch stufenweises Unterteilen und Verzweigen die gewünschte Form.
Meine Methode startet dagegen etwas verhaltener, nämlich mit Punkten. Dies mag auf den ersten Blick mühsamer erscheinen, hat jedoch den entscheidenden Vorteil, dass wir von Anfang an die volle Kontrolle über die Platzierung jedes Punktes besitzen. Die notwendigen Details werden dabei von Anfang an eingearbeitet und müssen nicht - wie bei der Box-Modelling-Variante - nachträglich z. B. mit dem MesserWerkzeug hinzugefügt werden. Wir beginnen dazu mit einem POLYGON-OBJEKT aus dem OBJEKTE-Menü. Dieses versteht sich als Behälter für noch zu erstellende Punkte und Flächen und ist daher zu Beginn noch komplett leer, ähnlich wie ein NULL-OBJEKT. Wechseln Sie in den PuNKTE-Modus und wählen Sie aus dem STRUKTUR-Menü den Eintrag PUNKTE HINZUFÜGEN. Wie bei den bereits besprochenen Splines müssen wir jetzt zusätzlich zum Mausklick noch die [Strg]-/[Ctrl]-Taste gedrückt halten, um neue Punkte auch tatsächlich zu erzeugen. Überzeugen Sie sich zuvor nochmals, dass das neue POLYGON-OBJEKT im OBJEKTE-Fenster aktiv ist und schalten Sie die Augen-Objekte für den Editor auf unsichtbar. Diese würden uns nur die Sicht auf die Bildvorlage verdecken. Kücken Sie dann in die frontale Ansicht die Kontur der Augenöffnung nach. Setzen Sie die Punkte nicht zu eng. Zehn bis 14 Punkte sollten genügen. Wechseln Sie danach in den OBjEKT-BEARBEiTEN-Modus und verschieben Sie das POLYGON-OBJEKT mit den neuen Punkten soweit entlang der Z-Achse nach vorne, bis die Punkte leicht vor dem Auge liegen. Machen Sie dann die Augen-Objekte wieder sichtbar {siehe Abbildung 4. 46).
Abbildung 4. 46: Kontur der inneren Lider definieren
Weniger zum sturen Abtippen als vielmehr als grobe Richtschnur für die Lage der Punkte habe ich in Abbildung 4. 47 die Positionen meiner 14 Punkte festgehalten. Die Positionen sind nicht verbindlich, ebenso wie die Anzahl der Punkte. Zudem ist ein nachträgliches Verschieben der Punkte in jedem Fall nötig, um die Oberfläche optimal an das Auge anzupassen. Es reicht also, wenn Sie Ihre Punkte entsprechend den Editorabbildungen hier im Buch setzen.
Abbildung 4. 47: Die Koordinaten der ersten Punkte
Eine Punktreihe allein ist für uns noch wenig brauchbar. Wirbenötigen also eine zusätzliche Punktreihe, um auch Flächen um die Augenöffnung herum erzeugen zu können. Diese neuen Punkte können Sie wieder per Hand erzeugen, oder einfach alle bisherigen Punkte SELEKTIEREN, KOPIEREN und gleich wieder EINFÜGEN. Diese Befehle finden Sie alle im BEAR SEITEN — Menü des STRUKTUR — Fenst dann die eingefügten neuen Punkte, damit ein sichtbarer Abstand zwischen alten und neuen Punkten entsteht. Die neuen Punkte sollten dabei etwas vor den alten Hegen, also noch weiter vom Auge entfernt (siehe Abbildung 4. 48). Verschieben Sie dann ggf. einzelne der neuen Punkte so, dass sinnvolle Verbindungen zwischen den Punkten möglich werden. Alte und neue Punkte sollen schließlich mit Flächen verbunden werden. Wählen Sie dann im STRUKTUR-Menü POLYGONE ERZEUGEN, und klicken Sie nacheinander die Punkte an, die mit einer Fläche verbunden werden sollen. Klicken Sie immer doppelt auf den letzten Punkt, um die Fläche generieren zu lassen. Wie Sie in der Abbildung 4. 48 rechts erkennen können, habe ich vorwiegend viereckige Polygone verwendet, um die Punkte zu verbinden. Dies bietet sich auch an, wenn sich die Punkte derart gegenüberstehen. Einzige Ausnahmen ist der innere Augenwinkel, in dem später die Tränendrüse sitzen soll. Dort habe ich einige der neuen Punkte gelöscht und leicht anders platziert. Dies hat den Sinn, schon frühzeitig die Anzahl an Punkten im Bereich zwischen Nase und Auge zu reduzieren. Dort benötigen wir nämlich nicht so viele Punkte. Durch diese Reduzierung ist auch der Einsatz eines dreieckigen Polygons notwendig, das man ansonsten in HyperNURBS nicht so gerne benutzt. Gehäuft auftretende Dreiecke können dort zu unschönen Schattierungen führen. Da es sich hier jedoch nur um ein Dreieck und noch dazu um ein sehr kleines Gebiet handelt, sind keine Probleme zu erwarten.
Abbildung 4. 48: Duplizierte und verbundene Punkte
Nachdem alle Punkte passend verschoben und verbunden wurden, legen Sie das POLYGON-OBJEKT, das ich im OBJEKTE-Fenster Auge genannt habe, in ein HyperNURBS-Objekt. Wir können so frühzeitig den interpolierten Verlauf der Oberfläche begutachten. Selektieren Sie den kompletten inneren Punktring und starten Sie EDGEEXTRUDE ohne spezielle Eingaben über die CREATE — Schaltfläche. Reduzieren Sie die Größe der neuen Punktgruppe mit dem SKALIEREN-Werkzeug und verschieben Sie die neuen Punkte leicht in Richtung Auge (siehe weiße Punkte in Abbildung 4. 49). Der in der frontalen Ansicht geringe Abstand zwischen den beiden inneren Punktringen wird im HyperNURBS für eine starke Krummungsorgen, die der Kante an einem Lid recht nahe kommt.
Abbildung 4. 4$. Extrudierte Kante im HyperNURBS
Wie in dem Proberendering unten in Abbildung 4. 49 zu erkennen, sorgen die geringen Abstände der Punkte im Innenbereich der Lider für eine starke Krümmung und eine stärkere Annäherung an die von uns abgesteckte Form. Selektieren Sie wieder die gerade eben erst neu entstandenen Punkte und extrudieren Sie diese erneut mit EDGEEXTRUDE. Verschieben Sie die neuen Punkte einfach nach hinten, so wie es Abbildung 4. 50 zeigt. Diese Verschiebung sorgt für eine Dicke der Lider und wird später die Lücke zwischen Lidern und Auge schließen.
Abbildung 4. 50: Extrudierung zum Auge hin
Einzige Ausnahme bei dieser Verschiebung nach hinten bildet der Punkt, der aus der mehrfachen Extrudierung in der Tränendrüsen-Ecke entstanden ist. Dieser Punkt muss von Ihnen wieder nach vorne und leicht nach oben gezogen werden (siehe Abbildung 4. 51). Wie Sie sehen können, entsteht durch die Verschiebung dieses Punktes automatisch die Ausstülpung der Tränendrüse.
Abbildung 4. 51: Ausformung der Tränendrüse
Im letzten Schritt werden jetzt die zuletzt neu entstandenen Punkte abermals selektiert und extrudiert. Dazu gehört auch wieder der eben noch verschobene Trä-
nendrüsenpunkt. Die neuen Punkte vergrößern Sie als Gruppe und belassen sie ansonsten an Ort und Stelle. Das HyperNURBS „rollt" sich dadurch in den für uns später unsichtbaren Bereich hinter den Augenlidern hinein.
Der extrudierte Punkt der Tränendruse sollte ebenfalls unter der Tränendrüsenfläche wieder verschwinden, also leicht wieder zurück in Richtung Augenwinkel verschoben werden. Anders also die übrigen Punkte muss er jedoch auch zusätzlich noch näher an das Auge verschoben werden, damit spater keine sichtbare Lücke zwischen Tränendrüse und Auge entsteht. Wir sind damit mit den Lidrandern und der Tränendrüse fertig und müssen uns jetzt auf das Anpassen der Lider an das Auge beschäftigen. Dies ist besonders wichtig, da hier kleine Fehler sofort unangenehm auffallen. Zu oft sieht man modellierte Köpfe, bei denen die Augen nachträglich eingesetzt wurden und bei denen man zwischen Augen und Augenlidern in ungunstigen Winkeln bis auf den Hinterkopf gucken kann. Lassen Sie sich hierbei also etwas Zeit, es lohnt sich. Selektieren Sie dazu kleine zusammengehörende Punktgruppen und verschieben Sie diese solange auf das Auge zu, bis keine sichtbare Lücke mehr bleibt. Da die HyperNURBS — Form teilweise stark von der Polygon-Form abweicht, lassen Sie sich auch nicht irritieren, wenn einzelne Punkte oder Polygone bereits im Auge verschwinden oder dieses schneiden. Entscheidend ist nur die HyperNURBS-Oberfläche und deren Verlauf (siehe Abbildung 4. 52).
Abbildung 4. 52: Anpassen an die Augenform
Benutzen Sie zur Kontrolle immer wieder das KAMERA-Fenster und rotieren Sie um das Auge herum, um Lücken zu entdecken. Die Lider sollten sich überall an das Auge anschmiegen. Selektieren Sie danach den kompletten oberen Rand des Auges (siehe schwarze Punkte in Abbildung 4. 53) und extrudieren Sie diese mit EDGEEXTRUDE. Verschieben Sie die neuen Punkte nach oben und etwas zum Auge hin (siehe Abbildung 4. 54). Orientieren Sie sich dabei nicht mehr so stark an der Augenkugel. Der Abstand kann durchaus um einiges größer sein. Einzig der Punkt links oberhalb der Tränendruse bekommt eine kleine Spezialbehandlung, denn dort ist oft eine kleine
Falte sichtbar. In Abbildung 4. 53 ist es der zweite schwarz markierte Punkt von unten auf der linken Bäldseite. Ziehen Sie diesen Punkt also etwas nach vorne, vom Auge weg. Wie diese Verschiebung betragsmäßig aussieht, können Sie in Abbildung 4. 55 erkennen.
Abbildung 4. 53: Extrudieren der oberen Kante
Abbildung 4. 54. Das Oberlid formen Dort ist auch bereits der nächste Arbeitsschritt zu erkennen, denn des Oberlid ist keinesfalls ein straffes Stuck Haut, sondern faltet sich auf halber Strecke leicht auf. Es entsteht eine Falte, die wir durch eine EDGEEXTRUDE — Extrusion mit anschließender Verschiebung vom Auge weg aufgreifen können. Dafür selektieren Sie wieder den oberen Rand der Auge — Objekts bis hin zum inneren Augenwinkel. Verschieben Sie die neuen Punkte gemeinschaftlich leicht nach vorne, wie es Abbildung 4. 5 5 zeigt.
Abbildung 4. 55: Die Falte am Oberlid andeuten
Die Falte wird nur sichtbar, wenn wir die Oberfläche auf kleinem Raum auch wieder in die Gegenrichtung führen, also ganz ähnlich wie bei dem Wulst um die Iris. Extrudieren Sie daher die neuen Punkte nochmals und schieben Sie diese wieder leicht nach hinten und nach oben. Die Abbildung 4. 56 zeigt das mögliche Ergebnis im Proberendering. Da sich diese Falte nicht bis in den inneren Augenwinkel hineinziehen sollte, haben ich dort einige der neuen Punkte geloscht und manuell die entstandenen Flächen geschlossen. Durch die fehlenden Punkte werden die zu überbrückenden Distanzen größer und daher auch die Krümmung im HyperNURBS geringer. Es wird also bei Flachen mit großen Punktabständen nicht so extreme Falten geben können, wie in Bereichen mit hoher Punktdichte. Ich konnte dabei sogar weitgehend auf den Einsatz dreieckiger Polygone verzichten. Nur ein einziges dreieckiges Polygon kommt am Ende der Falte zum Einsatz. Wie Sie im Proberendering der Abbildung 4. 56 erkennen können, hatte dies jedoch keinerlei negative Auswirkungen auf die Schattierung des HyperNURBS. Die prinzipielle Ablehnung von Dreiecken in HyperNURBS ist also unbegründet.
Abbildung 4. 56: Die gesamte Augen — Kante extrudieren
In Abbildung 4. 56 ist auch der nächste Arbeitsschritt angedeutet, denn nachdem die Falte im Oberlid herausgearbeitet wurde, kann das Auge als Ganzes vergrößert werden. Daher selektieren Sie diesmal alle äußeren Punkte und extrudieren und skalieren diese. Die neuen Punkte sollten hauptsächlich leicht vor allen bisherigen liegen. Dies leitet dann bereits die Bewegung auf die Nase auf dereinen Seite und auf Wange und Augenbraue auf der anderen Seite ein. Die Punkte am äußeren Augenwinkel wandern dagegen leicht nach hinten, um das Auge herum. Sorgen Sie ggf. durch manuell erstellte Flachen dafür, dass das Auge frontal gesehen eine ovale und geschlossene Form abgibt. In Abbildung 4. 57 können Sie gut erkennen, wo ich Punkte geloscht und die Bereiche durch neue Flachen wieder geschlossen habe. Dies ist im Bereich der oberen Augenwinke! der Fall, um die Falte im Oberlid nach außen abzuschwächen und gleichzeitig die Punktanzahl dort zu reduzieren.
Abbildung 4. 57: Der bisherige Stand ohne Hyper-NURBS-Glättung
Eine letzte Extrudierung des äußeren Randes, wie in Abbildung 4. 58 angedeutet, vergrößert das Auge so weit, dass wir Nase, Wange, Stirn und die Seite des Kopfes spater direkt anknüpfen können. Die von den Schädelknochen begrenzte Augenhöhle ist damit ebenso verdeckt wie das Auge selbst. Stellen Sie im Objekt oder während der noch folgenden Schritte störende Helligkeitsveränderungen fest — wie in Abbildung 4. 58 im Bereich der Tränendrüse — so schafft meist die NORMALEN-AUSRICHTEN-Funktion im STRUKTUR-Menü Abhilfe. Die verdrehten Normalen können durch die Plugins oder durch das manuelle Verschließen von Flachen entstehen, lassen sich jedoch mit der genannten Funktion leicht aus der Welt schaffen.
In seltenen Ausnahmefällen kann es auch in Verbindung mit dem EDGEBEVEL — Plugin zu doppelte durch derartige Schattierungsfehler. In solchen Fällen hilft die OPTIMIEREN-Funktion im STRUKTUR-Menü weiter, die doppelte Punkte und Polygone zusammenfasst und das Problem damit beseitigt. Dies nur als Hinweis am Rande, falls Sie derartige Effekte beobachten sollten. Wir sind ansonsten mit der Modellierung der Augenlider und des gesamten Augenbereichs fertig. Abbildung 4. 59 zeigt den Blick auf das entsprechende Objekt mit ausgeblendeten Augen-Kugeln. Wir lösen uns jetzt komplett vom Auge und beschäftigen uns mit der Nase, die dann zu einem spateren Zeitpunkt mit dem Augenbereich verbunden wird.
Abbildung 4. 58: Ein abschließender Rand um das Auge entsteht
Abbildung 4. 59: Das fertige Ober- und Unterlid
4. 3. 3
Die Nase
Die Nase lässt sich grundsätzlich leichter und auch schneller modellieren als das Auge. Es finden dort weniger Veränderungen auf kleinem Raum statt und daher sind auch weniger Punkte notwendig. Wir beginnen also wie zuvor mit einem neuen POLYGON-OBJEKT und setzen in dieses Punkte entlang des Nasenrückens, über die Nasenspitze hinaus, bis zum oberen Rand der Oberlippe. Das Setzen dieser Punkte nehmen Sie am besten in einer seitlichen Ansicht vor, in der Sie freie Sicht auf die Bildvorlage haben. Das Auge-Objekt sowie die Augenkugeln können Sie solange deaktivieren und unsichtbar machen. Den beschriebenen Nasenbereich habe ich mit 12 Punkten abgesteckt, deren exakte Positionen Sie Abbildung 4. 60 entnehmen können. Wie dort gut zu erkennen ist, liegen alle Punkte auf der X-Koordinate o. Diese Gleichheit der Koordinaten ist deshalb von Wichtigkeit, da wir das Objekt später an der Symmetrieachse spiegeln wollen. Die Punkte, die auf einer derartigen Symmetrieachse liegen sollen, müssen für diese Prozedur möglichst auf einer Koordinate liegen.
Abbildung 4. 60: Punkte entlang des Nasenrückens in einem neuen Polygon-Objekt Abbildung 4. 61 zeigt noch einmal die Editoransicht mit den gesetzten Punkten, sowie den nächsten Arbeitsschritt, dass Duplizieren und Verschieben dieser Punkte. Sie müssen sich dabei für die Richtung entscheiden, in der auch das Auge-Objekt liegt, in der frontalen Ansicht also die rechte Seite.
Abbildung 4. 61: Duplizierte Punkte entlang des Nasenrückens
Wie weit Sie die duplizierten Punkte nach rechts verschieben, ist Ermessenssache. Als grobe Faustregel empfehle ich die Verschiebung der kompletten Punktreihe bis an die Stelle, an der das Nasenloch beginnt. Damit die Nase nicht einen zu breiten Rücken bekommt, müssen die neuen Punkte jedoch auch entlang der Z-Koordinate verschoben werden. Diese Verschiebung muss am Nasenansatz stärker sein als auf der Stirn, auf der Nasenspitze oder direkt über der Oberlippe. Gerade dort können die Punkte sogar noch etwas nach vorne gezogen werden, um die Mulde zwischen Nase und Lippen zu formen. Abbildung 4. 62 gibt Ihnen eine Idee von der Richtung und Stärke dieser Verschiebungen. Wie zuvor beim Auge müssen Sie auch hier in der Anfangsphase die Flächen noch manuellerzeugen.
Abbildung 4. 62: Manuell erstellte Flächen Selektieren Sie komplett die zweite senkrechte Reihe der neuen Punkte und extrudieren Sie diese wieder mit EDGEEXTRUDE. Ziehen Sie die neuen Punkte weiter nach rechts und speziell am Nasenrücken auch welter in die Tiefe. Besonderes Augenmerk legen Sie bitte auf den Bereich des Nasenlochs. Damit wir es dort später leichter haben, sollte ein einziges Polygon das gesamte Nasenloch bedecken. In Abbildung 4. 63 habe ich das entsprechende Polygon schwarz hervorgehoben. Beachten Sie auch, dass die beiden Punkte über der Oberlippe nun wieder etwas zurückgewandert sind.
Abbildung 4. 63: Platzierung der dritten Punktreihe und des Nasenloches
Wie Sie bemerken, ähneln sich die Arbeitsschritte hier sehr. Wieder selektieren Sie die zuletzt neu entstandenen Punkte und extrudieren diese mit EDGEEXTRUDE. Diesmal findet besonders am Nasenrücken und der Nasenspitze vorwiegend eine Verschiebung entlang der Z-Achse statt. Die Punkte rechts der Nasenspitze sollten in der frontalen Ansicht jetzt die maximale Breite der Nase wiedergeben. Die Punkte auf der Stirn erhalten wie üblich nur eine seitliche Verschiebung, wie auch die Punkte über der Oberlippe (siehe Abbildung 4. 64). Bei der Extrudierung der nun fünften Punktreihe erreichen wir die Höhe der Wange und haben damit die Nase komplett beschrieben. Wie Sie in Abbildung 4. 65 - nochmals durch den Pfeil angedeutet - bemerken werden, reduziert sich vor allem der Bereich neben der Nasenspitze erheblich entlang der Z-Achse, wogegen die anderen Bereiche fast konstant bleiben. Wie die frontale Ansicht zeigt, findet kaum noch eine seitliche Verschiebung statt.
Abbildung 4. 64: Die vierte Punktreihe
Abbildung 4. 65: Die fünfte Punktreihe
Wechseln Sie nun in den POLYGON-Modus und selektieren Sie das zuvor über dem Nasenloch platzierte Polygon. Extrudieren Sie dies mit dem EXTRUDIEREN-Werkzeug aus dem STRUKTUR-Menü nach hinten oben. Im Normalfall lassen Sie das Polygon einfach seiner Normalen folgen. Achten Sie jedoch darauf, nicht die spatere Spiegelachse zu überschreiten. Es sollte also kein Punkt des extrudierten Polygons seitlich über die zu Beginn gesetzten Punkte auf dem Nasenrucken hinausragen (siehe Abbildung 4. 66). Ansonsten käme es beim Spiegeln zu einer Überschneidung in diesem Bereich, die eventuell durch das Nasenloch sichtbar wurde.
Abbildung 4. 66: Extrudierung des Nasenloch-Polygons
Um die noch fehlende Nasenhälfte zu erganzen, benutzen wir nun das SYMMETRIE-OBJEKT. Sie finden es u. a. i reits mehrfach im ersten Kapitel benutzt haben. Das Symbol des SYMMETRIE-OBJEKTS stellt einen Kopf aus einer grünen und einer blauen Hälfte dar. Schon daranerkennt man, wie nutzlich dieses Objekt hier in unserem Beispiel werden kann, denn wir nehmen uns selbst damit die halbe Arbeit ab. Wozu noch ein Auge modellieren, wo wir doch schon eines haben? Damit alles nach Wunsch funktionieren kann, muss einerseits das zu spiegelnde Objekt dem SYMMETRIE-OBJEKT im OBJEKTE-Fenster untergeordnet werden und andererseits muss im Menü des SYMMETRIE-OBJEKTS die richtige Symmetrieachse aktiviert sein. In unserem Fall haben wir Gluck, denn bereits standardmäßig ist die XYAchse als Symmetrieachse dort voreingestellt. Und wenn Sie meiner Empfehlung gefolgt sind, die ersten Punkte auf die X-Koordinaten o zu setzen, dann sollten Sie
bereits nach der Unterordnung der Nase unter das SYMMETRIE-OBJEKT eine komplette Nase erkennen können. Falls Sie zwischen den beiden Nasenhälften eine Lücke entdecken, oder falls sich die Nasenhälften sogar überschneiden, müssen Sie das SYMMETRIE-OBJEKT so verschieben, dass dessen Y-Achse exakt auf der Schnittkante der halben Nase liegt. Sie können diese Position leicht durch Anklicken eines Punktes auf der Schnittkante im KOORDINATEN-MANAGER ablesen. Vergessen Sie dabei nicht, die Koordinaten im Weltsystem abzulesen. Den abgelesenen Wert für die Welt-X-Koordinate übertragen Sie dann auf die X-Position des SYMMETRIE-OBJEKTS. Damit dabei nicht SYMMETRIE-OBJEKT und POLYGON-OBJEKT zusammen verschoben werden, müssen Sie sich dafür in der OBJEKTACHSEN-BEARBEITEN-Betriebsart befinden oder das POLYGON-OBJEKT kurzfristig wieder aus dem SYMMETRIE-OBJEKT entfernen. Gibt es dann noch immer Probleme an einigen Stellen, überprüfen Sie, ob auch wirklich alle Punkte an der Schnittkante auf der gleichen Welt-X-Koordinate liegen. Ist dies alles geglückt, rufen Sie ein neues HyperNURBS-Objekt auf und ordnen SYMMETRIE-OBJEKT samt halber Nase diesem unter (siehe Abbildung 4. 67). Durch die Möglichkeit der Verschachtelung von Aktionen im OBJEKTE-Fenster wird dadurch die Nase zuerst gespiegelt und dann das gesamte Objekt geglättet (siehe Abbildung 4. 68).
Abbildung 4. 67: interaktive Spiegelung mit einem Symmetrie-Objekt Wenn Sie nun Punkte im Nase-Objekt verschieben, findet eine automatische Spiegelung dieser Aktion auf die andere Seite statt. So kann man sehr viel besser das Gesamtbild beurteilen, als dies an einem halbierten Objekt möglich wäre. Zudem führt die automatische Verschmelzung auf dem Nasenrücken dazu, dass das HyperNURBS auch dort den Bereich glättet und ein homogenes Objekt entsteht. Durch die Eigenschaft von HyperNURBS, dass die geglättete Fläche immer kleiner ist als die ursprüngliche Fläche, kann es nötig werden, Punkte auf dem Nasenrücken oder an den Nasenflügeln nochmals zu verschieben, um die gewünschten Ausmaße wieder herzustellen. Dem steht nichts im Wege. Beachten Sie jedoch, dass Sie besondere Vorsicht beim Verschieben der Punkte auf der Symmetrieachse
walten lassen, jede Verschiebung senkrecht zur Spiegelachse, also hier entlang der X-Achse, führt zu einem Loch oder einer Überschneidung an der entsprechenden Stelle. Korrigieren Sie in solchen Fällen die Welt-X-Position des Punktes wieder über den KOORDINATEN-MANAGER auf die Welt-X-Position des SYMMETRIE-OBJEKTS.
Abbildung 4. 68: Die fertige Nase im Symmetrie- und im HyperNURBS-Objekt
4. 3. 4 Wangen und Kinn Es ist nun an der Zeit, Auge und Nase zu verbinden. Ordnen Sie dafür das Auge-Polygon-Objekt dem Polygon-Objekt mit der halben Nase unter. Sie werden dann beobachten, wie das SYMMETRIE-OBJEKT nun auch das Auge spiegelt. Es können damit also nicht nur einzelne Objekte, sondern auch ganze Hierarchien gespiegelt werden. Dies bringt uns hier jedoch nicht weiter, da Verbindungsflächen zwischen Auge und Nase fehlen. Um diese erzeugen zu können, müssen die Punkte und Flächen der Nase und des Auges in einem Objekt vereint sein. Selektieren Sie daher das
Nase-Objekt mit dem noch immer untergeordneten Auge und rufen Sie die VERBIN-DEN Funktion aus dem FU Es wird ein neues Objekt im OBJEKTE-Fenster mit dem Namen Nase. i erscheinen, das nun beide Objekte enthält. Die alte Gruppe aus Nase und Auge ist somit überflüssig und kann gelöscht werden. Wählen Sie im PUNKTE-BEARBEITEN-Modus den Befehl POLYGONE ERZEUGEN aus dem STRUKTUR-Menü und schließen Sie die Lücke zwischen Auge und Nase an deren engster Stelle. Das Ergebnis sieht wie auf der rech-
ten Seite der Abbildung 4. 69 aus. Lassen Sie ggf die Normalen neu ausrichten, falls es zu Unregelmäßigkeiten in der Schattierung kommt.
Abbildung 4 69. - Auge und Nase verbinden Wir fahren fort, indem wir die Seite der Nase weiter mit EDGEEXTRUDE verlangern und somit den Bereich der Wange formen. Selektieren Sie dazu die äußerste Punktreihe an der Nase und extrudieren Sie diese durch Verschieben der neuen Punkte nach rechts (siehe Abbildung 4. 70 links).
Abbildung 4. 70. Ausweiten der Nasenflanke auf die Wange
Wie in der Abbildung zu erkennen und auch durch den Pfeil angezeigt, verschieben Sie die Punkte auf der Hohe des Nasenflügels zusätzlich entlang der Z-Achse nach vorne. Im HyperNURBS bildet sich dadurch eine weiche Falte um den Nasenflügel herum. Schließen Sie dann die Lücke zwischen dem unteren Augenrand und den neuen Punkten mit einem manuell erzeugten Polygon. Ich habe die entsprechende Fläche in der Abbildung weiß markiert. Nach diesem Schema erganzen Sie Reihe um Reihe, wie es Abbildung 4. 71 zeigt. Wie Sie dort sehen können, fallt der Bereich um den Mund starker zurück als der Bereich auf dem Wangenknochen. Die Flache zwischen den neu extrudierten Punkten und dem Auge muss jeweils von Hand ergänzt werden, wie bereits zuvor in Abbildung 4. 70 gezeigt. Lassen Sie die untersten Punkte der Form der Oberlippe folgen, wobei sich zum Mundwinke! hin ein eher geschwungener Verlauf der Punktreihe ergibt. Diese geschwungene Form habe ich durch etwas dickere schwarze Punkte in der Abbildung 4. 71 markiert. Ein derartiger Verlauf erleichtert später die Animation des Mundes und des Unterkiefers.
Abbildung 4. 71: Fortfuhrung bis zum Mundwinkel Berechnet man vom jetzigen Entwicklungsstand ein Proberendering in den Editorfenstern, so sieht dies wie in Abbildung 4. 72 aus. Deutlich zu erkennen ist dort die Furche seitlich des Nasenflügels.
Abbildung 4. 72: Die fertige Wange
Lassen Sie uns kurz das Modell betrachten und sinnvolle Vereinfachungen durchführen. So habe ich z. B. direkt unter dem Auge Punkte gelöscht und durch größere Flächen die Lücken manuell verschlossen (siehe Abbildung 4. 73). Dies hat den Grund, dass wir an der Seite des Kopfes nicht so viele Punkte benötigen werden, Es wäre daher nicht sinnvoll, alle Punkte immer „mitzuschleppen". Wie ebenfalls in der Abbildung an den weiß markierten Punkten zu erkennen, selektieren Sie für die folgenden EDGEExTRUDE-Extrusionen diesmal alle seitlichen Punkte des Modells.
Abbildung 4. 73: Punktverteilung im Detail
Diese Punkte werden jetzt mehrfach extrudiert und nach hinten verschoben, wie es Abbildung 4. 74 zeigt. Wir sind also schon in dem Bereich angelangt, in dem der seitliche Kopf liegt. Beiassen Sie es nicht bei einer ausschließlichen Verschiebung entlang der Z-Achse, sondern wandern Sie im Bereich des Wangenknochens zuerst
noch ein Stückchen nach außen, bevor Sie die Oberfläche schließlich wieder nach innen führen. Nichts wirkt unrealistischer als eine völlig plane Flache an einem Kopf. Beachten Sie auch, dass der Bereich, der sich unmittelbar an den äußeren Augenwinkel anschließt, schon früher als der Rest entlang der Z-Achse nach hinten verschoben werden sollte. Sie erkennen dies auch in der Abbildung 4. 74 oben links. Bei der seitlichen Ausdehnung können Sie sich ungefähr auf der Hohe des Ohrs auch sehr gut an unserer gezeichneten frontalen Vorlage orientieren, [neiner Probeberechnung sieht das dann wie in Abbildung 4. 75 aus.
Abbildung 4. 74: Verlängerung entlang der Kopfseite
Abbildung 4. 75: Das Modell bis jetzt im Testrendering
Wenn Sie nach zwei bis drei Extrusionen auf der Höhe des Ohrs angekommen sind, werden wir uns weiter mit dem unteren Gesicht, also mit Kinn und Kiefer, beschäftigen. Selektieren Sie dafür alle unteren Punkte entlang der Seite des Kopfes bis vorne zum Mundwinkel (siehe Abbildung 4. 76 oben). Extrudieren und verschieben Sie die neuen Punkte dann leicht nach unten und zur Symmetrieachse hin, bis der Punkt, der aus dem Mundwinkel-Punkt entstanden ist, auf dem unteren Rand der Unterlippe gelandet ist (siehe Abbildung 4. 76 unten).
Abbildung 4. 76: Verlängerung Richtung Kinn einleiten Verteilen Sie die neuen Punkte auf der Seite etwas großflächiger und versuchen Sie die Linienzuge der mit diesen Punkten verbundenen Abschnitte aufzugreifen. Das Bestreben muss es immer sein, möglichst Kantenzuge ohne auffällige Ecken zu erzeugen. Fuhren Sie diese Arbeitsschritte noch ungefähr dreimal durch, bis Sie die Symmetrieachse erreicht haben (siehe Abbildung 4. 77). Beachten Sie, dass die Punkte unter dem Kinn weiter nach vorn rutschen. Dort soll schließlich noch der Halsansatz Platz haben. Machen Sie das Kinn nicht zu spitz, sondern nehmen Sie bereits die vorletzte Punktreihe vor der Symmetrieachse deutlich nach vorne. In der seitlichen Ansicht der Abbildung 4. 77 können Sie nun gut erkennen, was ich mit der geschwungenen Kantenführung gemeint habe. Die Kanten laufen in einem mehr oder weniger stark geschwungenen „S" von der Höhe des Auges über die Wange bis nach vorn zum Kinn. In der frontalen Ansicht folgen die Kantenzüge eher einem halben „U".
Abbildung 4. 47: Das komplette Kinn
4. 3. 5 Der Mund Das vordere Gesicht ist damit bereits bis auf die Stirn und den Mund komplett. Sie müssen zugeben, dass man mit dem Extrudieren von Kanten recht schnell zu brauchbaren Ergebnissen kommt. Wir mussten nicht einmal auf das MESSER oder andere für eingeschlossene Bereiche eher ungeeignete Werkzeuge zurückgreifen. Das POLYGON-OBJEKT bleibt dadurch auch jetzt noch recht übersichtlich, Fahren wir also mit dieser Technik fort und gehen wir die Modellierung der Lippen an. Da die spitz zulaufende Formation der Punkte im Mundwinket nicht für eine gleichmäßige Unterteilung geeignet ist, schließen Sie diesen Bereich kurzerhand mit einem dreieckigen Polygon, wie es weiß markiert in Abbildung 4. 78 eingezeichnet ist. Ohne diesen Schritt wären wir gezwungen, die ansonsten voneinander getrennten Lippen mit Dreiecken an den Mundwinke! zu knüpfen. Dies wurde in jedem Fall zu unschönen Schattierungen und auch zu Komplikationen bei der Animation fuhren. Selektieren Sie dann alle die Mundöffnung begrenzenden Punkte und extrudieren Sie diese auf die bekannte Weise. Skalieren Sie die neue Punktgruppe leicht nach innen und verschieben Sie diese ggf. etwas nach vorne (siehe Abbildung 4-79)- Verschieben Sie danach jeden Punkt einzeln möglichst exakt auf den äusseren Rand der Lippen. Diese Linie können Sie recht gut aus den beiden Bildvorlagen abnehmen. Es kann dazu notig sein, die Punkte des alten Mundrandes leicht zu verschieben, um Platz zu schaffen. Das Resultat sollten zwei parallele Punktzüge um den Mund herum sein.
Abbildung 4. 78: Vorbereiten des Mundwinkels
Wie Sie von der Modellierung der Augenlider schon wissen, bewirken eng platzierte Punkte und Flachen eine stärkere Anziehung des HyperNURBS Dieser Bereich um die Lippen wird also weniger weich im HyperNURBS erscheinen als z B die Wangen oder das Kinn Dies ist hier durchaus gewollt, damit eine sichtbare Unterscheidung zwischen Gesicht und Lippen auch ohne entsprechende Texturierung, also z B Einfärbung der Bereiche, möglich ist Zudem entspricht eine kleine Kante um die Lippen auch der Realität, da dort unter der Haut entsprechende Muskelstrange verlaufen, die für die Lippenbewegung zustandig sind
Abbildung 4 79 Eine harte Kante am äusseren Rand der Lippen erzeugen
Mit der gleichen Technik extrudieren Sie diesen Bereich nochmals Erwirken Sie wieder nur eine kleine Verschiebung, diesmal jedoch in die Gegenrichtung Beachten Sie dabei, dass die beiden Punkte unmittelbar im Mundwinkel diese Vor/ Zurück Bewegung nicht mitzumachen brauchen Der Mundwinkel selbst ist eher faltenfrei und weich Belassen Sie dort also die Punkte auf einer Z Koordinate und verschieben Sie diese nur leicht nach innen zur Symmetrieachse hm (siehe Abbildung 480)
Abbildung 4. 80. Die Kante um die Lippen abschließen und die Lippen formen
Eine weitere Extrusion, diesmal mit erheblich größerem Abstand zu den älteren Punktreihen, formt nun die eigentlichen Lippen. Wiederholen Sie diese Extrusion noch zwei- bis dreimal, wie es Abbildung 4. 81 wiedergibt. Die Punktreihen von Ober- und Unterlippe sollten schließlich zusammentreffen. Beachten Sie, dass die Unterlippe oft dicker als die Oberlippe ist. Um die Rundung noch zu verstärken, können Sie noch eine weitere Extrudierung vornehmen und die Punkte bis in den Mundraum hinein verschieben. Durch die HyperNURBS-Glättung kann es dann jedoch notig werden, die Punktpositionen an der Stelle, wo die Lippen aufeinander treffen nochmals zu verandern, um die Lücke dazwischen wieder zu schließen. Wie Sie wissen, verkleinert ein HyperNURBS die Form leicht und lasst daher die Lippen etwas schrumpfen.
Abbildung 4. 81: Die Lippen zusammenfuhren
Wenn Sie nun noch die Punkte am unteren Rand der Unterlippe etwas nach oben verschieben -vermeiden Sie seitliche Verschiebungen, damit das Symmetrieobjekt richtig arbeiten kann -, dann entsteht eine Form wie in Abbildung 4. 81 unten oder Abbildung 4. 82. Wie Sie dort sehen können, gibt es keine störenden Schattierungen in den Mundwinkeln und auch die leichte Kante um die Lippen herum sieht natürlich aus. Die restlichen Details lassen sich spater mit Texturen erganzen. Die Modellierung von Rillen und Falten in die Lippen hinein ist also weniger sinnvoll.
Abbildung 4. 82: Die fertigen Lippen
4. 3. 6 Stirn und Nacken Wenden wir uns nun der oberen Kopfhälfte zu, denn dort fehlen noch Stirn und Hinterkopf. Da es sich hierbei um eine Form ohne feinere Strukturen handelt, lässt sich dies recht schnell erledigen. Selektieren Sie alle Punkte am oberen Rand des Objekts und extrudieren Sie diese mehrfach. Verschieben Sie die neuen Punkte jeweils so, dass sie sich an den Vorlagen orientieren. Beachten Sie den Bereich direkt über der Nase. Dort kommt es oft vor, dass die leichte Wölbung der Nasenwurzel zu weit auf die Stirn wandert und dort einen unnatürlichen Wulst erzeugt. Führen sie deshalb die Oberflache bereits direkt über der Nasenwurzel auf eine Ebene zurück. Versuchen Sie mit möglichst wenig Schritten auszukommen, damit die Punktanzahl an den Seiten des Kopfes nicht zu hoch wird. Sie können dieses Problem zusätzlich entscharfen, indem Sie an den Seiten des Kopfes bei jeder zweiten Extrusion den letzten Punkt wieder loschen und die Lücke mit einem neuen Polygon verschließen (siehe Abbildung 4. 83). Ich habe ein solches Polygon schwarz in der Abbildung hervorgehoben. Wie Sie dort erkennen, werden damit 3 Punktreihen in einem einzigen Punkt verbunden, um eine möglichst geringe Punktverteilung um die Ohröffnung zu erreichen, da das Ohr selbst nicht sehr viele Anschlussflächen benötigt.
Abbildung 4 83: Modellierung von Stirn und Hinterkopf
Führen Sie diese Arbeitsschritte solange durch, bis der Nacken erreicht ist. Kontrollieren Sie rechtzeitig, ob auch alle extrudierten Punkte auf einem Bogen liegen. Ansonsten übertragt sich dieser Fehler schnell über den gesamten Hinterkopf und wird z. B. als Rille oder langgestreckte Beule sichtbar. Lassen Sie den Bereich um das Ohr etwas großräumiger frei und verschließen Sie die äußeren Rander von Nacken und Kiefer mit einigen manuell erstellten Flächen (siehe Abbildung 4. 84).
Abbildung 4. 84: Nacken und Kiefer verbinden
Lassen Sie dabei den Nacken seitlich bereits etwas breiter werden. Dort liegen die Muskelstrange und Sehnen, die den Kopfseitlich neigen und stabilisieren. Selektieren Sie dann den kompletten unteren Rand des Kopfes und verlängern Sie durch einmalige Extrusion mit EDGEEXTRUDE diesen Bereich. Es formt sich fast automatisch der Halsansatz (siehe Abbildung 4. 85). Da wir es m diesem Beispiel bei der Modellierung des Kopfes belassen, braucht der Hals nicht besonders lang zu sein. Es reicht also ein kurzer Ansatz.
Abbildung 4. 85: Den Hals formen
4. 3. 7 Das Ohr Nun fehlt uns noch das Ohr. Dessen etwas verschlungene Struktur lasst uns zunächst Böses erahnen. Beginnen Sie damit, die Punkte des Ohrlochs am Kopf zu selektieren. Extrudieren Sie diese Punkte und skalieren Sie die neuen Punkte leicht nach innen. Die neuen Positionen sollten so gewählt werden, dass sie den Ansatz des Ohrs wiedergeben (siehe Abbildung 4. 86).
Abbildung 4. 86: Den Ohransatz formen
Wie Sie der Abbildung entnehmen können, liegen die neuen Punkte dabei enger am vorderen als am hinteren Rand. Dies liegt daran, dass das Ohr vorne am Kopf angewachsen ist und sich die Ohrmuschel im hinteren Teil weiter vom Kopf entfernt. Es macht zudem Sinn, die hinteren Punkt leicht in den Kopf zu verschieben. Gemeint ist hier wirklich nur eine kleine Verschiebung. Dies wird später dem HyperNURBS helfen, eine ausgeprägtere Oberfläche im Bereich zwischen Kopf und hinterer Ohrmuschel auszubilden.
Abbildung 4. 87: Ausblenden störender Objektteile und extrudieren des Ohrs Für die nächsten Arbeitsschritte ist es sinnvoll, sich kurzfristig nur auf das Ohr zu konzentrieren. Selektieren Sie daher alle Polygone, die direkt mit dem Ohrloch verbunden sind, und INVERTIEREN und verbergen Sie dann diese Selektion. Sie finden die entsprechenden Befehle im SELEKTION-Menü. Schalten Sie wieder in den PuNKTE-Modus und selektieren Sie den inneren Ohrrand. Extrudieren Sie diese Punkte entlang der X-Achse nach außen und vergrößern Sie die entsprechenden Bereich, durch Verschieben einzelner Punkte so, dass alle Punkte auf dem gewünschten Rand der noch zu modellierenden Ohrmuschel liegen. Die Verschiebung entlang der X-Achse wird hierbei also bei den hinteren Punkte starker ausfallen als am Ohransatz, wo kaum eine Verschiebung stattfindet. Sie erhalten eine Form wie in Abbildung 4. 87. letzt ganz ohne bildliche Vorlage weiterzuarbeiten, dürfte sehr schwierig werden. Ich habe mir daher von Fotografien eine grobe Skizze der Ohrstruktur angefertigt. Sie finden diese auch auf der CD zu diesem Buch. Erstellen Sie sich also ein
neues Material, laden Sie dort das Bild in den LEUCHTEN — Kanal ein und legen Sie das Material auf eine Ebene mit den entsprechenden Abmessungen.
Rotieren und skalieren Sie sich die Vorlage so, wie es Abbildung 4. 88 zeigt. Wir haben damit eine gute Referenz, was Lage und Größe der Strukturen betrifft. Was die seitliche Ausdehnung betrifft, so müssen wir uns dabei auf unser Gefühl verlassen. Oft hilft dabei ein kurzer Blick in den Spiegel, um im „Eigenversuch" einen Eindruck zu bekommen. Leider gibt es keinerlei gängige mathematische oder geometrische Beziehungen, wie bei der Konstruktion des Kopfes, die uns hier helfen könnten. Halten wir uns also vorerst an die Skizze und schauen wir uns an, wie weit wir damit kommen können.
Abbildung 4. SS: Nutzen einer Skizze für die Formung der Ohrmuschel
Im ersten Schritt muss der wulstige Rand am oberen und hinteren Ohr geformt werden. Selektieren Sie dort also die Punkte und führen Sie diese durch Extrusionen zuerst entlang der X-Achse und dann wieder auf das Innere des Ohres zu. Ausgehend von diesen Punkten und den übrigen noch offenen Rändern des Ohrs beginnen Sie durch Extrudieren mit EDGEEXTRUDE und durch manuelles Schließen einzelner Bereiche die Ohrmuschel zu verschließen. Der Trick dabei ist. Punktreihen möglichst entlang wichtiger Linien zu platzieren, die Sie der Skizze entnehmen können. Dies sind immer die Bereiche, wo eine Vertiefung in der Ohrmuschel zu erwarten ist. Platzieren Sie also die Punkte auf den Randern dieser Vertiefungen und über-
brücken Sie die vermeintlichen Senken dann mit wenigen Polygonen. Dies gibt uns die Möglichkeit, mit dem EXTRUDIEREN-Werkzeug von CINEMA die Flächen über den Senken einfach nach innen zu extrudieren. Auf der rechten Seite der Abbildung 4. 89 ist so ein extrudierter Bereich einmal weiss umrandet hervorgehoben. Wie Sie sehen können, ist ansonsten die Ohrmuschel mit wenigen Polygonen überbrückt.
Abbildung 4. 89: Schließen und Formen der Ohrmuschel Neben dem Ohrrand sind es eigentlich nur die zwei auch auf der Skizze hervorgehobenen Bereiche, die das Innere der Ohrmuschel deutlich prägen. Diese Bereiche müssen vorwiegend nach innen extrudiert werden. In der schattierten Ansicht von Abbildung 4. 90 können Sie die beiden Absenkungen gut erkennen. Wenn Sie meinem Rat folgen und die Punkte möglichst frühzeitig auf den Randern dieser Regionen platzieren, sind Sie schon nach zwei Polygon — Extrusionen am Ziel.
Abbildung 4 90: Proberendering der Ohrmuschel
Natürlich wirkt das Ohr so noch wie eine verschlossene Fläche. Es ist daher notwendig, auch den Gehörgang zumindest anzudeuten. Am besten gelingt dies durch die Kombination zweier Polygon — Extrusionen. Zuerst extrudieren Sie ein Polygon nahe dem unteren Ohransatz von der Ohrmuschel in den Kopf hinein. Der Gehörgang entsteht. Am vorderen Rand des Ohrs direkt über dem Gehörgang selektieren Sie dann ein anderes Polygon und extrudieren dies leicht auf das Innere des Ohrs zu. Es entsteht eine kleine Wulst, die den Gehörgang verdeckt. Abbildung 4. 91 zeigt diesen Wulst in der schattierten Ansicht recht deutlich. Der eigentliche Gehörgang wird dadurch zwar verdeckt, beeinflusst die Schattierung in der Ohrmuschel in dem Bereich jedoch entscheidend mit.
Abbildung 4. 91: Das fertige Ohr Die wichtigsten Strukturen sind damit vorhanden und Sie können nach Belieben einzelne Punkte verschieben oder kleinere Bereiche durch Polygon — Extrusion erhöhen oder absenken. Im Prinzip ist jedoch bereits alles getan. Sie können also den restlichen Kopf wieder sichtbar machen. Den Befehl finden Sie dazu im SELEKTIONMenü. Sie sollten sich dafür im gleichen Modus befinden wie beim Ausblenden der Kopf — Polygone, also im POLYGON-Modus. Wie durch Geisterhand erscheint dann der Kopf mit dem passenden Ohr dazu wieder in den Ansichtsfenstern (siehe Abbildung 4-92).
Abbildung 4. 92: Der komplette Kopf
Mit dem Kopf als Referenz können Sie nun noch die Neigung der Ohren, also die Stärke des Abstehens kontrollieren und regulieren. Es geht in diesem und den beiden folgenden Kapiteln zwar nicht um die Modellierung eines ganzen Körpers, aber prinzipiell lasst sich dieses Verfahren auch für den übrigen Körper anwenden. Da dort auch weniger Bereiche mit einer derart hohen Detaildichte wie am Kopf auftreten, kommt man dort auch wesentlich zügiger voran. Ich möchte dieses Modell jedoch gerne als Kopf eines Androiden-Torsos verwenden. Wir beenden daher hier die Modellierung organischer Formen und widmen uns im nächsten Kapitel eher mechanischen Teilen, die den Oberkörper des Androiden bilden sollen. Um den Kopf noch nach unten abzuschließen, selektieren Sie den unteren Halsrand des Kopfes und extrudieren Sie die Punkte dort mit EDGEEXTRUDE einmal nach innen und einmal nach oben (siehe Abbildung 4. 93). Achten Sie bei der Extrusion nach innen darauf, den Punkt auf der Symmetrieachse wieder auf diese zu verschieben. Der Sinn dieser Verschiebungen ist es, im HyperNURBS die Illusion einer Dicke des Kopfmaterials zu schaffen. Die zuvor hauchdünne Kante dort war wenig überzeugend. Schließlich muss noch das rechte Auge ergänzt werden. Duplizieren Sie dazu die Gruppe des linken Auges und setzen Sie vor die X-Position der neuen Gruppe ein Minuszeichen im KOORDINATEN-MANAGER. Lag Ihr Kopf-Objekt exakt im Nullpunkt, so wie es auch beim Aufrufen des noch leeren POLYGON-OBJEKT erzeugt wird, so
wird dadurch das Auge exakt auf die andere Seite des SYMMETRIE-OBJEKTS verschoben und passt sich dort optimal an (siehe Abbildung 4. 94).
Abbildung 4. 93: Abrunden des Holsansatzes
Abbildung 4. 94; Duplizieren des Auges
5
Mechanische Modellierung
In diesem Abschnitt werden wir einen mechanischen Oberkörper für den bereits modellierten Kopf bauen. Die Schwerpunkte liegen hierbei auf der Einübung der besprochenen Techniken und einigen neuen Methoden. Wir werden dabei das Box-Modelling ebenso benutzen wie z. B. EDGEBEVEL und CUTTER, aber auch verschiedene Spline-Werkzeuge. Am Ende dieses Kapitels ist unser Roboter — Torso dann komplett, und wir haben noch andere Gegenstände und einen Raum modelliert. Wir werden auch schon eine geeignete Kameraposition wählen, damit wir uns im nächsten Kapitel ganz der Texturierung und der Berechnung des Bildes widmen können. Dort besprechen wir dann alle neuen Möglichkeiten der 7er — Version, deren Leistungsspektrum sich gegenüber älteren Versionen gerade im Bereich der Texturen und der Bildberechnung dramatisch verändert hat.
Abbildung 5. 1: E, n Würfel als Ausgangsobjekt
5. 1 Der Torso Als erstes Objekt wird ein mechanischer Kehlkopf modelliert. Wir benutzen keine Skizzen oder festgeschriebenen Maße für dieses und die kommenden Bauteile. Lassen Sie Ihre Fantasie etwas spielen.
5-1. 1
Der Kehlkopf
Rufen Sie einen WÜRFEL auf und übertragen Sie die Parameteraus Abbildung 5. 1. Sie können den Würfel danach konvertieren. Da ich gerne das SYMMETRIE-OBJEKT des Kopfes auch für den Torso benutzen möchte - auch dort ist der Körper schließlich
symmetrisch —, verschieben Sie die in der frontalen Ansicht rechten Punkte auf die Symmetrieachse. Am schnellsten und genausten geht dies wieder über den KOORDINATEN-MANAGER. Ordnen Sie dazu den Würfe! im OBJEKTE-Fenster unter dem Kopf ein und selektieren Sie die vier Punkte auf der linken Seite. Denken Sie an die Selektions-optionen im Fenster AKTIVES WERKZEUG, damit auch die verdeckten Punkte ausgewählt werden. Im KOORDINATEN-MANAGER können Sie dann den Wert o für die lokale X-Position eingeben. Damit das Objekt später auch im HyperNURBS korrekt berechnet werden kann, muss noch die Fläche zwischen den nun noch selektierten Punkten auf der Symmetrieachse gelöscht werden (siehe Abbildung 5. 2). Wählen Sie dazu im SELEKTION-Menü den Punkt für die Konvertierung der PunktSelektion zu einer Polygonselektion aus, und löschen Sie die nun selektierte Fläche mit [Entf] oder [ <- ].
Abbildung 5. 2: Würfel für die Spiegelung vorbereiten Der Würfel sollte danach wie im linken Teil der Abbildung 5. 3 aussehen. Um dem Kehlkopfetwas mehr Struktur zu verleihen, benötigen wir mehr Punkte und Flächen an dem Würfel. Benutzen Sie also das MESSER-Werkzeug, um drei zusätzliche waagerechte Unterteilungen hinzuzufügen. Wenn Sie beim Ziehen der Schnittlinie gleichzeitig die [^]-Taste gedrückt halten, wird die Schnittführung automatisch auf bestimmte Winkelschritte begrenzt. Wie groß diese Winkelabschnitte sein sollen, definieren Sie im Fenster AKTIVES WERKZEUG. Die dort standardmäßig eingestellten 45° eignen sich jedoch für die meisten Fälle recht gut (siehe Abbildung 5. 3). Sorgen Sie ggf. durch nachträgliches Verschieben der neu entstandenen Punkte dafür, dass die vier übereinander liegenden Abschnitte des Würfels ungefähr gleich groß sind. Selektieren Sie das oberste und das unterste Seitenteil und EXTRUDIEREN Sie diese beiden Flächen entlang der X-Achse nach aussen (siehe Abbildung 5. 4).
Abbildung 5. 3: Der geg?artete Würfel mit zusätzlichen Schnitten
Abbildung 5. 4: Polygon — Extrudierung am Würfel
Verfahren Sie ebenso mit den mittleren beiden Flächen vorne auf dem Würfel. Beachten Sie, dass dazu zusätzlich die Erhaltung von Gruppen in den Optionen des ExTRUDE-Werkzeugs aktiviert sein muss. Es entstehen ansonsten zusätzliche Flächen zwischen den beiden extrudierten Flächen. Rotieren Sie danach die beiden extrudierten Flächen leicht um die X-Achse, wie es die Abbildung 5. 5 oben links zeigt. An der Symmetrieachse scheint es jetzt jedoch einige Probleme zu geben. Deaktivieren Sie zur Aufklärung dieses Problems kurzzeitig das SYMMETRIE-OBJEKT durch einmaliges Klicken auf den grünen Haken hinter dem SYMMETRIE-OBJEKT im OBJEKTEFenster. Blickt man etwas schräg auf die Symmetrie-Ebene, so erkennt man, dass durch das Extrudieren zusätzliche Flächen an der Seite entstanden sind (in Abbildung 5. 5 weiß markiert). Diese müssen nun gelöscht werden, damit das HyperNURBS in dem Bereich wieder wie erwartet arbeiten kann.
Abbildung 5. 5: Bereinigen der Symmetrieachse
Um den Eindruck eines montierten Objekts zu verstärken, selektieren Sie nun alle waagerecht liegenden Punkte in der Mitte und rufen EDGEBEVEL mit einem Offset von 5 auf (siehe Abbildung 5. 6). Es entstehen zwei zusatzliche parallele Punktreihen.
Abbildung 5. 6: Hinzufügen einer Fase
Gleiches habe ich mit den der Mittellinie am nächsten stehenden Punktreihen vor: Dort versperrt nur der extrudierte Teil etwas die Sicht. Schalten Sie also die Darstellung in den QUADER-Modus und selektieren Sie die vier Punkte der zweiten waagerechten Punktreihe von oben (siehe Abbildung 5. 7).
Abbildung 5 7- Selektion einer Punktreihe
Starten Sie für diese Punkte ebenfalls EDGEBEVEL mit einem Offset von 5. Die entstehende Form ist aufgrund der Extrudierung zwar etwas anders gelagert, erfüllt den Zweck jedoch genauso gut. Wiederholen Sie diese Arbeitsschritte mit der entsprechenden Punktreihe unter der Mittellinie. Selektieren Sie von allen drei bearbeiteten Bereichen die mittlere Punktreihe und skalieren Sie diese leicht entlang der X- und der Z-Achsen nach innen. Die Skalierung der Y-Achse muss deaktiviert werden, damit die Punkte nicht auch zur Mitte hm, also nach oben oder unten wandern. Im HyperNURBS betrachtet ergibt sich dann ein Effekt wie in Abbildung 5. 8. Die kleinen Einschnürungen im Zusammenhang mit den kleinen Punktabstanden zwingen das HyperNURBS zur Ausformung einer Rille. Je stärker Sie die Punkte nach innen skalieren und je näher Sie die umgebenden Punktreihen heranrücken, desto stärker wird diese Rille ausgeprägt.
Abbildung 5. 8. Zwei zusätzliche Fasen
Selektieren Sie die vier frontalen Flächen auf dem Objekt und extrudieren Sie diese leicht nach vorne. Diesmal sollten Sie die Erhaltung von Gruppen deaktivieren, damit jede Fläche einzeln extrudiert wird. Verschieben Sie die neuen Flächen etwas entlang der X-Achse nach aussen, damit es nicht wieder zu den Problemen an der Symmetrieachse kommt (siehe Abbildung 5. 9). Wie Sie ebenfalls in der Abbildung erkennen können, habe ich zusätzlich die beiden bereits extrudierten Seitenflachen zuerst leicht nach INNEN EXTRUDIERT und dann normal EXTRUDIERT. Die neuen Endstucke verschieben Sie dann noch etwas zur Symmetrieachse hin, um die Ausbuchtungen zu formen. Alternativ dazu können Sie auch den BEVEL-Befehl aus dem STRUKTUR-Menü benutzen, bei dem diese beiden Arbeitsschritte automatisch erledigt werden. Nachteilig daran ist nur, dass Sie sich auf Zahlenwerte festlegen müssen und die Verschiebung nicht interaktiv mit der Maus vornehmen können.
Abbildung 5 g: Extrudieren nach innen und außen Lassen Sie das obere versenkte Endstuck aktiv und EXTRUDIEREN Sie es nun in zwei Schritten wieder aus dem Objekt heraus. Der erste Schritt sollte nur eine kleine Extrudierung bis kurz hinter die seitliche Begrenzung des Würfels sein. Der zweite Schritt kann dann größer ausfallen. Selektieren Sie dann das untere Polygon des letzten Abschnitts und EXTRUDIEREN Sie es mehrfach nach unten, ich habe sechs Schritte benötigt, um die schlauchartige Verbindung aus Abbildung 5. 10 umzusetzen. Beachten Sie dabei, dass teilweise auch eine leichte Neigung der Abschnitte notwendig ist, damit der Schlauch überall seinen Durchmesser behält.
Abbildung 5. 10: Eine Zuleitung extrudieren
Am unteren Ende des Kehlkopfes hätte ich auch gerne einen Schlauch. Man kann nun die Arbeitsschritte einfach wiederholen, oder die ansonsten gleiche Form einfach vom oberen Ende kopieren. Dazu schaffen Sie zuerst durch eine kleine Extrudierung des versenkten Polygons eine „Andockstelle" für die Kopie (in Abbildung 5. 11 links weiß markiert). Benutzen Sie dann die LIVE-SELEKTION, um alle Schlauch-Polygone auszuwählen. Im STRUKTUR-Menü finden Sie unter dem OBERFLÄCHE — BEARBEITEN — Eintrag den Unterpunkt ABTRENNEN. Damit erstellen wir von den selektierten Polygonen eine Kopie, die als neues Objekt im OBJEKTE-Fenster erscheint.
Abbildung 5. 11 Abgetrennte und verschobene Zuleitung
Diese Kopie des Schlauches verschieben Sie nun in der Ansicht an die geeignete Stelle und ordnen Sie dem Kehlkopf — Objekt im OBJEKTE-Fenster unter. Benutzen Sie den VERBINDEN — Befehl im FuNKTiONEN-Menü mit der aktivierten Gruppe aus Kehlkopf und Schlauch-Kopie, um beide Objekte zu einem zusammenzufügen. Die Gruppe aus den zwei Elementen kann dann gelöscht werden (siehe Abbildung 5. 11). Benutzen Sie schließlich den BRÜCKE-Befehl aus dem STRUKTUR-Menü, um die beiden Endstücke zu verbinden. Das Resultat ist der fertige Kehlkopf des Roboters (siehe Abbildung 5. 12). Es steht Ihnen frei, noch beliebig andere Veränderungen und Ergänzungen hinzuzufügen. Da dieses Objekt jedoch nur einen Teil des Halses bilden wird, sollten Sie nicht zu viel Energie darauf verwenden. Teile des Kehlkopfes werden später durch andere Objekte wieder verdeckt.
Abbildung 5. 12: Das fertige Kehlkopf — Objekt
5. 1. 2 Hydraulik-Halterung Als Nächstes steht eine Halterung auf meiner Liste, an der zwei Hydraulik-Zylinder befestigt werden sollen, die für die Kopf — Bewegung zuständig sind. Wir beginnen wieder mit einem Würfel, wie in Abbildung 5. 13. Verschieben Sie auch diesmal nach erfolgter Platzierung und Skalierung des Würfels die linken Endpunkte auf die Symmetrieachse und löschen Sie die Fläche dort. Legen Sie vier senkrechte MESSER — Schnitte durch den Würfel und ziehen Sie oben aus dem Würfel eine Delle wie in Abbildung 5. 14 heraus. Selektieren Sie alle Flächen vorne und hinten am Würfel und EXTRUDIEREN Sie diese leicht nach INNEN. Dazu muss die Erhaltung der Gruppen im Fenster AKTIVES WERKZEUG aktiviert sein. Setzen Sie schließlich einen horizontalen MESSER — Schnitt kurz über den Beginn der oberen Ausstülpung (siehe schwarze Linie in Abbildung 5. 14). Wie im rechten Teil von Abbildung 5. 14 durch die graue Einkreisung angedeutet, sollten Sie dort die langgestreckte senkrechte Fläche löschen, die durch die Extrudierung nach innen entstanden ist, und die Punkte der angrenzenden Fläche auf die Symmetrieachse verschieben. Vergewissern Sie sich, dass dies auch auf der Rückseite des Objekts so passiert.
Abbildung 5. 13: Ein Würfet als Basis für die Hydraulik
Abbildung
5. 14: Verzerrter und zerschnittener Würfel
Der waagerechte Schnitt durch die obere Ausstülpung war nötig, um dort einen abgetrennten Bereich zu erhalten. Selektieren Sie die beiden dort eingeschlossenen Flächen (auch an der Ruckseite des Würfels) und extrudieren Sie diese Flachen abermals als Gruppe leicht nach innen. Schließlich benutzen Sie das normale Extrudieren und verschieben damit die beiden Bereiche vorn und hinten aufeinander zu (siehe Abbildung 5. 15). Es entsteht eine Mulde.
Abbildung 5. 15- Ösen für die Hydraulik hinzufügen Damit dort ein richtiges Loch entsteht, müssen die beiden nun innen liegenden Bereiche mit dem BRÜCKE-Werkzeug verbunden werden. Dies gelingt wohl am besten im Kamerafenster in der QUADER-Darstellung. Rucken Sie schließlich den unteren Rand des Würfels etwas zusammen, damit eine V — Form entsteht (siehe Abbildung 5. 16). Reduzieren Sie ggf. die Dicke des Würfels.
Abbildung 5. 16; Die fertige Aufhängung
$. 1. 3 Hydraulik-Zylinder Aus einem niedrig aufgelösten Zylinder formen wir jetzt den dazugehörigen Hydraulikzylinder. Die Parameter für den Ausgangszylinder entnehmen Sie bitte Abbildung 5. 17. Extrudieren Sie einmal den Boden des Zylinders nach innen und dann normal in zwei Schritten nach unten, um die im Zylinder steckende Stange nicht als separates Objekt modellieren zu müssen. Verwenden Sie eine sehr kleine Extrudierung nach dem INNEN EXTRUDIEREN, damit das HyperNURBS dort eine härtere Kante bildet. Passen Sie die Lage, die Lange und die Richtung des Objekts so an, dass es am oberen Ende unter dem Kopf verschwindet und am unteren Ende kurz vor dem Loch der Aufhängung endet.
Abbildung 5. 17: Hydraulik aus einem Zylinder extrudieren
Ergänzen Sie einen niedrig aufgelösten Ring wie in Abbildung 5. 18. Gruppieren und VERBINDEN Sie beide Objekte und benutzen Sie dann das BRÜCKE-Werkzeug, um die Deckflachen des Zylinders mit zwei oberen Ringsegmenten zu verbinden. Da wir es absichtlich nur mit niedrig aufgelösten Objekten zu tun haben, wird das HyperNURBS automatisch für einen sanften Übergang der Oberflache sorgen. Bitte beachten Sie, dass Zylinder nach der Konvertierung separate Deckflächen erhalten, die manuell mit dem OPTIMIEREN — Befehl im STRUKTUR-Menü von doppelten Randpunkten befreit werden müssen. Sie erkennen dies schnell an dem merkwürdigen Verhalten des HyperNURBS im Bereich der Deckflächen, wenn diese noch doppelte Punkte enthalten. Wie Sie in Abbildung 5. 18 erkennen können, habe ich zusätzlich die oberen Deckflachen am Zylinder gelöscht. Das Ende verschwindet sowieso komplett unter dem Hals. Wir können uns diese Polygone also sparen.
Abbildung 5. 18: Mit dem Brücke — Tool einen Ring mit dem Zylinder verbinden
Im Idealfall sollten nun Ringöffnung und die Öffnung der Aufhangung exakt übereinander liegen. Um beide Elemente zu verbinden, benötigen wir eine Schraube. Der für uns sichtbare Teil ist schnell aus einem ZYLINDER, wie in Abbildung 5. 19 gezeigt, ersteilt. Beachten Sie die kleine Rundung der Kanten. Sie sollten genereil auf die Abrundung aller Kanten achten, auch wenn diese aufgrund größerer Abstände von der Kamera im fertigen Bild nicht mehr zu erkennen sein sollten. Abgerundete Kanten beeinflussen maßgeblich die Verteilung von Glanzlichtern und von Schattierungen. Es handelt sich dabei also nicht um überflüssige Flächen, sondern um ein wertvolles Element für die realistischere Darstellung von Objekten. Bei den übrigen Objekten konnten wir weitgehend auf zusatzliche Abrundungen verzichten, da dies von der HyperNURBS-Glättung automatisch übernommen wird.
Abbildung 5. 19. Ein Schraubenkopf aus einem Zylinder
Platzieren Sie den Schraubenkopf direkt über der Öffnung von Ring und Aufhängung und reduzieren Sie ggf. die Dicke des Rings leicht, damit er wie ein eingespanntes Element wirkt (siehe Abbildung 5. 20).
Abbildung 5. 20: Aufhängung und Hydraulik mit Schraube verbinden
Spätestens wenn Sie die Schraube mit unter das Kopf — Objekt einordnen, um es automatisch auf die andere Seite zu spiegeln, werden Sie die störende Abrundung bemerken, die ich in Abbildung 5. 21 mit einem Pfeil markiert habe. Diese rührt von der ansonsten sehr willkommenen Hyper-NURBS-Glättung der Symmetriegruppe. Exakt für diese Falle wurde das STOP-TAG in Version 7 integriert. Sie finden es im DATEI-Menü des OBjEKTE-Fensters unter NEUES TAG. Alle Objekte mit einem solchen Tag verhalten sich wie gewöhnliche Objekte, lassen sich jedoch nicht mehr von Deformatoren, NURBS-Objekten oder anderen Modifikatoren, wie z. B. dem SYMMETRIE-OBJEKT, beeindrucken. Ordnen Sie also dem Schraubenzylinder ein solches STOP-TAG zu, wird er nicht mehr vom HyperNURBS geglättet und behält die eckige Form, die wir für den Schraubenkopf benötigen. Leider verliert auch das SYMMETRIE-OBJEKT den Einfluss auf die Schraube, und wir müssen die Schraube duplizieren und auf die andere
Seite der Symmetrieebene verschieben. Der Vorteil ist jedoch, dass wir nun alle Objekte des Modells in der HyperNURBS — Gruppe zusammenfassen können, auch wenn einige davon keine Glättung benötigen sollten. Gerade bei mechanischen Anordnungen kann dies Expressions zum Nachführen von Objekten außerhalb der Hierarchie überflüssig machen.
Abbildung 5. 2;: Unerwünschte Rundung der Schrauben
5. 1. 4 Mechanische Muskeln Nun möchte ich etwas mit Splines arbeiten und einen mechanischen Muskelstrang modellieren. Die Form sollte sowohl organische wie auch mechanische Attribute besitzen. Wir beginnen dazu mit einem neuen Spline vom Typ B — SPLINE. Klicken Sie ca. fünf Punkte, beginnend nahe der Mitte vor der Hydraulik-Aufhängung bis zur Seite des Kopfes hin. Das Ende des Splines sollte wieder unter dem Hals verschwinden. Sie müssen natürlich bei der Formgebung die bereits vorhandenen Objekte berücksichtigen und diese „umfahren". Öffnen Sie danach den Spline-Dialog und stellen Sie die INTERPOLATION auf GLEICHMÄSSIG bei einer Unterteilung. Es wird also zwischen zwei von Ihnen gesetzten Spline — Punkten nur ein weiterer Punkt eingesetzt, falls wir den Spline in NURBS-Objekten verwenden. Die Endform wird dann zwar nicht mehr so rund wie beim B — SPLINE sein, aber dafür haben wir es nur noch mit einer
überschaubaren Anzahl von Eckpunkten zu tun, die wir leichter im HyperNURBS verarbeiten können. Als zweites Objekt erzeugen Sie einen Kreis-Spline, den Sie bereits fertig abrufen können. Geben Sie dem Kreis einen Radius von 50 m und stellen Sie die INTERPOLATION auf KEINE ZWISCHENPUNKTE. Dies bewirkt, dass der Kreis zu einem Viereck wird, denn standardmäßig wird der Kreis aus vier Punkten bei Bezier-Interpolation dazwischen gebildet. Fällt diese Interpolation weg, so bleiben nur die vier Eckpunkte übrig, ein Viereck also. Wir hätten also auch gleich ein Viereck als Profil benutzen können. So haben wir jedoch später noch die Möglichkeit, eventuell doch noch Zwischenpunkte zuzulassen, falls uns die Form zu eckig erscheint. Achten Sie zudem darauf, dass der Kreis in der XY-Ebene erzeugt wird. Ansonsten kann er nicht wie gewünscht als Profil auf dem Pfad funktionieren. Rufen Sie ein SWEEP-NURBS-Objekt auf und ordnen Sie den viereckigen Kreis und den Spline dort unter. Beachten Sie die Reihenfolge unter dem SWEEP-NURBS. Zuerst kommt das Profil, dann der Pfad — Spline und als Drittes der noch zu besprechende Rail-Spline. Wie Sie in den Ansichten bereits jetzt beobachten können, folgt der eckige Kreis dem Spline und es entsteht ein schlauchförmiges Objekt. Nachteilig an der Sache ist, dass die Profilgröße nur in sehr engen Grenzen von uns steuerbar ist. Wir können zwar das Profil zum Ende hin dünner werden lassen, aber damit sind unsere Möglichkeiten ausgeschöpft.
Für diese Zwecke gibt es so genannte Rail-Splines, deren Abstand vom Pfad — Spline die Größe und teilw Probieren Sie daher Folgendes aus: Duplizieren Sie den Pfad — Spline unter dem SWEEP-NURBS und ordnen Sie die Kopie als drittes Element unter dem Sweep-NURBS ein. Die Dicke des Gebildes wird daraufhin auf Null zusammenschrumpfen. Der Abstand zwischen Pfad und Rau beträgt schließlich überall Null. Wechseln Sie daher in den PuNKTE-Modus und verschieben Sie einzelne Punkte des Rail-Splines so, dass ein Abstand zwischen Pfad und Rail entsteht. Das SWEEP-NURBS wird aus diesem Abstand an der jeweiligen Stelle die Größe des Profils berechnen. Wenn Sie dies nun auf unsere Form übertragen, dann sollte es Ihnen leicht fallen, das Gebilde unten am Hals dünn beginnen zu lassen und dann die Dicke langsam zu steigern. Sind Sie mit dem Resultat zufrieden, selektieren Sie das SWEEPNURBS-Objekt und KONVERTIEREN Sie es. Sie erzeugen dadurch ein POLYGON-OBJEKT mit der Form des SWEEP-NURBS. Als groben Anhaltspunkt habe ich in Abbildung 5. 22 die Punktpositionen von Pfad (links) und Rail (rechts) festgehalten. Abbildung 5. 23 gibt die entstandene Form nach der Konvertierung wieder, sowie die Anordnung der Elemente unter dem SWEEP-NURBS. Schließlich können Sie das entstandene POLYGON-OBJEKT unter dem Kopf einordnen, um die Spiegelung und Glättung zu veranlassen. Die separat erzeugten Deckflächen des SWEEP-NURBS können Sie übrigens löschen. Die Enden werden später von anderen Bauteilen verdeckt, bzw. sind es bereits.
Abbildung 5 22: Eine variable Metallrohre erzeugen
Abbildung 5 23: Der konvertierte Sweep-NURBS
Mit der Hilfe von EDGEBEVEL werden wir jetzt entlang der Segmente des ehemaligen SWEEP-NURBS Einschnürungen erzeugen. Es war deswegen auch notwendig, das SWEEP-NURBS zu konvertieren.
Selektieren Sie dazu immer eine Vierergruppe an Punkten und starten Sie EDGEBEVEL mit einem EDGEBEVEL — OFFSET von 5 und einem EDGE-TYPE von -45° bzw. von +45°. Dies hangt von der Richtung der Normalen an Ihrem Objekt ab. Wenn Sie also bemerken, dass eine Kante nach außen anstatt nach innen geht, benutzen Sie den UNDO-Befehl von CINEMA und starten Sie das Plugin erneut über die CREATE — Taste, diesmal mit dem anderen Wert. Am Ende sollte das Gebilde wie in Abbildung 5. 24 aussehen, wobei ich dort das HyperNURBS zur besseren Darstellung kurzfristig deaktiviert habe.
Abbildung 5. 24: Einschnürungen mit EdgeBevel hinzufügen Auf die gleiche Weise fugen wir seitlich am Kopf einen weiteren mechanischen Muskelstrang hinzu. Wie ein passender Pfad — Spline dazu aussehen könnte, zeigt Abbildung 5. 25. Diesmal möchte ich ein etwas anderes Profil verwenden, nämlich ein Rechteck mit einer kleinen Rundung.
Abbildung 5. 25. Eine zweite Metallrohre hinzufügen
In Abbildung 5. 26 sehen Sie meinen RECHTECK — Dialog dazu. Die kleine Rundung in Verbindung mit der fehlenden Interpolation sorgt später im HyperNURBS für die Beibehaltung einer rechteckigen Form. Beachten sie auch wieder, dass die XYEbene aktiviert sein muss. Die Ausrichtung auf dem Pfad — Spline kann ansonsten nicht zum gewünschten Ergebnis führen. Sie können dies ausprobieren, indem Sie hier eine andere Ebene wählen. Stellen Sie danach jedoch wieder die XY-Ebene ein.
Abbildung 5. 26: Ein Rechteck als Querschnitt verwenden Erzeugen Sie auch hier wieder eine Kopie des Pfad — Splines und benutzen Sie diese an dritter Stelle unter dem SWEEP-NURBS als Rail-Spline. Durch das Verschieben von Punkten erzielen Sie schnei! eine Form wie in Abbildung 5. 27. Dort ist auch bereits der nächste Arbeitsschritt erkennbar, denn nach dem KONVERTIEREN habe ich alle Polygone oben und unten auf der breiten Seite des Objekts selektiert und mit dem CUTTER geteilt. Das geglättete Objekt liegt dann dort noch besser an. Auch an diesem Objekt benotigen wir die Deckflächen nicht.
Abbildung 5 27: Zusätzliche Punkte und Flachen mit Cutter erzeugen Bevor Sie das Objekt ebenfalls dem Kopf unterordnen, fügen wir auch hier nach dem gleichen Muster Einschnürungen hinzu. Diese lockern die ansonsten langwei-
lige Form auf und verstärken den Eindruck, das Objekt sei aus mehreren Objekten zusammengesetzt worden.
Diesmal habe ich den EDGE-TYPE FREE gewählt und einen EDGE-OFFSET von 5 eingestellt. Der E DG E BEVEL — OFFSET bleibt wie zuvor bei 5. Über die FREE — Betriebsart haben wir nun jegliche Freiheit, selbst die Eindringtiefe der Kante zu bestimmen. Auch hier kann es durch die Normalen wieder zu unerwünschten Richtungen kommen. Nehmen Sie den Arbeitsschritt dann wieder zurück und starten Sie das Plugin erneut z. B. mit einem negativen EDGE-OFFSET.
Abbildung 5, 28: Einschnürungen mit EdgeBevel hinzufügen
5. 1. 5 Ein Abweiser An der Seite des Halses ist noch etwas Platz. Ich möchte daher dort einen kleinen Abweiser anbringen, der eine eventuell später noch hinzugefügte Haut von den Kabeln und mechanischen Teilen fernhält. Dafür benutze ich wieder den beliebten WÜRFEL mit den Einstellungen aus Abbildung 5. 29. Mir fiel erst später ein, dass ich vielteicht noch horizontale Unterteilungen benötigen würde. Sie konnten also im Dialog gleich vier SEGMENTE für die HOHE aktivieren. Ich habe einfach nachträglich noch drei horizontale MESSER-Schitte hinzugefügt. Beides führt zum Ziel (siehe Abbildung 5. 29 rechts).
Abbildung 5. 29. - Ein Würfel aus Basis für einen seitlichen Abweiser
Aus der hinten liegenden obersten Fläche extrudieren Sie dann in mehreren Schritten eine Öse, mit der man den Abweiser an dem eher rundlichen Metallschlauch festmachen kann. Die Öffnung entsteht durch Verbindung der beiden Flachen oben und unten mit dem BRÜCKE-Werkzeug. Durch Verschieben der seitlichen Punkte runden Sie schließlich die große Flache des Abweisers etwas ab und passen sie damit der Form des Halses an (siehe Abbildung 5. 30).
Abbildung 5 30: Eine Öse aus der Ruckwand extrudieren
Platzieren Sie den Abweiser dann eng an der Seite des Halses, damit die Öse das rundliche SWEEP-NURBS-Element umfassen kann (siehe Abbildung 5. 31). Sie können jetzt die Große der Öffnung und den Abstand zwischen Abweiser und Metallrohr entsprechend anpassen.
Abbildung 5. 31: Den Abweiser befestigen
Letztlich fugen Sie mit den in Abbildung 5. 32 gezeigten Einstellungen noch drei Einschnürungen mit EDGEBEVEL hinzu. Der Abweiser ist damit fertig und findet seinen Platz ebenfalls unter dem Kopf — Objekt m der Symmetrie- und der HyperNURBS — Gruppe.
Abbildung 5. 32. Gleichmäßige Einschnitte hinzufügen
5. 1. 6 Schutter und Brust Wir widmen uns der Schulter, die vorwiegend aus einer Art Schutzblech bestehen soll. Wieder kommt ein Würfel zum Einsatz, der diesmal mit jeweils drei Segmenten unterteilt wird (siehe Abbildung 5. 33). Ordnen Sie den Würfel schon zu Beginn unter dem Kopf-Objekt ein, da wir weitere Formanderungen vom Verhalten des HyperNURBS abhängig machen müssen. Zuerst verschieben Sie den Würfel an die geeignete Stelle. Das Ende des eckigen Metallrohres sollte unter dem Würfel verschwinden. Vermindern Sie dann die Dicke am rechten Ende des Würfels durch Skalieren der selektierten Punktgruppe dort und ziehen Sie die Punkte an den Rändern des Würfels leicht nach unten.
Abbildung 5. 33: Die Schulter aus einem Würfelformen
Verbreitern Sie die Form an der Innenseite und ziehen Sie dort die Punkte noch weiter nach unten. Verjüngen Sie dagegen das äußere Ende der Schulter zu einer stumpfen Spitze (siehe Abbildung 5. 34). Wenn Sie nun noch, wie in der Abbildung unten zu sehen, einige ausgewählte Flächen leicht nach innen extrudieren, entstehen Absenkungen, die das Objekt interessanter machen. Die Schulterabdeckung ist damit schon fertig. Wir fahren fort mit dem Brustansatz, bzw. dem Schlüsselbein. Man kann sich an dieser Stelle wieder für eine rohrartige Konstruktion entscheiden — wie am Hals. Ich bevorzuge hier jedoch eine weichere Fläche, die gleichzeitig auch große Teile zwischen Hals und Schulter abdeckt. Wir wollen schließlich nicht mehr Teile als nötig modellieren. Andererseits sollte das Modell spater keinesfalls hohl oder löchrig, sondern eher komplex und massiv wirken. Ich habe mich also für einen flachen WÜRFEL entschieden, den ich einmal nach links und einmal nach rechts extrudiert habe. Ein waagerechter Schnitt durch den Würfel und das leichte Ziehen der neuen Punkte nach vorne, krümmt das Objekt im HyperNURBS leicht. Wir sollten uns auch hier bemühen, die Teile rund und organisch wirken zu lassen, obwohl sie Platz in einer Maschine gefunden haben. Diese
Mischung aus weichen und mechanischen Formen macht das Objekt interessanter (siehe Abbildung 5. 35).
Abbildung 5. 34: Die ausgeformte Schulter mit versenkten Flachen
Wie Sie der Abbildung entnehmen können, verdeckt das Element Teile der Hydraulikaufhängung, und den Ansatz des runden Metallrohres. Dieses Vor- und Hintereinander wird später zusammen mit einem entsprechenden Schattenwurf die Dreidimensionalität verstärken.
Abbildung 5. 35: Ein angedeutetes Schlüsselbein
Die eigentliche Brust - es handelt sich schließlich auch um einen weiblichen Kopfformen wir recht schnell und unspektakulär wieder aus einem flachen WÜRFEL (siehe Abbildung 5. 36). Ordnen Sie auch hier wieder den Würfel gleich nach der Konvertierung unter dem Kopf ein, um die HyperNURBS — Form besser begutachten zu können. Wie Sie sehen, weicht diese noch erheblich von der Würfel — Form ab. Zerschneiden Sie den Würfel ungefähr symmetrisch einmal längs und einmal quer mit dem MESSER-Werkzeug und extrudieren Sie dann die obere der äußeren Flächen zur Symmetrieachse hin. Löschen Sie die neu entstandene Flache dann dort. Der gespiegelte Würfel soll an der Stelle mit dem Original verschmelzen. Ziehen Sie ansonsten die mittleren Punkte nach vorne und nach unten, um die Rundung der Brust zu formen (siehe Abbildung 5. 37).
Abbildung 5. 36: Ein flacher Würfel als Basis für die Brust Passen Sie bei all diesen Aktionen auf, damit Sie auch die hinten liegenden Punkte entsprechend verschieben. Das Objekt ist schließlich „doppelwandig". Denken Sie zudem daran, die Punkte exakt auf der Symmetrieachse zu platzieren, damit es ein geschlossenes Objekt ergibt.
Abbildung 5. 37- Die fertige Brustpartie
Um die gesamte Brustpartie optisch zu umfassen, wäre nun ein Objekt denkbar, das wie ein Bügel-BH unten die Brust umläuft und oben hinter den Schlüsselbeinen endet. Damit sich kein sichtbarer Absatz zwischen diesem Objekt und der Brust ergibt, nutzen wir einfach die gleichen Polygone als Ausgangsbasis. Selektieren Sie dazu im POLYGON-Modus den unteren Rand der Brust und trennen Sie diese Flachen über den ABTRENNEN — Befehl von der Brust ab. Es entsteht ein neues Objekt im OBJEKTEFenster, das nur diese Flächen enthält. Das Resultat sehen Sie in Abbildung 5. 38. Duplizieren Sie nun dieses abgetrennte Objekt und EXTRUDIEREN Sie alle Polygone in der neuen Kopie nach unten (siehe Abbildung 5. 39). Die Dicke sollte ungefähr der Dicke der Schlüsselbeinabdeckung entsprechen. Beide Objekte müssen dann wieder zu einem verbunden werden. Ordnen Sie also die extrudierte Kopie den abgetrennten Flächen unter und benutzen Sie den VERBINDEN — Befehl aus dem FUNKTIONEN-Menü. Die Gruppe aus beiden Einzelobjekten kann wie gewohnt nach der Zusammenführung geloscht werden. Jetzt müssen Sie nur noch das verbundene Objekt OPTIMIEREN, um die doppelten Punkte oben zu entfernen.
Abbildung 5. 38: Abtrennen selektierter Bereiche
Abbildung 5. 39. Extrudieren der Kopie
Ergänzen Sie seitlich ein oder zwei Extrudierungen, um die Form um die Brust herumzufuhren. Löschen Sie die Fläche an der Symmetrieachse und positionieren Sie die Endpunkte entsprechend, damit wieder ein komplettes Objekt entsteht. Das Resultat sehen Sie in Abbildung 5. 40. Neigen Sie zudem die Form etwas zum Rücken "hin, indem Sie die Punkte auf dem äußeren Rand leicht entlang der ZAchse nach hinten verschieben. Achten Sie im gesamten Verlauf darauf, dass nirgendwo Lücken zwischen dem Objekt und der Brust klaffen.
Abbildung 5, 40: Fertige Umfassung der Brust
5. 1. 7
Schläuche und Kabel
Kehren wir thematisch kurz zu der Schulter zurück. Dort setzen Sie nun einen gleichseitigen Würfel ein, wobei Sie die untere Seite einmal ein kleines Stuck nach INNEN EXTRUDIEREN. Dies sorgt im HyperNURBS für eine Abflachung am unteren Ende. Aus dieser Abflachung soll nun ein Spiralschlauch kommen, der später noch mit Kabeln gefüllt wird. Dass auf diese Weise eine Spirale aus einer HELIX mit einem KREIS als Profil in einem SWEEP-NURBS entsteht, wissen Sie bereits. Meine Einstellungen entnehmen Sie bitte Abbildung 5. 41.
So leicht lasst sich dies beim Rechteck nicht losen, da dies keine rotationssymmetrische Form ist. Für diese Falle gibt es die Befehle REIHENFOLGE VORWÄRTS und REIHENFOLGE ZURUCK im SPLINE — BEARBEITEN — chen dieser Befehle Sie aufrufen, rutscht die Öffnung im Spline naher an den Anfang des Splines oder näher an dessen Ende heran. (Sie wissen ja bereits, dass Sie Anfang und Ende eines Splines an dessen Färbung im PUNKTE-Modus erkennen können. ) Wiederholen Sie die entsprechenden Befehle sooft, bis die Lücke direkt an der Öffnung des Halbkreises liegt (siehe Abbildung 5. 45).
Abbildung 5. 44: Verbinden zweier Splines Löschen Sie dann die beiden Spline-Punkte, zwischen denen die Lücke klafft. Der Rechteck — Spline wird zu einer senkrechten Linie. VERBINDEN Sie die beiden Splines nun so, wie Sie es von Objekten gewohnt sind und selektieren Sie danach die beiden Punkte, die miteinander verbunden werden sollen, also z. B. das obere Ende
der Geraden und das obere Ende des Halbkreises. Benutzen Sie den SEGMENTE — VER Das andere Segment können Sie durch einfaches Abhaken der SPLINE-SCHLIESSENOption im Spline-Dialog bewirken.
Abbildung 5. 45: Kombinierter Rechteck- und Kreis-Spline
Benutzen Sie diesen zusammengesetzten Spline jetzt mit einem kleinen KREISSpline in einem SWEEP-NURBS, so entsteht der zur Rolle passende Seilzug (siehe Abbildung 5. 46).
Abbildung 5. 46: Das fertige Seit
Um das noch eckige Ende des Seilzugs kümmern wir uns gleich noch mit einer anderen Methode. Zuerst mochte ich die Seite der Schulterkugei noch mit einem ZAHNRAD — Abschnitt verschönern. ZAHNRAD — Splines können wir bereits fertig abrufen. Übertragen Sie also einfach die Parameter aus Abbildung 5. 47 auf den ZAHNRAD — Spline und konvertieren Sie danach das Zahnrad zu einem normalen Spline. Wir können dadurch auf jeden Punkt des Zahnrads zurückgreifen. Löschen Sie gut drei Viertel der Zahnrad — Punkte, bis nur noch fünf Zähne und ein kurzer bogenförmiger Bereich stehen bleiben (siehe Abbildung 5. 47). Ziehen
Sie einen Punkt vom Rand her so nach Innen, dass ehre rechtwinklige Verbindung entsteht.
Abbildung 5. 47; Einen Zahnradausschnitt an der Schutter verwenden
Ordnen Sie den derart modifizierten Zahnrad — Spline einem Extrude-NURBS mit den Einstellungen aus Abbildung 5. 48 unter. Die Form erhält dadurch Tiefe und abgerundete Deckflächen. Platzieren Sie das Objekt schließlich an der Seite der Schulte rkuge l.
Abbildung 5. 48: Der extrudierte Zahnrad — Spline
Jetzt müssen wir uns noch um das eckige Ende des Seilzugs kümmern. Diesmal möchte ich jedoch keinen Halbkreis verwenden, sondern die Krümmung für die zweite Rolle selbst erzeugen. Kopieren Sie zuvor die Rolle von der Schulter und verkleinern Sie die Kopie. Belassen Sie jedoch die Dicke, damit das Seil auch dort in der Rille geführt werden kann. Platzieren Sie die verkleinerte Rolle am noch eckigen Ende des Seilzuges. Wählen Sie jetzt PUNKTE HINZUFÜGEN aus dem STRUKTUR-Menü aus und klicken Sie ohne weitere Tastenkombinationen auf den geraden Abschnitt zwischen den bei-
den Eckpunkten am Seil — Spline. Wie Sie sehen, benötigt man die [Strg]- bzw. die [Ctrl]-Taste nur beim Hinzufügen von Punkten in den leeren Raum. Selektieren Sie den ergänzten Punkt und wählen Sie aus dem STRUKTUR-Menü im Untereintrag SPLINE BEARBEITEN den Befehl WEICHE INTERPOLATION aus. Der Punkt erhält dadurch eine Tangente, die Sie über die Anfasser beliebig steuern können. Ziehen Sie zuerst den Punkt etwas nach außen und verändern Sie dann die Tangentenlänge so, dass eine Krümmung des Seil — Splines generiert wird, die sich möglichst exakt an die zweite Rolle schmiegt. Verschieben Sie auch die beiden angrenzenden Spline-Punkte näher an die verkleinerte Rolle heran, um dies zu unterstützen (siehe Abbildung 5. 49).
Abbildung 5. 49: Das andere Ende des Seils formen Wenn Sie jetzt noch die kleine Rolle leicht kippen und gleiches mit den betreffenden Spline — Punkten tun, ergibt sich eine Szene, wie sie Abbildung 5. 50 zeigt. Damit sich die kleinen Rollen auch richtig drehen können, benötigen Sie natürlich noch eine Achse, die Sie z. B. mit einem entsprechend kleinen KAPSEL — Objekt hinzufügen können. Egal weiches Objekt Sie als Achse verwenden - möglich ist z. B. auch ein schlanker ZYLINDER -, lassen Sie das Objekt automatisch mit der ÜBERNEHMEN-Funktion platzieren. Die bereits benutzten Objekte können als leicht veränderte Kopie nochmals verwendet werden, wie Abbildung 5. 51 zeigt. Im Prinzip brauchen Sie die drei Elemente nur neu zu positionieren und das Seil wieder plan verlaufen zu lassen. Dies aber nur als Anregung, da große Teile davon durch die Brust wieder verdeckt werden.
Abbildung 5. 50: Das leicht verdrehte Seilsystem im Torso
Abbildung 5. 51: Kopiertes zweites Seilsystem
Wir können uns jetzt langsam dem Ende der Modellierung des Torsos widmen. Ich habe noch eine Kopie des Hydraulik-Zylinders ohne den angefügten Ring seitlich am Hals positioniert (siehe Pfeil in Abbildung 5. 52). Die noch vorhandenen Lücken werden durch einige Schläuche oder Kabel gefüllt. Ich habe dazu einen Spline aus wenigen Punkten erstellt und mit einem Viereck als Profil in einem SWEEP-NURBS verwendet. Das eckige Profil wird durch das HyperNURBS automatisch zu einem runden Querschnitt. Sie brauchen nicht jeden Spline einzeln zu erstellen. In meinem Fall habe ich INSTANZEN des SWEEP-NURBS erzeugt und entsprechend verschoben. Derartige iNSTANZ-Objekte erzeugen Sie z. B. mit der DUPLIZIEREN — Funktion, wo Sie die Erstellung von INSTANZEN aktivieren können. Instanzen sind lediglich interne Verweise auf das Original und enthalten daher nicht alle Punkt- und Polygon-lnformationen des gesamten Objekts. Es ist daher nicht möglich, einzelne Punkte einer INSTANZ zu verändern. Der Vorteil liegt in der Speicherersparnis im Editor und der Möglichkeit, viele Objekte auf einmal zu verändern.
Abbildung 5. 52: Hinzugefügte Hydraulik und Schläuche/Kabel
Die INSTANZEN übernehmen nämlich automatisch Veränderungen des Originals. Wird also die Länge oder das Profil des Original SWEEP-NURBS verändert, passen sich alle INSTANZEN des SWEEP-NURBS entsprechend an. Gleiches gilt z. B. auch für Texturen. Wechseln wir die Farbe für das SWEEP-NURBS, verändern auch alle INSTANZEN die Farbe. INSTANZEN sind aber auch in der Lage, eigene Materialien zu haben. Sie lassen sich zudem unabhängig vom Original bewegen und skalieren. Ansonsten wären Sie auch kaum sinnvoll.
Wo und wie viele derartiger Instanzen ich verwendet habe, können Sie Abbildung 5. 52 entnehmen. Original SWEEP-NURBS gibt es nur zwei, eines am Schlüsselbein und eines an der Haisseite. Achten Sie penibel darauf, keine bereits vorhandenen Objekte zu schneiden oder zu durchbrechen. Erstellen Sie dann an kritischen Stellen lieber neue zusätzliche Splines und SWEEP-NURBS, anstatt nicht passende Instanzen zu verwenden. Wie Sie der Abbildung zudem entnehmen können, habe ich die Eckpunkte der Brustumrandung nach unten verschoben. Dies bildet in meinen Augen den Brustkorb besser ab. Dank der Hyper-NURBS-Glättung bleibt die weiche Form auch durch derartig gravierende Veränderungen bestehen.
5. 1. 8
Die Wirbelsäule
Schaut man frontal auf die Figur fällt noch die Lücke hinter der Hydraulik — Aufhän-gung als st sowieso noch eine Wirbelsaule fehlt, bringt ein derartiges Objekt dabei Abhilfe. Diese ist Dank der DUPLIZIEREN — Funktion schnell erstellt. Rufen Sie einen neuen Würfel auf und extrudieren Sie dessen Seitenflächen zweimal nach außen. Verkleinern Sie die Querschnitte und ziehen Sie die neuen Enden etwas nach vorn (siehe Abbildung 5. 53 oben). Die untere Vorderkante des Ursprungs wurfeis wird leicht nach oben, die obere Vorderkante nach oben und vorne verschoben (siehe Abbildung 5. 53 Mitte und unten).
Abbildung 5. 53: Einen vereinfachten Rückenwirbel formen
Legen Sie den Würfel in ein neues HyperNURBS und platzieren Sie diesen Wirbel, wie es Abbildung 5, 54 durch die weißen Einrahmungen andeutet, unter dem Nacken.
Abbildung 5. 54. - Platzieren des Wirbels unter dem Hinterkopf
Rufen Sie mit dem aktivierten Wirbel — Objekt die DUPLIZIEREN — Funk wirken, dass 20 INSTANZEN des Wirbelwürfels angefertigt werden und diese, ausgehend von der Position des Originalwirbels, auf einer Strecke von 960 m unter dem Original gleichmäßig verteilt angeordnet werden. Die GRÖSSE — Werte von jeweils 0. 5 bewirken die Halbierung der Größe, die schrittweise auf alle INSTANZEN verteilt wird. Die unterste INSTANZ des Wirbels ist also nur noch halb so groß wie das Original. Die ersteilten INSTANZEN werden in einer neuen Gruppe im OBJEKTE-Fenster zusammengefasst. Um diese INSTANZEN nun ebenfalls zu glätten, müssen diese unter einem eigenen HyperNURBS eingeordnet werden (siehe Abbildung 5. 55). Da die geradlinige Verteilung der Wirbel nun doch etwas unnatürlich aussieht, öffnen Sie die INSTANZEN-Gruppe und verschieben Sie jede Instanz einzeln entsprechend der Abbildung 5. 56, damit eine S-förmige Anordnung entsteht. Reduzieren Sie dabei auch die Abstände der unteren Wirbel voneinander, die durch die Verkleinerung der Wirbel-lNSTANZEN zu groß geworden sind.
Abbildung 5. 55: Automatisch skalierte und platzierte Instanzen des Wirbels
Abbildung 5. 56: Manuell erzeugte Form der Wirbetsäule
Wie Sie sich vielleicht erinnern, wollte ich in den Spiralschläuchen an den Schultern noch Kabel! ergänzen. Rufen Sie dazu einen Rechteck — Spline auf und geben Sie diesem relativ kleine, quadratische Abmessungen, so wie die Dicke der Kabel sein soll. Erzeugen Sie 15 bis 20 Kopien dieses quadratischen Splines und VERBINDEN Sie diese zu einem einzigen Spline. Ordnen Sie also alle Splines in einer Gruppe, aktivieren Sie die Gruppe und wählen Sie den VERBINDEN — Befehl aus dem FUNKTIONENMenü, ganz wie bei Objekten. Erzeugen Sie einen zweiten Spline, der den Pfad für die Kabel aus dem Spiralschlauch beschreibt. Zwei bis drei Punkte reichen dafür schon aus. Schließlich benutzen Sie ein SWEEP-NURBS und ordnen Profil und Pfad — Spline entsprechend unter. Zuerst das Profil, bestehend aus den verbundenen Rechteck — Splines, dann
den Pfad — Spline. Übernehmen Sie die Werte aus Abbildung 5. 57, die dazu fuhren, dass das Profil auf die Pfad-Lange gesehen eine Rotation von 180° zeigt. Die Kabel wirken dadurch weniger starr und tauschen eine höhere Dichte vor. Mögliche Lücken werden verdeckt. Wenn Sie dann noch das SWEEP-NURBS einem HyperNURBS unterordnen, werden die eckigen Kabel zu runden Schläuchen geglättet (siehe Abbildung 5. 57).
Abbildung 5. 57: Kabelstrang aus nur einem Profil Ergänzen Sie eine ähnliche Kabellage an der anderen Schulter. Das Profil kann dafür übernommen werden, nur die Form des Pfad — Splines muss an die Krümmung des Spiralschlauchs dort angepasst werden.
5. 1. 9
Der Hals
Abschließend werden wir die gesamte Mechanik im Hals- und im Schulterbereich mit einer organischen Oberfläche bedecken. Diese kann spater eine transparente Oberflache erhalten, um den Blick auf die Mechanik nicht zu versperren. Wir benotigen dazu die abgetrennten unteren Polygone des Kopfes in einem neuen Objekt. Benutzen Sie dafür die bereits bekannte ABTRENNEN-Funktion im STRUKTUR-Menü. Die dafür relevanten Flächen habe ich m Abbildung 5. 58 schwarz markiert.
Abbild. _ , ; - Kopieren der unteren Hals — Polygone
Duplizieren Sie die abgetrennten Polygone und extrudieren Sie die Kopien der Flachen mehrfach in Richtung Schultergürtel. Ich empfehle nach jedem Extrudieren die Verschiebung der Punkte, um keine mechanischen Teile zu durchstoßen. Die Oberfläche kann so scheibchenweise definiert werden. Denken Sie daran, dass die extrudierten Flachen doppelwandig sind. Es müssen also immer mindestens zwei Punkte auf einmal verschoben werden. Halten Sie genügend Abstand zwischen den Extrudierungen, damit die Punktanzahl nicht unüberschaubar wird. Versuchen Sie so eng wir möglich an den mechanischen Teilen zu bleiben (siehe Abbildung 5. 59).
Abbildung 5. 59: Mehrfaches Extrudieren der kopierten Hals — Polygone
Nach einigen Extrudierungen können Sie bereits die ursprunglich abgetrennten Flächen und die extrudierten Flachen zu einem neuen Objekt verbinden. Wie Sie m Abbildung 5. 60 erkennen können, komme ich mit nur vier Extrudierungen bereits bis zum Schlüsselbein und auf der Seite schon bis zur Schulter.
Abbildung 5. 60 Fortfuhren der Form in Richtung Schulter
Nur ein oder zwei weitere Schritte sollten genügen, um die Oberfläche seitlich bis über die Schulter zu ziehen, ohne vorhandene Teile zu durchschneiden (siehe Abbildung 5. 61).
Wenn wir die finale Form betrachten, fällt der sichtbare Abstand zwischen Kopf und Hals auf. Dies ist bedingt durch das schon mehrfach beschriebene Schrumpfen der Oberflächen in der HyperNURBS — Glättung. Ziehen Sie also in solchen Fällen die oberen Punkte oder Flächen einfach noch weiter an den Kopf heran, bis die Lücke geschlossen ist. Mit der Hilfe des SYMMETRIE-OBJEKTS nehmen wir uns auch gerne wieder die andere Hälfte ab. Vergessen Sie dabei nicht, die Flächen, die in der Symmetrieachse liegen, zu löschen und alle Punkte dort exakt auf der Symmetrieebene zu platzieren. Als netten optischen Effekt habe ich noch zwei Flächen über die BRÜCKE-Funktion miteinander verbunden und damit Löcher in die „Halsverschalung" geschnitten. Dies ist ein Vorteil doppelwandiger Objekte, denn wir können jederzeit realistische Löcher einbauen, die die Dicke des Objekts richtig wiedergeben. Selbst im jetzt noch massiven Zustand erlauben die Öffnungen reizvolle Einblicke auf die Mechanik. Um den Torso nach unten weich auslaufen zu lassen, habe ich noch drei Bauchsegmente ergänzt, die nach dem gleichen Muster wie die Brustumrandung entstanden sind, nämlich aus abgetrennten Segmenten des Jeweils darüber liegenden Objekts. Eine leichte Furche auf der Symmetrieachse lockert die Flächen zusätzlich auf und erzeugt weitere Glanzlichter.
Abbildung 5. 61: Schließen der Lücke zwischen Kopf und Hais
Wir können uns jetzt etwas zurücklehnen, denn die Modellierung des Characters ist damit abgeschlossen. Sicherlich lassen sich noch Details ergänzen, aber wir wollen es damit auch nicht übertreiben. Dieser Torso soll in einer Kiste liegen, die in einem verrotteten Keller steht. Ich stelle mir den Kontra st zwischen futuristischer Technik und modrigen Objekten und Räumen recht reizvoll vor. Wir werden also in dem noch folgenden Abschnitt dieses Kapitels die Holzkiste für den Torso und den Kellerraum modellieren.
5. 2 Eine Holzkiste modellieren Bei der Holzkiste kommen wir mit einfachen WÜRFEL-Objekten schon fast ans Ziel (siehe Abbildung 5. 62). Beachten Sie vor allem die hohe Unterteilung entlang der Länge des Würfels und die Rundung der Kanten. Da die Kiste recht groß zu sehen sein wird, sollte man hier nicht an Details sparen.
Abbildung 5. 62: Ein Würfel als Brett Den vermoderten Holzbrettern fügen wir an den Kanten unregelmäßige Störungen hinzu. Kommen Sie bitte nicht auf die Idee, diese von Hand hinzuzufügen. Dies lassen wir durch die KNITTERN-Funktion im OBERFLÄCHE-BEARBEITEN-Unterpunkt des STRUKTUR-Menüs erledigen (siehe Abbildung 5. 63). Damit dies funktionieren kann, muss der Würfel zuvor konvertiert werden. Wie Sie in der Abbildung sehen, lässt sich die zufällige Verschiebung auf Achsen begrenzen. Ich wähle hier die X-Achse mit einer maximalen Verschiebung von 3 m. Da nur Punkte verschoben werden können, verstehen Sie jetzt sicherlich auch die hohe Anzahl an Segmenten entlang der Y-Richtung des Würfels. Je mehr Punkte vorhanden sind, desto feiner kann geknittert werden. Diesen Vorgang wiederholen Sie mit ca. sechs weiteren Brettwürfeln gleichen Ausmaßes oder so vielen Brettern, wie Sie als Kistenboden benötigen. Das hängt natürlich von der Breite des Torsos ab, neben dem seitlich noch etwas Platz in der Kiste sein sollte.
Abbildung 5 63: Knittern der Brettkanten
Fassen Sie dann die Bretter des Bodens in einer Gruppe zusammen. Sie können dazu z. B. den GRUPPE-ERZEUGEN-Befehl aus dem OBJEKTE-Fenster benutzen oder die Objekte manuell einem neuen NULL-OBJEKT unterordnen. Loschen Sie dann alle GLATTEN — TAGS der einzelnen Bretter (das Tag — Symbol zeigt zwei blaue Kugeln) und weisen Sie dem NULL-OBJEKT der Bodengruppe ein GLATTEN-TAG zu. Sie haben dadurch die Möglichkeit, sehr schnell unterschiedliche PHONG-WINKEL auszuprobieren, ohne jedesmal sechs oder mehr Tags verändern zu müssen. Das GLATTEN-TAG wird nämlich automatisch auf die untergeordneten Objekte vererbt. Bei mir führte ein Winkel von 50° zu guten Ergebnissen. Die geknitterten Kanten werden dadurch nicht so stark geglättet, dass die Knitter nicht mehr sichtbar sind. Andererseits ist der Winkel groß genug, um für eine gleichmäßige Schattierung der großen Flächen der Bretter zu sorgen.
Abbildung 5. 64: Glatten der gesamten Gruppe
Aus der Kopie eines Bodenbretts entsteht in gedrehter Position ein Brett des Seitenteils der Kiste. Drei bis vier Kopien mit jeweils neu geknitterten Kanten bilden dann die ganze Seite der Kiste (siehe Abbildung 5. 65). Die Richtung des KNITTERNS muss sich nach Drehung der Bretter nicht verändern, da für das KNITTERN die lokalen Koordinaten ausschlaggebend sind.
Abbildung 5. 65: Ergänzte Seite der Kiste
Auf der anderen Seite der Kiste verfahren Sie identisch. Oben und unten benötigen wir sehr viel kürzere Bretter. Diese aus den langen Brettern zu schneiden oder diese durch Skalieren zu kürzen ist keine gute Idee. Wir erstellen lieber neue Würfel, wie in Abbildung 5. 66 zu sehen. Diese benotigen natürlich auch weniger Segmente aufgrund der geschrumpften Länge. Ansonsten bleiben die KNITTERN-Werte jedoch identisch, da weiterhin entlang der X — Richtung geknittert werden muss.
Abbildung 5. 66: Kürzere Bretter an Kopf und Fuß der Kiste
Wenn Sie möchten, können Sie jeweils Instanzen von der Gruppe des Kopfstücks und des Seitenteils der Kiste machen und diese auf die andere Seite verschieben. Dreht man die Instanzen einmal um die Symmetrieachse, wird nicht auffallen, dass es sich um identische Wände handelt. Damit die Kiste so überhaupt zusammenhatten kann, sind Kanthölzer nötig, an denen die Bretter der Kiste Halt finden. Diese sind oft aus einem härteren Holz gemacht und von quadratischem Querschnitt. Wie solche Kanthölzeraussehen könnten, zeigt Abbildung 5. 67. Auch hier sollte wieder etwas geknittert werden, wenn auch vielleicht nicht so stark. Reduzieren Sie den Knitterradius also z. B. auf 2 m.
Abbildung 5. 67: Schmale Kamhölzerais Stabilisatoren
Wie und wie viele dieser Kanthölzer Sie verwenden, ist Ihnen überlassen. Ich habe jeweils drei Kanthölzer für die Seiten und den Boden verwendet und diese gleichmäßigverteilt. Wie Sie Abbildung 5. 68 entnehmen können, habe ich zuerst nur ein Kantholz auf den kurzen Seiten der Kiste angebracht. Später erschien mir dies zu wackelig und ich habe ein weiteres ergänzt, wie Sie auf späteren Abbildungen erkennen werden. Gruppieren Sie die Kanthölzer in die Gruppen mit den normalen Brettern. Sie werden dann - wenn Sie wie ich Instanzen verwendet haben - automatisch auf die gegenüber liegende Seite der Kiste kopiert. Den Deckel der Kiste bildet eine Instanz des Bodens der Kiste. Dieser ist sowieso kaum zu sehen, und es fällt daher nicht auf, wenn beide Seiten identisch sind (siehe Abbildung 5. 69).
Abbildung 5. 68: Die Instanz des Bodens wird zum Deckel.
Abbildung 5. 69: Die fertige Kiste
Die Kiste ist damit komplett. Da sie auf dem Boden liegen soll, muss sie samt Inhalt noch um 90° gekippt werden. Gruppieren Sie dafür alle Objekte in ein einziges
NULL-OBJEKT. Sehr schnell geht dies z. B. über den Befehl ALLES SELEKTIEREN im BEAR-BEITEN — Menü des OBJE Es werden keine Objekte selektiert, sondern alle Objekte der Szene in einem neuen NULL-OBJEKT gruppiert. Drehen Sie also das neue NULL-OBJEKT um 90° um die X-Achse, bis der Kistendeckel oben ist. Klappen Sie das NULL-OBJEKT im OBJEKTE-Fenster auf und wählen Sie die Instanz des Deckels aus. Verschieben und drehen Sie die INSTANZ so, dass der Deckel seitlich an der Kiste lehnt, wie es Abbildung 5. 70 zeigt. Legen Sie besonderes Augenmerk darauf, dass der Deckel exakt auf Höhe des Kistenbodens endet und sich tatsächlich an der Wand der Kiste abstützt. Dort sollte keine Lücke oder eine Überschneidung vorkommen. Bewegen Sie die Ansicht näher an diesen Bereich heran und unternehmen Sie kleinere Kameraschwenks um die Kiste herum, um dies zu überprüfen.
Abbildung 5. 70. Drehen der kompletten Szene und Öffnen des Deckels
Der Torso soll in einer Flüssigkeit schwimmen, die ihn schützt. Die Bretter allein waren jedoch wohl zu porös, um eine Flüssigkeit in der Kiste halten zu können. Es klaffen einfach zu viele Lücken zwischen den Brettern (auch Dank unserer Knitter — Akti-onen). Die Kiste sollte also innen mit einer geschlossenen Wanne ausgeschlagen werden. Wir modellieren diese aus einem Würfel, den Sie entsprechend an die Große des Innenraums der Kiste anpassen. Vergessen Sie nicht, dem Wurfe! einen kleinen Rundungsradius zu geben. Der Würfel sollte schließlich wie in Abbildung 5. 71 die Kiste komplett ausfüllen.
Abbildung 5. 71. - Einen gerundeten Würfel einpassen
KONVERTIEREN Sie den Würfel dann und selektieren Sie die obere Deckflache im POLYGON-Modus. Vergrößern Sie diese Selektion durch den gleichlautenden Befehl im SELEKTION-Menü, bis auch die obere Rundung komplett selektiert ist. Loschen Sie dann diese Polygone. Der Würfel wird damit zu einer Wanne, die von oben den kompletten Einblick in die Kiste erlaubt. Damit diese Wanne oder Verschalung auch fest mit der Kiste verbunden ist, setzen wir ein paar Nieten ein, die den oberen Rand der Wand innen an den Brettern befestigt. Rufen Sie also ein RING-Objekt mit den Parametern aus Abbildung 5. 72 auf, konvertieren Sie dieses und loschen Sie dann die untere Hälfte der Ringes. Er-
zeugen Sie schließlich mit der DUPLIZIEREN — Funktion eine beliebige Anzahl an INSTAN ZEN, die Sie am oberen Rand der Wanne verteilen. Es reicht, wenn Sie pro Brett an Kopf- und Fuß-Seite der Kiste eine Niete verwenden bzw. an den Seitenteilen identische Abstände zwischen den Nieten realisieren.
Abbildung 5. 72- Ein halbierter Ring als Niete
5. 2. 1 Den Raum modellieren Rufen Sie dann eine KAMERA aus den SZENE — OBJEKTEN im OBJEKTE-Menü ab und platzieren Sie diese wie in Abbildung 5. 73. Im gleichen Menü finden Sie auch das SZENE-OBJEKT. Klicken Sie doppelt auf dessen Symbol im OBJEKTE-Fenster und tragen Sie dort den Namen der KAMERA ein.
Im KAMERA — Menü des Kameraansichtsfensters können Sie dann den Namen der Kamera auswählen. Sie bekommen dann in diesem Ansichtsfenster einen Bück durch die Kamera präsentiert. Position und Blickrichtung der Kamera sind natürlich Ihnen überlassen. Ich habe eine erhöhte Position mit Blick über die Ecken der Kiste gewählt. Sie können entweder das Kamera — Objekt direkt bewegen oder die Sicht im Kamerafenster verändern. Die Position der Kamera passt sich automatisch der Veränderung an. Wie Sie in Abbildung 5. 73 schon erkennen können, habe ich einen zusätzlichen WÜRFEL als eigentlichen Raum um die gesamte Szene gelegt. Um also in den übrigen Ansichten noch auf die Kiste schauen zu können, muss dort ein nicht schattierender Modus selektiert werden, also z. B. DRAHTGITTER oder QUADER.
Abbildung 5. 73. - Eine geeignete Kameraposition wählen Die Größe des Würfels können Sie Abbildung 5. 74 entnehmen. Die Kamera habe ich also innerhalb der Raummitte knapp unterhalb der Decke platziert. Beachten Sie auch beim Raumwürfel wieder die kleine Rundung, die später für realistischere Schattierungen in den Ecken sorgen wird.
Abbildung 5. 74: Einen Würfel als Raum platzieren
Zwar werden die Wände noch mit einer rauen Oberfläche belegt, dennoch möchte ich den Raum durch plastische Ausmodellierung noch verwitterter erscheinen lassen. Ich habe daher geschlossene SPLINES beliebiger Interpolationsart in die frontale und die seitliche Ansicht gezeichnet und diese Splines mit EXTRUDE-NURBS zu massiven Objekten werden lassen (siehe Abbildung 5. 75). Die äußere Form soll Putzstücken entsprechen, die sich noch auf der feuchten Wand halten konnten.
Abbildung 5. 75. - Zwei geschlossene Splines zu Putzstücken an der Wand extrudieren
Abbildung 5. 76 zeigt exemplarisch, wie solche Stücke aussehen könnten. Sie müssen diese natürlich auch entsprechend knapp vor der Raumwand platzieren. Es soll schließlich offenbar werden, dass auch ein Höhenunterschied zwischen Wand und Putz vorhanden ist. Ebenfalls in der Abbildung zu erkennen ist, dass ich die Verschalung in der Kiste oben wieder verschlossen habe. Dazu habe ich drei RECHTECK — Splines benutzt, die über ein Loft-NURBS untereinander verbunden sind. Die aktivierte Schließung der entsprechenden Deckfläche schließt dann die rechteckige Fläche. Ich habe diese Methode gewählt, da sich durch unterschiedliche Höhe der Splines eine leichte Auswölbung der Oberfläche an den Rändern nach oben erzielen
lässt. Der RECHTECK — Spline direkt am Rand der Kiste liegt also etwas höher als der Spline nahe der Mitte der Kiste. Dies soll das Verhalten von Flüssigkeiten an begrenzenden Objekten besser widerspiegeln. Dort ist nämlich ein leichtes „Hochziehen" der Flüssigkeiten zu beobachten. Übertreiben Sie dies jedoch nicht. Eine minimale Erhöhung der Form an den Randern reicht völlig aus.
Abbildung 5. 76: Abgeplatzter Putz an den Wänden Kehren wir nochmals zu den Wänden zurück. Trotz allem sind mir die Wände noch zu glatt und sauber. Selektieren Sie also die Polygone an der Wand, wo Sie etwas mehr Struktur für sinnvoll erachten. In Abbildung 5. 77 habe ich exemplarisch 2 Polygone nahe der Ecke ausgewählt und markiert. Notieren Sie die Abmessungen dieser Selektion, die Sie im KOORDINATEN-MANAGER ablesen können und übertragen Sie diese Werte dann auf ein neues LANDSCHAFT — Objekt (Siehe Abbildung 5. 77). Wie viele Segmente und welche Prozentuale Ausgestaltung mit feinen und groben FURCHEN Sie verwenden möchten, ist hier eher nebensachlich und kann jederzeit verändert werden. Wichtig ist nur, dass die Große mit dem selektierten Bereich übereinstimmt und RANDER AUF MEERESHÖHE aktiviert ist. Zoomen Sie nun an die Raumecke heran, an die die selektierten Polygone angrenzen und wählen Sie z. B. in der Ansicht von oben einen Punkt der Raumecke aus, an dem die Selektion angrenzt (siehe Abbildung 5. 78). Notieren Sie dessen Welt-X-Koordinate. Diesen Wert müssen Sie nun auf das LANDSCHAFT — Objekt übertragen. Voraussetzung ist, dass Sie dieses vorher entsprechend gedreht haben, damit es parallel zu den selektierten Flachen liegt. Ob dabei die „Berge" in die Wand hinein oder aus dieser heraus weisen, bleibt Ihnen überlassen. Beide Richtungen führen zu brauchbaren Ergebnissen, zumal die Hohe der Furchen auch eher gering gewählt sein sollte.
Abbildung 5. 77. - Landschaft — Objekt an Wand anpassen
Beachten Sie bei der Übertragung der Position an das LANDSCHAFT — Objekt, dass Sie zusätzlich zu der abgelesenen X-Position der Wand nach die halbe Hohe der Landschaft einrechnen müssen. Ist Ihre Landschaft also 50 m hoch, so müssen Sie die XPosition zusätzlich um 25 m verschieben, damit die Rander der Landschaft tatsächlich exakt auf der Wand landen und nahtlos in die Ecke übergehen.
Abbildung 5. 78: Koordinaten der Raumecke abfragen
Die selektierten Flächen der Wand können Sie dann, wenn das LANDSCHAFT — Objekt darüber platziert ist, etwas hinter oder vor das LANDSCHAFT — Objekt verschieben, je nachdem, ob mehr oder weniger von den Furchen zu sehen sein soll. Selektieren Sie dazu einfach einzelne Punkte der Wand und verschieben Sie diese entlang der
X-Achse. Je nach Starke der Verschiebung wird entweder das gesamte LANDSCHAFT — Objekt si Wand. Wenn die Berge der Landschaft in den Raum hinein zeigen, entfällt diese Option jedoch, da sich die Wand schließlich nicht noch zusätzlich nach innen wölben sollte. Die Abbildung 5. 79 zeigt ein mögliches Resultat. Dort wurden zwei unterschiedliche Landschaften auf beiden sichtbaren Wänden platziert.
Abbildung 5. 79: Wände mit zusätzlichen Landschaft-Objekten Rufen Sie nun eine Lichtquelle auf. Sie soll den Raum als Neonröhre erleuchten. Wählen Sie also die Art ROHRE für die Lichtquelle aus und aktivieren Sie WEICHE SCHATTEN. Die Heiligkeit sollte vorerst bei 70% liegen. Der Farbton kann weiß oder leicht blaulich gewählt werden. Machen Sie ein Testrendering der Kameraansicht im Editor. Beobachten Sie gezielt die Lage der Schatten. In meinem Fall gab es unschöne Flecken und Saume um Kanten und Furchen herum. Diese entstehen durch einen zu kleinen Schatten-Bias. Den entsprechenden Wert finden Sie im ScHATTEN-Dialog der Lichtquelle. Erhohen Sie dort den Bias-Wert schrittweise, bis die Schatten nur noch größere Objekte mit einem starken Schattenwurf darsteilen. Feinere Strukturen sollten keinen Schattenwurf mehr auslosen. Bei mir war dies ab einem Wert von 5 m der Fall. Den Vorher — / Nach h er-Effekt können Sie Abbildung 5. So entnehmen.
Abbildung 5. 80: Den Bias- Wert der Lichtquelle kontrollieren
Schließlich erganze ich noch zwei kleine Zylinder, die ich jeweils am Ende der Lichtröhre an der Decke platziere (siehe Abbildung 5. 81). Diese sollen den Schattenwurf der Lichtquelle noch etwas unterstutzen. Schließlich sind Neonrohren seitlich in die entsprechenden Fassungen eingespannt und senden daher entlang dieser Achse weniger Licht aus. Ob dies später tatsachlich zu einem sichtbaren Ergebnis fuhren wird, kann man
jetzt nur schwer erahnen. Tatsächlich sollte man jedoch die Genauigkeit von Radio-sity — Effekten nicht u schließlich erstmals einsetzen,
Abbildung 5. 81: Den Schattenwurf der Lichtquelle begrenzen
Dort wird es zuerst um die Ermittlung der passenden Parameter für die Render — Vor-einstellung Multipass-Optionen.
6
Radiosity und Caustics
In diesem Kapitel kommen wir zum Kern der Neuerungen in Version 7, den neuen Matefialeigenschaften und Rendermethoden.
6. 1 Radiosity — Einstellungen ermitteln Zu Letzterem gib es zwei Schlagworte, nämlich Radiosity und Caustics. Unter Radiosity versteht man die realistische Lichtverteilung durch mehrfache Reflexion und Streuung der Photonen an Objekten. Das Licht besteht also nicht mehr nur aus einem Strahl, der von der Lichtquelle ausgehend auf ein Objekt trifft und dieses beleuchtet. Mit Radiosity kann das Licht von dem angestrahlten Objekt auch wieder zurückgeworfen werden und z. B. auf ein anderes Objekt treffen, das vorher nicht von der Lichtquelle beschienen wurde, oder sogar ganzlich im Schatten lag. Bestehende Schatten werden also aufgehellt und Objekte weicher und gleichmäßiger beleuchtet. Die Spitzlichter fallen dadurch weniger hart aus. Das berechnete Bild erhalt eine neue Qualität der Realistik, da sich naturliches Licht ganz ähnlich verhält. Da es sich bei dieser Rechenmethode jedoch um ein aufwandiges Verfahren handelt, sind einige Einstellungen notig, um die Renderzeiten in vernünftige Bahnen zu lenken. Es gilt einen Kompromiss zwischen Qualität und dafür benötigter Zeit zu finden: Ein perfektes Ergebnis ist in kurzer Zeit oder gar per einfachem Knopfdruck nicht möglich. Teilweise sind mehrere Testrenderings mit unterschiedlichen Einsteilungen nötig, um ein gutes Ergebnis zu erzielen. Caustics, die zweite große Neuerung der Version 7, sind etwas weniger anspruchsvoll in der Bedienung. Diese lassen sich in relativ kurzer Zeit justieren und auch berechnen. Kurzfristiges Ausprobieren und Experimentieren mit den entsprechenden Werten ist also hier eher möglich.
6. 1. 1
Die Stärke
Alle notwendigen Einstellungen für die Qualität der Radiosity — Berechnung finden Sie in den RENDER — VOREINSTELLUNGEN. Wenn Sie dort die Radiosity — Berechnung aktiviert haben, stehen Ihnen die Einstellungen zur Verfügung, die Sie in Abbildung 6. 1 links eingeblendet sehen. Mit STARKE ist die Stärke des Radiosity — Effekts gemeint, der zusätzlich zu der normalen Beleuchtung berechnet wird. Ein Wert von o% bedeutet also nicht, dass Ihre
Dort wird es zuerst um die Ermittlung der passenden Parameter für die Render — Vor-einstellung Multipass-Optionen.
6
Radiosity und Caustics
In diesem Kapitel kommen wir zum Kern der Neuerungen in Version 7, den neuen Matefialeigenschaften und Rendermethoden.
6. 1 Radiosity — Einstellungen ermitteln Zu Letzterem gib es zwei Schlagworte, nämlich Radiosity und Caustics. Unter Radiosity versteht man die realistische Lichtverteilung durch mehrfache Reflexion und Streuung der Photonen an Objekten. Das Licht besteht also nicht mehr nur aus einem Strahl, der von der Lichtquelle ausgehend auf ein Objekt trifft und dieses beleuchtet. Mit Radiosity kann das Licht von dem angestrahlten Objekt auch wieder zurückgeworfen werden und z. B. auf ein anderes Objekt treffen, das vorher nicht von der Lichtquelle beschienen wurde, oder sogar ganzlich im Schatten lag. Bestehende Schatten werden also aufgehellt und Objekte weicher und gleichmäßiger beleuchtet. Die Spitzlichter fallen dadurch weniger hart aus. Das berechnete Bild erhalt eine neue Qualität der Realistik, da sich naturliches Licht ganz ähnlich verhält. Da es sich bei dieser Rechenmethode jedoch um ein aufwandiges Verfahren handelt, sind einige Einstellungen notig, um die Renderzeiten in vernünftige Bahnen zu lenken. Es gilt einen Kompromiss zwischen Qualität und dafür benötigter Zeit zu finden: Ein perfektes Ergebnis ist in kurzer Zeit oder gar per einfachem Knopfdruck nicht möglich. Teilweise sind mehrere Testrenderings mit unterschiedlichen Einsteilungen nötig, um ein gutes Ergebnis zu erzielen. Caustics, die zweite große Neuerung der Version 7, sind etwas weniger anspruchsvoll in der Bedienung. Diese lassen sich in relativ kurzer Zeit justieren und auch berechnen. Kurzfristiges Ausprobieren und Experimentieren mit den entsprechenden Werten ist also hier eher möglich.
6. 1. 1
Die Stärke
Alle notwendigen Einstellungen für die Qualität der Radiosity — Berechnung finden Sie in den RENDER — VOREINSTELLUNGEN. Wenn Sie dort die Radiosity — Berechnung aktiviert haben, stehen Ihnen die Einstellungen zur Verfügung, die Sie in Abbildung 6. 1 links eingeblendet sehen. Mit STARKE ist die Stärke des Radiosity — Effekts gemeint, der zusätzlich zu der normalen Beleuchtung berechnet wird. Ein Wert von o% bedeutet also nicht, dass Ihre
Szene völlig dunkel berechnet wird, sondern dass dann nur das direkt von der Lichtquelle ausgehende Licht in dessen Interaktion mit den Objekten und Oberflächen berechnet wird. Das Ergebnis entspricht dann dem von Berechnungen ohne Radiosity, wie es aus alteren CINEMA — 4D — Versionen bekannt ist. Ist dies gewünscht, kann der Radiosity — Effekt auch gleich ganz deaktiviert werden. Ansonsten lasst sich über diesen Wert die Helligkeit des Bildes steuern, wie wir später noch am Beispiel sehen werden.
6. 1. 2 Die Genauigkeit Der Wert für die GENAUIGKEIT definiert, wie viele Bildpunkte bei der Bildberechnung für die Lichtabtastung herangezogen werden. Ein Wert von 100% bedeutet also, dass tatsachlich jeder Bildpunkt abgefragt und das auf diesen Punkt treffende Licht entsprechend verfolgt wird. Dies klingt nach einem anzustrebenden Ergebnis, ist jedoch aufgrund der maximalen Berechnungszeit nur in seltenen Ausnahmen zu empfehlen. Normale Werte liegen zwischen 30% und 80% Genauigkeit, wobei dieser Wert durch die noch folgenden MIN- und MAX-AUFLÖSUNG E N weiter definiert wird.
6. 1. 3
Prepass-Größe
Für die Radiosity — Berechnung ist ein so genannter PREPASS, eine Art Probedurc der Berechnung nötig. Dabei wird das Bild wie bei der endgültigen Berechnung abgetastet und die Setzung von Samplingpunkten veranlasst. Die Anzahl und Lage dieser Punkte wird durch die Parameter GENAUIGKEIT, MIN- UND MAX-AUFLOSUNG bestimmt. Jeder dieser Punkte wird dann m der eigentlichen Bildberechnung nach dessen Beleuchtung abgefragt, wobei das Umfeld dieser Punkte durch den Wert SAMMELSTRAHLEN abgetastet wird. Da zum Teil sehr große Abstände zwischen diesen Punkten liegen, werden die ermittelten Helligkeits- und Farbwerte dann interpoliert und geglättet. Zu große Abstände liefern also nicht immer exakte Ergebnisse und können zu starken Helligkeitsveränderungen im Bild führen, die sogar als schwarzen Flecken oder anderen unschöne Anomalien Sichtbarwerden können. Die Lage und Dichte dieser Samplingpunkte ist also entscheidend für die spätere Bildqualität. Da diese Samplingpunkte beim Prepass auf das gerenderte Bild gesetzt werden, hat die Große des berechneten Bildes Einfluss auf die Lage dieser Samplingpunkte. Soll ein Bild in 800 x 600 Pixeln berechnet werden und macht man den Prepass nur mit 200 x 150 Pixeln, dann sind dort weniger Details erkennbar und die Samplingpunkte können weniger exakt platziert werden. Die in dem verkleinerten Prepass gesetzten Samplingpunkte, bzw. deren Positionen, werden nämlich einfach auf das größere Endergebnis skaliert. Es ist daher generell ratsam, den PREPASS in der gleichen Bildgröße zu berechnen wie das Endresultat, also die Einstellung 1/1 für den Prepass zu wählen.
6. 1. 4 Strahltiefe Mit STRAHLTIEFE ist die Anzahl an Lichtverfolgungen nach Reflexion an einer Oberfläche gemeint. Bei der bislang üblichen Berechnungsmethode war die STRAHLTIEFE auf o eingestellt. Dies bedeutet, dass das Objekt kein Licht reflektiert. Bereits ein Wert von i wertet also das Endresultat erheblich auf, da nun Licht z. B. von einer Wand in den Bereich eines Schattens reflektiert werden kann, oder sogar in einem Gang um eine Ecke leuchten kann. Je hoher die STRAHLTIEFE eingestellt ist, desto öfter kann ein Lichtstrahl von Objekten weiter reflektiert werden und somit auf immer neue Objekte treffen. Dabei wird nicht nur die Helligkeit des angestrahlten Objekts transportiert, sondern auch dessen Farbe. Ein roter Ball an einer weißen Wand kann also auf der Wand einen rotlichen Schimmer produzieren, da Licht, das von dem Ball in Richtung Wand abprallt, die Färbung des Balls angenommen hat. Zu beachten ist dabei, dass bei zu hohen Strahltiefen nicht nur die Berechnungszeit stark ansteigt, sondern auch die Helligkeit m der Szene. Das Licht verliert nämlich nach einer Reflexion nicht an Intensität, was sehr schnell zu einer Überbelichtung des Bildes fuhren kann. Halten Sie daher für optimale Ergebnisse die STRAHLTIEFE zwischen i und 3. Höhere Werte sind nur in seltensten Fällen notwendig und sinnvoll. Sollte das Bild und dessen Schatten dennoch zu dunkel erscheinen, sollten Sie die Intensität der Lichtquelle überprüfen oder ggf. weitere Lichtquellen hinzufügen.
6. 1. 5 Sammelstrahlen Bislang war immer die Rede von Samplingpunkten und deren Lage und Anzahl. Die SAMMELSTRAHLEN sind zusatzliche Strahlen, die von den gesampelten Punkten in alle Richtungen ausgesendet werden, um die Lichtverhältnisse in der Umgebung des gesampelten Punktes zu erkunden. Es gilt also: Je mehr SAMMELSTRAHLEN, desto exakter kann das Umfeld des betrachteten Punktes einbezogen werden. Da jeder Sammelstrahl durch den Faktor STRAHLTIEFE von mehreren Objekten bzw. Flächen abprallen kann, fuhrt eine Erhöhung der Anzahl an SAMMELSTRAHLEN immer zu längeren Rechenzeiten. Jeder SAMMELSTRAHL muss dann schließlich langer verfolgt werden. Der Vorteil an höheren Werten für SAMMELSTRAHLEN liegt in der exakteren Berechnung der Beleuchtungssituation. Dies macht sich vor allem in Schatten bemerkbar, wo die Erhöhung dieses Wertes wohl als erstes qualitativ auffallen wird.
6. 1. 6
Min. Auflösung/Max. Auflösung
Um die Berechnung selektiv zu entlasten und die GENAUIGKEIT nicht gleichmäßig auf das gesamte Bild verteilen zu müssen, gibt es die beiden Werte MIN. und MAX. AUFLOSUNG.
Diese stehen jeweils für die maximale Anzahl an Samplingpunkten in Bereichen mit minimaler und maximaler Komplexität der Oberfläche. Damit ist gemeint, dass eine Wand oder eine Ebene sicherlich nicht so viele Samplingpunkte benötigt wie ein Gesicht oder ein anderes komplexes Objekt mit vielen modellierten Details. Mit dem MIN. -Wert steuert man daher die Anzahl an Samplingpunkten auf einfachen Geometrien mit wenigen Details und mit dem MAX. -Wert die Dichte an Samplingpunkten auf komplexen Oberflächen.
Die richtige Wahl dieser beiden Werte ist entscheidend für die Qualität und vor allem die Länge der Berechnungszeiten. Daher sollte man auf die optimale Auswahl dieser Werte auch ruhig etwas mehr Zeit verwenden. Sehr sinnvoll ist dabei die Notiz der gewählten Einstellungen und der benötigten Renderzeiten, um sich den für die Szene optimalen Einstellungen anzunähern. Leider ist es nämlich nicht so, dass einmal gefundene Einstellungen auch für alle anderen Szenen benutzt werden können. Da die beschriebenen Werte sehr stark von der Komplexität der Szene abhängen, ist im Normalfall die Ermittlung neuer Werte für jedes Projekt notwendig. Ja sogar eine Veränderung der Kamera Perspektive kann es nötig machen, die Werte neu anzupassen. Es gibt jedoch einige Verfahrensweisen und Regeln, um den Prozess abzukürzen. Wie dies aussehen könnte, möchte ich nun an unserer noch untexturierten Szene demonstrieren.
6. 1. 7
Den richtigen Min. -Wert ermitteln
Überprüfen Sie die Lage der Kamera und deren Sicht auf die Szene. Der Ausschnitt sollte ungefähr dem entsprechen, der im letzten Kapitel beschrieben wurde. Falls Sie das Kapitel übersprungen haben, finden Sie die Szene auch auf der CD. Laden Sie also die Szene und öffnen Sie die RENDER — VOREINSTELLUNGEN. Sobald Sie die Radiosity — Seite dort aufgerufen und durch Abhaken der RADIOSITY — Option aktiviert haben, haben Sie Zugriff auf die bereits beschriebenen Werte. Dort vorgegeben sind bereits Einstellungen, die für eine durchschnittliche Szene für gute Ergebnisse sorgen können. Darauf wollen wir uns jedoch lieber nicht verlassen. Aus den beschriebenen Gründen benötigt jede Szene individuelle Größen und Einstellungen. Beginnen Sie mit den Werten, die Sie oben in Abbildung 6. 1 finden. Die STÄRKE liegt bei 100%, die GENAUIGKEIT bei 70%, der PREPASS wird indervollen Rendergröße berechnet. Die STRAHLTIEFE steht auf 2 und erlaubt damit das zweifache Abprallen eines Lichtstrahls von Flächen, auf die er trifft. Die SAMMELSTRAHLEN sind mit 50 eher niedrig bis moderat gewählt. Diesen Wert werden wir erst etwas später anpassen. Wir wollen zuerst den Wert für die MINIMALE AUFLÖSUNG bestimmen und setzen diesen daher recht niedrig mit 10 an. Der Wert für die MAXIMALE AUFLÖSUNG soll das Ergebnis möglichst nicht belasten und wird daher auf i gestellt. Wir können dadurch die Veränderungen bei der MIN. AUFLOSUNG separat von anderen Werten besser beurteilen.
CINEMA 40 bietet die Möglichkeit, einmal berechnete Positionen von Samplingpunkten abzuspeichern und für zukünftige Neuberechnungen mit eventuell veränderten Materialien oder veränderter Intensität der Lichtquelle heranzuziehen. Soweit sind wir jedoch noch nicht, denn die Werte müssen erst noch ermittelt werden. Aktivieren Sie daher die NEUBERECHNUNG mit der Option IMMER. LÖSUNG SPEICHERN kann aktiviert bleiben. Durch NEUBERECHNUNG IMMER werden eventuell vorhandene Lösungen auf der Festplatte ignoriert.
Abbildung 6. 1: Ermitteln der Min — Auflösung Starten sie nun die Berechnung im Kamerafenster der Editoransicht. Dazu klicken
Sie einmal in die Ansicht und wählen dann AKTUELLE ANSICHT RENDERN aus dem REN-DERN — Menü. Sie können au outs klicken. Belassen Sie es dabei ruhig bei der Aufteilung mit vier verschiedenen Ansichten, damit die Berechnungen nicht zu lange dauern. Sie werden beobachten, wie zuerst der Prepass berechnet wird. Das Bild setzt sich dabei zeilenweise wie bei der Bildberechnung zusammen, wird jedoch zusätzlich mit weißen Punkten gefüllt, die die Lage und Anzahl der gesetzten Samplingpunkten markieren. Wie dies mit unseren Radiosity — Werten aussieht, zeigt ebenfalls Abbildung 6. 1 in der oberen Hälfte. Nachdem der Prepass komplett berechnet wurde, beginnt erst die eigentliche Bildberechnung, wobei die eingezeichneten Samplingpunkte zur Ermittlung der Helligkeitsverteilung im Bild herangezogen werden. Hier kommen dann also die Sammelstrahlen ins Spiel. Am Ende dieser Berechnungen steht das fertige Bild. Wie Sie der Abbildung entnehmen können, hat die gesamte Berechnung 3 Minuten und 31 Sekunden auf meinem Rechner benötigt. Es handelt sich dabei um ein nicht
mehr ganz aktuelles Gerat mit knapp 10. 5 Cinespec. Dies entspricht ungefähr einem Gigaherz Pentium III Rechner. Die Zahlenwerte sollten Ihnen nur einen groben Eindruck vermitteln, wie sich die Veränderungen der Werte auswirken können.
Wie bereits empfohlen, sollten Sie sich auch bei Ihren Renderings die vorgenommenen Einstellungen zusammen mit der Renderzeit notieren. Eventuell ergänzen Sie zusatzlich kurze Kommentare, wie z. B. „dunkle Flecken am Deckel der Kiste", wie es in unserem Fall zu beobachten ist. Da der Deckel der Kiste vorwiegend aus glatten Flachen besteht, ist zu erwarten, dass eine Erhöhung des Wertes für MIN. AUFLÖSUNG dabei helfen könnte, diese dunklen Schatten vom Deckel zu vertreiben. Bei dieser Technik der Ermittlung der optimalen Einstellungen interessieren uns also vorerst nicht die Bildabschnitte, in denen komplexe Objekte zu sehen sind, sondern eher die detailarmen Ebenen, Wände und Bereiche. Sind in diesen Teilen noch Störungen zu erkennen, die sich nicht durch Schattenwurf erklaren lassen, so muss der MIN — Wert weiter erhöht werden. Wie Sie Abbildung 6. 1 im unteren Teil entnehmen können, habe ich also den MIN — Wert auf 20 erhöht. Die Renderzeit erhöhte sich dadurch zwar auf 4 Minuten und 17 Sekunden, aber dafür sind die störenden Flecken auf dem Deckel nahezu verschwunden.
6. 1. 8
Den Max. -Wert ermitteln
Da keine anderen Schattierungsfehler auf einfachen Flächen zu erkennen sind, widmen wir uns nun dem MAX. -AUFLÖSUNG-Wert, der die Verteilung von Samplingpunkten in Bereichen hoher Komplexität steuert. Für diesen Wert gibt es eine Faustregel, die besagt, dass er zwei- bis dreimal hoher liegen sollte als der MIN. -AUFLÖSUNGWert. Wir beginnen daher unsere Testreihe mit einem MAX-Wert von 40. Die MIN. AUFLOSUNG lassen Sie so eingestellt, da die ermittelten Werte vorerst für gute Resultate gesorgt haben. Die Berechnung dauert nun 5 Minuten und 10 Sekunden. Vor allem Störungen in den Ritzen zwischen den Brettern und in der Raumecke sind merklich verringert worden. Eine weitere Erhöhung auf 60 lässt nach einer Renderzeit von 6 Minuten und 6 Sekunden keine Fehler mehr erkennen. Auch die Übergänge zwischen niedrig und hoch aufgelösten Bereichen, wie z. B. zwischen den LANDSCHAFT-Objekten an der Wand und den Putzstücken, sind nun schön weich schattiert (siehe Abbildung 6. 2).
Abbildung 6. 2: Ermitteln der Max -Auflosung
6. 1. 9
Die Genauigkeit nutzen
Wir haben also ein brauchbares Verhältnis zwischen MIN. - und MAX. -Wert gefunden. Dieses Verhältnis lasst sich jetzt im nächsten Schritt über den GENAUIGKEIT-Wert noch besser anpassen. Wie eine Reduzierung dieses Wertes auf 20 zeigt, werden die Abstände zwischen den Samplingpunkten dadurch gleichmäßig großer. Die Renderzeit beträgt jetzt zwar nur noch knapp 4 Minuten, aber es sind auch wieder einige Fehlersichtbar.
Abbildung 6. 3: Auswirkungen des Genauigkeit — Wertes
Am anderen Ende der Werteskala liegt die Einstellung 100% für die GENAUIGKEIT. Stellen wir diesen Wert ein, so werden plötzlich alle MIN- und MAX — Werte deaktiviert, ebenso wie die PREPASS — Einstellungen. Dies begründet sich daraus, dass bei einer Abtastung von 100% des Bildes sowieso jeder Bildpunkt berechnet werden muss. Eine Aufteilung m niedrig und hoch aufgelöste Bereich ist nicht mehr von Belang.
Aufgrund der Ähnlichkeit der erzielbaren Ergebnisse dieser speziellen Einstellung mit dem so genannten „Arnold-Renderer eines anderen Herstellers, hat sich für diese extreme Einstellung die Benennung „Arnold-Modus" bei einigen etabliert. Bei diesem Modus ist jedoch extreme Vorsicht geboten, da die Renderzeiten inakzeptabel hoch werden können: Sie sollten mit sehr kleinen Werten für die STRAHLTIEFE und die Anzahl der Sammelstrahlen beginnen.
Abbildung 6. 4: Spezialmodus bei Genauigkeit = 100% Wie Sie Abbildung 6. 4 entnehmen können, ist ein Pixelrauschen das Markenzeichen für diesen Modus. Die Helligkeit der dunklen „Rausch — Pixel" verändern Sie über den STRAHLTIEFE — Wert. Dadurch wird das gesamte Bild heller. Das Rauschen wird feiner und weniger dominant durch die Erhöhung des SAMMELSTRAHLEN-Werts. Bei einem relativ niedrigen Wert von 10 für die SAMMELSTRAHLEN schnellt dort jedoch die Berechnungszeit schon auf über 8 Minuten hoch — und dies bei einem Ergebnis,
das sich nicht mit dem von unseren Min — / Max- Werte n erzielten messen kann. Zumal dafür fast nur die halbe Berechnungszeit angefallen war. Dies ist meines Erachtens ein gutes Beispiel dafür, dass hohe Werte für die Qualität der Radiosity — Berechnung nicht zwangsläufig zu guten Ergebnissen führen müssen. In vielen Fällen erhöhen sie nur unnötig die Berechnungszeit und führen dennoch nicht zum erwünschten Ergebnis. Dabei darf nicht vergessen werden, dass wir im „Arnold"-Modus bislang nur mit niedriger STRAHLTIEFE gearbeitet haben, die nur eine grobe Annäherung an das realistische Ergebnis liefert. Wie sich bereits eine STRAHLTIEFE von 2 mit 10 SAMMELSTRAHLEN bei 100% GENAUIGKEIT auswirken, sehen Sie in Abbildung 6. 5. Über eine halbe Stunde Berechnungszeit bei nur mäßigem Resultat. Wenn es nur um den Pixel-Rausch-Effekt geht, so findet man sicher auch schnellere Wege, diesen nachträglich hinzuzufügen. Und bedenken Sie bitte bei all diesen Berechnungszeiten, dass dies alles noch Renderings im Editorfenster mit einer sehr niedrigen Auflösung von vielleicht 320 x 240 Pixeln sind. Bei normalen Auflösungen sind Sie bei derartigen Werten schnell bei mehreren Stunden Berechnungszeit.
Abbildung 6. 5: Erhöhen der Strahltiefe bei Genauigkeit = 100% Kehren wir also lieber zu unseren moderaten Werten zurück. Uns stehen noch weitere Möglichkeiten zur Verfügung, um Einfluss auf die Darstellung einzelner Objekte in der Szene zu nehmen. Eine davon ist die Verteilung von RENDER — TAGS. Diese sind bereits aus älteren Versionen bekannt, wurden jedoch in Version 7 stark erweitert. Eine der neuen Optionen dort lautet SICHTBAR FÜR Gl, mit der man einzelne Objekte von der Berechnung der Samplingpunkte ausnehmen kann. Dies ist für alle Objekte sinnvoll, die ausschließlich mit stark transparenten Materialien belegt werden sollen, also sehr viel Licht ungehindert passieren lassen. Um die Berechnung für derartige Objekte zu unterbinden, weisen Sie diesen Objekten also ein RENDER — TAG zu, das Sie im DATEI-Menü des OBJEKTE-Fensters unter NEUES TAG finden und deaktivieren Sie dort die Gl — Option. Dies habe ich sowohl für die Oberfläche der Flüssigkeit in der Kiste veranlasst, wie auch für die Augen-Objekte, die die transparente Hornhaut und Linse darstellen sollen. Bei den Augen habe ich zusätzlich den Schattenwurf deaktiviert, da dieser am Auge nicht nötig oder gewünscht ist (siehe Abbildung 6. 6).
Abbildung 6. 6: Render — Tags benutzen
Um der Texturierung nicht vorzugreifen, deaktivieren Sie die Sichtbarkeit der Flüssigkeit in der Kiste für Editor und Rendering durch Vergabe zweier roter Punkte im OBJEKTE-Fenster. Wir können dann schon während dieser Testrenderings ungehindert in die Kiste blicken, um frühzeitig zu überprüfen, ob die Lichtverhältnisse dort richtig berechnet werden. Überprüfen wir dies gleich mit unseren alten Einstellungen, wobei ich vorerst wieder auf einen hohen Genauigkeitswert von 70% zurückgekehrt bin (siehe Abbildung 6. 7 oben). Durch die nun neu hinzugekommenen Details im Innenraum der Kiste erhöht sich zwar die Renderzeit, das Ergebnis ist jedoch weiterhin tadellos. Wir können also auf eine Anpassung der MIN- und MAX — Werte verzichten und uns ganz der Reduzierung der GENAUIGKEIT widmen. Die bereits zuvor benutzten 30% GENAUIGKEIT reduzieren die Renderzeit zwar enorm, produzieren aber bereits leichte Fehler. Eine Erhöhung auf 40% bereinigt diese und erhöht die Renderzeit nur unerheblich auf etwas über 4 Minuten 30 Sekunden (siehe Abbildung 6. 8),
Abbildung 6. 7: Anpassen der Genauigkeit
6. 1. 10 Strahltiefe und Sammelstrahlen
Wir können vorerst gut mit diesen Werten leben und uns über die Auswirkungen der anderen Parameter informieren. Wie die Abbildung 6. 8 in der Mitte zeigt, führt eine Erhöhung der STRAHLTIEFE definitiv zu einer größeren Helligkeit im gesamten Bild. Dies kommt besonders den Regionen zu Gute, die im Schatten liegen oder nicht direkt beleuchtet werden. Störend ist jedoch oft, dass dabei auch Bereiche aufgehellt werden, die eigentlich schon ausreichen beleuchtet waren, z. B. durch die Direktbeleuchtung einer Lichtquelle. Recht deutlich erkennt man dies am Kopf und dem hochgestellten Deckel der Kiste, die sehr grell ausgeleuchtet sind. Um dies wieder zu korrigieren, kann man die Stärke der Radiosity über den STÄRKE-Wert reduzieren. Eine Halbierung dieses Wertes führt zu einer Halbierung der Helligkeitswerte, die durch die Verfolgung des Lichts nach dem ersten Auftreffen auf eine Oberfläche entstanden sind. Dies bedeutet, dass die Helligkeit der Oberflächen, die direkt durch das Licht beschienen werden, weniger stark reduziert wird, als die der indirekt beleuchteten Gebiete. Es kommt also zu einem Effekt, wie in Abbildung 6. 8 unten zu sehen, dass die Oberflächen Licht zu absorbieren scheinen. Es wird je nach eingestellter STÄRKE nur noch ein Teil des auftreffenden Lichts reflektiert. Dies ist auch bei realen Gegenständen so, da es kaum perfekt polierte Oberflächen an normalen Objekten gibt. Nachteil ist jedoch, dass die Berechnungszeit zwar gleich bleibt, der sichtbare Ra-diosity — Effekt jedoch abn Ein ggf. besseres Ergebnis erzielt die Reduzierung der Helligkeit direkt an die Lichtquelle. Ein Halbierung der Intensität des abgestrahlten Lichts dort wirkt sich gänzlich anders auf das Bild aus. Es werden dadurch nämlich auch die Heiligkeiten auf den direkt beleuchteten Flächen reduziert. Somit bleibt die Helligkeitsverteilung zwar bestehen, das Bild als Ganzes wird jedoch abgedunkelt. Die Kontraste zwischen den hellen und dunklen Bereichen im Bild fallen also viel geringer aus als bei der Reduzierung der STARKE. Das Bild wirkt weicher.
Abbildung 6. 8: Auswirkungen der verschiedenen Parameter
Abbildung 6. 9; Intensität der Lichtquelle anpassen
Mir gefallen die Helligkeitswerte für einen schummrigen Kellerraum so recht gut, übernehmen Sie also bitte die Licht — Parameter aus Abbildung 6. 9 auch für Ihre Szene. Wir können es jetzt wagen, ein größeres Exemplar unseres Bildes berechnen zu
lassen. Stellen Sie also eine Ausgabegröße von 800 x 600 Pixeln auf der AUSGABE — Sei fenster mit den Parametern aus Abbildung 6. 9. Dazu benutzen Sie nun IM BILDMANAGER RENDERN im RENDERN — Menü oder das entsprechende Icon im Layout von CINEMA 40. Sie brauchen übrigens keinen Speicherpfad auf der SPEICHERN-Seite der RENDER — VOREINSTELLUNGEN anzugeben, da es sich nur um ein Testrendering handelt, um die finale Qualität besser beurteilen zu können. Weich böse Überraschung. Nach ca. 15 Minuten Berechnungszeit tauchen im fertigen Bild plötzlich merkwürdige Flecken an der Innenwand der Kiste auf (siehe Einkreisung in Abbildung 6. 10). Davon war in den kleinen Berechnungen im Editor vorher nichts zu sehen gewesen. Dies lehrt uns, dass es durchaus nötig sein kann, auch Probeberechnungen in d e r finalen Auflösung durchzuführen. D i e verkleinerte Darstellung b e i P
r
o
b
e
r
tun kann. Es besteht daher immer das Risiko, dass kleine Fehler übersehen werden oder nicht dargestellt wurden, da die Berechnung der Samplingpunkte auf der Grundlage der GRÖSSE DES PREPASS beruht.
Verlassen Sie sich daher nie nur auf verkleinerte Proberendermgs oder gar PRE-PASS — GRÖSSEN, d mögliche Qualität der Darstellung geht. Nun, wie werden wir diesen „schmutzigen" Bereich in der Kiste wieder los? Dazu ist zuerst eine Analyse notwendig, zu welcher Kategorie dieser Fehler gehört. Ist es eine Fläche mit hoher Detaildichte? Wohl eher nicht. Es könnte also an einer zu niedrigen MIN. -AUFLÖSUNG liegen. Die zweite Möglichkeit ist das Fehlen von genügend SAMMELSTRAHLEN, die die Helligkeitsverhältnisse dort richtig bestimmen. Dies ist vor allem in und um Schatten der Fall. Dies ist hier durchaus möglich, da es sich theoretisch um ein Problem handeln kann, das von dem Schatten hervorgerufen wird, den die Ecke des Kistendeckels oder der Torso wirft. Versuchen wir zuerst die Erhöhung der Sammelstrahlen. Wie Sie Abbildung 6. 11 entnehmen können, habe ich diese auf 100 erhöht. Die Renderzeit steigt auf knapp 20 Minuten bei der Endauflösung an. Tatsächlich scheint sich der Fleck leicht aufzuhellen. Leider ist er noch weit davon entfernt, völlig verschwunden zu sein. Als willkommener Nebeneffekt hat sich durch die Erhöhung der Sammelstrahlen auch in der Furche der Raumecke ein langgestrecktes dunkles Gebiet aufgehellt, das vorher gar nicht als störend aufgefallen war. Der direkte Vergleich der Abbildungen 6. 10 und 6. 11 zeigt jedoch, dass es dort ebenfalls fehlerhafte Darstellungen gegeben hat.
Abbildung t -o: Problembereiche ausfindig machen
Abbildung 6. 11: Erhöhung der Sammelstrahlen-Anzahl
Dies ist zwar recht angenehm, das optisch aber noch immer störende Ergebnis in der Kiste bleibt jedoch bestehen. Versuchen wir es mit einer weiteren Erhöhung der Sammelstrahlen auf 200 (siehe Abbildung 6. 12). Wie zum Hohn verändert sich trotz sehr viel längerer Berechnungszeit nichts an dem Fleck. Nur die Form hat sich leicht verschoben. Wir scheinen also mit den Sammelstrahlen bei diesem Problem auf dem Holzweg zu sein.
Abbildung 6. 12: Erhöhung der Sammelstrahlen -^izc" Gehen wir die Sache also anders an. Im nächsten Schritt habe ich die GENAUIGKEIT von 40% auf 50% erhöht. Die Anzahl der SAMMELSTRAHLEN habe ich vorerst bei 200 belassen, um die Erhöhung der GENAUIGKEIT direkt mit dem letzten Proberendering vergleichen zu können. Nur so können wir feststellen, ob die GENAUIGKEIT Einfluss auf den Fleck hat. Tatsächlich reduzieren sich Große und Starke der Verfärbung deutlich. Es scheint also ein Problem der Abtastung der Flache mit Samplingpunkten zu sein, denn die GENAUIGKEIT steuert ja die Dichte der Samplingpunkte basierend auf unseren MIN. und MAX. -Werten (siehe Abbildung 6. 13). Leider hat sich dadurch die Renderzeit weiter erhöht. Sehr ärgerlich, wenn man bedenkt, dass alle übrigen Teile der Szene eigentlich schon mit einer GENAUIGKEIT von 40% und nur 100 SAMMELSTRAHLEN perfekt ausgesehen haben. Eine Erhöhung dieser Werte nur wegen eines Objekts treibt daher die Rechenzeiten unnötig in die Hohe.
Abbildung 6. 13: Erhöhen der Genauigkeit
Reduzieren wir also die GENAUIGKEIT wieder auf 40% und erhöhen wir testweise die MIN. AUFLOSUNG auf 30. Die SAMMELSTRAHLEN habe ich kurzfristig auf 50 zurückgestuft, da diese nur zu einem gewissen Grad eine Hilfe waren (in der Raumecke z. B. ). Abbildung 6. 14 zeigt den Fleck nun ähnlich reduziert in Größe und Färbung wie bei den Einstellungen zuvor. Nur diesmal betrug die Rechenzeit nur knapp 12 Minuten. Dies zeigt, wie sensibel mit den Werten umgegangen werden muss, um die Renderzeiten nicht aus dem Ruder laufen zu lassen. Trotzdem ist der Fleck noch immer nicht ganz verschwunden. Für derartige Probleme, wo sichtbare Artefakte auf einzelne Objekte begrenzt sind, gibt es in Version 7 eine neue Option im RENDER — TAG. Wir haben so ein RENDER — TAG bereits für die Deaktivierung der Flüssigkeit und der Augen benutzt. Hier geht es jetzt jedoch nicht um eine Deaktivierung der GI-Berechnung, sondern um eine Veränderung der GENAUIGKEIT. Exakt für diesen Parameter gibt es nämlich ein neues Feld, in dem ein eigener Wert für das Objekt eingestellt werden kann. Wir können dort also nicht nur separat den MIN. - oder MAX. -Wert erhöhen, sondern sind gezwungen, die GENAUIGKEIT insgesamt zu bewerten. Deswegen war es auch so wichtig, gleich zu Beginn das richtige Verhältnis zwischen MIN. und MAX. für alle Objekte der Szene zu finden.
Abbildung 6. 14: Erhohen des Min. -Wertes
Wie Sie Abbildung 6. 15 entnehmen können, habe ich ein derartiges RENDER — TAG der Innenverschalung der Kiste zugewiesen und dort eine GENAUIGKEIT von 70% aktiviert. Dies bedeutet also, dass nur dieses Objekt mit 70% GENAUIGKEIT berechnet wird. Alle übrigen Objekte ohne eigene RENDER — TAGS werden mit der GENAUIGKEIT aus den RENDER — VOREINSTELLUNGEN berechnet, in diesem Fall also mit 40%. Das Ergebnis kann sich sehen lassen, denn die Störungen sind nun völlig verschwunden. Die Renderzeit wurde zwar auf über 15 Minuten erhöht, lässt sich jedoch mit dieser Technik weiter senken. Wir haben nämlich beobachten können, dass wir bereits mit einer GENAUIGKEIT von nur 30% bei den Wänden z. B. recht gut bedient waren. Warum also die RENDERTAGS nicht auch dort und diesmal mit kleineren als den voreingestellten Werten einsetzen? Ich habe also an alle Objekte, die bereits mit einer GENAUIGKEIT von 30% gut berechnet wurden, entsprechende RENDER — TAGS mit 30% GENAUIGKEIT vergeben. Der Deckel der Kiste wurde mit einem RENDER — TAG mit 60% GENAUIGKEIT bestückt, da dort in den Ecken noch immer kleinere Schatten vorhanden waren. Diese störten zwar nicht, aber wozu diesen Makel in Kauf nehmen? Es sollte trotz der Erhöhung der Werte von Deckel und Verschalung möglich sein, die Renderzeit zu drücken, wenn konsequent weniger störanfällige Objekte mit niedrigeren Werten bestückt werden.
Abbildung 6. 15: Objekten eigene Genauigkeiten geben
Und tatsächlich erreichen wir mit derart gesteuerten GENAUIGKEITEN trotz der Erhöhung der SAMMELSTRAHLEN auf 100 auf eine Renderzeit von nur knapp 21 Minuten (siehe Abbildung 6. 16). Wenn Sie dies mit dem Ergebnis aus Abbildung 6. 11 vergleichen, das aus den gleichen RENDER — VOREINSTELLUNGEN resultiert, sehen Sie, dass wir die Probleme dort nicht nur beseitigen konnten, sondern zudem fast ganz ohne eine Erhöhung der Renderzeit auskommen. Und dabei haben wir nicht nur die Fehler beseitigt, sondern auch noch die Darstellungsqualität einiger Objekte deutlich erhöht. Ich möchte es daher bei diesen Parametern belassen, da keine weiteren sichtbaren Probleme zu erkennen sind. Sicherlich hatte man sich einige Testrenderings hier sparen können. Es ging mir jedoch auch darum, dass Sie die Auswirkungen der einzelnen Werte und deren Zusammenspiel erkennen können.
6. 1. 11 Zusammenfassung Grundsatzlich gehen Sie so vor, dass Sie zuerst die MIN. - und MAX. -Werte bei einer GENAUIGKEIT von 70% ermitteln. Stellen Sie die Werte so ein, dass keine Fehler mehr zu erkennen sind. Reduzieren Sie dann die GENAUIGKEIT bis erste Fehler auftreten. Beobachten Sie ob die Fehler überall, oder nur an einzelnen Objekten zu beobachten sind. Vergeben Sie entsprechende RENDER — TAGS mit leicht erhöhten GENAUIGKEITEN für diese Objekte.
Danach können Sie die STRAHLTIEFE auf maximal 3 erhöhen, wobei auch ein Wert von 2 schon oft ausreicht. Passen sie ggf. die Intensität der Beleuchtung an die Veränderung der Helligkeit durch die erhöhte STRAHLTIEFE an. Die SAMMELSTRAHLEN können dann als letzter Parameter soweit erhöht werden, bis keine Probleme mehr in dunklen Bereichen und Schatten auftreten. Normale Werte liegen zwischen 50 und 200. Bei kontrastreichen Szenen mit vielen Glanzlichtern und Schatten kann eine weitere Erhöhung bis 300 notig werden. Dies ist ebenfalls anzuraten wenn mit Materialien beleuchtet wird und nicht mit Lichtquellen. Dazu im nächsten Kapitel noch mehr.
Abbildung 6. 16- Optimierte Renderzeit dank Render — Tags
6. 2 Caustics und matte Effekte Als Caustics bezeichnet man die Effekte, die sich durch Konzentrierung und Fokussierung von Licht ergeben. Diese kann man z. B. sehr gut in einem Schwimmbecken beobachten. Dort zeigen sich die Caustics als rauten- oder wellenförmige Muster am Boden oder den Wanden des Beckens. An diesem Beispiel sieht man schon, welche Gegebenheiten erfüllt sein müssen, um Caustics beobachten zu können: Eine Lichtquelle mit entsprechender Intensität muss vorhanden sein. Ein Medium mit transparenten und lichtbrechenden Eigenschaften muss benutzt werden.
Eine Oberfläche mit Variationen, die das Licht unterschiedlich beeinflussen, steuert dann die Form und Anzahl der Caustics Bei einer völlig planen Wasseroberfläche ohne Wellen oder andere Störungen werden also keine Caustics zu beobachten sein. Dieses beschäftigt uns nun auch hier, denn die Flüssigkeit in der Kiste soll natürlich nach Möglichkeit auch ein paar derartige caustische Effekte zeigen. Derzeit haben wir es aber dort noch mit einer glatten Fläche zu tun, die uns aus den genannten Gründen dabei nur wenig unterstützen wird.
Wir haben daher zwei Möglichkeiten: Entweder wir verformen die Oberfläche doch woher sollten die W ten ist -, oder wir fügen ein künstliches Objekt hinzu, das später unsichtbar sein wird, uns aber dennoch einige Caustics erzeugen kann. Ich habe mich für die zweite Möglichkeit entschieden, da uns diese auch noch interessante Perspektiven für die Animation der CAUSTICS liefert. Als ein derartiges Objekt habe ich das LANDSCHAFT — OBJEKT gewählt, das Sie an die Größe der Kiste anpassen müssen (siehe Abbildung 6. 17). Die Variation der Furchen und die Anzahl der Segmente ist willkürlich gewählt. Sie können später damit experimentieren, um Form und Anzahl der Caustics zu steuern. Wie Sie ebenfalls der Abbildung entnehmen können, habe ich zusätzlich ein RENDER — TAG an die Landschaft vergeben, das nur die Sichtbarkeit für die Strahlen des Raytracers zulässt. Dies bedeutet, dass dieses Objekt nur in Spiegelungen sichtbar sein wird - dies ist hier nicht zu erwarten -, und seinerseits das Licht durch Brechung streuen kann. Exakt diese Eigenschaft benötigen wir für die Generierung der Effekte.
Abbildung 6. 17: Ein Landschaft-Objekt generiert die Caustics Das LANDSCHAFT — OBJEKT platzieren Sie direkt unter der Oberfläche der Flüssigkeit in der Kiste. Ich habe die Berge der Landschaft nach unten ragen lassen, damit ich das Objekt sehr nahe an die Oberfläche rücken kann, ohne dass Berge diese durchsto-
ßen können. Dies ist sehr wichtig, da die Caustics möglichst nahe an der Oberfläche erzeugt werden müssen. Teile des Torsos liegen schließlich relativ flach in der Flüssigkeit und sollen dennoch von eventuellen Caustics beeinflusst werden. Deaktivieren Sie in einem eigenen RENDER — TAG für die glatte Oberfläche der Flüssigkeit den Schattenwurf, damit der unterhalb liegende Torso nicht zu stark abgedunkelt wird (siehe Abbildung 6. 18).
Abbildung 6. 18: Das Render — Tag für die Oberfläche der Flüssigkeit Wie Sie der Aufzählung der drei Punkte entnehmen können, haben wir eine der Voraussetzungen für die Erzeugung von Caustics nun erfüllt, nämlich die Unregelmäßigkeit einer Oberfläche durch das LANDSCHAFT-OBJEKT. Ein weiterer Punkt betrifft die Stärke der Lichtquelle. Wo kein Licht, da keine Caustics, um es auf den Punkt zu bringen. Licht in 3D-Programmen unterscheidet sich jedoch maßgeblich von „normalem" Licht. In 3D-Programmen gibt es keine unterschiedlichen Wellenlängen, aus denen sich das Licht zusammensetzt, und es fehlen die Energiebetrachtungen des Lichts. Licht lässt sich also normalerweise nicht in einem 3D-Programm z. B. durch ein transparentes Prisma-Objekt in die Spektralfarben aufspalten. Auch wird es uns nicht gelingen, Interferenzen zwischen verschiedenen Lichtquellen herzustellen. Es ist daher eine andere Art von Licht nötig, um CAUSTICS zu erzeugen. Dieses andere Licht muss zusätzlich zum normalen „3D-Licht" aktiviert werden. Dies geschieht direkt im Dialog der LICHTQUELLE auf der CAUSTICS-Seite.
Sie haben dort die Wahl zwischen OBERFLÄCHEN-CAUSTICS, die sich nur auf Oberflächen zeigen (Beispiel: Wände und Boden eines Schwimmbeckens) und VOLUMENCAUSTICS (diese zeigen sich z. B. auch in der Luft oder im Material selbst). Letztere sind sehr rechenintensiv und oft unnötig. VOLUMEN-CAUSTICS treten in der Natur nur bei extremen Licht- und Medium-Verhältnissen auf, also, z. B. bei Solarkraftwerken, wo das Sonnenlicht über Anlagen aus Hunderten von Spiegel in einem Punkt gebündelt wird, um dort durch die entstehende Hitze eine Turbine anzutreiben, oder z. B. bei starkem Nebel, der von Scheinwerfern durchschnitten wird. Sie werden sehr oft mit den OBERFLÄCHEN-CAUSTICS bereits das gewünschte Ergebnis erzielen können. Deshalb aktiviere ich auch für unser Beispiel nur die OBERFLACHEN CAUSTICS (siehe Abbildung 6. 19). Wie Sie den Werten in der Abbildung entnehmen können, sind Eingaben über 100% nicht nur möglich, sondern sehr oft auch nötig, um überhaupt etwas von dem Effekt zu sehen. Die Stärke und Detailtreue des Effekts hängt nämlich zusätzlich noch von der Anzahl der PHOTONEN, also der Lichtteilchen ab. Normales Sonnenlicht schickt unzählbare Mengen an Photonen zur Erde. Wir sollten diesem Beispiel hier nicht folgen, um noch in diesem Jahrtausend mit der Berechnung des Effekts Ergebnisse zu erzielen. Es wurde daher ein Algorithmus integriert, der bereist aus einigen Tausend Photonen sichtbare Caustics in realistischer Form erzeugt. Folgen Sie also meinem Beispiel und stellen Sie eine ENERGIE von 8. 000% bei einer PHOTONEN-Anzahl von 400. 000 ein. Diese Werte sind tatsächlich eher hoch, sollen uns jedoch dabei helfen, wirklich alle entstehenden Caustics zu sehen. Später können wir den Effekt reduzieren, um die Starke der Caustics der Helligkeit der Beleuchtung anzupassen. Wie bei Lichtquellen üblich, lässt sich auch für die Photonen eine ABNAHME aktivieren, damit weiter entfernte Objekte nicht mit der gleichen Stärke berechnet werden, wie Objekte, die näher an der Lichtquelle liegen. Da in unserem Beispiel nicht mit weiter entfernt liegenden Objekten zu rechnen ist, können wir die ABNAHME deaktivieren und die ÄUSSERE DISTANZ auf einen Radius stellen, der weit über die Grenzen des Raumes hinausgeht. Die Wand wird eine weitere Strahlverfolgung sowieso beenden. Damit ist hier auch schon alles getan. Damit die Caustics jedoch tatsachlich auch berechnet werden, muss zusätzlich die Generierung von OBERFLÄCHEN-CAUSTICS in den RENDER-VOREINSTELLUNGEN aktiviert werden (siehe Einblendung in Abbildung 6. 19). Im Gegensatz zu den Radiosity-Einstellungen haben wir es hier eher mit überschaubaren Parametern zu tun, die sich fast von selbst erklären. Der STARKE-Wert entspricht der ENERGIE der Photonen auf einer globalen Ebene. Dort könnten wir also die Photonen-Stärke - wenn wir mehrere Lichtquellen mit Photonen-Emission benutzen — für alle Lichtquellen zusammen erhöhen. Ich empfehle Ihnen daher, den Wert dort immer auf 100% zu belassen, wenn Sie die Caustics für eine Lichtquelle einstellen. Steuern Sie bei Bedarf die Helligkeit und Sichtbarkeit der Caustics lieber über die ENERGIE der Photonen direkt im Dialog der Lichtquellen. Sie haben es dann leichter, den Gesamteindruck der Szene komfortabel über den STARKE-Wert in den
RENDER-VOREINSTELLUNGEN zu steuern. Dieser kann dann schließlich auch weit über 100% liegen. Die übrigen Werte sind deaktiviert, da sie nur bei VOLUMEN-CAUSTICS interessant werden. Die Werte dort betreffen hauptsächlich die SCHRITTWEITE bei der Abtastung der Volumen. Je feiner die Schritte und kleiner die SAMPLE-DISTANZ, desto schöner ist der Effekt und desto länger werden die Berechnungszeiten. Grundsätzlich empfehle ich auch hier, mit den Standardwerten in einem kleinen Testrendering zu beginnen und diese Werte dann langsam zu erhöhen, um die Renderzeit zu reduzieren. In unserem Beispiel ist jedoch nur noch die Häufigkeit der NEUBERECHNUNG relevant, die dem Vorgang beim Radiosity-Verfahren entspricht. Auch bei Caustics wird nämlich zuerst ein Testdurchlauf berechnet. Da wir die für uns besten Werte für die STARKE, die PHOTONEN und die ENERGIE noch nicht kennen, belassen wir die NEUBERECHNUNG auf IMMER, damit jedes Testrendering tatsächlich neu berechnet wird. Später kann die Neuberechnung dann auf EINMAL oder NIE gestellt werden, wie es die Abbildung zeigt. Dann wird automatisch auf die bereits berechneten Daten auf der Festplatte zurückgegriffen, sofern sie dort vorhanden sind.
Abbildung 6. 19: Die Erzeugung von Caustics aktivieren Wir haben nun also für eine geeignete Oberfläche sowie für eine entsprechende Beleuchtung gesorgt. Kommen wir zum Material der Oberfläche: Wenn dies keine Caustics zulässt, wird sich noch immer nichts im Bild zeigen. In diesem Zusammenhang werde ich kurz auf einige Neuerungen des Materialsystems von CINEMA 4D V7 eingehen, die besonders die realistische Spiegelung und Transparenz betreffen. Werfen Sie dazu einen Blick auf Abbildung 6. 20. Es handelt sich bei diesem Material um die Eigenschaften der glatten Flüssigkeitsoberfläche in der Kiste. Als Farbwert habe ich ein warmes Grau gewählt. Viel wird man davon jedoch aufgrund der starken Transparenz nicht sehen.
Interessanter sind da schon die TRANSPARENZ-Werte, für die ich den gleichen Farbwert einstelle. Ich verzichte auf die Brechung von Licht durch das Material und belasse daher den BRECHUNG-Wert bei i. Im unteren Bereich der TRANSPARENZ-Seite finden sich die Neuerungen von Version 7. Dort kann nun eine MATT-Option aktiviert werden. Die dazugehörigen Parameter werden durch STREUUNG-Werte über o% aktiviert. Ansonsten verhält sich eine transparente Oberfläche wie es aus älteren Programmversionen bekannt ist. Was mit den Werten hier gemeint ist, schauen wir uns kurz in einem von unserer Szene losgelösten Beispiel an. Ich habe dazu eine Kugel mit einem transparenten Materia! versehen und einen Würfel mit Schachbrettmuster hinter der Kugel platziert. Wir können dadurch recht gut beobachten, was mit der Transparenz geschieht.
Abbildung 6. 20: Matt-Option Wie Sie Abbildung 6. 21 entnehmen können, habe ich eine STREUUNG von 60% mit einer GENAUIGKEIT von 50% eingestellt. 60% des durch das Material sichtbaren Hintergrunds wird also gestreut. Je höher der STREUUNG-Wert, desto verschwommener wird das Resultat, bis schließlich nichts mehr erkennbar ist. Der GENAUiGKEiT-Wert ist für die Präzision der Berechnung zuständig. Je kleiner der Wert, desto grober wirkt das Resultat. Hier muss man den Wert also erhöhen, wenn Großaufnahmen von derartigen Objekten gewünscht sind.
Sind die Objekte mit derart matten Transparenzen eher klein zu sehen, genügen kleinere Genauigkeiten, die natürlich auch die Berechnung beschleunigen. Die MINund MAX-SAMPLES arbeiten ähnlich wie bei Radiosity. Eine Erhöhung der Werte führt zu einem exakteren Ergebnis, wobei man hierbei wieder die Berechnungszeiten im Auge haben muss. Die Standardvorgaben sollten für die meisten Bereiche sinnvoll sein und brauchen daher nur in Einzelfällen individuell angepasst zu werden.
Abbildung 6. 21: Ein Beispiel für den neuen Matt-Effekt Wie in Abbildung 6. 21 zu erkennen, verschwimmt das Bild des Würfels hinter der Kugel durch die zusätzliche Streuung des Lichts. Der Effekt lässt sich also recht gut mit einer aufgerauten Oberfläche vergleichen. Denken Sie vielleicht an sandgestrahlte Glasflächen oder zerkratztes Plexiglas. Wichtig ist dabei, dass die Stärke der Verzerrung von der Stärke der Transparenz entkoppelt ist. Es ist also kein Problem, eine makellos transparente Fläche zu erzeugen, die dennoch sehr rau erscheint (siehe Abbildung 6. 22]. Auch eine 100%ige Transparenz hindert das Material nicht daran, den Hintergrund zu verzerren. Dies ist gewiss nützlich, um einige spezielle Effekte zu erzielen. Denken Sie z. B. an das Flimmern heißer Luft in der Wüste. Dort, wo die Luft aufsteigt, wird das Licht leicht chaotisch gekrümmt, so dass der Blick in die Ferne unscharf wird und die Luft zu „flimmern" scheint. Die Umgebung hinter der Luft scheint zu schwimmen und zu flackern. Mit einer 100% transparenten Ebene samt Mattigkeit und mit leichtem animierten Relief darauf ließe sich dies wohl recht gut umsetzen. Diese Ebene müsste nur zwischen Kamera und Landschaft platziert werden. Kombiniert man diesen Effekt noch mit einer animierten Alpha-Maske in dem Material, kann man den Effekt dann auch räumlich begrenzen.
Abbildung 6. 22: Ein Beispiel für den neuen Matt-Effekt
Kehren wir zu unserer Flüssigkeit zurück. Dort sollte auch etwas SPIEGELUNG aktiviert werden. Da der TRANSPARENZ-Wert sehr hoch eingestellt ist, muss auch eine starke SPIEGELUNG gewählt werden, um überhaupt sichtbar zu werden.
Abbildung 6. 23. Neue Glanzlicht-Optionen
Auch auf dieser Seite tauchen unten neue MATT-Parameter auf, die diesmal das Erscheinungsbild der Spiegelung auf der Oberflache betreffen. Eine STREUUNG von 0% bewirkt auch hier wieder nur die Berechnung von Spiegelungen, wie sie aus älteren Programmversionen bekannt sind. Größere Werte lassen die Spiegelung verschwimmen. Dazu wieder ein kleines Beispiel, das Sie m Abbildung 6. 24 sehen können. Wieder habe ich eine einfache Kugel mit einem solchen matten Material belegt, diesmal jedoch mit matten Spiegelungen. Zur besseren Verdeutlichung des Effekts sind noch zwei andere Objekte, ein Würfel und ein Kegel mit Schachbretttextur in der Szene, die sich in der Kugel spiegeln. Wie im oberen Teil der Abbildung zu erkennen ist, liefert die STREUUNG 0% das bekannte Ergebnis eines perfekten Spiegels. In der Einblendung darunter habe ich eine Streuung von 70% eingestellt: Und tatsachlich verschwimmen nun die Konturen der Spiegelbilder. Wieder ein Anzeichen dafür, dass die Oberflache nicht mehr perfekt glatt poliert ist-eine sehr realistische Darstellung einer spiegelnden Oberfläche.
Abbildung 6. 24: Beispiel für den Matt-Effekt bei Spiegelungen
Wie Abbildung 6. 25 zusätzlich zeigt, steuert der GENAUIGKEIT-Wert die Exaktheit der Berechnung. Man erkennt dies recht gut daran, wie gepixelt die Spiegelung bei einer GENAUIGKEIT von 0% aussieht. Besonders auffällig ist dabei die Spiegelung des Kegels, die nun doch sehr körnig wirkt. Dies nur als kleiner Ausflug in die neuen Matt-Werte. Ich brauche diese nicht weiter zu erörtern, da die Effekte recht eindeutig sind und auch nur wenige Parameter zu beachten sind. Der große Vorteil beider Effekte ist sicherlich die realistischere Darstellung entsprechender Oberflächen. Den großen Nachteil dieser Berechnungen werden wir gleich noch ergründen. Wichtig ist vielleicht noch als Hinweis, dass Sie global alle Matt-Effekte in den Optionen der RENDER-VOREINSTELLUNGEN aktivieren und deaktivieren können. Achten Sie also darauf, dass dort die Matt-Option tatsächlich auch aktiviert ist, wenn Sie Materialien mit Matt-Effekten in der Szene benutzen möchten.
Abbildung 6. 25: Beispiel für den Matt-Effekt bei Spiegelungen Springen wir nur kurz nochmals zu Abbildung 6. 23 zurück, denn dort ist noch eine weitere Veränderung gegenüber alteren Versionen verborgen. Die Einstellungen auf der GLANZLICHT-Seite des MATERIAL-BEARBEITEN-Dialog sind erweitert worden. Auch diese neuen Parameter sind schnell erklärt, da Sie Veränderungen der Werte sofort im Vorschaufenster beobachten können. Neu hinzugekommen sind Regler für die INNERE BREITE und die ABNAHME. Die INNERE BREITE steuert die Breite des maximalen HOHE-Werts in der GLANZLICH-Kurve. Der Bereich wird zusätzlich durch eine Einfärbung markiert. Es ist damit also möglich, die Breite eines Glanzpunktes zu verandern, ohne die Intensität, also die HÖHE des Glanzlichtes, ebenfalls erhöhen zu müssen. Die Abnahme dagegen steuert das Verhalten der Kurve an den Rändern des Glanzlichtes. Damit stellen Sie also ein, ob der Glanzpunkt eher auf einer rauen Oberfläche (sanft abfallende Abnahme) oder auf einer eher polierten Oberflache (abrupte, steile Abnahme) liegen soll. Die alten Parameter HOHE und BREITE erklaren
sich fast von selbst, denn Sie steuern die Höhe, also die Intensität des Glanzpunktes und die Breite des Einflussgebiets des Glanzlichts. Hier weisen wiederum enge Glanzlichter auf glatte und polierte Flächen und weit ausufernde Glanzlichter auf eher matte und raue Oberflachen hin. Ebenfalls bei allen Materialien neu hinzugekommen ist die iLLUMINATION-Seite ganz unten im MATERIAL-BEARBEITEN-Fenster. Diese Seite hat kein eigenes Ankreuzfeld und kann daher nicht generell aktiviert oder deaktiviert werden. Klicken Sie einmal auf das Wort ILLUMINATION, um die Seite aufzurufen. Sie werden dort Parameter für die Starke der RADIOSITY- und CAUSTIC-Eigenschaften des Materials ebenso finden, wie neu hinzugekommene Shading-Methoden. Zu diesen spater mehr. Sie haben also im Prinzip nun noch die Möglichkeit, jedes Material einzeln mit einer Starke für CAUSTICS und RADIOSITY zu versehen und dies zudem noch getrennt für die empfangenden und produzierenden Eigenschaften. Die voreingestellten Werte von jeweils 100% sollten jedoch für gangige Projekte ausreichen. Ein Eingreifen in diese Werte ist nur dann angezeigt, wenn z. B. einer Radiosity-Szene Helligkeit gezielt entzogen werden soll. Dazu verwendet man für Objekte in diesem Bereich Materialien, die Über die Parameter auf der ILLUMiNATiON-Seite weniger Radiosity empfangen können. Sinnvoll kann die Reduzierung auch bei Objekten sein, die eine sehr raue Oberfläche haben sollen. Diese verschluckt einiges an Licht und reflektiert nur wenig Licht. Diese Eigenschaft einer Oberfläche hat nichts mit deren Farbe zu tun. Eine grell weiß gestrichene Fläche mit glatter Oberflache wird mehr Licht reflektieren als die gleiche Fläche mit einer rauen Struktur. Sie sollten also die Weiterleitung der Sammelstrahlen nicht nur von der Farbe abhangig machen, sondern entsprechend der Oberfläche noch die Illuminationswerte überprüfen, da die Software und speziell der Radiosity-Renderer das Material und die Oberflachengüte Ihrer Objekte nicht ahnen kann. Belassen Sie hier jedoch bis auf weiteres die Werte der ILLUMiNATiON-Seite in den Materialien so, wie sie standardmäßig voreingestellt sind. In speziellen Fällen gehe ich dann gezielt auf Veränderungen dort ein. Das Material der Flüssigkeitsoberfläche ist damit definiert, und wir widmen uns dem Material für das LANDSCHAFT-OBJEKT direkt unter der Oberfläche der Flüssigkeit. Rufen Sie also ein neues Material aus dem DATEi-Menü des MATERiALiEN-Fensters ab und wechseln Sie dort auf die TRANSPARENZ-Seite. Übernehmen Sie dort den BRECHUNGSINDEX von 1. 2 (siehe Abbildung 6. 26). Dieser Wert ist willkürlich gewählt und kann spater noch verändert werden. Er steuert maßgeblich die Form und Anzahl der Caustics in Verbindung mit der Form des LANDSCHAFT-OBJEKTS. Da dieses Objekt für die Kamera unsichtbar ist - wir haben schließlich ein entsprechendes RENDER-TAG vergeben -, sind auch keine weiteren Einstellungen notig. Die Farbe des Materials kann fast beliebig eingestellt werden. Bei einer Transparenz von 100% kommt sie nicht zum Tragen. Belassen Sie es dort also einfach bei den Voreinstellungen.
Abbildung 6. 26: Die Brechung steuert die Caustics
Wenn Sie nun diese zwei Materialien auf die beiden Objekte in der Kiste übertragen haben, konnte das berechnete Resultat wie in Abbildung 6. 27 aussehen. Vergessen Sie nicht, vorher die roten Punkte hinter der Flüssigkeit wieder zu entfernen. Das Objekt soll nun schließlich im fertigen Bild sichtbar sein. Wie Sie an dem etwas krummen Seitenverhältnis erkennen können, habe ich zunächst ein Testrendering der Szene im Editor durchgeführt. Wie Sie in der Abbildung lesen können, ist die Renderzeit stark angestiegen. Sie hat sich mehr als verdoppelt. Vielleicht erinnern Sie sich noch, wie ich die Vorteile der MATT-Effekte aufgezählt hatte und von einem Wehrmutstropfen gesprochen hatte. Nun, hier ist er. Der Matt-Effekt ist leider sehr rechenintensiv, vor allem in Verbindung mit Radiosity. So schon dick und schleimig die Flüssigkeit nun auch durch die Streuung wirkt, so krass ist auch der Unterschied zu der Berechnungszeit ohne die MATT-Effekte (siehe Abbildung 6. 28). Nur noch 18 Minuten benotigte der Renderer für die gleiche Szene. Der Qualitätsunterschied rechtfertigt in diesem Fall keinesfalls die Verwendung der Effekte. An einem anderen Beispiel wird dies noch deutlicher.
Abbildung 6. 27 Berechnete Caustics
Abbildung 6. 28: Berechnete Caustics ohne Matt-Effekte
Wie Sie Abbildung 6. 29 entnehmen können, habe ich das gleiche transparente Material mit den MATT-Effekten auf die Objekte der Brust gelegt und aus weiser Voraussicht nur die Berechnung eines Bildausschnitts im Editor veranlasst. Trotz massiv reduzierter PHOTONEN-Anzahl, wie man an den vereinzelten Punkten in der Flüssigkeit erkennen kann, benötigte der Renderer knapp dreieinhalb Stunden für die nur 250 x 176 Pixel große Ansicht der Region. Hier kommt verschärfend hinzu, dass die Brust-Objekte alle doppelwandig sind und zudem noch teilweise in einem anderen transparenten Material stecken. So perfekt das Ergebnis auch aussieht, wird sich dieser Zeitaufwand nur selten lohnen. Wie bereits erwähnt, treten diese langen Renderzeiten besonders in Verbindung mit Radiosity auf.
Abbildung 6. 29: Matte Transparenz auf Torso-Objekten
Dass man ganz ähnliche Effekte auch in rund 12 Minuten erzielen kann, zeigt die Abbildung 6. 30. Dort habe ich mit SLA-SHADERN experimentiert, die nun in Version 2. 5 zum Lieferumgang von CINEMA 40 V7 gehören, und diese mit normalen C4DMaterialien kombiniert. Der Effekt ist zwar nicht ganz so perfekt, hat jedoch für unseren Zweck das richtige Aussehen. Wie man in der eingeblendeten Testszene mit der Kugel vor einem Würfel sieht, erscheint das Material wie Gel oder Gummi, das an den Rändern durchsichtig wird. Die lichtbrechenden Eigenschaften sorgen zudem für eine Verzerrung der Transparenzen, die dem MATT-Effekt etwas nahe kommt. Wie man ein derartiges Alternativmaterial bauen kann, dazu später mehr.
Abbildung 6. 30: Simulierter Matt-Effekt mit SLA-Shader
W i r belassen also d i e Materialien d e r Flüssigkeit a u s Zeitgründen ohne M
A
6. 3 Materialien und Shader-Trees 6. 3. 1
Holz
Zwar ist in den SLA-SHADERN auch ein 3D-Holz-Shader integriert, dieser ist jedoch volumetrisch und daher recht schwierig zu handhaben, wenn es um individuelle Ergänzungen wie Rauigkeiten oder farbliche Variationen geht. Schneller und flexibler kommt man hier mit CHANNEL-SHADERN ans Ziel, die sich wie normale Bilddaten im Standard-C4D-Material verhaften. Sie werden dabei beobachten, dass ich recht häufig auf den POWER GRADIENT zurückgreife. Dies ist eigentlich nur ein Beispiel-Shader, der Programmierern den Umgang mit den C++-Befehlen für eigene Shaderentwicklungen demonstrieren soll. Er ist daher nicht im normalen Lieferumfang von C4D enthalten, sondern kann separat und kostenlos im Developer-Corner der Internetseiten von MAXON heruntergeladen werden. Dort findet man übrigens auch die Dokumentation aller COFFEEBefehle samt kurzen Beispielen und Kommentaren. Die zum Zeitpunkt der Veröffentlichung dieses Buchs aktuelle Version der POWER GRADIENT finden Sie auch auf der CD zu diesem Buch. Verschieben Sie den Ordner mit den C++-Beispielen einfach in den PLUGINS-Ordner von CINEMA 40, um beim nächsten Programmstart auf diese nützlichen Erweiterungen zurückgreifen zu können. Beginnen Sie nun mit einem neuen Material, das Sie wieder aus dem DATEIMenü im MATERIALIEN-Fenster abrufen können. Klicken Sie doppelt auf die noch graue Vorschaukugel des Materials, um dessen Dialog zu öffnen. Alle nun folgenden Arbeitsschritte sind in Abbildung 6. 31 zusammengefasst. Auf der FARBE-Seite klicken Sie auf das kleine schwarze Dreieck hinter dem leeren Feld für Bilder und Shader und wählen Sie dann aus der Liste den BHODINUT COLORIZER aus. Er befindet sich in dem Submenü mit den bhodiNUT-Channel-Shadern. Mit der BEARBEITEN... -Schaltfläche können Sie nun den COLORIZER öffnen und dort Einstellungen vornehmen. Diese interessieren uns jedoch vorerst nicht, denn der COLORIZER ist zum Einfärben von eingeladenen Bildern und Shadern gedacht. Wir müssen also erst einen weiteren Shader hier einlesen. Dafür ist wieder das kleine schwarze Dreieck im TEXTURE-Feld des COLORIZERS da. Wählen Sie diesmal aus der Liste den bereits erwähnten POWER GRADIENT. Über die EDIT... -Schaltfläche des COLORIZERS öffnen Sie nun wiederum den Dialog des POWER GRADIENTS. Oben in dessen Dialogfenster haben Sie die Wahl zwischen verschiedenen TYPEN. Dort legen Sie also fest, welche Form und Richtung der Farbverlauf haben soll, den Sie in dem großen Farbfenster definieren. Die INTERPOLATION bestimmt die Funktion, mit der unterschiedliche Farben gemischt werden. Die POSITION gibt jeweils prozentual die Position des derzeit aktiven Farbreglers an.
T
T
Diese Farbregler stellen sich als kleine Quadrate seitlich am Farbfenster dar. Sie können diese mit der Maus verschieben oder durch einen Doppelklick darauf eine andere Farbe wählen. Ein [Strg]-/[Ctrl]-Klick an den Rand des Farbfensters erzeugt einen neuen Farbregler. Wir sind also nicht nur auf zwei Farben beschränkt. So sehen Sie denn auch in Abbildung 6. 31, dass ich einen dritten Farbregler hinzugefügt habe. Der mittlere Bereich bei einer Position von 50% ist mit Weiß, die beiden Regler darüber und darunter sind mit einem dunklen Grau belegt. Der obere Regler liegt bei 88%, der untere liegt wegen der gewünschten Symmetrie bei 12%. Dieser einfache Farbverlauf ist jedoch nicht das Aufregende an dem POWER GRADIENT, denn den bekäme man so auch mit anderen Verlauf-Shadern hin. Interessant wird es, wenn die TURBULENZ unter dem Farbfenster auf Werte über o% erhöht wird. Die Farbverläufe werden dann an den Rändern chaotisch vermischt. Zudem ist dies noch animiert, wenn die FREQUENZ größer als o eingestellt wird. Die OKTAVEN steuern die Detailtreue der Turbulenz. Höhere Werte bringen also mehr Details hervor, niedrige dagegen zeichnen die Turbulenz weich. Die SKALIERUNG schließlich passt die Dimensionen entsprechend an. Stellen Sie die FREQUENZ auf o, damit wir ein unbewegtes Material erhalten. Es geht hier schließlich um Holz und nicht um eine Wasseroberfläche. Aktivieren Sie zusätzlich die ABSOLUT-Option. Diese sorgt für eine füllende Darstellung der Turbulenz. Den Unterschied erkennen Sie selbst am besten, wenn Sie die Option einmal versuchsweise abschalten. Sie erhalten dafür verkleinert unter dem Farbfenster eine Ansicht des eingestellten Materials.
Abbildung 6. 32: Erzeugen einer Holzstruktur
Sinn dieser Einstellungen war es, eine Art Holzmaserung zu erzeugen, die an den Rändern starker ausgeprägt ist als in der Mitte. Da das Holz jedoch nicht grau bleiben soll, werden wir nun mit dem COLORIZER etwas Farbe ins Spiel bringen. Wir hätten natürlich auch den POWER GRADIENT direkt mit einem farbigen Verlauf bestücken können, im COLORIZER geht dies jedoch schneller und flexibler. Zudem lernen Sie dadurch die neuen Möglichkeiten der SHADER-TREES in CINEMA 40 kennen. So benennt man nämlich die Option, in einem einzelnen Kanal eines Materials aus einer Vielzahl von Bildern und Shadern selbst etwas Neues zusammenzumischen. Dies wird möglich durch die Verschachtelung von mehreren Shadern, die wiederum auf einen oder mehrere Shader oder Bilder zurückgreifen. Vorwiegend SLA-Channel-Shader machen davon häufig Gebrauch. Schließen Sie also den Dialog des POWER GRADIENTS über die OK-Schaltfläche. Wir befinden uns nun wieder im COLORIZER und können durch die Farbwähler und Farbregler am unteren Rand des Dialogs einen Farbverlauf definieren, der nun das noch graue Shader-Bild des POWER GRADIENTS einfärbt Das Hinzufügen von zusätzlichen Farbreglern erfolgt hier durch einfaches Klicken direkt unter den Farbverlauf. Wollen Sie einen Regler wieder entfernen, ziehen Sie ihn mit der Maus nach unten aus dem Dialog hinaus. In unserem Fall kommen wir jedoch recht gut mit den drei Farbreglern aus, die standardmäßig vorhanden sind. Wie Sie in Abbildung 6. 31 erkennen können, habe ich die drei Regler mit Ziffern markiert, damit Sie die Farbwerte aus Abbildung 6. 32 besser zuordnen können. Natürlich können Sie ihrem Holz auch ganz andere Farben geben. Sie haben ein laufendes Feedback der Einstellungen im Vorschaufenster des COLORIZER. Auf der FARBE-Seite des Materials sind wir damit eigentlich fertig. Bevor wir jedoch zum RELIEF-Kanal wechseln, kopieren Sie die Einstellungen des POWER GRADIENTEN im COLORIZER, indem Sie in dem Dreieckmenü hinter dem Wort Power Gradient den Punkt BILD/SHADER KOPIEREN auswählen.
Aktivieren Sie den RELiEF-Kanal durch Abhaken auf der linken Seite des MATERIAL-BEARBEITEN-Fenster u NUT DISTORTER ein. Es handelt sich dabei um einen Shader, der zwei Bilder oder Shader zusammenmischen kann. Wie stark dies ausfallen soll steuern Sie über den AMOUNT-Regler. Die übrigen Einstellungen steuern die Richtung des Vermischens (TYPE) und eine eventuelle Verschiebung (X, Y, Z). Im TEXTURE-Feld laden Sie den POWER GRADIENT ein. Dazu wählen Sie den Punkt BILD/SHADER EINFUGEN aus dem Dreieck-Menü aus. Dies ist also das Ausgangsbild, das verzerrt werden soll. Im Feld DISTORTER gleich darunter wählen Sie über das Dreieck-Menü den bhodiNUT 2D NOISE aus. Dies ist ein sehr vielseitiger Shader, der eine große Anzahl sehr interessanter NOISE-Funktionen beherrscht, die teilweise viel komplexer als das altbekannte Pixelrauschen sind.
Abbildung 6. 32: Die drei Farbwerte für die Colorierung der Holzstruktur
Öffnen Sie den Dialog des 2D NOISE über die EDIT... -Schaltfläche im DISTORTERBereich und übernehmen Sie dort die Einstellungen aus Abbildung 6. 33. Besonders wichtig ist es, die BRIGHTNESS und den CONTRAST zu reduzieren, also die Helligkeit und den Kontrast, da der NOISE ansonsten zu dominant wird. Zudem habe ich es bei der normalen NOISE-Funktion belassen und die GLOBAL SCALE, also die Größe des Noise-Effekts, auf 20% reduziert. Sie können dann den NOISE-Dialog über OK schließen und im DISTORTER-Dialog durch Einsteilen des AMOUNTS die Stärke des Vermischens regulieren. Werte um 40% scheinen mir ausreichend. Haben Sie auch diesen Dialog über OK bestätigt, können wir die Stärke des RELIEF-Effekts über den STARKE-Regler einstellen. Aufgrund des schwachen Kontrastes
im entstandenen Shader muss hier ein relativ hoher Wert von vielleicht 50% eingestellt werden.
Abbildung 6. 33: Shader-Tree für das Relief des Holzes
Wie Sie bemerkt haben, hatten wir es hier schon mit einem komplexeren SHADERTREE zu tun, an dem drei Shader beteiligt waren. Es ist zudem ohne weiteres möglich, einen der hier beteiligten Shader wieder durch weitere zusammengesetzte Shader zu definieren. Schwierig wird es dann allerdings bei einer gewissen Komplexität noch zu erkennen, welcher Shader welchen Effekt hervorruft. Werfen wir einen Blick auf die GLANZLICHT-Seite des Materials. Wie Sie Abbildung 6. 34 entnehmen können, sind die Einstellungen dort eher unspektakulär. Ein intensives und scharfes GLANZLICHT ist auf Holz nicht angebracht. Ausnahmen sind höchstens bei lackiertem Holz zu erwarten. Wir wollen jedoch lieber mit etwas verwitterten Oberflächen arbeiten. Wir werden dies nun noch auf der iLLUMiNATiON-Seite unterstützen, denn dort sind neue Optionen für die Schattierungsarten von Oberflachen hinzugekommen, die es so bei alteren CINEMA-4D-Versionen noch nicht gab. Neben den bereits angesprochenen Werten für die RADIOSITY- und CAUSTIC-Einstellungen ist hier besonders das ILLUMINATIONS-MODELL interessant. RADIOSITY und CAUSTICS bleiben sowieso in den meisten Fällen auf jeweils 100% stehen.
Abbildung 6. 34: Einstellungen für die Illumination
6. 3. 2 Die Unterschiede der Illuminations-Modelle Es stehen insgesamt drei Schattierungsmodelle zur Auswahl: PHONG, OREN-NAYAR und BLINN. PHONG ist die Methode, die bislang in CINEMA 4D und vielen anderen 3DProgrammen verwendet wurde. Sie bietet eine ausgewogene Mischung aus diffusem und harten Glanzlicht. BLINN arbeitet als Abwandlung des PHONG-Algorithmus ähnlich, betont jedoch den Glanzanteil mehr. Interessanter ist OREN-NAYAR, da wir mit diesem Algorithmus mehr Kontrolle auch über die diffusen Anteile der Schattierung erhalten.
Abbildung 6. 35: Unterschiedliche Schattierungsmethoden
In Abbildung 6. 35 habe ich Ihnen die verschiedenen Schattierungsarten nebeneinander gestellt. Dazu habe ich drei identische Kugel verwendet, die einmal senkrecht von oben und einmal frontal mit einem Spot beleuchtet werden. Dabei sind alle Spots gleich eingestellt, um auch direkte Vergleiche vornehmen zu können. Die Unterschiede sind zwar klein, aber dennoch vorhanden. So erkennt man z. B., dass das Glanzlicht von BLINN sehr viel ausgeprägter ist als bei PHONG. PHONG und OREN-NAYAR scheinen dagegen einen identischen Glanzpunkt zu haben, zeigen jedoch Unterschiede im diffusen Anteil. OREN-NAYAR schattiert noch weiter um die Krümmung der Kugel herum und erzeugt daher einen noch weicheren Eindruck von der Oberfläche.
Über den RAUHIGKEIT-Wert von OREN-NAYAR können wir die Starke und Größe des Glanzpunktes weiter steuern. Dies demonstriert Abbildung 6. 35 im unteren Teil. Dort sind diesmal alle Kugeln mit OREN-NAYAR schattiert, haben jedoch unterschiedliche RAUHIGKEITEN zugewiesen bekommen. Man erkennt, dass, je größer die RAUHIGKEIT, desto weniger ausgeprägt ist ein sichtbarer Glanzpunkt. Vielmehr entsteht dadurch eine gleichmaßige diffuse Schattierung, die sich gut für die Kombination mit MATT-Effekten nutzen lässt, oder einfach für Objekte, die keine glatte Oberflache bekommen sollen. In unserem Fall habe ich eine RAUHIGKEIT von 50% gewählt, die das Glanzlicht des PHONG-Algorithmus liefert, gleichzeitig jedoch einen größeren Bereich diffus erfasst.
Abbildung 6. 36. Materialvariationen auf dem Boden der Kiste
6. 3. 3 Das Brettermaterial platzieren Damit nun nicht jedes Brett der Kiste gleich aussieht, sollten Sie ca. fünf bis sechs Variationen des hier besprochenen Holz-Materials erzeugen. Erstellen Sie dafür Kopien des Materials im MATERIALIEN-Fenster z. B. über die KOPIEREN- und EINFÜGEN-Befehle dort, und variieren Sie dann in den Kopien die Einstellungen für die TURBULENZ des POWER GRADIENTEN, die Skalierung dort oder die Position der Farbregler. Vergessen Sie nicht den derart veränderten POWER GRADIENT auch wieder in den DISTORTER zu kopieren, damit das Relief ebenfalls aktualisiert wird.
Ziehen sie dann die Materialien nacheinander auf die Balken des Kistenbodens. Die Holz-Struktur wird dann automatisch auch auf der Instanz des Bodens, also auf dem Deckel der Kiste erscheinen. Als PROJEKTION im TEXTUR-Dialog wählen Sie QUADER aus und lassen die Textur über den gleichlautenden Befehl im TEXTUR-Menü des OBJEKTE-Fensters an die Lange des jeweiligen Balkens ANPASSEN. Überprüfen Sie die Richtung der Maserung. Diese sollte der Länge des Bretts folgen und nicht senkrecht dazu verlaufen. In diesem Fall muss die Textur ansonsten um 90° gedreht werden. Dazu wechseln Sie in die TEXTURACHSEN-BEARBEITEN-Betriebsart und drehen die Textur über das normale ROTIEREN-Werkzeug, bis die Maserung richtig liegt.
Abbildung 6. 37: Zweite Holztextur für Schmutzeffekte
Zusätzliche Variationen können Sie noch durch Verschiebung der Holztexturen entlang der Längsachse der Bretter erzielen. Abbildung 6. 36 zeigt beispielhaft, wie der fertige Boden/Deckel der Kiste aussehen könnte. Sie können nun auch die übrigen Bretter der Kiste mit den variierten Holztexturen belegen. Achten Sie bei den kurzen Brettern der Fuß- und Stirnseite der Kiste darauf, nicht die Länge der Textur an die Länge der Bretter anzupassen. Die Größe der Maserung schrumpft ansonsten zusammen und das Holz dort bekommt ein völlig anderes Aussehen als bei den langen Brettern.
6. 3. 4 Störungen hinzufügen Trotz aller Variation sehen mir die Bretter noch immer zu sauber aus. Eine derartige Holzkiste wird durch die Lagerung in einem Keller sicher noch zusätzliche Verfärbungen durch Verwitterung und Nässe zeigen. Vielleicht war die Kiste auch einmal mit einer Farbe gestrichen, die nun an einigen Stellen verblichen oder abgeplatzt ist Derartige zusätzliche Variationen lassen sich recht komfortabel in einem zusätzlichen Material realisieren, das dann als ergänzendes Element auf die vorhandene Holzstruktur gelegt wird. Zwar könnte man zusätzliche Farbvariationen auch direkt mittels Shader-Trees in das Holzmaterial einbauen, bei einem separaten Material können wir jedoch leichter auf die entscheidenden Parameter zurückgreifen und z. B. die Kachelung separat von der der Holztextur einstellen. Erzeugen Sie also ein neues Material und vergeben Sie eine geeignete Farbe, um einen verblichenen Anstrich oder Verschmutzungen darzustellen (siehe Abbildung 6. 37). Wie Sie in der Abbildung sehen können, habe ich auch wieder den POWER GRADIENT eingesetzt, diesmal im RELIEF-Kanal, um die Oberfläche nicht zu glatt aussehen zu lassen. Sie können dort natürlich auch auf den 2D NOISE von bhodiNUT zurückgreifen und eine geeignete Noise-Funktion wählen. Wie Sie im Dialog des POWER GRADIENT sehen können, habe ich nur moderate Grautöne verwendet, die zwischen 30% und 70% Helligkeit liegen. Zu starke Riefen oder Strukturen in diesem ergänzenden Material würden nur stören. Sie müssen bedenken, dass es schließlich zusätzlich zu der bereits vorhandenen Holzoberfläche verwendet werden soll. Kopieren Sie die Einstellungen des POWER-GRADIENT-Shaders über den Befehl im Dreieck-Menü auch in den ALPHA-Kanal (siehe Abbildung 6. 38). Dort sollten Sie die Helligkeitswerte durch Abhaken der gleichlautenden Option INVERTIEREN, damit die größeren hellgrauen Flächen transparent oder unsichtbar werden. Wir wollen schließlich nicht zuviel Holz verdecken. Unterstützen Sie die Anmutung eines ehemaligen Anstrichs durch einen relativ starkes Glanzlicht. Trotz aller Verwitterung werden die Farbreste mehr Licht reflektieren als das blanke und poröse Holz selbst. Aus dem gleichen Grund sollten Sie auch den PHONG-Algorithmus für die Schattierung benutzen.
Abbildung 6. 38: Zweite Holztextur für Schmutzeffekte
Um das Schmutz- oder Farbe-Material jetzt auf die Bretter zu legen, sollten Sie einem kleinen Trick folgen, um sich etwas Zeit bei der Positionierung und Skalierung der Textur zu sparen. Klicken Sie dazu auf ein MATERIAL-TAG der Holztextur, die bereits auf einem Brett aufgebracht ist. Das Tag wird nun rot umrandet. Halten Sie jetzt die [ S t r g ] - / [ C t r l ] - T a s t e gedrückt und ziehen Sie mit gehaltener Maustaste das markierte MATERIAL-TAG etwas nach rechts knapp neben das aktive MATERIALTAG. Lassen Sie nun beide Tasten los, und es erscheint eine Kopie des Tags neben dem ursprünglichen MATERIAL-TAG. Klicken Sie doppelt auf die neue Kopie des Tags und tragen Sie in den sich öffnenden TEXTUR-Dialog in das SUCHEN NACH-Feld den Namen der Schmutztextur ein.
Der eigentliche Clou an dieser Vorgehensweise ist, dass dadurch automatisch alle Richtungs-, Größen- und Positionswerte der Holztextur auf die Schmutztextur übertragen wurden. Nach dem Schließen des TEXTUR-Dialogs über die OK-Schaltfläche, liegt die Schmutztextur also sofort richtig auf dem Brett auf - vorausgesetzt die Verlaufsrichtung im Power GRADIENT wurde exakt so gewählt wie im Holzmaterial und dass das Holzmaterial auch wie gewünscht auf dem Brett-Objekt liegt (siehe Abbildung 6. 39).
Abbildung 6. 39: Zuordnung der Schmutztextur Sie sollten sich hier die Zeit nehmen und ein paar Variationen des Schmutzmaterials anfertigen, damit nicht auf jedem Brett an der gleichen Stelle Farbe fehlt oder Verfärbungen auftreten. Diese Variationen erzeugen Sie wieder aus Kopien des Original-Schmutzmaterials, in denen Siedle Parameter des POWER-GRADlENTEN oder der Farbe verändern. Beachten Sie wieder, dass der POWER GRADIENT in zwei Kanälen des Materials vorkommt und daher auch in beiden Kanälen verändert werden muss. Am schnellsten geht dies wieder mit der KOPIEREN-/EINSETZEN-Methode des veränderten Shaders über die Befehle im Kleinen-Dreieck-Menü. Prinzipiell können Sie nach diesem Schema noch weitere Dreck- und Schmutzmaterialien erstellen und zusätzlich auf die Bretter legen, falls Sie diese noch weiter altern lassen wollen. Damit sind wir mit den Brettern fertig und können uns mit dem Innenleben der Kiste beschäftigen. Neben der bereits mit transparenten Materialien belegten Flüssigkeit muss dort noch die Verschalung mit einem geeigneten Material belegt werden. Um auch tatsachlich die Flüssigkeit über längere Zeit halten zu können, bietet sich Metall an, das jedoch nicht besonders edel sein muss. Auch um den Eindruck von Korrosion zu verstärken, sollte das Metall grobkörnig sein und nur matten Glanz besitzen. Ein leichter Rost oberhalb der Wasserlinie wurde dies zusatzlich betonen und das Objekt glaubhafter machen. Werfen wir also einen Blick auf die Einstellungen für ein derartiges Material.
6. 3-5 Verwittertes Metall Diese beginnen in Abbildung 6. 40 gleich mit einem bhodiNUT POSTERIZER im FARBEKanal. Dieser Shader sorgt für scharfe Konturen an Farbübergängen. Er benötigt dazu jedoch ein Bild oder einen Shader, um dessen Farbinformationen auszulesen. Wie Sie der Abbildung ebenfalls entnehmen können, habe ich zu diesem Zweck den 2D NOISE mit einem geringen Farbkontrast gewählt. Die beiden Grauwerte haben einen Helligkeitsabstand von ungefähr 50%. Wie hell oder dunkel Sie das Metall machen mochten, oder wie groß der Unterschied zwischen den beiden Grauwerten sein soll, ist Ihnen jedoch frei überlassen.
Abbildung 6. 40: Material für die Verschalung der Kiste Geben Sie dem Material ca. 20% Spiegelung auf der SPIEGELUNG-Seite und setzen Sie eine Kopie des POSTERIZER in den RELiEF-Kanal ein (siehe Abbildung 6. 41). Verän-
dem Sie dort die Farben des 2D NOISE auf Weiß und Schwarz. Das Resultat des POSTERIZERS sollte dadurch breiter gefächert werden, ohne die Form zu verändern. Diese soll schließlich noch zu den Farbwerten im FARBE-Kanal passen.
Abbildung 6. 41: Material für die Verschalung der Kiste Die Einsteilungen für GLANZLICHT und GLANZFARBE entnehmen Sie bitte Abbildung 6. 42. Um dort die Farbwerte zu unterstützen, habe ich den POSTERIZER aus dem RELIEF-Kanal auch in den GLANZFARBE-Kanal kopiert. Der OREN-NAYAR-Shader erhöht schließlich leicht den diffusen Anteil des Glanzlichts und macht dadurch das Material noch etwas matter.
Abbildung 6. 42: Material für die Verschalung der Kiste
Nachdem Sie das MATERIAL-BEARBEITEN-Fenster geschlossen haben, können Sie die Materialkugel wie gewohnt auf das Verschalung-Objekt im OBJEKTE-Fenster ziehen, um diesem Objekte die Textur zuzuordnen. Es springt der TEXTUR-Dialog auf, in dem Sie die Lage und Größe des Materials auf dem Objekt steuern. Es wäre nun sicherlich nicht sehr realistisch, wenn die farblichen Veränderungen an den schmalen Seiten enger lagen als an den Längsseiten des Objekts. Das Material sieht schließlich unabhängig von den Abmessungen immer gleich aus. Gehen sie also so vor, dass Sie zuerst im TEXTUR-Dialog das QUADER-MAPPING als PROJEKTIONS-Methode auswählen. Schließen Sie den Dialog dann ohne weitere Einstellungen über die OK-Schaltfläche. Hinter dem Objekt erscheint nun das MATERIAL-TAG der Metalltextur. Klicken Sie einmal auf das MATERIAL-TAG, damit dieses rot
umrandet wird und wählen Sie dann TEXTUR AN OBJEKT ANPASSEN aus dem TEXTURMenü des OBJEKTE-Fensters aus. Die Größe der Textur wird nun der Größe der Verschalung angepasst. Klicken Sie nun doppelt auf das MATERIAL-TAG des Metalls und lesen Sie in den GRÖSSE-Feldern des TexTUR-Dialogs den maximalen Wert ab. Bei mir lag dieser knapp unter 1100 m. Runden Sie ggf. Ihren Maximalwert auf den nächst größeren ganzzahligen Wert auf und tragen Sie diesen Wert auch in die beiden übrigen GRÖSSE-Felder ein. Alle drei GRÖSSE-Felder enthalten dann also den gleichen Wert (siehe Abbildung 6. 43). Dies hat den Sinn, dass nun jede Seite des Objekts gleich mit der Textur belegt wird, auch wenn diese eventuell viel kürzer ist als eine andere Seite. Machen Sie nun ein Proberendering der Verschalung, um die KACHELUNG der Textur zu beurteilen. Deaktivieren Sie für derartige Testrenderings immer die RADIOSITY und die CAUSTICS, sowie alle Objekte, die die Sicht versperren oder nichts unmittelbar mit dem geradezu bearbeitenden Objekt zu tun haben. Wenn die Struktur auf der Kiste nun viel zu grob erscheint, dann öffnen Sie wieder den TEXTUR-Dialog des Metalls und erhöhen Sie gleichmäßig die Anzahl der KACHELN für die X- und Y-Richtung. Dies ist übrigens ein weiterer Vorteil der gleichmäßigen GROSSE der Textur, denn die beiden Kachelwerte können nun immer gleich ausgefüllt werden. Wie Sie Abbildung 6. 43 entnehmen können, habe ich jeweils 15 Kacheln eingestellt. Dies versteht sich natürlich nur als Anhaltspunkt für Ihre Werte, da diese stark von der GROSSE der Textur und der des Objekts abhängen. Haben Sie also bei der Modellierung andere Maße verwendet, sind hier auch andere Einsteilungen vorzunehmen.
Abbildung 6. 43: Textur — Dialog für das Material der Verschalung Wie bereits erwähnt, wäre etwas Rost oberhalb der Wasserlinie nicht schlecht. Da dieser nicht auf dem gesamten Objekt, sondern nur auf einem Teil dessen erscheinen soll, bietet es sich an, mit Selektionen zu arbeiten.
Selektionen haben wir bereits mehrfach eingesetzt, zuletzt bei der Modellierung der Augen. Selektionen sind nicht nur wichtig und hilfreich beim Wiederauffinden oder Ausblenden bestimmter Bereiche eines Modells, sondern auch um Materialien auf einzelne Polygone oder bestimmte Gruppen zu begrenzen. In unserem Fall der Verschalung bringt uns dies noch nicht weiter, da wir es nur mit relativ großen Polygonen zu tun haben, die leider nicht ausschließlich den von uns gewünschten Bereich bedecken. Wir müssen also zuerst neue Polygone dort erzeugen, wo später die Rosttextur erscheinen soll. Wählen Sie dazu das MESSER-Werkzeug aus dem STRUKTUR-Menü aus und wechseln Sie in den POLYGONE — BEARBEITEN — Modus. Legen Sie einen Schnitt durch das gesamte Objekt ungefähr auf der Höhe der Flüssigkeitsoberfläche. Am besten können Sie deren Position in einer nicht schattierten Ansicht erkennen, also z. B. im DRAHTGITTER- oder QUADER-Modus. Durch den Schnitt entstehen neue Punkte und Flächen exakt in dem Bereich, der für uns interessant ist (siehe Abbildung 6. 44). Selektieren Sie nun diese neuen Flächen, die oberhalb der Wasseroberfläche liegen, und frieren Sie diese Polygonselektion mit dem gleichlautenden Befehl aus dem SELEKTION-Menü ein.
Abbildung 6. 44: Oberen Rand als Selektion sichern Es erscheint das bereist bekannte SELEKTIONS-TAG hinter dem Verschalung-Objekt. Klicken Sie doppelt auf das Tag und vergeben Sie einen eindeutigen Namen, wie z. B. Rost. Dies hat in diesem Fall keinen Einfluss auf das Metallmaterial, das bereits auf der Verschalung liegt. Vorsicht muss man nur bei der Verwendung von UV-Koordinaten walten lassen, da sich diese bei Benutzung von Modellierungswerkzeugen verändern können (das MESSER gehört auch dazu. Nur der CUTTER stellt die UV-Koordinaten auch nach einem Schnitt wieder her). Bei allen anderen Projektionsmethoden gibt es diese Probleme nicht, solange die Abmessungen des Objekts konstant bleiben. Ansonsten kann es natürlich auch dort dazu kommen, dass neue Objektteile nicht mehr von der bereits zugewiesenen Textur erfasst werden. Dies aber nur als Hinweis am Rande.
Normalerweise sollte man darauf achten, zuerst die Objekte fertig zu modellieren, bis man an die Zuweisung der Texturen geht, auch wenn sich dies - wie in diesem Fall - nicht immer so einrichten lässt. Damit sind die Vorbereitungen an dem Objekt selbst abgeschlossen und wir beschäftigen uns mit dem eigentlichen Material Erzeugen Sie also im MATERIALIENFenster ein NEUES MATERIAL und öffnen Sie dies durch Doppelklick auf die graue Vorschaukugel. Übernehmen Sie den Farbwert aus Abbildung 6. 45 oder wählen Sie selbst eine Farbe für Ihren Rost aus.
Abbildung 6. 45: Parameter für ein Rostmatertal Im RELIEF-Kanal werden wir nun mit bhodiNUT FUSION arbeiten, einem Shader, der mehrere Bilder oder Shader samt einer Maske vermischen und überblenden kann. In unserem Fall ist dies sehr hilfreich. Laden Sie also FUSION in den RELiEF-Kanal ein und offnen Sie die FUSION-Einstellungen über die BEARBEITEN... -Schaltfläche im RELIEF-Fenster. Es öffnet sich ein großer Dialog — wie in Abbildung 6. 46 zu sehen.
Abbildung 6. 46: Parameter für ein Rostmateriai
Es gibt im FUSION — Shader zwei Betriebsarten, die auch beliebig miteinander kombiniert werden können: Sie wollen zwei Bilder oder Shader vermischen. In diesem Fall laden Sie die beiden Bilder/Shader in den BLEND- und den BASE-CHANNEL von FUSION ein. Über den BLEND- Schieber auf der linken Seite können Sie dann die beiden Bilder/Shader beliebig überblenden. Sie wollen ein Bild/einen Shader mit einer Maske begrenzen. Laden Sie dazu das Bild/den Shader als BASE CHANNEL und ein Alpha-Bild/einen Alpha-Shader in den MASK-CHANNEL Beide Techniken werden wir noch vertiefen.
Wie Sie Abbildung 6. 46 entnehmen können, habe ich einen 2D NOISE als BASE CHAN-NEL und einen POWER G beiden Optionen USE MASK und INVERT MASK, um den POWER GRADIENT als Maske zu benutzen und ggf. dessen Werte zu invertieren. Das Ergebnis ist jeweils sofort im Vorschaubereich links oben im FusiON-Dialog zu sehen. Normalerweise werden alle Bereiche im BASE-CHANNEL unsichtbar, die im MASKCHANNEL weiß erscheinen. Die lNVERT-MASK-Option kehrt dies um. Übrig bleibt der untere Bereich des BASE-CHANNELS, der nach oben chaotisch ausläuft. Sicher auch ein schöner Effekt, wenn der POWER GRADIENT animiert wird. Dies nur als Anregung, z. B. um züngelnde Flammen darzustellen.
Abbildung 6. 47: Parameter für ein Rostmaterial Kopieren Sie diesen FUSION — Shader danach auch in den ALPHA — Kanal des Rostmaterials, damit nur die hellen Bereiche übrigbleiben (siehe Abbildung 6. 47). In der Abbildungist auch noch meine Einstellung für das GLANZLICHT zu erkennen.
Wie zuvor beim Schmutz-Material der Bretter, können Sie auch jetzt das MetallMATERIAL-TAG hinter dem Verschalung-Objekt duplizieren und den Namen in der Kopie durch den Namen des Rostmaterials ersetzen. Als zweite Veränderung tragen Sie noch den Namen der eingefrorenen Selektion am Rand der Verschalung in das Feld AUF SELEKTION BESCHRÄNKEN ein. Damit erscheint das Rostmaterial - unabhängig davon, wie groß Sie die Textur anlegen - nur auf dem Rand der Verschalung. Sie können den TEXTUR-Dialog dann über OK schließen. Schalten Sie nun in den TEXTURACHSEN — BEARBEITEN — Modus und wählen Sie eine Editoransicht mit eingeblendeten Texturen und guter Sicht auf die Verschalung. Skalieren Sie dann den quaderförmigen Vorschaubereich der Textur so, dass er nur noch den oberen Bereich der Verschalung umgibt. Es geht also um eine Reduzierung der Höhe, bzw. der Y-Größe der Textur. Ziel dieser Aktion ist es, die Textur möglichst exakt auf die Höhe des abgetrennten Bereichs an der Verschalung zu bringen. Sind Sie mit der Lage der Rostflecken zufrieden, können Sie den TEXTUR-Dialog des Rost-MATERIAL-TAG s nochmals öffnen und die Anzahl der Kacheln Ihren Wünschen anpassen. Die KACHELUNG entlang der Y-Achse kann jetzt auf i geschaltet werden, da das Material sowieso nur einmal in den wichtigen Bereich am Rand passt. Die Anzahl der X — Kacheln definiert dann die Dichte des Rosts entlang des Randes. Abbildung 6. 48 fasst nochmals die letzten Schritte zusammen. Auf der linken Seite sehen Sie die finalen Werte für die Rost-Textur und auf der rechten Seite ist der entsprechende Textur-Platzhalter von mit weiss hervorgehoben. Wie Sie sehen, stimmt die Höhe ungefähr mit der Höhe der eingefrorenen Selektion überein (Y-Größe=90 m).
Abbildung 6. 48: Platzierung des Rostmaterials auf der Selektion Als nächstes steht ein Material für alle metallischen Objekte auf meiner Liste. Dabei soll das Metall keine variablen Oberflächeneigenschaften haben, da es sich um eher kleinere Teile in der Szene handelt. Für solche Zwecke eignet sich gut der DANEL-Shader von bhodiNUT. Sie finden ich unter den 3D — SHADERN im DATEI-Menü des MATERIALIEN-Fensters.
Wir müssen eigentlich nur die Farbvorgaben etwas ändern, um ein brauchbares Material zu bekommen. Anders als bei kanalbasierten Materialien, die wir bislang immer benutzt haben, sind in den SLA-SHADERN sehr oft alle relevanten Parameter nur über Regler und Zahlenwerte einstellbar, ohne andere Bilder oder Shader einladen zu müssen. Dies wird nur dann zum Problem, wenn es z. B. um eigene RELIEF-Strukturen oder dem Bedürfnis nach TRANSPARENZ in einem Holz — Shader geht. Da 3D — SHADER oft sehr zialisiert sind, werden dem Hersteller überflüssig erscheinende Kanäle von vornherein nicht dort angeboten. Wie man dieser Beschränkung dennoch ein Schnippchen schlagen kann, erklärt später die Texturierung der Brustsegmente der Figur.
6. 3. 6 Normale metallische Oberflächen In diesem aktuellen Fall der Texturierung von metallischen Oberflächen, können wir jedoch gut mit den vorhandenen Beschränkungen leben. Öffnen Sie also durch Doppelklick den DANEL-Shader und übernehmen Sie die Daten aus den Abbildun-
gen 6. 49 und 6. 50.
Abbildung 6. 49: Danel-Einstellungen für diverse Metollflächen
Die Dialoge von 3D — Shader unterscheiden sich zwar teilweise deutlich von Stan-dard — CINE dort recht schnell zurechtfinden, da Sie auch bei diesen Materialien laufend ein Vorschaubild der gerade aktiven Einstellungen erhalten.
Abbildung 6. 50: Danel-Einstellungen für diverse Metallflächen Ich habe nur die Farbe des Metalls gegenüber den Vorgaben verändert und an den übrigen Werten nur marginale Veränderungen vorgenommen. Die Einstellungen hätten durchaus auch ganz anders ausfallen können. Scheuen Sie sich also nicht, selbst mit den Werten zu experimentieren, falls Sie mit den bhodiNUT — Shadern nun erstmals in Berührung gekommen sind.
6. 3. 7 Mit dem Fresnel-Shader arbeiten Nach diesem Ausflug zu einem 3D — Shader, generieren wir das Material für die dünnen Schläuche am Hals wieder mit einem konventionellen C4D-Materiai. Rufen Sie
also ein neues Material auf und laden Sie den FRESNEL-Shader in den TRANSPARENZ — Kanal ein, nac den FRESNEL-Shader auch unter den bhodiNUT-Channel-Shadern.
Der FRESNEL-Shader ist immer dann sehr gefragt, wenn es darum geht, die Oberfläche abhangig vom Betrachtungswinkel zu gestalten. So kennen Sie sicher den Effekt, dass man am besten durch eine Glasscheibe sehen kann, wenn man senkrecht auf sie blickt. Schaut man dagegen schräg auf die Scheibe, überwiegen plötzlich die spiegelnden Anteile und die Glanzlichter, und man kann im Extremfall nichts mehr durch das Glas sehen. Diesen Effekt kann man an allen transparenten Materialien beobachten, so z. B. auch an einer Wasseroberfläche. Diese Beobachtung kann man m 3D-Programmen mit FRESNEL-Shadern simulieren, die die entsprechende Oberflächeneigenschaft an den Blickwinkel zu der Fläche koppeln. Für diese Berechnung ist die NORMALE jedes Polygons entscheidend. Wir hatten bereits in den ersten Kapiteln dieses Buchs mehrfach mit diesen Richtungsanzeigern der Polygone zu tun.
Abbildung 6. 51: Anwendung von Fresnel im Material für Schläuche
Der FRESNEL-Shader liefert uns also einen Helligkeits- oder Farbwert entsprechend der Blickrichtung auf eine Fläche. Was wir dann mit diesem Farb- oder Helligkeitswert anfangen, liegt bei uns. Das gängigste Einsatzgebiet liegt dabei wohl im TRANSPARENZ-Kanal. Dort wirkt der FRESNEL-Shader dann so, dass die Transparenz der Oberflache bei steilem Blickwinkel stark abnimmt. Werfen Sie zum besseren Verständnis einen Blick in Abbildung 6. 51. Ich habe den FRESNEL-Shader in den TRANSPARENZ-Kanal geladen und diesen über die BEARBEITEN... -Schaltfläche geöffnet. Der Shader selbst ist recht schlicht und überschaubar gestaltet. Im Prinzip besteht er nur aus einem Verlaufs Werkzeug. In dem Vorschaufenster des FRESNEL — Shaders bekommen Sie eine Kugel präsentiert, die den Effekt recht gut zeigen kann. Je nachdem, welche Farben und Positionen der Farbregler Sie im unteren Bereich einstellen, verfärbt sich die Kugel unterschiedlich. Dabei handelt es sich nicht um einen einfachen Farbverlauf, sondern die Farbwerte werden entsprechend der Richtung der NORMALEN auf der Kugel zugeordnet. Flächen, auf die wir in einem flachen Winkel schauen, erhalten die Farbwerte vom linken Rand des Farbverlaufs. Flachen, auf die wir in einem steileren Winkel oder gar senkrecht blicken, erhalten die Farben aus dem rechten Bereich des Verlaufs. Da wir den FRESNEL-Shader im TRANSPARENZ-Kanal geladen haben, werden hellere Bereiche später durchsichtiger erscheinen als dunkle. Die Schläuche werden also an den Rändern massiv und undurchsichtig und in der Mitte (eicht transparent erscheinen, als bestünden Sie aus einem dünnen Gummi.
Abbildung 6. 52: Glanzlicht für Schlauchmaterial
Übernehmen Sie nun noch die GLANZLICHT-Einstellungen aus Abbildung 6. 52 und weisen Sie dieses Material allen Schläuchen zu. Die Projektionsart ist dabei ebenso egal wie die Größe der Textur. Der Effekt verändert sich dadurch nicht. Dies gilt übrigens auch für den DANEL-Shader, da wir dort kein Relief aktiviert haben, das eine Struktur erzeugen könnte. Die nächsten beiden Materialien sind eher wieder unauffällig und beschäftigen sich vorwiegend mit der Transparenz. Es geht um die Materialien für die Hornhaut der Augen und für den Hals. Nach den vielen Materialien, die wir bislang zusammen erstellt haben, gibt es hier nichts Neues zu entdecken. Übernehmen Sie also einfach die Einstellungen aus den Abbildungen 6. 53 und 6. 54. Einzig erwähnenswert ist die FRESNEL — Option direkt auf der TRANSPARENZ-Seite, denn auch CINEMA 40 selbst hat einen FRESNEL-Shader eingebaut, der dort aktiviert werden kann. Da diese Option jedoch ansonsten keinerlei Einstellmöglichkeiten hat, ist in aufwändigeren Fällen der separate FRESNEL-Shader vorzuziehen. Hier
genügt uns die eingebaute Funktionalität. Sofort nach Aktivierung der FRESNEL — Op-tion werde nimmt die Transparenz schlagartig ab und eine sichtbare Kante entsteht. Auch wichtig ist der BRECHUNG-Wert. Ein Wert von i. o entspricht dabei dem Brechungsindex von Luft bei normaler Temperatur; Wasser hat einen Durchschnittswert von 1. 333 (die Indices von gefrorenem und gasförmigen Wasser weichen zum Teil stark davon ab), ein Diamant einen Brechungsindex von 2. 4175. Der jeweilige Index definiert das Verhalten von Licht in dem Material. Je größer der Wert, desto stärker wird das Licht gebrochen und desto verzerrter erscheint das Abbild der Umgebung durch ein solches Objekt betrachtet. Sie erkennen den Effekt recht schnell, wenn Sie in einem transparenten Material einen BRECHUNG-Wert von 2. 0 oder 3. 0 eingeben. Der Referenzhintergrund im Vorschaubild des Materials wird sich hinter der Vorschaukugel sehr stark verzerren. Diese Brechung des Lichts wird dann auch in Verbindung mit CAUSTICS interessant. Sie können dies selbst an dem Material der Flüssigkeit in der Kiste ausprobieren und dort den Brechungsindex erhöhen, falls Sie die Caustics anders formen und platzieren möchten Als festes Charakteristika eines transparenten Materials ist die Wahl des physikalisch korrekten Brechungsindexes sehr wichtig. Im Zweifel sollten Sie ein Physikbuch oder eine optische Tabelle zur Hand nehmen, um den Brechungsindex des gewünschten Materials dort herauszusuchen.
Abbildung 6. 53: Glaseinstellungen für Auge
Abbildung 6. 54: Das Material für den Hots
6. 3. 8 Stein und Mörtel Kommen wir wieder zu einem etwas reizvolleren Material, nämlich dem der Wände des Raums. Ich beginnen dabei mit dem Material für die LANDSCHAFT — OBJEKTE an den Wänden, die ja den Untergrund für den Putz darstellen sollen. Ich stelle mir dieses Material als eine Mischung aus groben Kies und Sand sowie Mörtel vor. Natürlich muss es einen Grund gehabt haben, dass der Putz in großen Stücken abgefallen ist. Am plausibelsten dafür wäre das Vorhandensein von Nässe in den Wänden. Die Wände sollten also etwas dunkler sein und eventuell auch Spuren von herablaufendem Wasser zeigen.
Wir beginnen mit dem noch nicht besprochenen HUE-Shader von bhodiNUT im FARBE-Kanal eines neuen Materials (siehe Abbildung 6. 55). Über diesen Shader können wir komfortabel die Färbung, Sättigung und Helligkeit eines Bildes oder eines Shaders beeinflussen. Sie können sich sicher vorstellen, welche Erleichterung dies sein kann, wenn man mit komplexen Shader-Trees eine Textur erstellt hat, die einem plötzlich zu hell, zu dunkel oder zu grünstichig erscheint. Anstatt sich durch mehrere Shader zu „hangeln", kann man hier bequem die Veränderung an dem fertigen Bild oder Shader vornehmen, ohne den ganzen Shader-Tree verändern zu müssen. Wir können also jederzeit die Veränderungen mit einem Knopfdruck wieder rückgängig machen, was natürlich auch zum Experimentieren einlädt.
Abbildung 6. 55; Hue-Einstellungen für FARBE-Kanal!
Laden Sie als Nächstes in den geöffneten HUE-Shader den FUSION — Shader ein, den Sie ebenfalls wieder öffnen. Wir werden diesen diesmal mit einem BLEND- CHANNEL verwenden, um zwei unterschiedliche Materialien zu überlagern. Dies ist immer dann hilfreich, wenn man komplexe Materialstrukturen erzielen möchte (siehe Abbildung 6. 56).
Abbildung 6. 56: Fusion — Einstellungen für Wände
Wir beginnen mit einem bhodiNUT — 2D NOISE — Shader im BLEND CHAN den 2D Noise und übernehmen Sie die Einstellungen aus Abbildung 6. 57. Die
beiden verwendeten Farbwerte habe ich Ihnen daneben in Rot —, Grün- und Blau — Anteile aufgeschlü meinerseits. Ihre Wand kann durchaus völlig anders aussehen. Mir geht es hier ausschließlich darum, dass Sie den Umgang mit den unterschiedlichen Shadern kennen lernen und deren Vorteile spater für eigene Projekte nutzen können. Ein recht ahnlich gestalteter zweiter 2D NOISE kommt jetzt im BASE CHANNEL zum Einsatz. Abbildung 6. 58 gibt meine Einstellungen dort wieder. Auch hier finden Sie meine Farbvorschläge wieder seitlich eingeblendet. Bitte übersehen Sie nicht, dass die beiden 2D — NOISE — Shader unterschiedlichen Noise — Funktionen benutzen.
Abbildung 6 57: Einstellungen für den Blend-Channel
Abbildung 6. 58: Einstellungen für den Base-Channel
Der FARBE-Kanal ist damit gut gefüllt. Ergänzen Sie daher als nächstes wieder eine 2D NOISE im RELIEF-Kanal. Wie Sie erkennen können, benutzte ich hier die gleiche Noise-Funktion wie bei dem BASE CHANNEL im FARBE-Kanal. Ich greife daher die hellen Punkte im FARBE-Kanal auf und gebe diesem in RELIEF-Kanal zusätzlich den Eindruck von Höhe. Dies ist eine wichtige Lektion, denn die Struktur einer Oberfläche kann im direkten Zusammenhang mit deren Farbe stehen. Jede Vertiefung, die wir über das Relief in ein Objekt einbringen, wird in der Realität ein bevorzugter Ort für Schmutzablagerungen, Farbreste oder z. B. Rost sein. Dies liegt einfach daran, dass vertiefte Bereiche geschützter liegen als erhöhte Stellen und sich daher dort Material ungestörter halten und ablagern kann. Die Verbindung zwischen Relief und Farbe ist dabei stärker als zwischen Farbe und Relief, da eine dunkle Linie an einer Wand nicht bedeutet, dass dort auch eine Vertiefung vorhanden ist. Eine rillenförmige Vertiefung in der Wand wird aber unweigerlich zu einer dunklen Linie an der Wand - wenn nicht durch Ablagerungen, dann durch einen dort entstehenden Schatten.
Abbildung 6. 59: 20 Noise im Relief — Kanal
Um die Rauigkeit der Wand zu betonen, habe ich schließlich den OREN-NAYAR-Algorithmus mit 100% RAUHIGKEIT aktiviert {siehe Abbildung 6. 60). Die auf 90% reduzierte DIFFUSE STARKE sorgt dafür, dass eine mit 100% Helligkeit beleuchtete Fläche nur so berechnet wird, also würde Sie mit 90% beleuchtet. Die Wand verschluckt also 10% des eintreffenden Lichts durch Ihre Porosität. Dieser Wert ist hier willkürlich gewählt, da es dafür keine Berechnungen gibt. Manchmal muss man sich einfach auf die Optik des Materials verlassen, ohne eine gesicherte Grundlage dafür zu haben. Um diverse Testrenderings kommt man also nicht herum, um die optimalen Einstellungen zu finden.
Abbildung 6. 60: Glanz- und Shading-Einstellungen für die Wände
Das Basismaterial der Wände ist damit komplett. Basierend auf diesen Einstellungen habe ich ein zweites Material hinzugefügt, das ich den Putzflecken auf der Wand zuordnen möchte, also den Bereichen, die durch die EXTRUDE-NURBS entstanden sind. Da sich hier alle benutzten Shader gleichen und nur die Noise — Funktionen und die Farbwerte verändert wurden, können Sie eine Kopie des fertigen Wandmaterials erzeugen und dort die Veränderungen entsprechend den Abbildungen 6. 61 bis 6. 65 vornehmen.
Abbildung 6 61 Einstellungen für den Putz
Abbildung 6. 62: Der Base Channel
Abbildung 6. 63. Der Blend Channel
Abbildung 6. 64: Das Relief für den Putz
Wie Sie in Abbildung 6. 65 erkennen können, habe ich dort zwar auch OREN-NAYAR verwendet, dort jedoch die RAUHIGKEIT gegenüber der Wand zurückgenommen und wieder 100% DIFFUSE STARKE zugelassen. Der Putz soll dadurch glatter und heller wirken. Beide Materialien, also das für den Putz und das für die porösen Wandabschnitte können Sie mit QUADER-Mapping auf die Objekte projizieren. Verwenden Sie hier die gleiche Technik wie bei der Verschalung in der Kiste und passen Sie die GRÖSSE — Werte der Textur entsprechend an. Dies ist nötig, da der Raum kein Würfel, sondern ein Quader ist (die Hohe des Raums unterscheidet sich von der Länge und der Breite).
Abbildung 6. 65. - Die Glanzeigenschaften des Putzes
Um die Wände nun noch feuchter wirken zu lassen, ergänze ich noch einige Stockflecken, bzw. Spuren von herablaufendem Wasser. Erzeugen Sie dazu wieder ein neues Material und geben Sie diesem entweder die Farbe aus Abbildung 6. 66 oder benutzen Sie eine eher zufällige Farbverteilung, wie sie der POWER GRADIENT in Abbildung 6. 67 erzeugt.
Abbildung 6. 66: Material für die farbliche Variation der Wände
Abbildung 6. 67. - Farbliche Variation durch Power Gradient
Die exakte Übernahme ist jedoch nicht wichtig. Die Flecken auf Ihrer Wand können auch einfach nur schwarz oder braun sein. Entscheidend für die Wirkung ist die Verwendung einer glaubhaften Form für die Struktur. Um diese zu erzielen, benutze ich eine Kombination aus C++SDK TEXTUR VERZERRUNG und POWER GRADIENT. Wie Sie schon am Namen erkennen, ist auch die TEXTUR VERZERRUNG einer dieser nützlichen Beispiel-Shader, die Sie zusammen mit dem C++SDK kostenfrei von der MAXON-Homepage laden können. Sie finden diese und andere Ergänzungen und Dokumentationen im Downloadbereich der Seiten oder teilweise auch auf der Buch-CD. Halten Sie jedoch auf jeden Fall auf der MAXON — Seite nach aktuellen Versionen Ausschau. Wie der Name schon verheißt, verzerrt der TEXTUR — VERZERRUNG — Shader Bilder oder Shader. Es werden dabei chaotische Verschiebungen innerhalb des Motivs durchgeführt. In unserem Fall erzeugen wir dadurch weniger rund wirkende Formen, die der POWER GRADIENT ansonsten alleine liefern würde. Sie steuern die Stärke der Verschiebungen über den NOISE — Regler. In die TEXTUR VERZERRUNG selbst laden Sie dann noch den POWER GRADIENT mit einer diesmal etwas komplexeren Einstellung hinein (siehe Abbildung 6. 68). Erzeugen Sie dafür zusätzliche Farbregler neben dem Farbverlauf und vergeben Sie beliebige Grautöne. Bei mir sind die hellen Bereiche im POWER GRADIENT 100% Weiß und 50% Grau umgeben von Schwarz.
Abbildung 6. 68: Ein verzerrter Power Gradient als Relief
Wie Sie den Abbildungen 6. 68 und 6. 69 entnehmen können, kommt das derart verzerrte Material sowohl im RELIEF- als auch im ALPHA-Kanal zum Einsatz. Das Material soll schließlich nur an einigen Stellen sichtbar sein und ansonsten die Wand durchscheinen lassen. Die GLANZLICHT-Einstellungen fallen eher moderat aus, da feuchte Stellen zwar mehr Licht reflektieren, es sich jedoch nicht um fließendes Wasser handeln soll. Der Effekt sollte daher nicht übertrieben werden. Von dieser Art verschmutzender Textur können Sie mehrere variierte Kopien erzeugen und diese per FLÄCHEN-Projektion auf die LANDSCHAFT-OBJEKTE legen. Passen Sie die Größe und Lage entsprechend an.
Abbildung 6. 69: Alpha- und Glanzlicht-Kanäle
Denken Sie dabei daran, dass das am weitesten rechts im OBJEKTE-Fenster angezeigte MATERIAL-TAG gleichzeitig das auf dem Objekt am weitesten oben liegende ist. Damit wir also überhaupt etwas von dem Schmutzwasser sehen, muss es auf der Wandtextur liegen, also rechts davon eingeordnet sein. Wurde es links der Wandtextur eingeordnet sein, wurde die Wandtextur die Schmutztextur vollständig verdecken, da die Wand keine ALPHA — Anteile im Material hat. Nur ALPHA-Anteile in einem Material können nämlich das darunter liegende Material sichtbar durchschimmern lassen. TRANSPARENZEN m einem weiter rechts liegenden Material fuhren nicht zum Durchschimmern darunter liegender Materialien, sondern überträgt sich automatisch auf alle Materialien. Dieser Effekt wird uns bei der Texturierung der BrustObjekte noch gute Dienste leisten.
Zuvor kümmern wir uns noch kurz um das Material des Kopfes. Alle Einstellungen der Abbildungen 6. 70 und 6. 71 sollten Ihnen bekannt vorkommen. Sie können das fertige Material dann als QUADER- oder KUGEL-Mapping auf den Kopf legen. Überprüfen Sie die Anzahl der Kacheln in einem Testrendering, damit das RELIEF dezent genugerscheint.
Abbildung 6. 70: Das Material für den Kopf
Abbildung 6. 71: Das Glanzlicht für den Kopf
6. 3. 9 Matte Effekte mit SLA simulieren Beschäftigen wir uns nun also mit den Brust — Objekten. Sie werden sich vielleicht an den Anfang dieses Kapitels erinnern, wo wir etwas mit den neuen MATT-Effekten von Version 7 experimentiert hatten. Ich will Ihnen diese Effekte hier keinesfalls ausreden, sondern Ihnen nur eine Alternative vorstellen, falls Ihnen die Berechnung der MATT-Effekte zu lange dauert. Leider nehmen die Berechnungszeiten gerade dieser Effekte in Verbindung mit RADIOSITY stark zu. ich komme daher an dieser Stelle auf eine Methode zu sprechen, die vielleicht nicht in allen Bereichen so perfekte Ergebnisse liefern kann, aber dennoch an vielen Steilen sinnvoll eingesetzt werden kann und eine Alternative anbietet. Wir sprachen bereits von der Beschrankung von 3D — Shadern auf die Kanäle und Funktionen, die für die Materialien, für die sie konzipiert wurden, relevant sind. Der DANEL-Shader - als ein 3D — Shader für eher metallische Oberflächen konzipiert lässt sich allein also leider nicht zur Darstellung von Transparenzen nutzen. Trotzdem werden wir nun mit dem DANEL-Shader arbeiten, um die matten Transparenzen der Brust-Objekte zu simulieren. Rufen Sie also einen neuen DANEL-Shader aus den 3D — Shadern auf und übertragen Sie für diesen die Färb- und Helligkeitswerte aus Abbildung 6. 72.
Abbildung 6. 72: Danel als Basis für die Brust — Texturierung
Bislang ist also noch nichts Aufregendes passiert. Erst in Abbildung 6. 73 und 6. 74 wird es interessant, denn dort lade ich ein verzerrtes POWER GRADIENT-Bild in den ENViRONMENT-Kanal von DANEL ein. Die Helligkeitswerte aus Abbildung 6. 74 können Sie nach Augenmaß übernehmen. Es handelt sich dabei nur um Grau- und nicht um Farbwerte.
Abbildung 6. 73: Das Brust Material
Abbildung 6. 74: Power Gradient als Environment
Dieses ENVIRONMENT sorgt dafür, dass das später mit diesem DANEL-Shader belegte Objekt so wirkt, also spiegele sich in ihm die chaotische Textur des POWER GRADIENT. Das Objekt wirkt dadurch nicht nur leicht spiegelnd, sondern wird auch aufgehellt. Da der DANEL-Shader eher für die ansonsten blanken Metalloberflachen konzipiert ist, die wenig diffuses Licht zurückwerfen, ist dies auch notwendig, um das Objekt nicht zu dunkel erscheinen zu lassen. Wie Sie in Abbildung 6. 75 ablesen können, sind die übrigen Einstellungen wieder eher langweilig. Trotzdem sehen Sie an der Vorschaukugel, dass dieses Material nun nicht mehr wie Metall, sondern eher wie Gummi oder leicht transparentes Plastik wirkt.
Abbildung 6. 75: Das Material für die Brust
Dies liegt vor allem an der Aufhellung durch die ENVIRONMENT-Einstellungen, da mit hellen Rändern an einem Objekt eine Beleuchtung von hinten suggeriert wird, die eigentlich nur durch eine Transparenz an der Vorderseite sichtbar werden kann. Leider ist dies bislang nur ein optischer Trick, denn die Querstreifen hinter der Vorschaukugel bleiben trotzdem überall verdeckt, da uns keine echte Transparenz in DANEL zur Verfügung steht. Dies werden wir nun mit einem zweiten Material ändern. Erzeugen Sie dazu ein neues, normales ClNEMA-4D-Material mit den Einsteilungen aus Abbildung 6. 76.
Abbildung 6, 76: Transparenzmateria! für die Brust
Der 2D — NOISE — Shader im RELiEF-Kanal sorgt für etwas Turbulenz in der Transparenz, da wir mit einem Brechungsindex größer i. o arbeiten. Die Zusammenhänge zwischen Brechungsindex und Transparenz habe ich bereits früher im Text erörtert. Im Zusammenhang mit RELIEF- und TRANSPARENZ-Einstellungen sollten Sie noch wissen, dass das nur optisch durch den RELIEF-Wert verzerrte Objekt - die Oberfläche wird schließlich nicht verändert, sondern nur die NORMALEN werden entsprechend der RELiEF-Werte neu ausgerichtet - ein anderes Brechungsverhalten zeigt als das gleiche Objekt ohne Relief. Den Unterschied sehen Sie, wenn Sie versuchsweise auf der linken Seite den Haken vordem Wort Retief durch Anklicken entfernen und den RELiEF-Kanal damit deaktivieren. Die Vorschaukugel präsentiert sich nun ganz anders. Durch nochmaliges Anklicken des Ankreuzfeldes vor dem Wort Relief wird der Kanal dann wieder aktiviert. Diese leicht verzerrende Transparenz soll gleich mit dem DANEL-Shader kombiniert werden. Es sollen also die Randbereiche des DANEL — Materials einen Teil der hier eingestellten Transparenz erhalten. Würden wir schon jetzt das transparente
Material oben auf den DANEL-Shader legen, das Material also rechts vom DANEL — Material im O Transparenz übernehmen und damit unsichtbar werden. Es muss also noch eine Einstellung hinzukommen und diese betrifft den ALPHAKanal (siehe Abbildung 6. 77). Wie Sie der Abbildung entnehmen können, habe ich den FRESNEL-Shader in den ALPHA-Kanal geladen und dort einen Verlauf eingestellt, der helle Bereiche an den Rändern des Objekts erzeugt und dunklere Bereiche auf den Flächen, die steiler betrachtet werden. Dies bedeutet für unser Beispiel, dass das Material mit der Transparenz an den Rändern des Objekts präsenter ist als in den zentralen Bereichen. Damit ist nicht die Stärke der Transparenz gemeint, sondern die Stärke des Materials. Dieser Unterschied ist entscheidend für die Funktionsweise. Hätten wir den gleichen FRESNEL-Shader in den TRANSPARENZ-Kanal eingeladen, wäre das Resultat ein ganz anderes. Wir sähen eine an den Rändern transparente Oberfläche die zur Mitte des Objektes hin einen leichten Grauton annimmt. Von dem DANEL-Shader wäre nichts zu sehen gewesen. Selbst ein transparentes Material muss also noch mit einem ALPHA-Kanal teilweise „geöffnet" werden, damit man dort auf das darunter liegende Material blicken kann. Die Transparenz allein vermag dies nicht. Hat man diesen Zusammenhang einmal verstanden, dann ist man in der Lage, auch ansonsten massive 3D — Shader mit Transparenzen zu belegen. Die gleiche Technik funktioniert übrigens auch für 3D — Shader, die kein selbst erstelltes Relief zulassen. Laden Sie dazu das gewünschte Relief in neues Material und geben Sie diesem Relief einen relativ großen Stärke-Wert von z. B. 400% oder 500%. Laden Sie zusätzlich in dieses Material eine ALPHA-Textur, die ja auch nur aus einem einzigen Farbwert bestehen kann, der das Material z. B. zu 95% ausblendet.
Abbildung 6. 77: Transparenzmaterial für die Brust
Die übrig bleibenden 5% Deckungsintensität werden auf dem darunter liegenden 3D — Shader kaum farblich ins Gewicht fallen, die 20% bis 25% Reliefstärke (5% von 400%, bzw. von 500%) werden jedoch ihren Zweck erfüllen.
Abbildung 6. 78. - Zuordnung der beiden Materialien zu den Brust — Objekten
Wie Abbildung 6. 78 zeigt, ordnen Sie die beiden soeben erstellten Materialien nun den Brust — Objekten des Torsos zu. Aus den genannten Gründen muss die Reihenfolge dabei streng beachtet werden. Da kaum Strukturen auf den Materialien verwendet werden - hier ist eigentlich nur die leichte ENVIRONMENT-Map und das RELIEF im DANEL-Shader zu nennen - muss man sich auch nicht sehr lange mit dem TEXTURDialog beschäftigen. Ich empfehle, die Materialien entsprechend zuzuordnen und dann nach einem
Testrendering zu entscheiden, ob die Kachelung oder die Größe des DANEL — Materi-als eventuell n Damit ist die Texturierung und die Einstellung der passenden RADIOSITY- und CAUSTICParameter abgeschlossen und wir können das Bild berechnen lassen. Wie diese Material-Kombination auf Objekten wirkt, konnten Sie bereits in Abbildung 6. 30 sehen. Ansonsten beschäftigen wir uns mit dem berechneten Bild im nächsten Kapitel. Nicht eingegangen bin ich auf die neue Möglichkeit, die Stärke von Spiegelungen und Glanzpunkten auf über 100% zu erhöhen. Dies war in älteren Programmversionen nicht möglich und schafft hier in Version 7 mehr Freiheit in der Wahl der Oberflächeneigenschaften. So lassen sich dadurch z. B. die Spiegelungen von leuchtenden Flächen in metallischen Objekten beliebig verstärken, obwohl die vorhandene Beleuchtung dafür eigentlich zu schwach wäre. Der Berechnung unserer Szene und den möglichen Resultaten widme ich mich im ersten Abschnitt des kommenden Kapitels. Danach werden wir als Alternative zu der Texturierung mit Shadern noch einen Blick auf die Arbeit mit BODYPAINT 30 werfen und die beiden Plugins EXPLOSIONFX und POLYGON REDUZIERUNG vorstellen.
7
Tipps und Tricks
In diesem Kapitel mochte ich noch einige Neuerungen von CINEMA4D anreißen, die bislang nicht besprochen wurden Neben Radiosity und Caustics sind nämlich auch die neuen Ausgabeformate sehr interessant, die sie faszinierende Möglichkeiten in der Postproduktion erschließen
7. 1 Compositing und Multi-Passes Besonders stechen da die Multi Passes hervor, die das berechnete Bild automatisch als eine Vielzahl von Ebenen abspeichert Jede Ebene ist einem gewichtigen Anteil a m Gesamtergebnis eines Bildes vorbehalten E s gibt also z B eigene E
b
Dies macht es sehr einfach, nachträglich noch entscheidende Veränderungen an einzelnen Bestandteilen eines Bildes vorzunehmen So können wir ohne Probleme im Nachhinein noch die Caustics starker hervorheben oder die Farbe der Lichtquelle verandern, um nur zwei Beispiele zu nennen Die zeitaufwandige Neuberechnung d e s B i l d e s entfallt komplett u n d wird ersetzt durch die Arbeit m „Echtzeit" z B m e Da eine Vertiefung dieses Themas zu sehr m den Bereich der traditionellen Bild bearbeitung hineinfuhren wurde, mochte ich mich hier auf die Grundlagen beschränken, die es Ihnen erlauben, selbst solche Multi Passes zu erstellen und im Nachhinein Manipulationen vorzunehmen Dazu sollen zwei einfach Beispiele genügen, die u a auch das Compositing — also die nachtragliche Verbindung von verschiedenem Bildmaterial - abdecken Beginnen wir mit unserer Torso Szene und widmen wir uns dort noch kurz der Lichtquelle, bevor wir die Szene berechnen lassen (siehe Abbildung 7 i) Benutzer von CINEMA4D Version 6 werden hier kaum neue Optionen finden Die CAUSTIC Seite haben wir ja bereits benutzt und besprochen Ich gehe daher nur noch einmal kurz auf die einzelnen Seiten des LICHT Dialogs ein Auf der ALLGEMEIN Seite stellen Sie die Farbe und Helligkeit der Lichtquelle ein, sowie deren Typ, also ob es z B ein Spot oder ein Flächenlicht sein soll Dort aktivieren Sie auch ggf den Schattenwurf und seine Eigenschaften, sowie sichtbare Lichtabstrahlung und die integrierte NOISE Funktion
e
Jede dieser Optionen hat ein eigenes Einstellungsfenster innerhalb des LICHT-Dialogs, indem Sie dann die Werte konkretisieren können. So können Sie z. B. auf der ScHATTEN-Seite die Auflösung und Farbe der Schatten einstellen. Wie Sie in der Abbildung bemerken werden, habe ich das sichtbare Licht aktiviert und auf der Seite SICHTBARES LICHT die Radien für den sichtbaren Bereich des Lichts angegeben. Ich hielt dies in unserer Szene für ratsam, da die Lichtquelle schließlich eine Neonröhre darstellen soll. Der sichtbare Anteil der Lichtröhre wird zwar kaum die Radiosity — Berechnung verändern, er ermöglicht jedoch, dass sich das sichtbare Licht ggf. in einem Objekt spiegelt. -—— Auf der CAUSTICS-Seite in Abbildung 7. 1 erkennen Sie ebenfalls, dass ich die ENERGIE der Photonen auf 2. 000% reduziert habe. Dies passt die Helligkeit der Caustics der Beleuchtung besser an.
Abbildung 7. 1: Einstellungen für die Lichtquelle Auf der DETAILS-Seite des LICHT-Dialogs, die in Abbildung 7-2 abgebildet ist, können Sie die Abstrahlung des Lichts begrenzen und eine Abnahmefunktion aktivieren. Dies ist generell anzuraten, da auch echtes Licht mit zurückgelegter Distanz an Intensität abnimmt. Die INVERS — QUADRATISCHE — Abnahme kommt dabei der Realität am nächsten. Auch sehr interessant ist der KoNTRAST-Wert auf der Seite, denn er steuert unabhängig von den Materialien das Verhalten von Licht auf Oberflächen. Je größer der Kontrast, desto schärfer verläuft die Linie zwischen Licht und Schatten auf einer Oberfläche. Kleine Werte, die auch durchaus negativ sein können, liefern dagegen weiche Helligkeitsverläufe und wirken diffuser.
Ist eine Abnahmefunktion ausgewählt, können Sie mit den Werten INNERE DISTANZ und ÄUSSERE DISTANZ, die Ausdehnung des Lichts steuern. Innerhalb der INNE-
REN DISTANZ bleibt die Intensität des Lichts gleich, also so, wie auf der ALLGEMEIN — Seite eingestellt. Im tensität dann mit der vorgegebenen Funktion bis auf Null ab.
Abbildung 7. 2: Neue Licht-Option Am unteren Ende der DETAIL-Seite finden sich noch Optionen, um z. B. Glanzlichter auf Oberflachen, die von dieser Lichtquelle beschienen werden, zuzulassen oder nicht. Dort findet man auch die in der Abbildung mit dem Pfeil markierte Neuerung, nämlich SEPARATER PASS. Wenn in den RENDER-VOREINSTELLUNGEN die Generierung eigener Passes für selektierte Lichtquellen aktiviert sind, dann wird diese Lichtquelle dabei berücksichtigt. Dazu gleich noch mehr. Werfen wir einen Blick in die RENDER-VOREINSTELLUNGEN, die sich optisch etwas gegenüber älteren Versionen verändert haben (siehe Abbildung 7. 3). Gleich auf der ersten Seite dieses Dialogs, der ALLGEMEIN — Seite, findet man alle wichtigen Parameter für die Qualität der Berechnung. Die Einstellungen für ANTIALIASING und FILTER wurden stark überarbeitet und optimiert. Besonders das ANTIALIASING arbeitet jetzt schon standardmäßig in einer höheren Qualität, obwohl es dafür weniger Rechenzeit benötigt. Es würde zuviel Platz
in Anspruch nehmen, hier die Unterschiede der FILTER und ANTIALIASING — Einstellun-ge spielbilder und Erklärungen. Dazu nur soviel, dass Sie es bei dem Großteil Ihrer Arbeit bei ANTIALIASING KANTE und dem STANDBiLD-Filter für Standbilder, bzw. dem ANIMATION-Filter für Animationen belassen können.
In speziellen Fällen können Sie BESTES ANTIALIASING mit den Einstellungen in REN-DER — TAGS kombinie zu geben, die es auch wirklich benötigen.
Die Einstellungen der AUSGABE-Seite sind dagegen fast selbsterklärend. Dort steifen Sie die Auflösung des zu berechnenden Bildes oder der Animation ein. Beachten Sie im Falle der Berechnung die BILDERRATE, die durchaus von der BILDERRATE im Editor abweichen kann.
Abbildung 7. 3: RENDER-VOREINSTELLUNGEN Auf der SPEICHERN-Seite geben Sie den Speicherpfad für das berechnete Bild oder die berechnete Animation sowie deren Bild- oder Film-FORMAT ein. Neu hinzugekommen ist die Option, die Farbtiefe der Kanäle oder des Bildes vorzugeben und auf 16 Bit zu erhöhen. Diese zusätzliche Farbtiefe kommt Ihnen dann zu Gute, wenn Sie nachträgliche Veränderungen an den Färb- oder Helligkeitswerten des Bildes vornehmen wollen. Ihnen stehen dann mehr Informationen zur Verfügung, und das Begrenzen der Werte bei der üblichen 8 — Bit — Darstellung fällt weg. Die Ankreuzfelder aktivieren zusätzlich die Speicherung von ALPHA-Kanälen, um die Objekte später eventuell vom Hintergrund freistellen zu können. Wir werden dafür in einem nächsten Arbeitsschritt jedoch eine andere Methode verwenden.
Die ANTIALIASING — Seite konkretisiert die ANTIA
Abbildung 7. 4: Render — Voreinstellungen
Die RADIOSITY- und CAUSTICS — Seiten sollten mittlerweile alte Bekannte sein. Dort wurde bislang nur die Option KAMERA — ANIMATION nicht besprochen. Diese sollte immer dann aktiviert werden, wenn Radiosity oder Caustics in einer Animation angewendet werden sollen. Die Option unterbindet die ansonsten notwendige Neuberechnung der Radiosity- und Caustic-Lösungen bei jeder Veränderung in der Szene. Ohne diese Option kommt es zu sehr störenden Helligkeitsschwankungen von Bild zu Bild der Animation, da die Radiosity — Berechnung auch zufällige Komponenten enthält.
Abbildung 7. 5. - Render — Voreinstellungen
Die EFFEKTE — Seite steuert alle Berechnungen, die im Nachhinein hinzugefügt werden, also z. B. Motion Blur oder Glüheffekte. Die gewünschten Effekte müssen aus einem Menü (in Abbildung 7. 6 oben mit einem Pfeil markiert) abgerufen werden. Die OPTIONEN-Seite enthält Parameter, die die Qualität des Raytracers steuern. Dort findet sich auch die bereits im letzten Kapitel angesprochene Option für die Berechnung vom MATT-EFFEKTEN.
Wichtig bei Szenen mit vielen Transparenzen ist hier vor allem der STRAHLTIEFE — Wert. Je vom Raytracer durchdrungen, um auch die Objekte dahinter abzutasten. Da wir in unserer Szene viele transparente Objekte benutzen, sollten Sie hier also ruhig einen höheren Wert einstellen, z. B. 20, wie in Abbildung 7. 6 zu sehen. Sehr interessant wird es auf der MULTI — PASS — Seite, denn dort kann - zusätzlich zum fertigen Bild — die Berechnung von separaten Ebenen für alle nur erdenklichen Parameter einer Szene aktiviert werden. Wählen Sie dazu die gewünschten Kanäle aus dem KANÄLE-Aufklappmenü und geben Sie einen Pfad für die Sicherung der Datei an. Als Format der Datei sollte entweder Photoshop oder BODYPAINT 30 gewählt werden, da nur diese Formate alle Ebenen in einer Datei zusammenfassen können. Die Weiterverarbeitung wird dadurch vereinfacht.
Abbildung 7. 6: Render-Voreinstellungen
Zusätzlich zu den globalen Kanälen kann man noch für jede Lichtquelle der Szene separate Kanäle erzeugen lassen. Entweder wählt man für SEPARATE LICHTER „ALLE" aus, oder nur die „SELEKTIERTEN" (siehe Abbildung 7. 6 unten). Wie Sie sich erinnern, konnte man in den LICHT-Dialogen selbst die Generierung von Passes aktivieren. Für diese Lichtquellen können dann eigene Kanäle für GLANZLICHT, DIFFUSE BELEUCHTUNG und die SCHATTEN erstellt werden. Die letzte Seite der RENDER-VOREINSTELLUNGEN ist der Erstellung von QUICKTIME VR PANORAMEN gewidmet. Da diese Option selten benutzt wird, verweise ich auch hier wieder auf das Handbuch. Im Prinzip handelt es sich dabei nur um ein Bild, das berechnet und entsprechend als Panorama interpretiert wird. Neu sind die Optionen hinzugekommen, das Panorama auch mit den QUICKTlME - eigenen Kompressoren
abspeichern zu lassen, um die Dateigröße klein zu halten. Dazu wählen Sie einfach den gewünschten Kompressor auf der SPEICHERN-Seite aus. Wenn Sie die Einstellungen aus den vergangenen Abbildung in die RENDER-VOREINSTELLUNGEN übernommen haben - Sie sollten natürlich andere Speicherpfade verwenden - können Sie die Berechnung der Szene im Bildmanager starten. Ich habe dafür übrigens alle Passes außer den MATERiAL-Passes aktiviert. Diese werden nur sehr selten benötigt, da man fast alle wichtigen Informationen auch aus den übrigen Ebenen beziehen kann. Zu viele Ebenen behindern dagegen den Überblick über deren Anteil am Endergebnis. Es werden nun zwei Dateien gesichert, einmal das fertige Bild als TIFF- Dateien und einmal eine Photoshop-Datei mit allen Ebenen, die wir auf der MULTI — PASS — Seite aktiviert hatten. In Photoshop könnte das dann wie in Abbildung 7. 7 aussehen.
Abbildung 7. 7: Die diversen Renderpasses Bitte beachten Sie dabei, dass ich viele der Ebenen in der Abbildung zusätzlich aufgehellt habe, um die feinen Helligkeitsnuancen auch hier im Druck sichtbar zu machen. Die HINTERGRUND-Ebene enthält das fertige Bild. Gleich darüber liegt die Ebene der ILLUMINATION im NORMAL-Modus. Diese verdeckt also das fertige Bild. Die
ILLUMINATIONS-Ebene enthält die Helligkeitsverteilung im Bild als Graustufen. Veränderungen dort bezüglich Kontrast oder Helligkeit steuern also das gesamte Bild. Die dann darüber folgenden Ebenen DIFFUSION, GLANZLICHT und SCHATTEN sind leer, bzw. enthalten keine Informationen, die zum Bild beitragen. Dies liegt daran, dass wir keine zusätzlichen Lichtquellen mit eigenen Passes in der Szene haben. Diese drei Ebenen können Sie also in diesem Fall ohne Probleme aus der Datei entfernen, ohne das Resultat zu verändern. Es folgt ein Bereich, der von leeren Ebenen mit den Namen Licht und begrenzt wird. Dort sind die Ebenen der Lichtquelle abgelegt. Hätten wir mehrere Lichtquellen in unserer Szene gehabt, die auch separate Passes hätten erzeugen sollen, so wären hier noch weitere derart begrenzte Ebenen zu finden. Die LICHT-Ebenen DIFFUSION, GLANZLICHT und SCHATTEN dort enthalten alle relevanten Informationen der Lichtquelle. Deaktivieren wir also die ScHATTEN-Ebene, so verschwinden augenblicklich alle Schatten aus unserem Bild. Färben wir die GLANZLICHT-Ebene grün ein, werden alle Glanzlichter grün und so fort. Sie erkennen sicher die Möglichkeiten, die sich uns jetzt erschließen, denn ohne eine Neuberechnung des Bildes kann das Erscheinungsbild des Renderings nun mit ein paar Mausklicks entscheidend verändert werden. Fahren wir fort mit der CAUSTICS- und der RADIOSITY — Ebene. Tonwert- und GammaKorrekturen dieser Ebenen bewirken augenblicklich das Gleiche wie eine Erhöhung der Stärke bei den RENDER-VOREINSTELLUNGEN für die Caustics und die Radiosity. Wir können also jederzeit z. B. die Caustics einfärben, abschwächen, verwischen oder wieder ganz aus dem Bild entfernen, wenn dies gewünscht wird. Gleiches gilt für die Radiosity. Ein Mausklick auf das Sichtbarkeitsymbol der RADIOSITY — Ebene und das Bild zeigt sich so, als wäre es ohne Radiosity berechnet worden. Die UMGEBUNG-Ebene enthält alle Lichtanteile, die ein UMGEBUNG-Objekt einbringen würde, also die ambiente Aufhellung. Da so ein Objekt bei uns nicht verwendet wurde, ist die Ebene leer und kann daher gelöscht werden. Eine ATMOSPHÄRE-Ebene hätte zusätzlich aktiviert werden können, wenn wir Nebel in einem UMGEBUNG-OBJEKT definiert hätten. Die Ebenen SPIEGELUNG und TRANSPARENZ enthalten die gleichnamigen Anteile im Bild. So lassen sich auch diese Werte leicht nachträglich korrigieren. Alles in allem eine sehr sinnvolle Angelegenheit, die viele zeitintensive Proberenderings vermeiden hilft, um die optimalen Einstellungen für ein Bild zu finden. Der Ordnung halber zeigt ein Blick in Abbildung 7. 8, dass auch in BODYPAINT 3D auf alle Ebenen einer Photoshop-Datei zugegriffen werden kann. Auch dort können nun die Ebenen aktiviert und deaktiviert werden. Über entsprechende Plugins lassen sich hier sogar fast alle Photoshop-Filter benutzen, um die Ebenen nach allen Regeln der Kunst zu bearbeiten.
Abbildung 7. 8: Die Darstellung in BODYPAINT 3D
Sehr oft wird man dabei wohl mit der TONWERTKORREKTUR und der GAMMA-KORREKTUR arbeiten, um den Anteil einzelner Ebenen nachträglich zu verstärken. So lassen sich durch eine TONWERTSPREIZUNG mit anschließender Regelung der Deckstarke der Ebene sehr einfach CAUSTICS verstärken oder SCHATTEN reduzieren. Da eine Vielzahl dieser Ebenen als Graustufen — Bilder vorliegen, steht auch der einfachen Einfärbung von GLANZLICHTERN oder SCHATTEN nichts im Wege. Abbildung 7. 9 zeigt beispielhaft zwei dieser Funktionen in BODYPAINT 3D. Auch die FARBBALANCE - in Abbildung 7. 10 ist die Photoshop — Variante zu sehen - ist sehr nützlich, wenn es darum geht, nachträglich eine Farbwertkorrektur vorzunehmen. Denken Sie auch an die vielen Weich- und Scharfzeichnungsfilter, mit denen Sie die einzelnen Ebenen bearbeiten können. Alles in allem lassen sich so in kürzester Zeit Variationen des fertigen Bildes erstellen, ohne das Original zu verlieren. Einem Auftraggeber können Sie daher sofort eine ganze Palette möglicher Ergebnisse zur Auswahl vorlegen, ohne jedesmal stundenlange Renderzeiten einplanen zu müssen.
Abbildung 7. 9: Tonwert- und Gamma-Korrektur in BODYPAINT 3D
Abbildung 7. 10: Veränderung der Farbbalance in Adobe Photoshop
7. i. i Ein kleines Multi-Pass-Beispiel Nachfolgend möchte ich Ihnen einige Arbeitsschritte an unserer Multi — Pass — Datei vorstellen, die Sie zu eigenen Experimenten anregen sollen. Herausgepickt habe ich mir die RADIOSITY-Ebene. Deaktivieren Sie also alle übrigen Ebenen, um nur den Radiosity-Anteil dieser Ebene zu sehen. Ein ziemlich düsteres Bild. Hellen wir es also etwas auf. Ich habe dazu die GRADATIONSKURVEN benutzt (siehe Abbildung 7. 11). Die Veränderung der RGB — Kurve reicht völlig aus, um das Bild insgesamt aufzuhellen.
Abbildung 7. 11: Veränderung der Gradation des Radiosity — Passes Als nächstes schalten Sie zusatzlich die CAUSTICS-Ebene wieder auf Sichtbarkeit um und regeln über die TON WERTKORREKTUR die Helligkeit der Caustics, um Sie dem Bild nach Ihrem Gefühl besser anzupassen (siehe Abbildung 7. 12). Benutzen sie dafür das weiße Dreieck unter der TONWERTKURVE und verschieben Sie es soweit nach links, bis die Ausläufer der Kurve erreicht werden. Damit sind die Caustics maximal hervorgehoben und können nun über die Deckkraft der Ebene sehr einfach eingestellt werden.
Abbildung 7. 12- Nachträgliche Verstärkung der Caustics mitteis Tonwertkorrektur
Als Nächstes habe ich die SCHATTEN-Ebene der Lichtquelle aktiviert und direkt über die RADIOSITY-Ebene gezogen, damit der Schatten auf das Radiosity — Bild wirken kann. Dazu muss die ScHATTEN-Ebene der Lichtquelle auf MULTIPLIZIEREN geschaltet werden. Sie können die ScHATTEN-Ebene nun beliebig weichzeichnen oder auch einfärben (siehe Abbildung 7. 13). Die Reduzierung der Deckkraft der ScHATTEN-Ebene macht die Schatten mehr oder weniger präsent. Eine zusätzlich hinzugefügte Kopie der SCHATTEN-Ebene kann die Schatten weiter verstärken, als dies im berechneten Bild der Fall war.
Abbildung 7. 13: Weichzeichnen der Schatten
Aktivieren wir nun die SPIEGELUNG-Ebene und passen wir auch dort die Tonwerte entsprechend an, damit diese möglichst stark hervortreten. Die Reduzierung kann dann wieder über die Deckkraft der Ebene vorgenommen werden. In unserem Fall ist dieser Effekt sehr reizvoll, da die Transparenz der Brust-Objekte noch ausgeschaltet ist, die Spiegelung jedoch maximal wirkt. Das Material der Brust-Objekte scheint jetzt aus einem stark spiegelnden Metall zu bestehen {siehe Abbildung 7. 14). Wir können also auch durchaus die Attribute von Oberflächen über die Ebenen steuern. Experimentieren Sie auch ruhig selbst etwas damit. Denken Sie auch an die verfremdenden Filter, mit denen z. B. Strukturen und Reliefs nachträglich auf Oberflächen erzeugt werden können. Grundsätzlich gilt, je mehr Ebenen Sie erzeugt haben, desto exakter können Sie in das Bild eingreifen. So müssen Sie nicht die spiegelnden Eigenschaften aller Objekte auf einmal verändern. Erzeugen Sie einfach eine Kopie der SPiEGELUNG-Ebene und übermalen Sie dort alle Objekte, die Sie nicht interessieren. ADDIEREN oder MULTIPLIZIEREN Sie die derart veränderte Kopie dann zu der Original-SPIEGELUNG-Ebene hinzu, um nur einzelne Objekte zu beeinflussen.
Abbildung 7. 14: Verstärken der Spiegelung
Schließlich habe ich noch die TRANSPARENZ-Ebene aktiviert und auch dort eine TONWERTKORREKTUR durchgeführt, um maximalen Spielraum für die Wahl der richtigen Einstellungen zu bekommen (siehe Abbildung 7. 15).
Abbildung 7. 15; Hinzugefügte Transparenz
Speichern Sie das derart modifizierte Ergebnis wieder als neue Photoshop oder BODYPAINT — Datei ab und reduzieren Sie dann alle Ebenen auf die Hintergrundebene. Sie werden vielleicht bemerkt haben, dass ich die ILLUMINATION- und die DIFFUSION-Ebenen komplett gelöscht habe, um nur die indirekten Auswirkungen des Lichts in der Szene zu haben. Ein Effekt der so gar nicht berechnet werden könnte. Wir haben in der Szene also technisch gesehen keine Lichtquelle mehr, sondern sehen nur die Auswirkungen - praktisch das „Nachglühen" der Objekte - nach dem Lichteinfall. Das Bild wirkt dadurch sehr weich und diffus, ohne starke Helligkeitsschwankungen, als wäre es an einem sonnigen Tag im Freien aufgenommen worden. Sie sehen also, dass auch jeglicher Art der Abstraktion Tür und Tor geöffnet sind. Um das Resultat abzurunden, können Sie das reduzierte Bild nochmals einer TONWERTKORREKTUR unterziehen (siehe Abbildung 7. 16).
Abbildung 7. 16: Abschließende Korrektur der Ton werte Damit ist das Bild fertig und uns fällt plötzlich auf, dass wir ein Objekt in der Szene vergessen haben: Zu allem Unglück haben wir die C4D- Szene verbummelt. Nur das fertige Bild steht uns noch zur Verfügung. Was tun? Auch für solche Fälle hat sich ab Version 7 etwas getan, denn wir können nun
auch ALPHA- Kanäle für einzelne Objekte erstellen. Wie man an eine solche Composi-ting — A
7. 1. 2 Ein Compositing-Beispiel Wir gehen also davon aus, dass unsere Szene gerade nicht zur Hand ist und wir nur mit dem berechneten Bild arbeiten können. Wir müssen uns die Szene also zumindest grob nachbauen. Als Konstruktions- und Positionierungshilfe laden wir dazu das berechnete Bild in die frontale Editoransicht ein. jedes Ansichtsfenster bietet für diesen Zweck ANSICHTS-VOREINSTELLUNGEN im BEARBEITEN-Menü an. Dort können Sie ein Bild als Hintergrund für die Ansicht laden (siehe Abbildung 7. 17). Laden Sie dort das berechnete Bild unserer Torso-Szene ein.
Abbildung 7. 17: Dos Bild als Hintergrund laden
Als nächstes rufen Sie einen Würfel aus den Grundobjekten ab und skalieren diesen so, dass er die frontale Ansicht mit dem eingeladenen Hintergrundbild komplett ausfüllt. Es geht hier nicht um konkrete Größenwerte, sondern nur darum, dass der Würfel seitlich aus der Ansicht hinausragt. Konvertieren Sie den Würfe! nun zu einem Polygon-Objekt und löschen Sie die beiden vorderen Flächen des Würfels, um auf die unten liegende hintere Ecke schauen zu können (siehe Abbildung 7. 18 unten rechts). Neigen Sie den Würfel so, dass Sie einen Blickwinkel wie in die Raumecke unseres Bildes haben. Sie können dazu z. B. in den DRAHTGITTER-Modus schalten, um durch den Würfel auf das Hintergrundbild schauen zu können. Die Neigung lässt sich dann besser anpassen.
Sinn dieser Aktion ist es, die Raumecke im Bild so genau wie möglich nachzubauen. Natürlich kennen wir im Normalfall nicht die Distanz der Kamera von der Wand oder die verwendete Brennweite, aber dennoch lasen sich die Verhaltnisse grob annähern. Für die geforderten Compositing-Aufgaben wird dies ausreichend sein.
Abbildung 7. 18: Einen Würfel grob der Vorlage anpassen
Wir stellen uns selbst als Aufgabe, ein Objekt auf der Wand und ein Objekt auf dem Deckel der Holzkiste ergänzen zu wollen. Die Wände haben wir schon grob nachgebaut, fehlt also noch der Deckel der Kiste. Um diesen möglichst exakt platzieren zu können, erstellen Sie ein neues Material und laden Sie dort das berechnete Bild in den LEUCHTEN-Kanal. Ziehen Sie dann dieses Material auf den Würfel im OBJEKTE-Fenster und wählen Sie die FRONTALE Projektion im TEXTUR-Dialog aus (siehe Abbildung 7. 19). Dies bewirkt, dass das Material immer aus Sicht der Kamera auf das Objekt gelegt wird. Es wird dadurch wie mit einem Projektor in die Szene projiziert und ist nicht fest an ein Objekt gebunden. Wenn wir also den Würfel bewegen, bleibt die Textur dennoch an Ort und Stelle (siehe Abbildung 7. 20).
Abbildung 7. 19: Das Bild als Textur laden
Abbildung 7. 20: Das frontal projizierte Bild auf dem Würfel
Da sich Texturen auch an untergeordnete Objekte „vererben", ordnen Sie nun eine EBENE aus dem 3D-Grundobjekte-Menü unter dem Würfel ein. Das Hintergrundbild wird nun auch auf der Ebene erscheinen. Skalieren und verschieben Sie die Ebene so, dass sie möglichst exakt den Deckel im projizierten Material imitiert (siehe Abbildung 7. 21).
Danach sollten Sie die Texturen mit dem Vorlagebild wieder deaktivieren. Loschen Sie also das Hintergrundbild aus der Editoransicht und entfernen Sie die entsprechende Textur von dem Würfel.
Abbildung 7. 21: Eine Ebene entsprechend der Vorlage platzieren
Jetzt können Sie die fehlenden Objekte hinzuzufügen. Ich habe ein neues LANDSCHAFT-Objekt auf die rechte Würfelwand gelegt und ein KAPSEL-Grundobjekt auf die Ebene gestellt. Hier geht es schließlich nur um die prinzipielle Vorgehensweise. Rufen Sie nun für den Würfel ein RENDER-TAG auf und aktivieren Siedort das HINTERGRUND-COMPOSITING. Deaktivieren Sie gleichzeitig den Schattenwurf, damit wir in den Ecken des Würfels keine Schatten bekommen. Zusatzlich muss der Würfel jetzt noch ein Material mit einem Farbwert bekommen, damit der Würfel tatsächlich nur in einer Farbe berechnet wird. Erzeugen Sie also ein neues Material und stellen Sie dort die Farbe auf 100% weiß ein. Alle anderen Kanäle können Sie deaktivieren. Weisen Sie dieses Material dann dem Wurfe! mit einer beliebigen Projektions — Methode z Erzeugen Sie nun eine radiale Lichtquelle mit weichen Schatten und platzieren Sie diese so, dass die Beleuchtung ungefähr aus der Richtung in den Würfel und auf die Objekte dort fällt, wie im original Bild. Wenn Sie jetzt die frontale Ansicht berechnen lassen, sollte es wie in Abbildung 7. 22 aussehen.
Abbildung 7. 22: Hintergrund — Compositing aktivieren
Alle Platzhalterflächen des Würfels und der Ebene werden weiß dargestellt, und die neuen Objekte scheinen samt ihren Schatten im Raum zu schweben. Beachten Sie auch, dass ein Teil des LANDSCHAFT-Objekts von der unsichtbaren Ecke der Ebene verdeckt wird. Wir können also bei entsprechender Platzierung von Hilfsobjekten wie hier der Ebene - auch Objekte teilweise hinter Bereichen des vorhandenen Bilds verschwinden lassen. Geben Sie Jetzt dem LANDSCHAFT- und dem KAPSEL-Objekt jeweils ein RENDER-TAG, in dem Sie einen beliebigen Objekt-Kanal im unteren Teil des Dialogs aktivieren. Entweder Sie vergeben an jedes Objekt eine eigene Kanalnummer, oder beide bekommen die gleiche Nummer, z. B. ID i. Je nachdem wie Sie sich entscheiden, können Sie entweder einen ALPHA-Kanal für beide Objekte oder für jedes Objekt einen eigenen ALPHA-Kanal berechnen lassen. Ich habe für beide Objekte ID i eingestellt. Offnen Sie nun die RENDER-VOREINSTELLUNGEN und wählen Sie aus dem KANÄLEMenü auf der MULTI — PASS — Seite des Dialogs OBJEKT-KANAL aus. Aktivieren Si lich den RGBA-Kanal (dies steht für Rot, Grün, Blau, Alpha) und die Erzeugung der DIFFUSION —, GLANZLICHT- und SCHATTEN-Kanäle für die Lichtquelle, um diese Eigenschaften der Objekte dem vorhandenen Bild besser anpassen zu können {siehe Abbildung. 23).
Abbildung 7. 23: Separaten ALPHA-Kanal für die Objekte aktivieren
Überprüfen Sie die Ausgabegröße der Datei, damit diese auch mit der Größe des vorhandenen Bildes übereinstimmt. Tragen Sie dort also in unserem Fall 800 x 600 Pixel ein. Nachdem Sie die gewünschten Speicherpfade und Formate für die Dateien gewählt haben, starten Sie die Berechnung der frontalen Ansicht im BILDMANAGER. Dabei gibt es zu beachten, dass standardmäßig die Berechnung der Kameraansicht aktiviert ist. Sie müssen also in der frontalen Editoransicht im BEARBEITEN-Menü den Unterpunkt ALS RENDER — ANSICHT NUTZEN auswählen. Dies gil nur, wenn Sie meinen Ausführungen exakt gefolgt sind. Haben Sie die Szene in einer anderen Ansicht nachgebaut, so müssen Sie diese ggf. in einer anderen Ansicht berechnen lassen. Dies ist jedoch kein Problem, da Sie grundsätzlich jede Ansicht nach dieser Methode als Render — Ansicht definieren können. Wenn Sie die berechnete Multi — Pass — Datei z. B. in Photoshop öffnen, stellt sich dies wie in Abbildung 7. 24 dar.
Abbildung 7. 24: Die Multi-Passes und Alpha — Kanäle der Szene Im EBENEN — Fenster finden Sie die aktivierten Ebenen und im KANÄLE — Fenster u. a. den separaten ALPHA-Kanal für die beiden Objekte (siehe Abbildung 7. 24). Sie können diesen Alpha jetzt benutzen, um über den Befehl AUSWAHL LADEN im AUSWAHL-Menü von Photoshop (siehe Abbildung 7. 25} die Objekte freizustellen und in das originale Bild zu kopieren. Dies sieht dann wie in Abbildung 7. 26 aus. Nach dem gleichen Schema können Sie z. B. die entsprechenden Anteile der GLANZLICHT- und DIFFUS ION-Kanäle der Lichtquelle in das originale Bild transferieren, um dort die beiden Objekte farblich und bezüglich der Helligkeit an das übrige Bild anzupassen.
Abbildung 7. 25: Alpha- Kanal als Auswahl laden und Objekte freistellen
Abbildung 7. 26: Die freigestellten Objekte als neue Ebene in das berechnete Bild einfügen
Wenn Sie nun die geladene Auswahl in der RGBA-Ebene mit weiß füllen, bleiben nur die Schatten übrig (siehe Abbildung 7. 27). Sie können diese Ebene dann komplett über die Ebene des Originalbildes legen und in dieses multiplizieren lassen. Die Schatten im RGBA-Bild dunkeln dadurch die Bereiche im Original ab und erzeugen dort die zu den eingefügten Objekten passenden Schatten (siehe Abbildung 7. 28).
Abbildung 7. 27: Die isolierten Schatten der Objekte
Abbildung 7. 28: Die in das Bild multiplizierten Schatten
Wie Sie in Abbildung 7. 28 an der Wand entdecken können, habe ich das Abbild des LANDSCHAFT- Objekts in eine separate Ebene kopiert und aus der Ebene mit der KAPSEL gelöscht. Dann habe ich die LANDSCHAFT- Ebene über der HINTERGRUND- Ebene platziert und dort den Modus INEINANDERKOPIEREN aktiviert. Die Landschaft nimmt dadurch die Textur der Wand im HINTERGRUND-Bild an und wirkt so wie ein integrierter Bestandteil der Wand. So lassen sich sogar auf hinzugefügten Objekten die Materialien der Bildes übertragen, die vielleicht ansonsten nicht mehr vorgelegen hätten.
7. 2 Texturen anpassen mit BODYPAINT 30 Ich möchte dieses Beispiel an dieser Stelle beenden und hoffe einige Anregungen für die Nutzung der neuen Multi-Passes von CINEMA 4D V7 gegeben zu haben. In diesem Abschnitt möchte ich das Zusammenspiel mit BODYPAINT 30 demonstrieren, das als ergänzendes Produkt für CINEMA 40 eine sinnvolle Erweiterung darstellt. Ich möchte in diesem Zusammenhang nicht zu sehr auf die künstlerischen Aspekte - also z. B. wie man eine Hauttextur malt -, sondern eher auf die technische Seite eingehen. Gerade was die Herstellung dieser Art von Oberflächen angeht, wird man ohnehin nicht um die Verwendung von Fotografien als Grundlage herumkommen, um professionelle Ergebnisse zu erzielen. Ich möchte daher ein typisches Beispiel herausgreifen, bei dem eine vorhandene Bildvorlage einem Objekt als Textur angepasst werden soll. Es geht also vorrangig um die Arbeit mit UV-Koordinaten, ein Haupteinsatzgebiet für BODYPAINT 3D. Als Objekt füngiert unser Kopfmodell aus den letzten Kapiteln. Als Textur habe ich die Kopftextur einer Poser-Figur verwendet, die man separat in recht hoher Qualität erwerben kann (z. B. bei www. daz3d. com). Diese Texturen sind von menschlichen Modellen abfotografiert und weisen daher eine Detailfülle und Auflösung auf, die mit einem Zeichenprogramm kaum erreicht werden kann. Einziger Haken an der Sache ist natürlich, dass die Texturen erst an das eigene Modell angepasst werden müssen. Dies ginge Ihnen mit anderen selbst erstellten oder fotografierten Texturen natürlich ebenso. Leider kann ich die entsprechende Textur aus lizensrechtlichen Gründen nicht auf der CD ablegen. Das Arbeitsprinzip ist jedoch für jede Art von Objekt und Textur gleich und damit allgemeingültig. Wir beginnen also mit einem neuen Material, in dem Sie z. B. den FARBE —, den RELIEF- und den GLANZLICHT-Kanal aktivieren, also all die Kanäle, für die ihnen Bildvorlagen vorliegen. Selbst wenn ihnen keine Bilder als Texturen vorliegen, können Sie die nachfolgenden Schritte durchführen, um ein späteres Bemalen von Hand zu erleichtern. Weitere Einstellungen sind vorerst nicht nötig. Ziehen Sie dann das Material auf den Kopf und weisen Sie KUGEL-MAPPING als PROJEKTION zu (siehe Abbildung 7. 29).
Abbildung 7. 29. - Ein neues Material auf das Kopf-Objekt legen
Generell sollte man hier immer die Projektionsart wählen, die der Form des Objekts am nächsten kommt. Aktivieren Sie dann im EBENEN-Fenster die AKTiv-Option durch Abhaken und wählen Sie aus dem KANÄLE-Menü dort all die Kanäle aus, die auch im Material mit vorhandenen Bildern bestuckt werden sollen. In meinem Fall waren dies Farbe und Relief. Die Glanzfarbe lag mir nicht als Bild vor. Die habe ich später selbst in BODYPAINT 3D gezeichnet. Nach der Aktivierung eines Kanals springt ein Fenster mit dem Titel NEUE TEXTUR auf, in dem Sie entweder LADEN anklicken, um ein fertiges Bild von der Festplatte zu laden, oder NEUE TEXTUR, um mit den Parametern im unteren Teil des Dialogs Größe und Hintergrundfarbe zu definieren. Wählen Sie letzteres mit einer quadratischen Auflösung, wenn Sie das Modell später von Hand bemalen möchten. In meinem Fall aktiviere ich also LADEN und wähle die entsprechende Bilddatei aus dem erscheinenden Datei-Fenster aus (siehe Abbildung 7. 30).
Abbildung 7. 30: Vorhandene Bilddaten laden
Rufen Sie nun die TEXTUR-ANSICHT auf und wählen Sie aus dem TEXiuREN-Menu dort die Bilddatei aus, die Sie angezeigt bekommen möchten. Ich habe hier die FARBEMap gewählt. Aktivieren Sie ggf. im WERKZEUGE-Menü die Darstellung der UV-Koordinaten, damit Sie die kugelförmig abgewickelten UV-Koordinaten in der TEXTURANSICHT angezeigt bekommen (siehe Abbildung 7. 31). Ganz wichtig ist, in einem Modell zwischen Polygonen und Punkten und deren UV-Koordinaten zu unterscheiden. Letztere lassen sich nämlich unabhängig von echten Punkten und Polygonen verschieben, skalieren und drehen. UV-Koordinaten haben nur etwas mit den Stellen auf dem Modeilzutun, an denen z. B. ein Bild als Textur festgemacht werden soll. Erschrecken Sie also nicht, wenn wir gleich massive Veränderungen an den UVKoordinaten vornehmen. Die Form des Modells bleibt davon völlig unberührt. Wie man in Abbildung 7.31 erahnen kann, passt dort nichts zusammen. Das Gesicht im geladenen Bild ist m anderer Größe und an einem anderen Platz zu sehen als die entsprechenden Bereiche unserer UV-Koordinaten. Aktivieren Sie in solchen Fallen also erst einmal den TEXTUR-BEARBEiTEN-Modus und rotieren Sie die Textur so um die Y-Achse des Objekts, bis die entsprechenden Flachen der Textur auf den passenden Regionen des Objekts zumindest grob zu sehen sind. Dazu muss naturlich die Darstellung von Texturen in den Ansichtsfenstern aktiviert sein, damit die Textur auch zu sehen ist. Wie Sie in Abbildung 7.32 erkennen können, liegen die Lippen der Bildvorlage zwar noch etwas undekorativ auf der Nase des Kopfes, aber zumindest die Richtung scheint nun zu stimmen.
Abbildung 7 31 Die abgewickelten UV Koordinaten des Kopfes
AbbilÜL
32 u c eA u durch Drehen anpassen
Wenn wir wieder einen Blick m die TEXTUR ANSICHT von BODYPAINT werfen, sehen wir daher auch den Erfolg dieser Aktion (siehe Abbildung 7 33) Die UV Koordinaten sind mit der Rotation der Texturvorschau verändert worden und liegen zumindest für das Gesicht nun schon besser
Abbildung 7 33 Die verschobenen UV Koordinaten
Wie normale Polygone lassen sich auch UV Koordinaten Polygone, wie ich sie hier einmal nennen mochte, selektieren Dazu gibt es em eigenes SELEKTiON-Werkzeug am Rand der TEXTUR ANSICHT Dort stehen Ihnen von der LIVE bis zur RAHMEN SELEKTION alle bekannten Selektionsmethoden zur Wahl Wie Abbildung 7 34 wiedergibt, selektiere ich also alle Polygone, die im weiteren Sinne zum Gesicht und zurvorde ren Kopfhalfte gehören Die Ohren habe ich dabei ausgespart
Abbildung 7.34: Selektierte UV-Polygone für das Gesicht
Benutzen Sie nun INTERAKTIVES MAPPING aus dem FUNKTIONEN-Menü. Sie werden nach dem Namen einer Textur gefragt und nach der gewünschten Mapping-Methode. Tragen Sie dort also den Namen der Bilddatei ein, in diesem Fall den des Bildes im FARBE-Kanal des Kopfmaterials, und wählen Sie FLACHEN-MAPPING als Projektion. Dies bewirkt, dass die Projektion für die selektierten UV-Polygone von Kugelauf Flächenprojektion umgeschaltet wird. Verschieben Sie ggf. in den Editor-Fenstern die eingeblendete Positionierungshilfe für die frontale Texturprojektion und beenden Sie dann das INTERAKTIVE MAPPING wieder im FUNKTIONEN-Menü. Abbildung 7.35 zeigt das Ergebnis. Die UV-Polygone des selektierten Bereichs erscheinen nun so, als wurden Sie frontal projiziert. Diese Mapping-Methode kommt der Gesichtsanatomie entgegen, da dort große Bereiche-bis auf die Naserelativ flach sind.
Abbildung 7.35: Frontales interaktives Mapping der Gesicht-UV-Koordinoten
Nachteilig daran ist jedoch, dass besonders die seitlichen Wangen und die seitlichen Nasenflanken fast senkrecht zu dieser Projektionsrichtung liegen und daher von der so projizierten Textur nur gestreift werden können. Darum kümmern wir uns gleich noch. Benutzen Sie zuerst die SKALIEREN- und VERSCHiEBEN-Werkzeuge m der TEXTURANSICHT für die noch immer selektierten UV-Polygone des Gesichts, um Große und Position der Bildvorlage möglichst exakt anzupassen. Hier hilft uns, dass wir schon bei der Modellierung auf realistische Proportionen geachtet haben. Die abfotografierte Textur passt also fast überall auf die entsprechenden UV-Bereiche (siehe Abbildung 7.36). Wenn wir nun einen Blick in eine seitliche Ansicht des Editors werfen, erkennen wir sofort das bereits beschriebene Problem bei frontaler Projektion (siehe Einkreisung in Abbildung 7.37). Die Textur verschmiert in den Bereichen, die in einem zu flachen Winkel zur Projektionsncntung liegen. Bei Kopfmodeilen also oft an und vor den Ohren, sowie am Kinn, Nase und Stirn.
Abbildung 7.36: Verschieben und Skalieren der selektierten Koordinaten
Abbildung 7.37: FurFrontal-Mapping übliche Verzerrungen
Versuchen wir also die UV-Koordinaten besser an das Bild anzupassen, das uns als Textur dient. Dafür aktivieren Sie den UV-PuNKT-Modus in der TEXTUR-ANSICHT und verschieben die Punkte mit dem BEWEGEN-Werkzeug dort an die entsprechenden Stellen auf dem Bild. Sie selektieren also einen oder mehrere UV-Punkte mit dem eigenen SELEKTIONWerkzeug und verschieben dann z. B. die Punkte um die Lippen auf die Linie des sichtbaren Farbunterschieds zwischen Lippen und Haut auf der Bildvorlage (siehe Abbildung 7.38). Je genauer Sie bei derartigen Manövern arbeiten, desto perfekter liegt die Farbinformation exakt dort auf dem Objekt, wo sie hin soll.
Abbildung 7.38: Anpassen der UV-Koordinaten an die Textur
Wie bei den Lippen zuvor gehen Sie dann auch bei den Augen und der Nase vor. Sinn dabei ist es, die seitlichen Flächen der Nase so nach links und rechts zu verschieben, dass die Flachen dort auch aus der frontalen Projektionsrichtung gut mit Farbinformationen belegt werden können. Die Textur verschmiert dort nun nicht mehr (siehe Abbildung 7.39). Gleiches gilt für die Augenlider. Falls später in einer Animation die Augen geschlossen werden sollen, muss schließlich auch der nun noch verdeckte Bereich in der Lidfalte ordentlich mit der Textur belegt sein. Ziehen Sie diese Bereiche also auseinander, damit alle Flächen sichtbar werden. Bitte beachten Sie, dass hier immer nur von den UV-Punkten und -Flächen die Rede ist. Das Objekt selbst bleibt dabei völlig unverändert, was die äußere Form angeht!
Abbildung 7.39. Entfalten von Überlappungen
Abbildung 7.40: Herstellen von flachen UV-Koordinaten
Mit der gleichen Technik lassen wir jetzt auch die Probleme an den Wangen und am Kinn verschwinden. Ziehen Sie einfach die bislang noch verdeckten UV-Flachen durch Verschieben der UV-Punkte nach außen, als wenn Sie ein zerknülltes Blatt Papier wieder gerade streichen würden. Das Resultat ist in Abbildung 7.40 zu sehen. Die UV-Koordinaten des Gesichts sind jetzt alle flach ausgebreitet und können daher die Textur optimal wiedergeben. Damit nun auch die Ohren korrekt texturiert werden, müssen diese gedreht werden. Am schnellsten geht dies, wenn Sie die UV-Polygone eines Ohrs selektieren und dann wieder auf INTERAKTIVES MAPPING schalten. Wählen Sie wieder FLACHENMAPPING als Projektion für die Textur aus, drehen Sie diesmal jedoch die Texturvorschau in den Ansichtsfenstern so um die Y-Achse, dass die Ohren von der Seite belegt werden. Von dort ist schließlich der Großteil der Ohren zu erkennen. Wenn Sie das INTERAKTIVE MAPPING im TEXTUR-ANSiCHT-Fenster wieder beendet haben, können Sie die weiterhin selektierten Flächen an die entsprechende Position verschieben und im UV-PuNKTE-Modus entzerren (siehe Abbildung 7.41).
Abbildung 7 41: Das interaktiv gemoppte Ohr Verfahren Sie nach dem gleichen Prinzip mit dem anderen Ohr: also Selektion der entsprechenden UV-Polygone, Wahlen von INTERAKTIVEM MAPPING und seitlicher FLACHEN-Projektion, Beenden des INTERAKTIVEN MAPPINGS und Verschieben/Skalieren, um die UV-Koordinaten auf der entsprechenden Fläche der Bild-Textur anzuordnen. Den unteren Rand des Halses hatte ich bei der Anpassung des Gesichts an die Textur etwas vernachlässigt. Die hole ich nun nach. Dazu wechsle ich in den UV-
PUNKTE Modus m der TEXTUR ANSICHT und aktiviere das BEWEGEN Werkzeug dort Zusätzlich schalte ich das SNAPPING für PUNKTE im Fenster AKTIVES WERKZEUG an (siehe Abbildung 7 42) Wenn ich nun die oberen Punkte des Halses an die entsprechenden Punkte der unteren Gesichtshalfte annähere, rasten diese automatisch dort ein und verschmelzen zu einem Punkt Dies gewährleistet, dass dort kein sichtbarer Unterschied mehr durch die Textur hervorgerufen werden kann
Abbildung 7 42 Nutzen derSnappmg Option am Hais
Nach dieser Methode raste ich alle Punkte direkt unterhalb des Gesichts ein. Die übrigen UV Flachen, die den Hinterkopf und die Seiten repräsentieren, behandele ich nun separat Selektieren Sie also diese Bereiche, wie es Abbildung 7 43 zeigt, und wählen Sie wieder das INTERAKTIVE MAPPING aus Diesmal benutze ich jedoch nicht die FRONTALE Projektion sondern die ZYLiNDER-Projektion, die den selektierten Bereich besser abdeckt Nachdem Sie ggf die Texturvorschau m den Editoransichten verschoben oder verdreht haben und das INTERAKTIVE MAPPING wieder beendet haben, stellt sich der Hinterkopf nun wie m Abbildung 7 44 dar Die UV Flachen sind jetzt zu einer großen Flache miteinander verbunden und die Verbindungen zum vorderen Hals wurden aufgetost Wir können diesen Bereich jetzt völlig separat bewegen und skalieren
Abbildung 7 43 Selektion der hinteren Kopfhalfte
Abbildung 7 44 Interaktive Zylmderprojektion des selektierten Bereichs
Nach einfachem Skalieren und Bewegen lässt sich der UV-Hinterkopf leicht der Bildvorlage anpassen. An den Rändern müssen die Punkte eventuell noch etwas verschoben werden, damit sie innerhalb der farbigen Flächen der Textur liegen aber damit ist die Arbeit schon getan. Nach dieser Methode wird es Ihnen ab jetzt immer gelingen, beliebige Bildvorlagen möglichst exakt an Ihre Objekte anzupassen. Ohne BODYPAINT 30 wäre dies wohl ein sehr viel mühsameres Unterfangen gewesen, zumal ohne die Geometrie des fertigen Modells wieder verändern zu müssen.
Abbildung 7.45: Die auf die Textur angepassten UV-Koordinaten
7.3 Texturen als Lichtquellen benutzen Bereits im letzten Kapitel haben wir die Vorteile von Radiosity bei der realistischeren Berechnung von Innenräumen kennen gelernt. Diese neue Qualität hängt bekanntlich von dem Effekt ab, dass das Licht von Gegenständen oder Wänden mehrmals reflektiert wird und somit für eine gleichmäßigere Beleuchtung sorgt. Was passiert jedoch, wenn wir es mit einer Außenszene zu tun haben, bei der uns keine Wände, Decken oder andere beschränkende Objekte dabei helfen können, das Licht mehrmals reflektieren zu lassen? Dort könnte die Radiosity-Berechnung kaum ihre Stärken ausspielen. Gerade für derartige Szenen, die vielleicht draußen unter freiem Himmel spielen, gibt es eine sehr interessante Methode der Beleuchtung mit Texturen. Radio-
sity kann nämlich nicht nur normale Lichtquellen benutzen, sondern auch leuchtende Materialien. Dabei werden die leuchtenden Anteile einer Textur als Lichter interpretiert. Schauen wir uns dazu ein kleines Beispiel an, um die prinzipielle Benutzung dieser Technik zu verstehen. Um ein möglichst realistisches Umfeld für unsere Außenszene zu generieren, benutze ich die noch relativ neuen SuRROUNDiNG-SKiES-Texturen von DOSCH DESIGN (www.doschdesign.com). Einige Materialproben von DOSCH DESIGN sind übrigens auch auf der CD zu diesem Buch zu finden. Dafür auch an dieser Stelle herzlichen Dank an Sebastian Dosch für die freundliche Unterstützung. Diese Himmeltextur-CD enthält sehr hoch aufgelöste 36o°-Panoramabilder von diversen Himmelsansichten. Wir können daraus Sonnenuntergänge ebenso wählen, wie wolkenverhangene Regentage. Da diese Art von Texturen ansonsten nur recht schwierig und aufwändig zu erstellen sind, greife ich für diesen Zweck gerne darauf zurück. Natürlich erfüllen für diesen Test auch selbst fotografierte Himmel oder ganz andere Motive den Zweck. Das Prinzip bleibt immer das gleiche. Laden Sie also ein Bild, mit dem Sie Ihre Szene beleuchten möchten, in den LEucHTEN-Kana! eines neuen Materials und überprüfen Sie, ob dort auf der ILLUMINATiON-Seite auch die Generierung von RADIOSITY aktiviert ist (siehe Abbildung 7.46).
Abbildung 7.46: Eine Textur als Lichtquelle verwenden
Legen Sie das Material auf ein HiMMEL-Objekt, das Sie aus den SzENE-Objekten im OßlEKTE-Menü abrufen können. So ein HiMMEL-Objekt taucht nicht als Geometrie in der Szene auf, sondern wird nur bei der Berechnung des Bildes im Hintergrund dargestellt. Im gleichen Menü finden Sie auch das BoDEN-Objekt, das sich als eine bis zum Horizont ausdehnende Ebene darstellt. Um diese langweilige BoDEN-Ebene etwas aufzulockern, habe ich darauf noch einige flache LANDSCHAFT-Objekte platziert. Dies hat jedoch mit dem zu demonstrierenden Effekt nichts zu tun und kann deshalb auch weggelassen werden (siehe Abbildung 7.47). Die Abbildung zeigt zudem im Hintergrund, wie eine derartige Szene ohne Radiosity berechnet aussehen würde. Der Himmel ist klar zu erkennen, da er durch die leuchtenden Eigenschaften keinerlei Schattierungen zeigen kann. Der Boden und die darauf zur besseren Beurteilung der Szene platzierten Grundobjekte sind unabhängig von der Farbe und Helligkeit des Himmels von der Standardbeleuchtung von CINEMA4D ausgeleuchtet, die immer dann zum Tragen kommt, wenn keine eigenen Lichtquellen platziert wurden.
Abbildung 7.47. Ergebnis ohne Radiosity Aktivieren wir nun also die Radiosity-Berechnung in den RENDER-VOREINSTELLUNGEN. Deaktivieren Sie dafür zuerst die LICHTAUTOMATIK auf der ÜPTiONEN-Seite des Dialogs und übernehmen Sie dann als Startwerte die Einstellungen aus Abbildung 7.48 für die Radiosity. Wir wollen schließlich kein zusatzliches Licht in der Szene außerdem Licht, das von dem leuchtenden Himmel ausgeht.
Abbildung 7 48: Aktivieren der Radiosity-Berechnung
Im oberen Teil von Abbildung 7.49 sehen Sie den Effekt. Obwohl keine Lichtquelle in der Szene aktiv ist, können wir alle Objekte gut erkennen. Zudem erscheinen die ehemals weißen Objekte nun durch die Wolken und den Himmel eingefärbt. Sogar leichte Schatten sind auf dem Boden zu erkennen. Leuchtende Materialien können also Lichtquellen vollwertig ersetzen. Leider können Sie dies dem hier abgedruckten Schwarzweißbild nicht so gut entnehmen, aber das Bild hat durch das verwendete Himmelspanorama einen sehr naturlichen Eindruck bekommen. Sogar die Helligkeit lässt sich mit unserer Material-Beleuchtung gut steuern, indem Sie die generierenden Eigenschaften des Materials verändern. Der in der Abbildung 7.49 unten eingestellte Wert von 200% führt sogleich zu einer Verdopplung der abgestrahlten Lichtleistung und damit zu doppelt soviel Helligkeit im Bild.
Abbildung 7.49: Steuern der Ausleuchtung über den Generieren-Parameter
Leider hat diese Art der Himmelsbeleuchtung auch Nachteile. So wirkt die Beleuchtung oftmals so diffus, dass das Bild an Kontrast verliert und etwas künstlich wirkt. Trotz der Perfektion der Heiligkeitsverteilung einer so beleuchteten Szene fehlt nämlich eine „Hauptlichtrichtung". Bei Außenszenen wird diese Richtung oft durch Sonne oder Mond definiert. Dies sind also die Objekte, von denen das eigentliche Licht ausgeht, das sich dann in der Atmosphäre streut und die Umgebung diffus beleuchtet. Reduzieren Sie also die generierenden Eigenschaften des Materials wieder auf 100% und entnehmen Sie dem verwendeten Bild den Farbwert für die Beleuchtung. In meinem Fall habe ich dazu mit dem Mauszeiger im LEUCHTEN-Kanal auf die verkleinerte Ausgabe des Panoramabildes geklickt, um dort die Farbwerte für die im Panorama zu sehende Sonne zu entnehmen (siehe Pfeil in Abbildung 7.50). Sie können den aufgenommenen Farbwert direkt an den RGB-Regtern ablesen und auf die Farbwerte einer neuen Lichtquelle übertragen, die in unserer Szene die Sonne darstellen soll. Die Art der Lichtquelle könnte z. B. ein runder Spot mit aktivierten weichen Schatten sein. Die Helligkeit kann bei Bedarf noch angepasst werden.
Abbildung 7.50: Kombination von Texturbeleuchtung und traditioneller Lichtquelle Ganz wichtig ist nun, die Lichtquelle auch tatsächlich dort zu platzieren, wo im verwendeten Bild die Sonne erscheint. Bei meinem 36o°-Panorama ist diese Stelle schnell ausgemacht. Wenn man nun die Szene wieder mit Radiosity berechnen
lässt, zeigt sich ein sehr realistisches Ergebnis. Es ist eine Hauptlichtrichtung mit entsprechendem Schattenwurf ebenso zu erkennen, wie die diffuse Beleuchtung durch den leuchtenden Himmel.
Ich empfehle diese Kombination aus echter Lichtquelle und leuchtendem Material z. B. auf einem HiMMEL-Objekt oder einer die Szene umgebenden Kugel für alle Außenszenen. Dieser prinzipielle Aufbau lässt sich sehr schnell an unterschiedliche Beleuchtungssituationen anpassen. Zudem bewirkt ein Austauschen der HIMMELTextur eine sofortige Anpassung der gesamten Beleuchtungssituation. Dazu gehört schließlich nicht nur die Helligkeit sondern auch die Einfärbung des abgestrahlten Lichts. Gegebenenfalls ist dann nur noch die Richtung und Farbe der echten Lichtquelle anzupassen und eine komplett neu beleuchtete Szene ist fertig.
7.4 Animierbare Haare erstellen Sehr oft steht man gerade bei Character-Modelling vor dem Problem, realistische Haare erzeugen zu wollen. Leider ist mir bislang noch kein professionelles HaarPlugin oder externes Programm für CINEMA 40 bekannt, das realistische Haare beliebiger Form und Lange animierbar darstellen könnte. Wir kommen also um etwas Handarbeit nicht herum. Die bislang gängigste Methode ist die Arbeit mit Sweep-NURBS oder LoftNURBS in Verbindung mit Alpha-Texturen, um längere Haare realistisch darstellen zu können. Dies habe ich bereits ausführlich z. B. in meinem Buch zu CINEMA 40 6.0 beschrieben. Diese Technik führt zwar zu optisch recht guten Ergebnissen, benötigt jedoch viel Speicher, da die NURBS-Objekte relativ fein unterteilt werden müssen, um glaubhaft weich fallende Haarsträhnen abbilden zu können. Zudem wird die spätere Animation der Haare sehr erschwert, da diese eigentlich nur mit PLA oder über Bones möglich ist. Da beides von Hand gesteuert werden muss, ist nicht unbedingt ein natürlicher Bewegungsablauf garantiert. Zudem verschlingen PLA-Keys wiederum Speicherplatz und ermöglichen nur kubisch interpolierte Bewegungen. Das VREEL-DvNAMix-Plugin des Unternehmens VREEL 30 ENTERTAINMENT oHG hilft uns etwas bei solchen Aufgaben (www.Vreel-3D.de) . Eine Demo-Version dieses nützlichen Helfers finden Sie übrigens auch auf der CD zum Buch samt einigen Beispielfilmen, die zeigen, was sonst noch mit dem Plugin möglich ist. Eigentlich mehr für die Berechnung von Nachschwingeffekten von Objekten konzipiert, unterstützt uns ein eingebauter Haargenerator jedoch auch bei der Modellierung von Low-Poly-Haaren. Wie dies prinzipiell funktioniert, demonstriere ich an einem kleinen Beispiel. Wir beginnen mit einigen Splines, die grob die Frisur definieren. Ich habe einen einfachen Mittelscheitel gewählt, da es hier nur um die Demonstration des Effekts gehen soll (siehe Abbildung 7.51). Da diese Haar-Splines später durch das Plugin automatisch animiert werden, ist es sinnvoll, die Spline-lnterpolation B-SPLINE zu wählen. Dies gewährleistet auch bei Bewegung nur eines Splinepunktes einen weiterhin weichen Verlauf des ge-
samten Splines. Die längeren Splines kommen mit 5 Punkten, die kürzeren mit3 bis 4 Punkten aus.
Abbildung 7.51: Splines als Haare
Dann benötigen wir als nächstes ein Haarsegment, also ein kurzes Stück aus einem der Haare. Ich habe - um die Polygnoanzahl bewusst sehr niedrig zu halten - nur fünf Polygone in einem Polygon-Objekt zusammengefasst und wie in Abbildung 7.52 gruppiert. Je mehr Polygone man bereit ist zu „investieren", desto schöner wird der Effekt. Diese Flächen habe ich dann mit einfachen Alpha-Shadern belegt. Dazu habe ich den Wasser- oder den Wolken-Shadervon CINEMA4D im ALPHA-Kanal eines Materials benutzt Im FARBE-Kanal stellt man dann die gewünschte Färbung der ausgestanzten Bereiche ein. Entsprechend auf die Flächen des Haar-Segments gelegt, sieht das dann wie oben links in Abbildung 7.52 aus. Ist man mit Größe, Form und Textur des Segments zufrieden, erstellt man je nach Länge des Haares sechs bis 12 Kopien und ordnet diese einer Kopie des HaarSpiineswie in Abbildung 7.53 unter. Dabei muss jedes Segment unter dem vorherigen eingeordnet sein.
Abbildung 7.52: Ein Low-Poly-Objekt als Haar-Segment Objekte |strulctur| Brovwr | Farb-Prewt3| Pinsel-Prwsts j ^ Datei
| &
A
Bearbeiten
«
g
Objekte
e
R
Tags lad u r
!
/
.
__
" :
S
0«intenR
'^° ;
j11 t:MR6 ^»! «-
•- V i A : »»AAifMf X : ».AAlfüig | |
;
A : «aAA^^Ü A.: , 9 < > A A f f H «
=*.-..
A : !°<»AAäiäi|| A:|'»AAüitJi A'. j'aAAiSäiü
4»»
AI; »»AAIJP^ OOAAÜÜÜ
A:
—— A : ' a AAÜÜiS 30.«, A : »»AAHHÜ j I i-MR? [
E „ „ A : »aAA^äi'« : - ;v zä —m
Abbildung 7.53: Segmente einem Haar-Spüne unterordnen
Wir haben nun jeden verwendeten Haar-Spline zweimal vorliegen, einmal mit untergeordneten Haarsegmenten und einmal ohne. Die Splines ohne die Segmente ordnen Sie dem Kopf-Objekt unter. Diese Splines werden sich also mitbewegen, wenn das Kopf-Objekt bewegt wird. Werden Bones zur Animation eines Characters benutzt, so würde man die Splines direkt dem Kopf-Bone unterordnen, damit sich diese dann entsprechend mitbewegen. Die Splines mit den Segmenten können an einer beliebigen Stelle außerhalb oder auch innerhalb der Hierarchie platziert werden. Wohl am besten ist es, wenn man die Splines mit den Segmenten in entsprechenden NULL-OBJEKTEN sammelt, um sie bei Bedarf bequem unsichtbar und sichtbar machen zu können. Den Splines in der Hierarchie geben Sie dann das VREEL-DYNAMix-Plugin, das Sie im DATEI-Menü des OBIEKTE-FENSTERS unter NEUES TAG -> PLUGIN TAG finden. Im Dialog des Plugins können Sie nun sehr exakt das Verhalten des Haares steuern. Und dabei erschöpft sich der Funktionsumfang nicht auf die Bewegung des gesamten Objekts, sondern Sie können jeden Punkt des Objekts einzeln ansteuern {siehe Abbildung/.54). Sie geben also in dem SuwE-Eingabefeld den Namen des entsprechenden Splines mit den Segmenten ein. Dieses wird ab jetzt automatisch jeder Bewegung des Splines mit dem Plugin-Tag folgen. Über DELAY steuern Sie die Anzahl an Bildern in der Animation, die der Spline mit den Segmenten hinterherhinken soli. Je größer der DELAY, desto träger wirkt das Objekt dadurch. Bei Haaren sollte ein DELAY von i ausreichen. SPEED, DAMP und SCALE sind für die Geschwindigkeit, Dämpfung und Amplitude der entstehenden Schwingungen wichtig. Die anderen Parameter führen hierzu weit vom Thema weg und sind für dieses Beispiel auch nicht relevant
Abbildung 7.54: Das physikalische Verhalten des Haares definieren und den MotionBlur-Effekt aktivieren
Wiederum wichtig sind jedoch die Parameter im HAiR-MODE-Abschnitt des Dialogs. Dort definieren wir nämlich, wieviel Segmente wir auf dem SiAVE-Splme verteilen möchten und wie stark die Segmente später „verschmiert" werden sollen. Der Trick an dieser Funktion ist nämlich, dass es mit Hilfe der aktivierten SZENEMOTION-BLUR von CINEMA 40 die relativ groben Segmente miteinander mischen kann. Wir sehen gleich noch in einer Abbildung, wie dies wirkt. Zunächst müssen jedoch noch auf der zweiten Seite des Dialogs die Werte der ersten Seite auf die einzelnen Punkte des SiAVE-Splines übertragen werden. 100% bedeuten hier, dass der entsprechende Punkt des Splines die eingestellten Parameter zu 100% zeigen wird. o% dagegen halten den Punkt des SuwE-Splines an dem Punkt des Original-Splines fest. Dies macht vor allem Sinn am Haaransatz, da dort kein Nachschwingen zu erwarten ist. Zwischenwerte führen erwartungsgemäß zu reduzierten Effekten an den Punkten. Man könnte nun noch Gravitation oder andere Objekte als Bezugspunkte definieren, aber wir wollen hier nicht zu tief in dieses Plugin einsteigen. Der gewünschte Effekt wird sich auch jetzt schon zeigen. Ein derartig eingestelltes Plugin gehört jetzt zu jedem der Splines, die dem Kopf untergeordnet wurden, jedes Plugin muss dabei natürlich auf die entsprechende Kopie mit den Segmenten verweisen. Man sollte daher für die Spline-Kopie eindeutige Namen wählen, z. B. mittels einer fortlaufenden Nummer am Ende, damit es nicht zu Verwechslungen oder Überschneidungen kommt. Das Plugin findet den SLAVE-Spfine nämlich nur anhand des Namens. Wirft man nun einen Blick in den Editor, so erkennt man etwas wie in Abbildung 7.55. Das Plugin hat automatisch dafür gesorgt, dass die Segmente gleichmäßig auf dem Spline verteilt wurden. Man kann das Plugin also auch durchaus nur für diesen Zweck nutzen, z. B. um Bones auf einem Spline anzuordnen und über Animation der Spline-Punkte zu bewegen. Die Objekte auf dem Spline werden nämlich automatisch an Veränderungen der Splineform angepasst. Dies aber nur am Rande. Sollten Sie feststellen, dass größere Lücken zwischen den Segmenten entstanden sind, fügen Sie einfach ein oder zwei Segmentkopien unter dem SlAVE-Spline hinzu und erhöhen Sie entsprechend die Anzahl im Plugin-Dialog hinter dem dazugehörenden Original-Spline. Sind alle DYNAMix-Tags richtig verteilt, könnte die Frisur wie in Abbildung 7.56 aussehen. Mehr Spline und aufwändigere Texturen und Segmente würden dies natürlich noch verbessern. Ich möchte jedoch in diesem Beispiel Polygone sparen. Wir kommen in diesem Beispiel schließlich schon mit ca. 50 Polygonen für eine Haarsträhne aus im Vergleich zu ca. 300 bis 400 Polygonen bei der Verwendung von NURBS-Objekten.
Abbildung 755 Editoranstchtaufem Haar-Splme m/fSer-er^
Abbildung 7 56: Der fertig oestückte Kopf
Nun kann man natürlich sagen, „Kunststuck, die Strähne ist ja auch viel eckiger". Dies mag im Editor auch so sein, aber bei der letztendlichen Berechnung des Bildes mit Motion Blur sieht das schon anders aus (siehe Abbildung 7.57)- Wie Sie dort erkennen können, hat sich die Form der Strähne durch die Motion Blur vollständig geglättet. Zwar muss dafür der zeitliche Mehraufwand durch die Motion Blur einkalkuliert werden, diese ist jedoch bei Animationen sowieso oft aktiviert. Die Speicherersparnis durch die low-Poly-Segmente und die sehr einfachen Haartexturen sowie das schnellere Feedback bei der Arbeit im Editor müssen schließlich auch noch in die Rechnung mitein bezöge n werden.
Abbildung 7.57: Unterschied zwischen Editor-Ansicht und gerenderten) Bild mit Motion Blur. Dies ist jedoch nur als Anregung zu verstehen, da Sie natürlich auch traditionelle Haare oder ganz andere Objekte über dieses Plugin animieren können. Dafür lassen Sie einfach die Segmente weg und benutzen die SiAVE-Splines z. B. in LOFToder SWEEP-NURBS. Die automatische Animation bleibt dabei schließlich erhalten. Mit dieser Technik kann dann natürlich auch auf Motion Blur verzichtet werden. Interessant ist sicher auch der Gedanke, z. B. ein Frisur-Objekt aus Poser zu benutzen. Das Plugin kann nämlich auch mit Vertex-Maps umgehen. Wichtet man die
Enden der an sich starren Frisur mit 100%, werden diese Enden auch physikalisch richtig mitschwingen und sich verformen, sobald der Kopf bewegt wird. Abbildung 7.58 zeigt nochmals ein mögliches Ergebnis mit dem MoiiON-BujR-Effekt und Spline-Haaren. Was das Plugin ansonsten noch kann, entnehmen Sie bitte dem Demo-Matenalauf der CD oder den Internetseiten des Herstellers.
Abbildung 7.58: Ein Frisur-Beispiel
7.5 Reduzieren und Explodieren In Version 7 haben auch zwei neue Plugins Eingang gefunden, die Polygonreduktion und ein neues Explosions-Plugin. Beide beleuchte ich kurz in diesem Beispiel. Als Ausgangsobjekt dient mir ein mit einem 3D-Scanner eingescanntes Maskottchen. An dieser Stelle herzlichen Dank an die Firma BAULMANN PRODUKT ENTWICKLUNG und hier speziell an Klaus Bautmann, der mir die Daten zur Verfügung stellte. Die Firma bietet unter anderem einen 3D-Scan- und einen 3D-Print-Service an. Modellierte Objekte lassen sich mit dieser Technik also auch wieder als „echte" Objekte
ausgeben, die man tatsächlich m die Hand nehmen kann. Informationen darüber erhalten Sie bei www.digital-forms.de. Dank der freundlichen Unterstützung liegt das h och aufgelöste Objekt auch auf der CD zu diesem Buch vor, damit Sie selbst Erfahrungen mit dem Polygon-Reduzierer bei hoch aufgelösten Objekten sammeln können. Neben der hohen Polygon- und Punktdichte bei eingescannten Objekten gibt es bei der Weiterverarbeitung oft Probleme an „Nahtstellen" im Objekt. Gescannte Objekte können ja nicht in einem Abtastvorgang erstellt werden, sondern es werden mehrere abgetastete Ansichten des Objekts zu einem Modell zusammengesetzt. An den Stoßkanten dieser Einzelaufnahmen kann es zu Unregelmäßigkeiten kommen. Das heißt, dort liegen die Punkte nicht immer exakt aufeinander. Oft stimmt die Punktdichte dort auch nicht übe rein. Deshalb ist eine Nachbearbeitung-am besten direkt m der Scannsoftware-anzuraten. Dies nur als Hinweis vorweg, da wir spater auch auf diese unregelmäßigen Stoßkanten treffen werden. Diese müssen dann an dem reduzierten Objekt „von Hand" bearbeitet werden. Wir beginnen also damit, das Karottenmännchen in CINEMA4D einzulesen. Das Objekt besteht aus ca. 457.000 Polygonen und ist damit schon recht speicherintensiv (siehe Abbildung 7.59). Überprüfen Sie also bereits vor dem Laden, ob Sie genügend Speicher für die kommenden Aufgaben an CINEMA 40 zugewiesen haben. Besonders auf Apple-Macintosh-Rechnern kann es sonst zu Fehlermeldungen bezüglich knappen Arbeitsspeichers kommen.
Abbildung 7.59 Dos noch unreduzierte Karottenmannche^
Bevor Sie mit dem eigentlichen Reduzieren beginnen, sollten Sie alle übrigen Möglichkeiten ausschöpfen, das Objekt zu optimieren und überflüssige Punkte und Flachen zu loschen Der erste Schritt dazu ist das OPTIMIEREN des Objekts Den gleichnamigen Befehl kennen Sie ja bereitsaus anderen Beispielen dieses Buchs Sie finden ihn im STRUKTUR Menü Verschaffen Sie sich zuvor einen Überblick über die Großenverhaitmsse des Objekts Oftmals liegen Ob|ekte, die m einer anderen 3D-Software erstellt wur den, stark verkleinert i n CINEMA 4D vor Die Abmessungen sollten Sie daher im KOORDINATEN MANAGER abfragen Dies ist deshalb relevant, da das Optimieren der Punkte eine TOLERANZ benutzt Ist der Abstand zwischen Punkten geringer als der m dem TOLERANZ Feld emgetra gene Wert, so werden diese Punkte m einem Punkt zusammengefasst Hat das Ob jektvon sich aus sehr kleine Dimensionen, kann es also sein, dass zu viele Punkte zusammengefasst werden, die ansonsten wichtiger Bestandteil der Form des Mo dellssmd Vergrößern Sie also ggf durch SKALIEREN im MODELL BEARBEITEN Modus das Ob jekt auf Abmessungen im Bereich um i ooo bis 2 ooo Einheiten und optimieren Sie es erst dann Dies stellt sicher, dass wirklich nur unmittelbar aufeinander liegende Punkte zusammengefasst werden Als zweiten Schritt fuhren Sie das UN-TRIANGULIEREN aus, das Sie ebenfalls im STRUKTUR Menü finden Dadurch werden nach Möglichkeit jeweils zwei dreieckige Polygone zu einem viereckigen Polygon zusammengefasst Wenn Sie die Option WINKEL AUSWERTEN aktiviert lassen, werden nur Dreiecke zusammengefasst, die m einer Ebene liegen Um die Form des Objekts möglichst unberührt zu lassen, sollten Sie diese Op tion aktiviert lassen (siehe Abbildung 7 60) Wie Sie der Abbildung entnehmen können, hat sich die Anzahl an Polygonen und Punkten durch diese Schritte schon erheblich reduziert, nämlich von ursprünglich 457 340 auf 394 717 Polygone
Abbildung 7 60 Optimierungen der Polygone im Vorfeld der Reduzierung Damit sind wir dann jedoch am Ende unserer Möglichkeiten angelangt Nun hilft uns nur noch das neue Reduzierungswerkzeug weiter Sie finden dies bei den De
formatoren, denn es arbeitet auch wie ein Deformator Es muss nämlich dem Objekt untergeordnet werden, auf das es wirken soll Rufen Sie also das POLYGONREDUKTioN-Objektauf und klicken Sie doppelt darauf, bevor Sie es dem Objekt unterordnen Ein Dialog wie m Abbildung 7 61 links wird sich offnen Über den Schieberegier steuern Ste die Starke der Reduzierung m Prozent Eine Reduzierung von 90% bedeutet also, dass wir zum Schluss ein Objekt erhalten, das nur noch aus einem Zehntel der Polygone besteht Darunter finden sich verschiedenen Optionen COPLANARE OPTIMIERUNG achtet auf coplanare Flachen, also Polygone, die aneinander angrenzen und gleichzeitig m einer Ebene liegen Diese Option sollte grundsätzlich aktiviert bleiben Die entsprechenden Flachen werden dann zusammengefasst GRENZKANTEN ERHALTUNG konserviert bei der Optimierung die offenen Enden der Form Dies ist besonders wichtig bei nicht geschlossenen Objekten Bei einem Kopf z B am Hals oder den Offnungen für Augen und Mund Ist das Objekt vollständig geschlossen, hat diese Option keine Auswirkungen auf das Resultat Sie können diese Option also auch immer aktiviert lassen POLYGON QUALITÄT SICHERSTELLEN sorgt für eine ausgewogene Punkt und Polygon Verteilung m den zusammengefassten Bereichen Dies ist besonders bei coplanaren Flachen wichtig Diese Option sollte also besonders bei Objekten mitvielen coplana ren Flachen aktiviert sein Da ansonsten m anderen Bereichen keine Nachteile auftreten - außer einer etwas längeren Berechnungszeit - kann man also getrost auch diese Option immer aktiviert lassen Übrig bleibt der MESH QUALITATSFAKTOR Dies ist ein etwas komplexer Faktor m der Berechnung Je hoher dieser Wert gewählt wird, desto genauer werden sich überlappende Flachen und unnötige Punkte innerhalb von Flachen vermieden Die Standardeinstellung von i ooo sollte für viele Objekte genügen Sollten Probleme auftreten, erhohen Sie diesen Wert Dies ist eigentlich schon alles, was es zu den Einstellungen zu sagen gibt Sehr wichtig zu beachten ist jedoch noch, dass m der Version, die mit den ersten Lizenzen von CINEMA4D V/ ausgeliefert wurde, die Erhaltung von UV-Koordinaten noch nicht eingebaut ist Wenn Sie also-wie im BODYPAINT 30 Beispiel in diesem Kapi tel-bereits Texturen mit UV Koordinaten auf Ihr Objekt gelegt haben und es dann erst reduzieren, werden die vorhandenen UV Koordinaten nicht der Reduzierung angepasst Die Textur wird also danach nicht mehr passen und muss neu zugewie sen werden Eine kommende Version des POLYGONREDUZIERERS soll dies jedoch beherrschen. Halten Sie also immer nach aktuellen Versionen Ausschau Dies gilt natürlich generell für alle Bestandteile eines jeden Programms Steilen Sie also eine Reduzierung von 90% ein und aktivieren Sie alle Optionen Den MESH QUALITATSFAKTQR belassen Sie vorerst bei i ooo Ziehen Sie jetzt den Polygonreduzierer unter das Objekt des Karottenmannchens-wie m Abbildung/ 61 gezeigt Dort ist der Reduziere noch durch ein Kreuz deaktiviert Bei Ihnen sollte dort ein grüner Haken stehen, damit er auch arbeiten kann
Nach einiger Zeit wird sich am unteren Rand desCINEMA-4D-Layoutsein Statusbalken zeigen, der den aktuellen Grad der Reduzierung anzeigt. Dies kann durchaus einige Minuten dauern. Lassen Sie dem Rechner diese Zeit und warten Sie das Ergebnis ab.
Abbildung 7.61.- Durchfuhren der Reduzierung Wenn der Vorgang abgeschlossen ist, wird sich für Sie im Editor eigentlich nichts Neues zeigen. Aktivieren Sie daher das Objekt des Maskottchens im OBJEKTE-Fenster und wählen Sie im FUNKTIONEN-Menü den Eintrag AKTUELLEN ZUSTAND IN OBJEKT WANDELN. Dadurch wird eine Kopie des aktiven Objekts angelegt, die den derzeitigen Zustand des Objekts repräsentiert. Deaktiveren Sie nun unbedingt den POLYGONREDUZIERER durch Ausschalten der PIPELINE für Deformatoren am linken Layout-Rand oder durch direktes Ausschalten im OBJEKTE-Fenster. Ansonsten wird jede Aktion in den Ansichten oder im OBJEKTEFenster eine erneute Berechnung der Reduzierung hervorrufen, die ja bekanntlich mehrere Minuten dauern kann. Wenn Sie sich nun die neue Kopie des Objekts ansehen, so werden Sie feststellen, dass diese nur noch rund ein Zehntel der ursprünglichen Polygonanzahl zeigt. Wenn Ihnen dies noch immer zu viel ist, verändern Sie die Reduzierungsstarke auf ca. 80% und ordnen Sie das „aite" POLYGONREDUKTiON-Objekt dem bereits einmal reduzierten Objekt unter. Das ursprungliche Objekt können Sie dann loschen, um den Speicher nicht unnötig zu belasten. Nachdem Sie den POLYGONREDUZIERER aktiviert und das Objekt danach wieder mittels AKTUELLEN ZUSAND IN OBJEKT WANDELN dupliziert haben, haben wir nun ein einigermaßen kompaktes Objekt, mit dem man gut weiterarbeiten kann. Loschen Sie daher nun den POLYGONREDUZIERER und alte alten Versionen des Objekts. Wir werden dieses reduzierte Objekt jetzt teilweise explodieren lassen, um uns auch mit dem zweiten neuen Plugin zu beschäftigen.
7.5.1
Explosion FX
Als Vorarbeit dazu erstellen Sie zwei Polygon-Selektionen an der ausgestreckten Hand der Figur, wie es Abbildung 7,62 zeigt. Die Selektion mit dem Daumen habe ich TeiiL genannt, die mit der kompletten Hand einfach nur Hand.
Bitte beachten sie auch, dass ich das lokale Koordinatensystem der Figur an die linke untere Außenkante verschoben habe. Um diesen Punkt soll das Objekt später leicht rotieren. Die Lage ist in Abbildung 7.62 ebenfalls markiert.
Abbildung 7.62: Zwei Selektionen des reduzierten Objekts Rufen Sie nun ein ExPLOSiONFX-Objekt auf. Sie finden es - wie auch den PolygonReduzierer - bei den Deformatoren. Ein recht umfangreicher Dialog öffnet sich, wenn Sie doppelt auf das Symbol des Deformators im OBJEKTE-Fenster klicken (siehe Abbildung 7.63). Ich werde nur kurz auf die Parameter eingehen, da Sie deren genaue Funktionsweise ebenso im Handbuch nachlesen können. Auf der ExpiosiON-Seite des Dialogs steuern Sie die Stärke, Ausdehnung und Geschwindigkeit der Druckwelle der Explosion. Teilweise müssen die passenden Werte durch mehrere Versuche ermittelt werden, da diese stark von den Abmessungen des zu sprengenden Objekts abhangen. Besonders wichtig ist dabei der REiCHWEiTE-DER-ExpLOSiON-Wert. Er sollte großer als die Abmessungen des Objekts ausfallen, damit auch alle Teile erfasst werden können. Diverse Zufallswerte bringen Variation in die Berechnung mit ein. Auf der FRAGMENTE-Seite definieren Sie Form und Anzahl der Fragmente, also der Bruchstucke Ihres Objekts, die durch die Explosion entstehen sollen. Besonders wichtig ist hier FRAGMENTART und MASKE, denn damit können Sie das Aussehen der Fragmente teilweise selbst durch Selektionen bestimmen oder die Explosion nur auf vorher selektierte Bereiche des Objekts beschränken. Die FRAGMENTART SELEKTIONSWEISE definiert alle eventuell vorhandenen Selektionen des Objekts als Fragmente. Damit können Sie also z. B. eine zu Boden fallende Vase in nur zwei oder drei große Scherben explodieren lassen. Wichtig dabei ist, dass alle Polygone, die nicht in einer Selektion vorkommen, automatisch in einer Selektion zusammengefasst werden. Sollen nur die in Ihren Selektionen enthaltenen Polygone explodieren, so müssen Sie die Option REST FIXIEREN aktivieren.
Ist zusätzlich eine MASKE definiert - die wiederum eine Selektion ist -, werden nur die in der Maske enthaltenen Selektionen gesprengt. Dies kann sinnvoll sein, wenn Sie einige der Selektionen nur für Texturen oder Bone-Beschränkungen ersteilt haben. Wie Sie Abbildung 7.63 entnehmen können, habe ich auf diese Weise im Dialog nur die Explosion des Daumen-Segments aktiviert. Der Rest der Figur wird von der Explosion verschont. Auf der GRAViTATiON-Seite kann eine zusätzliche Kraft aktiviert werden, die die Fragmente z. B. zu Boden fallen lässt. Derzeit ist jedoch keine Kollisionserkennung implementiert, die die Fragmente z. B. auf einem vorhandenen Boden abprallen lässt. Je stärker die Kraft, desto schneller fallen die Fragmente entlang der angegebenen Richtung. Auf der RoiATiON-Seite kann das Rotationsverhalten jedes Fragments gesteuert werden. Dies ist nicht zu verwechseln mit dem WiRBEL-Wert auf der ExiRAS-Seite. Dieser steuert das Verhalten der gesamten Fragmente, während der Wert auf der RoTATiON-Seite jedes Fragment individuell steuert. Am unteren Rand des Dialogs befindet sich noch ein ZEir-Schieber, mit dem Sie bei aktivierter VoRSCHAU-Option eine Editordarstellung der Explosion bekommen können. Durch Bewegen des Schiebers können Sie dann jede Phase der Explosion betrachten und ggf. die Werte korrigieren. Dieser ZErr-Wert ist dann auch der einzige Wert, den Sie in der Animation über Key-Frames steuern können. Ich erwähne dies nur deshalb so ausdrücklich, da sich beim Doppelklick auf ein PARAMETER-Keyframe eines Explosions-Objekts exakt der gleiche Dialog öffnet wie im OBJEKTE-Fenster. Der Keyframe-Dialog speichert jedoch nicht eventuelle Veränderungen der Parameter ab, sondern nur die Veränderung desZEii-Schiebers. Ich habe insgesamt zwei ExPiosiONFX-Objekte unter dem Figur-Objekt eingeordnet. Deren Einstellungen können Sie den Abbildung 7.63 und 7.64 entnehmen. Die Einstellungen hätten auch durchaus ganz anders ausfallen können. Explosionen sind schließlich unberechenbar und sehr individuell.
Abbildung 7.63: Einstellungen für das erste Explosions-Objekt
Abbildung 7.64: Einstellungen für dos zweite Explosions-Qbjekt
Abbildung 7.65 gibt noch einmal das wieder, worauf ich zuvor schon hingewiesen habe. Nur derZniT-Wert im ExPLOSiONFX-Diaiog ist animierbar. Sie brauchen also nur für den Startpunkt und den Endpunkt der Explosion PARAMETER-Keyframes mit den ZEir-Werten o% und 100% zu vergeben. Natürlich können Sie damit auch Explosionen rückwärts laufen lassen, indem Sie z. B. im ersten Keyframe 100% und im zweiten o% eingeben. Sie können auch die Explosion auf halber Strecke anhalten und eine Kamerafahrt um die in der Luft schwebenden Fragmente machen (Stichwort: Matrix-EffektJ.
Ich habe mich hier jedoch für die klassische Alternative entschieden und lasse die Explosionen zwar zeitversetzt, aber dennoch linear ablaufen. Um den Effekt einer Druckwelle zu verstärken habe ich die Figur über einfache WiNKEL-Keyframes während der Explosion zur Seite geneigt, als würde sie von der Explosion weggedrückt (siehe Abbildung 7.65).
Abbildung 7.65- Keyframes für die Exp>osionen und dos Ob/eKi
Eine Explosion ohne Feuer und Rauch ist sicher auch etwas langweilig. Ich habe daher eine Lichtquelle mit Noise im sichtbaren Licht hinzugefügt. Deren Parameter sehen Sie in Abbildung 7-66. Mit fortschreitender Explosion nimmt die Intensität der Helligkeit von Licht und sichtbarem Licht zu. Auch der Radius des sichtbaren Lichts wurde über ein Parameter-Key erhöht. Gegen Ende der Animation schwäche ich dann die Lichtleistung des sichtbaren und unsichtbaren Lichts auf o% ab und bewege das Licht langsam nach oben, als wurde Rauch aufsteigen und sich verflucht ige n.
Abbildung 7.66: Rauch mit Lichtquelle hinzufügen
Trotz dieses Lichteffekts sieht es noch immer nicht nach einer Explosion aus. Dafür fehlt es einfach an den typischen Wolken und Flammen mit relativ hart abgegrenzten Rändern. Diese lassen sich mit den Lichtquellen nur schlecht erzeugen. Dort kommt es immer zu weichen Übergängen zwischen sichtbaren und unsichtbaren Anteilen des Lichts. Abhilfe wurden hier volumetrische Partikeleffekte schaffen, wie sie z. B. mit dem separaten PYROCLUSTER-Plugin erzeugt werden können. Ich mochte hier jedoch mit einer einfacheren und doch recht überzeugenden Losung arbeiten, nämlich mit animierten Texturen. Bei DOSCH DESIGN habe ich zu diesem Thema eine Textur-Doppei-CD mit animierten Feuer- und Explosionseffekten namens Pyrotechnics gefunden, die sich auch gut in CINEMA 40 einsetzen lassen. Die Animationen liegen als Einzetbildsequenzen mit schwarzem Hintergrund vor. Wir können diese also gut in ALPHA- und LEUCHTEN-Kanalen einsetzen. Bei derartigen Bildsequenzen geht man so vor, dass man das jeweils erste Bild in den gewünschten Kanal einladt und dann über die BEARBEITEN...-Schaltfläche dort das ZEITVERHALTEN der Texturanimation steuert (siehe Abbildung 7.67). In meinem Fall soll die Explosion in Bild 10 anfangen. Also trage ich im Bereich FILMSEQUENZ für den BEGINN Bild 10 ein. Da die Biidsequenz der Explosion 50 Bilder umfasst, folgt daraus ein ENDE in Bild 59.
Abbildung 7.67: Animierte Pyrotechmcs-Textur von Dosch Design
Diese Einstellungen führe ich einmal im ALPHA- und einmal im LEUCHTEN-Kanal durch, damit nur die eigentliche Explosion sichtbar ist. Der einfarbig schwarze Hintergrund wird durch die Alpha-Anteile aus dem Material entfernt. Wie jedes andere Material auch, kann diese animierte Textur nun z. B. auf eine Ebene gelegt werden und an einer beliebigen Stelle der Szene platziert werden. In unserem Beispiel macht naturlich das Umfeld der explodierenden Hand am meisten Sinn. Damit die Explosionen nicht störende Schatten werfen, sollten Sie den Ebenen zusatzlich RENDER-TACS mit deaktiviertem Schattenwurf zuordnen (siehe Abbildung 7.68). Ich habe zwei unterschiedliche Animationen von der DoscH-PYROTECHNics-CD gewähft und auf zwei Ebenen platziert. Leider waren die Langen der beiden Explosionen unterschiedlich. Um dennoch beide zeitgleich enden zu lassen, habe ich die längere Textur-Explosion mit einer Textur-Animation am Ende ausgeblendet. Dazu rufen Sie ein neues Material auf und laden in dessen AiPHA-Kanal ein schwarzes Bild ein. Sie können natürlich auch einen Verlauf-Shader nehmen, bei dem alle Farben schwarz sind. Alle übrigen Kanäle dieses Materials können deaktiviert werden. Vergeben Sie einen sinnvollen Namen an das Material und schließen Sie dessen MATERIAL-BEARBEITEN-Fenster wieder. In der Zeitleiste rufen Sie dann unter DATEI > NEUE SPUR > SPEZIALEFFEKTE eine TEXTUR-Spur auf und erzeugen zwei Keyframes darauf. In das erste Keyframe tragen Sie den Namen des Materials ein, das die etwas zu lange Explosion enthalt. In das zweite dagegen tragen Sie den Namen des neuen Materials ein, das nur eine unsichtbare Oberfläche erzeugen wird.
Abbildung 7.68: Animierte Texturen in die Szene einfügen
Verschieben Sie dann die beiden Keyframes so, dass das Keyframe mit dem unsichtbaren Material zu dem Zeitpunkt auftaucht, an dem das Material mit der anderen Explosion abgelaufen ist. In meinem Fall also bei Bild 59. Das TEXTUR-Keyframe mit der zu langen Explosion kann dann z. B. bei Bild 50 platziert werden. Dies führt dazu, dass die zu lange Animation bis Bild 50 normal abläuft und dann in dem Bereich zwischen Bild 50 und Bild 59 langsam auf unsichtbar geschaltet wird (siehe Abbildung 7.69). Einen ganz ähnlichen Effekt können Sie übrigens auch mit einer AUSBLENDENSpur für die entsprechende Ebene erzielen. Dort können Sie die Sichtbarkeit eines Objekts über Keyframes zwischen o% und 100% steuern.
Abbildung 7.69: Phasen der fertigen Animation
Damit sollten wir alle Elemente einer Explosion definiert haben und können die Animation berechnen lassen. Dazu nur ein kurzer Blick auf die verwendeten RENDERVOREINSTELLUNGEN, da wir bislang keine Animationen berechnet haben (siehe Abbildung 7.70). Wie bei allen Animationen macht in diesem Fall besonders die Verwendung von Motion Blur, also von Bewegungsunschärfe Sinn. In vielen Fällen kann dann auf zusätzliches Antialiasing verzichtet werden, da Motion Blur auch unbewegte Teile weichzeichnet. Ich habe daher das ANTIALIASING auf der ALLGEMEiN-Seite deaktiviert. Dies spart uns zudem etwas Rechenzeit. Auf der AusGABE-Seite stellen wir ein, wie groß das Format des berechneten Films sein soll und welcher Bereich der Animation berechnet werden soll. Ich habe hier eine Ausgabegröße von 320 x 240 Pixeln bei 25 Bildern pro Sekunde fertigen Films eingestellt. Die Animation wird - beginnend bei Bild o und endend bei Bild 59 - berechnet. Der fertige Film hat dann also eine Länge von 60 Bildern. Auf der SPEiCHERN-Seite geht es um den Speicherpfad für die berechneten Daten und darum, welches Datenformat zur Speicherung verwendet werden soll. Bei Animationen haben wir die Wahl zwischen Einzelbildsequenzen - wie wir sie soeben bei der Textur von DOSCH DESIGN benutzt haben - und in sich geschlossenen Filmformaten, wie z. B. Quicktime oder AVI. Welches Format zum Einsatz kommt, entscheidet die Wahl im FoRMAT-Menü. Ein ausgewähltes Bildformat, wie JPEG oder TlFF führt automatisch zur Speicherung einer Einzelbildsequenz. Ein Format wie QUICKTIME dagegen wird die Speicherung eines entsprechend komprimierten Films zur Folge haben. Wie stark derartige Formate komprimiert werden sollen, oder weicher Codec z. B. bei einer Animation benutzt werden soll, wird im OPTIONEN...-Menü eingestellt.
In unserem Fall noch wichtig ist die Einstellung auf der EFFEKTE-Seite der RENDERVOREINSTELLUNGEN, denn dort muss noch die SZENEN-MOTION-BLUR aktiviert werden. Diese muss zuvor aus dem Posr-EFFEKT-Menü auf der Seite aufgerufen werden. Ich habe einen Wert von PFACH gewählt. Dies bedeutet, es werden neun Bewegungsphasen für ein Bild der fertigen Animation berechnet, je hoher der Wert hier gewählt ist, desto weicher und perfekter wirkt das Ergebnis, desto länger braucht jedoch die Berechnung. Bei einem Wert von gFACH also schon neunmal länger als ganz ohne MOTiON-BujR-Effekt.
Abbildung 7.70: Mögliche Render-Emsteüungen für die Explosionsanimation
Nachdem Sie die Berechnung im BILD-MANAGER gestartet haben, und diese schließlich beendet wurde, finden Sie die fertige Animation im eingestellten Format auf Ihrer Festplatte. Sie können nach diesem Schema dann auch alle übrigen Animationen berechnen, die wir vorwiegend im Expression-Kapitel besprochen haben. Nur der Speicherpfad und der zu berechnende Bereich der Animation sind jeweils anzupassen. Dauert Ihnen die Berechnung zu lange, reduzieren Sie die MOTION-BLUR oder deaktivieren Sie diesen Wert ganz. Damit sind wir am Ende dieses bunt gemischten Kapitels und auch des Buches angekommen. Ich hoffe, es waren einige hilfreiche und interessante Tipps für Sie dabei, die Ihnen für die tägliche Arbeit von Nutzen sind. Da sich gegenüber der alten Version 6 bezüglich Bones und Animation nichts verändert hat, habe ich diesen Bereich in diesem Buch nur gestreift und mich mehr auf die neuen Programmteile und die Programmierung von Expressions konzentriert. Ich ersehe aus vielen Rückmeldungen, dass daran ein reges Interesse herrscht. Sollten Sie an vertiefender Literatur zum Thema Bones und inverse Kinematik interessiert sein, so kann ich Ihnen mein Buch CINEMA 40 6.0, ebenfalls erschienen bei Addison-Wesley, empfehlen. Die dort demonstrierten Workshops und Beispiele zu diesem und anderen Themen lassen sich nahtlos auch in der aktuellen Version von CINEMA4D benutzen und haben daher nicht an Aktualität verloren. Gerne dürfen Sie mich auch über meine Seite www.vonKoenigsmarck.de kontaktieren. Sie finden dort u. a. auch ein Forum und eine große Galerie, um sich mit anderen auszutauschen. Happy rendering Arndt von Koenigsmarck
Index Numerics 20 Noise 354
A Ablosen 18 Abnahme 340 Abtrennen 18, 8l, 263 Addieren 408 Akima-Splmes 20 Aktives Werkzeug 26 Aktuelle Ansicht rendern 317 Antialiasmg 397 Arnold Modus 320 Array 18, 171 Atmosphäre 403 Ausblenden 456 Ausschneiden 49
Boole-Grundobjekt 43 Boole Objekt 43 Box Modellierung 89 Brechung 370 Browser Fenster 25 Brücke 18, 34, 73, 264 B Splines 20
c Caustics 313. 331 Channei Shader 345 Characters 189 Cmespec 318 COFFEE-Expression 116, 118 Composftmg 395, 412 Coplanare Optimierung 447 Cutter 200, 202
AVI 457
D
B
Darstellung 33 Deckflachen mit Rundung 57 Diffusion 403 doc 119 Dosch Design 433 Drawmg Pipelines 15 Drehen um Normalen 19 Duplizieren 291
Baulmann Produkt Entwicklung 444 Berechnung 23 Beschränkungs-Tag 58, 61 Betriebsart 13 Bevel 18. 46, 65, 262 Bezier-Splmes 20 bhodiNUTColonzer 345 bhodiNUTDanel 365 bhodiNUT Distorter 347 bhodiNUT Fresnel 367 bhodiNUT Fusion 362 bhodiNUTHue 373 bhodiNUT Postenzer 357 ßias 310 Biege-Objekt 134, 284 Blmn 350 BODYPAINT 3D 403, 419 Bones 459
E EdgeBevel 200, 202 EdgeExtrude 200-201 Einfügen 49 Emzetbildsequenz 457 else 172 Energie 334 ExpIosionFX Objekt 449 Expression Editor 118 Extras 450
JURBS 39 en 18, 72, 258
7 ctO H9
eformator 60 plme 47 20
art449 Splines 20
lorrektur 404 eit 314, 336 inerQ 176 142 120
»0171
onO 142 ionO 124 ) 142
Instanzen 291 Interaktives Mappmg 424 inverse Kinematik 459
K Kamera 305 Kamera-Fenster 56 Kapsel 414 Key Frames 125 Knittern 299 konvertieren 14 Kopieren 49 Kreis 152 Kreis-Spline 48 kubische Splines 2O
L Landschaft Objekt 308 Leuchten-Kanal 203 Live-Selektion 32 Loschen 8l Losung speichern 317 Low-Poly Modellierung 71
20
tes Morphing 170 t 340, 403 ag 68, 300 iskurven 406 )n 450 ten-Erhaltung 447 y-Frames 137 ekte konvertierten 14 rze ugen 300
'rpolation 37
md 20 ind-Compositmg 414 RBS 71
M Magnet 19 Maske 449 Material bearbeiten 203 Material Passes 402 Material Tag 355 Materialien-Fenster 27, 203 Matt-Option 336 Max Auflosung 315 Mesh-Qualitatsfaktor 447 Message (MSGJJPDATE) 173 Messer 19, 78, 96, 258 Mm Auflosung 315 Morphing 169 Multi-Passes 395 multiplizieren 408
N sion 121 on 341, 402 lanager rendern 325 ?rkopieren 419 rudieren 18, 72 eite 340
Neuberechnung 317 Neues Tag 68 Normale 32 Normalen ausrichten 227
0 Oberflachen-Caustics 334
Objekt bearbeiten 13 Objektachsen bearbeiten 113 Objekte-Fenster 25 op 119 Optimieren 31, 267, 446 Oren-Nayar 350 Ortsvektor 169
P Paletten bearbeiten 16 Parameter-Key-Frames 137 Partikel 22 Phong 350 Phong-Wmkel 300 Photonen 334 Polygone bearbeiten 13 Polygone erzeugen 100 Polygonqualitat sicherstellen 447 Polygonreduktion-Obj'ekt 447 Positton-Key-Frame 143 Post-Effekt 458 Power Gradient 345 Prepass 314 Punkte bearbeiten 13 hinzufugen 218 selektieren 65 Selektion 57 verschmelzen 109 Pyrocluster 454 Pyrotechnics 454
Q Quicktime 457
R Radiosity 313 Rahmen-Selektion 67 Rail-Spline 271 Rechteck 307 Reihenfolge umkehren 50 Reihenfolge vorwärts 286 Reihenfolge zurück 286 Render-Tag 321 Render-Voremstellungen 313 Richtungsvektor 169 Ring 305 Rotation 450 Runden 48
S Sammelstrahlen 314 Sample-Distanz 335 Schatten 310, 403 Segmente 54 Segmente verbinden 51, 286 Selektion emfneren 59, 73 Selektion wiederherstellen 65 Selektionsmethoden 16 Seiektions Tag 57, 73 Separate Lichter 401 SetContainer 0 177 SetData 0 177 SetMgO 121 SetPomtsO 173 SetRotation!} 124 SetScaleQ 142 Shader-Tree 347 SLA-Shader 27, 345 Smooth Shift 19 Snap-Einstellungen 27 Snappmg 430 Sound 23 Spezialeffekte 455 Spiegelung 19, 403 Spline schliessen 51 Splme-Segment 50 Stage-Objekt 20 Starke 313 Stop-Tag 269 Strahltiefe 315, 400 Streuung 336 Struktur Fenster 25 SurroundmgSkies 433 Sweep-NURBS 151 Symmetrie-Objekt 109, 233, 259 Szene Motion-Blur 441 Szene-Objekte 305
T Textur bearbeiten 421 Textur Verzerrung 382 Textur Ansicht 421 Textur-Menu 204 Tonwertkorrektur 404 Tonwertspreizung 404 Transparenz 403
Vreel Dynamix 437
ehmen 114, 214 bung 20, 403 :eilen 104 angulieren 446 ordinaten 419
9 0143 iden 51, 235, 264 lieben entlang Normalen 19 .-Map 443 ien-Caustics 334 jD Entertainment oHG 437
W weiche Interpolation 37 Welt-System 141 Wicket-Objekt 54 Würfel 53, 132
Z Zählvariable 183 Zahnrad 287 Zeitleiste 127 Zeitverhalten 454 Zoomfunktion 16 Zwischenpunkte 51 Zylinder 132, 284
design publishing imaging
Arndt von Koenigsmarck CINEMA 4D 7 Ein Workshop für Profis
MAXON CINEMA 4D 7 setzt neue Maß-
gen wird die Programmierung eigener
Zielgruppe:
stäbe vor allem in fotorealistischer Bild-
Erweiterungen für CINEMA 4D XL de-
2D-/3D-Grafiker
berechnung und professioneller Post-
monstriert. Das besprochene Spek-
Multimedia-Entwickler
produktion. Daneben hat sich das
trum reicht dabei von der Program-
Industrie-Designer
Leistungsspektrum durch neue Kom-
mierung eigener Constrains (der
Special-Effects-
ponenten und Plugins erweitert.
Abhängigkeit zwischen Objekten)
Spezialisten
Das Buch richtet sich sowohl an Umsteiger von älteren Programmversionen als auch an Neueinsteiger. Es behandelt die aktuelle Programmversion CINEMA 4D XL 7 sowie auch CINEMA 4D ART und den 3D-Painter BODYPAINT 3D.
bis hin zu individuellen MorphingRoutinen und Delta-Plugins.
Betriebssystem:
In einer Reihe von Workshops vertieft
MacOS
der Autor die Texturierung mit BODY-
Windows
PAINT 3D, den Umgang mit dem Polygonreduzierer und dem ExplosionFx-Plugln sowie die Arbeit mit den
Neue Schwerpunkte sind die hinzuge-
neuen Render-Passes zur Separierung
kommenen Bildberechnungsmethoden
eines berechneten Bildes z. B. in Licht-
und der Umgang mit den SLA-Shadern,
oder Material-Anteile.
die Programmierung individueller Er-
von CINEMA 4D ein. • Ein konkretes Projektbeispiel veranschaulicht den Umgang mit den neuen Bildberechnungsmethoden für spezielle Lichteffekte (Radiosity und Caustic). In diesem Zusammenhang wird auch detailliert auf die nun inte-
Buch; die aktuellen DeMAXON CINEMA 4D XL 7,
des Workflows und der Produktivität.
haltigen Modellierungsmöglichkeiten
Die Beispiele aus dem mo-Versionen von
weiterungen sowie die Optimierung
• Der Autor führt zunächst in die reich-
Auf der CD:
Der Computer hat sich zum zentralen Werkzeug für die digitale Gestaltung und Medienproduktion entwickelt. Die Buchreihe dpi deckt alle relevanten Themen von der Gestaltung über Technologien bis hin zu Tools ab: Grafik, Design, Bildbearbeitung, 3D-Visualisierung, Publishing, Imaging und Multimedia.
ART und BODYPAINT 3D; Produktmuster von Dosch Design und Noctua Graphics sowie nützliche Expressions und Plugins. ISBN 3-8273-1890-4 DM 79, 90 ÖS 583, 00
grierten SLA-Shader eingegangen.
Addison-Wesley im Web:
ab 1. 1. 2002
• Anhand fortgeschrittener Anwendung
www. addison-wesley. de
€
ADDISON-WESLEY
39, 95 [D]