Es folgt eine Aufzählung aller neuen Funktionen und Erweiterungen der neuen Programmversion 9.0. Ausführliche Funktionsbeschreibungen finden sie wie immer in der überarbeiteten Dokumentation. Die Beseitigung kleinerer Fehler und Ausbesserungen würde das Volumen dieser Aufzählung sprengen und wird daher nicht extra erwähnt. Beispielbilder und Animationen zur Illustration der neuen Möglichkeiten finden Sie in der Galerie. Demoprojekte liegen der Installation bei oder können von registrierten Anwendern aus der Online-Bibliothek abgerufen werden.

Neu ab Version 9.0 sind:


Globales Beleuchtungsmodell - Photon Mapping

  • Raytracing ist der Standard wenn es um hohe Bildqualität geht und optimal für realistische Spiegelungen und Transparenzen. Ein wesentlicher Nachteil von Raytracern ist jedoch, dass die Umgebungshelligkeit im Beleuchtungsmodell nur über einen gleichförmigen Schätzwert "Ambiente" in die Berechnung eingeht. Gerade diese durch diffuses Streulicht bestimmte Umgebungshelligkeit ist aber von enormer Wichtigkeit für den Realitätsgrad eines Bildes, insbesondere in der Architektur und allen Szenen die durch vornehmlich diffuse, nicht spiegelnde Oberflächen geprägt sind. Das in CyberMotion neu implementierte Photon Mapping kombiniert nun Raytracing mit einem globalen Illuminationsmodell, daß sowohl Spiegelungen und Transparenzen als auch die Interaktion diffuser Oberflächen zueinander in hervorragender Qualität abbilden kann. Das neue Verfahren bedient sich dabei im wesentlichen der gleichen Techniken wie sie auch im Raytracing angewandt werden. Beim Photon Mapping werden in einem Vorlauf kleinste, von Lichtquellen ausgesandte Lichtteilchen (physikalisch: Photonen oder auch Strahlungsquanten) auf ihrem Weg durch den Raum verfolgt. Diese von den Lichtquellen emittierten Photonen können ebenfalls wieder auf vielfältige Weise diffus (zufällig) oder spiegelnd reflektiert oder sogar von transparenten Objekten in Brennpunkten fokussiert werden. Damit lassen sich mit Hilfe des Photon Mapping auch sogenannte Caustic-Effekte nachbilden - eben die durch Spiegelung oder Brechung in transparenten Objekten entstandenen Lichtreflexionen. Ein weiterer Effekt ist das Farbbluten, wenn z.B. eine grüne Wand durch diffuse Reflexionen einen leichten grünen Schimmer auf die weiße Zimmerdecke wirft. Allerdings ist das Photon Mapping in seinen Anforderungen an die Rechenleistung und den Speicherausbau auch nicht ganz ohne. So müssen z.B. alle Interaktionspunkte der Photonen mit Objektflächen in einer Art 3D-Lichtkarte - der Photon Map - zwischengespeichert werden. Diese kann bei einer hohen Anzahl emittierter Photonen schnell stark anwachsen, ein entsprechend guter Speicherausbau von mind.128MB RAM sind da eher die Untergrenze.
    • Photon Mapping kann wahlweise nur als indirektes Umgebungslicht in Ergänzung zu den herkömmlichen direkten Beleuchtungsmodellen verwendet werden oder aber als alleiniges globales Illuminationsmodell:
      • Photon Mapping nur für indirektes Licht: wenig Photonen reichen aus um die ambiente Umgebungshelligkeit zu bestimmen, die direkte Beleuchtung sorgt für korrekte Ausleuchtung und scharfe korrekte Schatten. Wenn weiche Schatten gewünscht sind, können diese über die Vergabe eines Lichtradius (flächige Lichtquelle) und mit Hilfe mehrerer Schattenfühler gerendert werden.
      • Photon Mapping als globales Beleuchtungsmodell: die gesamte Illumination wird durch das Photon Mapping bestimmt, die diffusen Interaktionen im Raum kommen voll zur Geltung, Schatten fallen automatisch sehr weich und das ganze Bild wirkt automatisch sehr viel realer. Nachteil: damit auch kleinere Details in der Szene von genügend Photonen getroffen werden, müssen entsprechend viele Photonen ausgesandt werden und die PhotonMap entsprechend groß sein.
    • Getrennte Photon Maps für diffuse Beleuchtung und Caustic-Effekte. So können z.B. nur wenige Photonen zur Bestimmung des ambienten Umgebungsterms emittiert werden, aber eine hohe Anzahl von Photonen für die Caustics-Photon Map, um z.B. gezielt die Reflexionen eines Glases auf einem Tisch in hoher Qualität abzubilden.
    • Für jedes Licht läßt sich getrennt einstellen, ob es zum Photon Mapping beiträgt oder lieber das direkte Beleuchtungsmodell verwendet werden soll. So kann man weniger wichtige Lichtquellen, die vielleicht weit im Hintergrund liegen oder wenig zur globalen Ausleuchtung beitragen (Instrumentenbeleuchtung, etc.) von den umfangreichen Photon Map Berechnungen ausschließen, ohne daß das Bild an Qualität verliert.
    • Statische Photon Map für Animationen. Die Photon Map wird nur einmal berechnet und gilt für alle Bilder der Animation. Dies ist vor allem sinnvoll für Fly-Throughs durch ein Architekturmodell, in dem die Objekte der Szene selbst unbewegt bleiben. Werden auch Objekte oder Lichteinstellungen animiert, so muß vor jedem Bild eine neue Photon Map generiert werden. Ausnahme: Es lassen sich auch gezielt einzelne Objekte vom Photon Mapping ausnehmen, die stattdessen direkt beleuchtet werden. So kann man z.B. trotzdem einen Durchflug durch ein Architekturmodell mit einer statischen Photon Map animieren, während eine Figur oder ein Gefährt sich durch die Szene bewegt.
    • Einzelne Objekte können gezielt vom Photon Mapping ausgenommen werden. Es gibt 2 Anwendungsmöglichkeiten:
      1. Für kleine, detaillierte Objekte, die nicht von genügend Photonen getroffen werden. Schalten Sie das Photon Mapping für diese Objekte aus, so werden diese stattdessen wieder direkt beleuchtet. Das erspart einem eventuell das Erhöhen der Photonenanzahl für die gesamte Szene.
      2. Für bewegte Objekte innerhalb einer Animation mit einer statischen Photon Map (s.o.).


Licht und Feuer

  • Objekt-Lichtquellen - Flächige Lichtquellen, wie sie so oft in der modernen Architektur in Lichtpaneelen eingesetzt werden, sind mit den standardmäßig in 3D-Grafikprogrammen eingesetzten Punktlichtquellen schwer zu nachzubilden. In CyberMotion kann jetzt jedes beliebige Objekt als Flächenlichtquelle eingesetzt werden. Jeder Punkt eines Objektes dient dabei als kleine untergeordnete Punktlichtquelle, die Ihren Teilbetrag zur Gesamtintensität liefert. Der Aufwand für die Bildberechnung - insbesondere bei Schatten - ergibt sich daher aus der Punktanzahl, die gleich der Anzahl der Licht- und Schattenfühler für dieses Lichtobjekt ist. NURBS-Flächen sind aufgrund ihrer regelmäßigen Struktur mit annähernd gleichgroßen Flächen und Punktabständen ideal als Flächenlichtquellen geeignet. Außerdem haben Sie den Vorteil, daß man die Punktauflösung noch jederzeit nachträglich verändern kann, z.B. niedrig für Previews und mit höherer Auflösung für das finale Rendering. Außerdem haben die NURBS-Flächen keine Dicke, können also ideal in Wandflächen eingebaut werden. Es wird nur eine maximale Anzahl von 200 Licht- und Schattenfühlern pro Objekt berechnet; sind mehr Punkte vorhanden, so werden max. 200 Punkte zufällig im Objekt herausgepickt. Eingeschaltet wird die Lichtquelleneigenschaft über die Objekteigenschaften im Materialdialog. Ist diese Option eingeschaltet, dann wird das Objekt nach Wechsel in den Licht-Dialog als ganz normale Lichtquelle aufgelistet und kann dort entsprechend editiert werden. Hier können Lichtfarbe und Intensität eingestellt werden und die Photonen-Emissionsparameter. Die Lichtfarbe ist unabhängig von der Objektfarbe. Stellen Sie sich das Objekt als Körper oder Hülle eines Leuchtkörpers vor. Das Objekt leuchtet nicht nur selbst, sondern wird auch von anderen Lichtern beleuchtet. Das Objektmaterial wird daher als ganz normale Objektoberfläche interpretiert, kann z.B. eine beliebige diffuse Farbe haben oder auch transparent sein. Dann kommt zusätzlich der Eigenlichtanteil mit der Lichtfarbe hinzu. In einer Animation können Sie dann z.B. die Lichtfarbe von dunkel auf hell animieren und das Objekt fängt langsam an zu leuchten. Natürlich können Flächenlichtquellen auch als Lichtobjekte für das Photon-Mapping eingesetzt werden. Die Parameter sind identisch, es kommt lediglich ein Schalter hinzu um zu entscheiden, ob Flächen nur in eine Richtung (also bei geschlossenen Objekten nur nach außen oder bei flachen Lichtpaneelen nur in den Raum hinein und nicht zur Wand) oder ob beidseitig der Objektflächen Photonen emittiert werden sollen. Gesteuert wird dies über die Ausrichtung der Objektnormalen auf den Objektflächen.
  • Lichtintensitätsabfall - der Lichtabfall für Punktlichtquellen erfolgt statt über einen konstanten linearen Wert jetzt annähernd quadratisch. Die Lichtintensität fällt also etwas schneller ab, was den Verhältnissen in der realen Welt näher kommt. (Denken Sie z.B. an einen mit kleinen Pünktchen übersäten Luftballon. Je größer Sie ihn aufblasen, um so weiter streben die Pünktchen auseinander und übertragen auf die reale Welt - um so weniger Lichtteilchen (oder auch Photonen oder Strahlungsintensität) sind pro Flächeneinheit vorhanden. Die Umstellung dient vor allem der besseren Anpassung der Lichtverhältnisse beim Umschalten vom normalem Raytracing zum Photon Mapping und umgekehrt. Unterschiede in der Intensitätswahrnehmung können über die Korrekturparameter für die Photonenintensität vorgenommen werden.
  • Schattenfühler - die Anzahl der Schattenfühler für weiche Schatten beim Raytracing kann jetzt für jede Lichtquelle getrennt eingestellt werden (bis zu 97). Die Ablenkung wird nicht mehr über einen generellen Wert für alle Lampen eingestellt, sondern wird jetzt aus dem der Lichtquelle zugewiesenen Lichtradius bestimmt. Nach erreichen einer gewissen Mindestanzahl von Schattenfühlern werden weitere Schattenfühler nur noch adaptiv berechnet, also nur wenn unbedingt nötig.
  • Volumetrisches Feuer - mit dem volumetrischen Feuer hält ein weiteres Lichtobjekt Einzug in den Licht Dialog. Über einen Button rufen Sie einen kleinen Dialog auf, in dem Sie die Grundmaße eines Zylinders eingeben können, der als Begrenzungsvolumen für ein Feuerobjekt dient. Diesem Zylinder ist ein Lampenobjekt hierarchisch untergeordnet, dessen Parameter denen einer normalen Lampe entsprechen. Innerhalb des Zylinders jedoch wird ein echtes volumetrisches Feuer entfacht. Volumetrisch heißt, das Feuerobjekt wird Schritt für Schritt mit einstellbarer Qualität abgetastet und für jeden Schritt wird eine eigene "Feuerdichte" ermittelt. Es handelt sich also keineswegs nur um eine Textur die auf den Zylinder gelegt wird, sondern innerhalb des Zylinders brennt quasi ein echtes Feuer, dass aus jedem Blickwinkel anders aussieht und das man sogar mit der Kamera direkt durchfahren kann. Verschiedene Parameter steuern die Lebendigkeit, Turbulenzen und das Flackern der Flammen, spezielle Formfilter definieren die äußere Form der Flamme innerhalb des Zylinders. Dann gibt es unabhängig von der Lichtfarbe noch spezielle Farbpaletten, die den Farbverlauf der Flamme steuern - von hellweiß bis orangerot oder auch ins blaue verlaufend. Je nach dem, welche Einstellungen vorgenommen werden, kann von der anheimelnd und ruhig flackernden Kerzenflamme über lebendige Fackeln oder Lagerfeuer bis hin zum tosenden Feuersturm so ziemlich alles simuliert werden. Auch Düsenstrahl oder lodernde Meteoriten sind möglich. Da die Flamme volumetrisch berechnet wird, können auch beliebige Objekte direkt in die Flammen gelegt werden (z.B. Holzscheite oder ein beliebiger abbrennender Gegenstand).


Hintergrundmodelle

  • Atmosphäre - "Himmel/Himmel&Wolken/Nebel-Linear/Nebel-Wirbel" wurden jetzt alle unter einem Eintrag "Atmosphäre" mit verschiedenen Karteireitern für die einzelnen Effekte zusammengefaßt.Jeder Effekt kann optional zur Atmosphäre dazugeschaltet werden.
  • Himmelsfarben - Neuer Farbverlaufsmodus für die Darstellung des Himmels:
    1. Verlauf vom Zenit zum Horizont wie gehabt.
    2. Konzentrisch zur Sonne - Die Sonne steht im Mittelpunkt und der Farbverlauf läuft konzentrisch von der Sonne über die ganze Himmelskugel. Damit können helle Farben am Anfang der Farbpalette und Dunkle am Ende der Farbpalette einen kompletten Abendhimmel abdecken. Es ist nicht mehr nötig für einen vollen Kameraschwenk die Farbpalette zu animieren um auf der einen Seite einen strahlenden Sonnenuntergang und auf der anderen Seite den dunklen Abendhimmel zu animieren.
  • Atmosphäre-Farbfilter - 2 Filterparameter regeln jetzt über 2 Filterfarben eine additive Komponente (blau) und eine zusätzliche Filterfarbe (Rot) für Farbverschiebungen mit zunehmender Entfernung in der Atmosphäre. Wie in unserer Planetenatmosphäre zu beobachten werden dunkle Flächen mit zunehmender Entfernung ins bläuliche verschoben und helle Flächen bekommen mit zunehmender Entfernung einen Stich ins rötliche. Der atmosphärische Nebel muß eingeschaltet sein, damit die Funktion zum tragen kommt.

Nebel - die alte Nebelfunktion wurde durch 2 neue Nebelfunktionen ersetzt:

  • Atmosphärischer Nebel - der atmosphärische Nebel wird jetzt über eine Bodenhöhe und eine maximale Höhe definiert. In der neuen Version wird Nebel mit zunehmender Höhe immer dünner, daher sind die neuen Höhenparameter unabdingbar. In und unterhalb der Bodenhöhe gilt die eingestellte maximale Dichte. In der alten Version wurde die Glättung der Wolkenschicht anhand des Nebeldichteparameters simuliert. Ab der neuen Version erfolgt die Glättung automatisch über den atmosphärischen Nebel. Grundsätzlich alles wird direkt durch den Nebel "gesehen" (Volumetrie). Das heißt, das alle Nebelparameter - insbesondere Höhen und Dichte - auch die Sichtweite der Wolken am Himmel beeinflussen. Ein besonders unangenehmer Effekt wie im Nebel verschwindende Berge vor einem strahlend blauen Himmel sind damit ausgeschlossen. Umgekehrt kann man natürlich Bergspitzen aus dichtem Nebel herausragen sehen.
  • Die Nebeldichte wird jetzt den realen Gegebenheiten entsprechend exponentiell zunehmend berechnet anstatt linear (gleichförmig).
  • Bodennebel - Eine optionale zweite Nebelfunktion kann zusätzlich zum atmosphärischen Nebel eine Bodennebelschicht über die Szene legen. Es gibt wieder Parameter für Boden- und maximale Höhe, im Gegensatz zum atmosphärischen Nebel, der mit zunehmender Höhe immer dünner wird, kann man für den Bodennebel wählen, ob er dicht und ohne Ausdünnung auf dem Boden liegt, oder ob er bis zur maximalen Höhe dünner werden soll.
  • Volumetrischer Bodennebel - Die Bodennebelschicht kann auf Wunsch auch volumetrisch berechnet werden. Das heißt, daß die Szene vom Sichtstrahl regelrecht durchwandert werden muss (Ray Marching) und viele kleine "Proben" im Nebel gesammelt werden, um eine reelle Dichteberechnung über die zurückgelegte Strecke berechnen zu können. Wenn man dann schon mal unterwegs ist, dann können an den Probepunkten auch gleich noch die Lichtverhältnisse untersucht werden um den Nebel dann entsprechend der Lichtverhältnisse korrekt zu schattieren. Das ist natürlich zeitaufwendig, aber sehr wirkungsvoll. Volumetrischer Nebel basiert auf ähnlichen Algorithmen, wie sie auch für die Wolkenberechnung verwendet werden. Entsprechend stehen wieder eine Menge an Parametern zur Verfügung, die das Erscheinungsbild des Nebels vom gleichförmigen Medium bis hin zu flockigen Nebelbänken steuern können. Zuguterletzt kann volumetrischer Nebel auch animiert werden. Man kann eine Windrichtung vorgeben oder den Nebel einfach aufsteigen und in der Höhe auflösen lassen.
  • Nebel illuminiert - Anstatt nur eine konstante Nebelfarbe vorzugeben kann man auch eine automatische lichtabhängige Nebelfarbe berechnen lassen. Ist volumetrischer Nebel eingeschaltet, wird der Nebel sogar schattiert berechnet, eine Lampe wirft z.B. einen sichtbaren Lichthalo (kein Lensflare, sondern echt schattierter volumetrischer Nebel) oder ein Spot zieht einen farbigen Kegel durch den Nebel (ganz ohne die volumetrische Spotfunktion einzuschalten!).


Materialdialog

  • Prozedurale Texturen - Die zufällige Textur-Normalenablenkung wurde qualitätsmäßig überarbeitet und liefert jetzt bei höherer Rechenzeit bessere Ergebnisse. Die Skalierung erfolgt jetzt einfacher über einen globalen Skalierungsparameter, die 3 separaten Achsenwerte dienen nur noch der Dämpfung der Ablenkung auf den 3 Raumachsen. Auf Wunsch kann eine B-Spline-Glättung hinzugeschaltet werden, die aber noch mal erheblich Rechenzeit kostet.
  • Texturfarbe = Materialfarbe - Eine neue Option "Texturfarbe = Materialfarbe (nur Normalenabl. anzeigen)" schaltet die Farbmischung von prozeduralen Texturen aus. So kann man schnell die Normalenablenkung für ein Texturmuster (z.B. Kacheln) oder zufallsbedingte Normalenablenkung für einfarbige Objekte einstellen, ohne vorher die Texturfarbe an die Materialfarbe anpassen zu müssen.
  • Landschaftstexturlayer - Eine zusätzliche Option "Fleckig auftragen" generiert mehr Detailreichtum und macht Landschaftstexturen noch abwechslungsreicher. Ein Dichte-Parameter und die Überblenden-Funktion steuern den Abstand und die Randübergänge der aufgetragenen Texturinseln.
  • Wellen - Die Wellen-Normalenablenkung ist überarbeitet worden. Die Wellenparameter liegen jetzt auf einem extra Karteireiter im Materialdialog.


und...

  • Objekte redimensionieren - Zusätzliche "Box-Dimension"-Eingabefelder im "Objekt Skalieren"-Arbeitsmodus zum direkten Eingeben der Objektmaße und zwar wahlweise entlang Raum- oder Körperachsen! Auch analytische Objekte können einfach über die Box-Dimensionen redimensioniert werden (nur im Körperachsen-Modus). Ändert man z.B. für einen Zylinder die Maße für die x-Achse und damit den Zylinderradius, so wird auch automatisch die z-Dimension mitskaliert.
  • Objekte fallen lassen - Markierte Objekte können auf Knopfdruck fallen gelassen werden und landen automatisch auf einem Untergrund, falls vorhanden. Es kann wahlweise die Selektion als ein zusammenhängendes Objekt oder aber die einzelnen Objekte und Hierarchien jede für sich fallen gelassen werden. Hat man z.B. einige Dutzend Kegel erzeugt, die in einer Landschaft eine Gruppe von Tannen darstellen sollen, so kann man diese zusammen selektieren und im Modus "Objekte/Hierarchien getrennt" ganz einfach über der Landschaft positionieren und dann herunterplumpsen lassen.
  • Bilder in Viewportfenster einblenden - Wer Konstruktionsvorlagen in die Arbeitsfenster einblenden möchte kann dies jetzt über 2 neue Menüeinträge im Ansichten-Menü tun. Der Menüeintrag "Bitmap in Hintergrund legen" schaltet die Bitmapfunktion ein und der "Bildauswahl..."-Eintrag ruft den Bildauswahldialog auf.
  • Dialog-Parameter, die bei Änderung automatisch ein Keyframe erzeugen - also animierbar sind - werden durch einen bläulichen Hintergrund im Eingabefeld hervorgehoben.
  • Objektauswahl-Dialog - Eine Mehrfachselektion von Objekten kann jetzt auch über einen mit der Maus aufgezogenen Rahmen vorgenommen werden. Sind die Objekte selektiert, öffnet sich ein PopUp-Fenster und man entscheidet ob die Objekte ein/ausgeschaltet oder (de)markiert werde sollen
  • Das Scrollen per Mousewheel in allen Objektauswahlfenstern und visuellen Bibliotheken wurde aktiviert!
  • Normalen werden der besseren Übersichtlichkeit wegen nur noch auf selektierten Objekten, Facetten eingezeichnet.
  • Die Grundeinstellungen für Nebeldichten, Farbfilter, Farbverläufe und Landschaftsdimensionen wurden besser aufeinander abgestimmt.
  • Landschaftseditor - ist die Funktion "Auto Kamera & Atmosphäre" eingeschaltet, dann wird bei der Erzeugung eines neuen Landschaftsobjektes automatisch eine bestmögliche Kamera-Ausgangsposition bestimmt und die Atmosphäre eingeschaltet, falls der Hintergrund noch ausgeschaltet sein sollte.
  • Zoom in Arbeitsfenstern - 4 zusätzliche Zoomstufen von 4% bis runter auf 1% ermöglicht einen Überblick über die komplette 3D-Welt.