Zum Inhalt springen

Blender Dokumentation: Visualisierung und Rendern

Aus Wikibooks
<<<Zurück
Partikelbewegung kontrollieren
Inhaltsverzeichnis

Handbuch durchsuchen

Weiter>>>
Kontrolle der Emission und Interaktion


Diese Seite bezieht sich auf Blender v2.46

Auf dem Visualization-Panel stellen Sie ein, wie die Partikel im 3D-Fenster angezeigt bzw. gerendert werden sollen. Dabei gelten einige Optionen nur für das 3D-Fenster, gerendert wird dann immer als Halo. Andere Optionen werden so gerendert wie sie im 3D-Fenster angezeigt werden.

Wenn Sie ein Partikelsystem verwenden, wird das Emitter-Mesh normalerweise nicht gerendert. Aktivieren Sie den Button Emitter, um auch das Mesh zu rendern.


Zur Darstellung der Partikel ist es häufig notwendig, z.B. die Materialeinstellungen zu animieren. Dabei beziehen sich 100 Frames der Ipo-Kurven zunächst auf die Lebenszeit der Partikel. Eine Materialanimation über 100 Frames wird also innerhalb der Lebenszeit der Partikel durchlaufen, egal ob die Partikel 10 oder 1000 Frames "leben". Sie können die zeitliche Zuordnung 100 Frames->Lebenszeit auf dem Extras-Panel ändern. An Partikel gebundene Objekte tragen ihre eigene Zeit.

Abbildung 1: Verschiedene Visualisierungstypen für Partikel in Blender.

Im 3D-Fenster können Partikel folgendermaßen dargestellt werden:

 1 : Als Punkt, hier mit Anzeige der Größe.
 2 : Als Kreis.
 3 : Als Kreuz.
 4 : Als Achsenkreuz.
 5 : Als Pfad.
 6 : Als Billboard.


Visualisierungstypen

[Bearbeiten]
Abbildung 1: Das Visualization-Panel für Partikel.
  • None: Keine Anzeige und kein Rendern der Partikel, allerdings kann der Emitter gerendert werden.
  • Point: Voreinstellung, die Partikel werden als Halos gerendert.
  • Circle/Cross: Anzeige im 3D-Fenster als Kreis/Kreuz, rendern als Halos.
  • Axis: Hier wird die Ausrichtung der Vertices (X/Y/Z) im 3D-Fenster angezeigt. Sehr nützlich, wenn man die Rotation der Partikel im 3D-Fenster beurteilen will. Erhöhen Sie dazu bei Bedarf die Draw Size, damit man die Achsen auch erkennen kann. Rendern als Halos.
  • Line: Anzeige und Rendern als Polygonstrand. Die Breite des Strands wird über den Parameter Start des Strands-Shaders festgelegt (Material-Buttons, Links and Pipeline-Panel).
    • Speed: Die Länge der Linie ist abhängig von der Geschwindigkeit des Partikels.
    • Back: Länge in Rückwärtsrichtung.
    • Front: Länge in Vorwärtsrichtung.
  • Path: Der gesamte Weg des Partikels wird auf einmal angezeigt. Für Haare, Gras usw. Benötigt entweder ein Hair-Partikelsystem oder Keyed Partikelphysik. Optionen siehe unten.
  • Object: Anzeige und Rendern eines anderen Objektes für jedes Partikel. Das Objekt muss sich nicht auf dem gleichen Layer befinden wie das emittierende Objekt, es kann sich auch auf einem nicht sichtbaren Layer befinden. Das Objekt muss sich im globalen Koordinatenursprung befinden, sonst erhält es einen Offset gegenüber den Partikeln.
    • OB: Der Name des Objektes.
  • Group: Anzeige und Rendern von Objekten aus einer Gruppe für jedes Partikel. Was für einzelne Objekte gilt, gilt auch für Gruppen: der Ursprung der Gruppe muss der globale Koordinatenursprung sein, die Objekte welche die Gruppe erzeugen, können auf einem nicht sichtbaren Layer sein. Achtung, Bug! Die erste Version von 2.46 enthält einen Fehler bei der Darstellung von Gruppen und der Option "Dupli Group". Die Position der Gruppenobjekte wird verändert, verwenden Sie diese Option nicht.
    • GR: Der Name der Gruppe. Die Objekte werden jeweils der Reihe nach emittiert, jedes Partikel trägt nur ein Objekt.
    • Dupli Group: Jedes Partikel trägt die gesamte Gruppe.
    • Pick Random: Zufällige Auswahl eines Objektes aus der Gruppe, jedes Partikel trägt nur ein Objekt.
  • Billboard: Anzeige einer zweidimensionalen Fläche, die mit Material (einschließlich UV-gemappter, animierter Alphatextur) versehen werden kann. Häufig für die Anzeige von Pflanzen benutzt. Das funktioniert auch in Animationen, da sich die Billboards auf ein Objekt hin ausrichten können. Optionen siehe unten.
Draw-Optionen
Diese gelten nur für das 3D-Fenster.
  • Vel: Symbolisiert die Geschwindigkeit des Partikels mit einer Linie.
  • Size: Symbolisiert die Größe des Partikels mit einem Kreis. Das ist insbesondere für Reactor-Systeme interessant.
  • Num: Zeigt die Partikelnummer an (in der Reihenfolge der Emission).
  • Draw Size: Die Anzeigegröße im 3D-Fenster (0=Voreinstellung).
  • Disp: Der Prozentsatz der im 3D-Fenster angezeigten Partikel.
Render-Optionen
  • Material: Die Nummer des Materials, das die Partikel erhalten sollen. Siehe Multimaterial.
  • Col: Die Partikel werden in der Materialfarbe im 3D-Fenster angezeigt. So kann man verschiedene Paritkelsysteme auseinanderhalten. Das aktive Partikelsystem wird aber immer in weiß gezeichnet.
  • Emitter: Rendert auch den Emitter.
  • Parents: Rendert auch die Parents von Partikeln. Diese Option betrifft Partikel die Children haben können, also insbesondere Haare. Da die Children über verschiedene Verformungsoptionen verfügen, stünden zwischen den lockigen Children gerade Parents vom Kopf ab. Daher werden die Parents normalerweise nicht gerendert, wenn Children aktiviert sind.
  • Unborn: Auch noch nicht emittierte Partikel werden gerendert.
  • Died: Auch gestorbene Partikel werden gerendert. Sehr nützlich, wenn Partikel bei Kollisionen sterben (Die on hit), so kann man ein Objekt mit Partikeln bedecken.
Abbildung 2: Das Visualization-Panel für den Typ Path.

Path-Darstellung benötigt entweder ein Hair-Partikelsystem oder Keyed-Partikelphysik.

  • Steps: Mit wie vielen Abschnitten das Haar im 3D-Fenster gezeichnet wird. Dabei ist der einstellbare Wert der Exponent der Funktion 2^x. Auf deutsch: bei 0 gibt es ein Segment, bei 1 gibt es 2 Segmente, bei 2 4, bei 3 8, bei 4 16 usw.
  • Render: Das gleiche für das Rendern. 2^5 Abschnitte reichen häufig aus. Je kleiner dieser Wert, desto schneller ist das Rendern möglich, insbesondere bei vielen Partikeln. Man braucht außerdem teilweise deutlich weniger Hauptspeicher.
  • Abs Length: Benutze den Max Length-Wert für die Darstellung von Children.
  • Max Length: Absolute, maximale Länge (in Blendereinheiten) für die Pfaddarstellung von Children.
  • RLength: zufällige Variation der Pfadlänge.
  • BSpline: Die Haare werden als BSpline berechnet, dies sorgt für einen weicheren Verlauf zwischen den Kontrollpunkten.
  • Strand Render: [Keypointstrands] sehr schneller, sehr effektiver Shader. Selbst wenn Sie mit den farblichen Ergebnissen dieses Shaders später nicht zufrieden sein sollten, verwenden Sie ihn auf jeden Fall zum Proberendern. Er ist um Größenordnungen schneller als der normale Renderer, und ermöglicht überhaupt erst das Rendern von Millionen von Haaren in hinnehmbaren Zeiten. Er berechnet einen weichen Verlauf zwischen den Stützpunkten [Keypoints] zum Renderzeitpunkt.
    • Angle: gibt dabei an (0 bis 45°), ab welcher Krümmung des Haares ein neuer Zwischenwert berechnet werden muss.
  • Adaptive Render: Hier wird versucht, nicht benötigte Geometrie der Strands vor dem Rendern zu entfernen. Das kann den Rendervorgang beschleunigen, z.T. dauerte das Rendern bei meinen Tests aber auch erheblich länger.

Billboard

[Bearbeiten]
Abbildung 3: Billboard-Darstellung für Partikel.

Billboards sind ausgerichtete, quadratische Flächen. Zunächst sind sie auf die Kamera ausgerichtet, man kann aber jedes beliebige Objekt als Ziel wählen. Bewegt man ein Billboard um das Zielobjekt herum, zeigt es mit seiner Fläche immer zum Zentrum des Zielobjektes. Die Größe eines Billboards stellt man mit dem Parameter Size des Partikels ein (in Blendereinheiten). Billboards werden üblicherweise in Echtzeitanwendungen verwendet (siehe Wikipedia: Billboards).

Um eine Textur auf die Billboards aufzubringen, müssen Sie zunächst UV-Koordinaten für das Objekt erstellen, welches die Partikel emittiert (unwrappen ist nicht nötig, einfach nur auf dem Mesh-Panel in den Editing-Buttons neben UV Texture auf New klicken). Das Material des Emitters ist das Material für die Billboards, dort müssen Sie eine UV-Textur laden und die gewünschten Einstellungen vornehmen.

  • Lock: Macht die Anfangsausrichtung permanent.
  • Align to: Mit dieser Option (in Kombination mit Lock) können Sie die Bewegungsfreiheit der Billboards einschränken. Hier stellen Sie ein, wie das Billbord zum Zeitpunkt der Emission des Partikels orientiert ist.
    • View: normale Orientierung zum Zielobjekt
    • X/Y/Z: entlang der globalen X/Y/Z-Achse
    • Velocity: am Geschwindigkeitsvektor der Partikel
Ist Lock ebenfalls aktiviert bleibt die Orientierung erhalten, damit kann sich das Billboard nur noch entlang einer Achse zum Zielobjekt hin ausrichten.
  • Tilt: Dreht die Billboards auf den Kopf. Ein Wert von 1 entspricht einer Drehung von 180° gegen den Uhrzeigersinn.
  • Rand: Zufällige Variation des Tilt.
Abbildung 4a: Einstellungen, um Teile einer UV-Textur auf verschiedenen Billboards anzeigen zu lassen.
Abbildung 4b: Das Ergebnis.

Die UV-Texturen können (etwas trickreich) animiert werden, jedes Billboard kann also im Prinzip seine eigene Textur, oder sogar mehrere Texturen tragen. Dazu wird die UV-Textur vom Programm in Zeilen und Spalten eingeteilt (jeweils NxN), und jedes einzelne Feld der Textur auf ein Partikel aufgetragen. Die Textur sollte also quadratisch sein (Abb. 4a, rechts). Damit die Textur richtig angezeigt wird, müssen Sie unter UV-Channel Split einstellen und den Namen der UV-Koordinaten in das Feld darunter eintragen (Abb. 4a) (Ich vermute hier noch einen Programmfehler, der allerdings nicht wirklich dramatisch ist.)

  • UV Split: Die Anzahl von Zeilen und Spalten (N) in der Textur.
  • Animate: Geteilte UVs (Split) können auf verschiedene Weisen animiert werden (jedes Partikel kann also mehrere Texturen tragen).
    • None: Keine Animation auf einem Billboard, die verschiedenen Billboards tragen nur verschiedene Texturabschnitte.
    • Time: Die Abschnitte der Textur werden innerhalb der Lebenszeit des Partikels durchlaufen.
    • Angle: Wechselt den Texturabschnitt aufgrund der Drehung um die Align to-Achse, bei Auswahl von View wird aufgrund des Tilts gewechselt
  • Offset: Mit welchem Texturabschnitt (aus der NxN-Textur) begonnen werden soll.
    • None: Alle Billboards beginnen oben links.
    • Linear: Das erste Partikel beginnt oben links, dann werden die Texturabschnitte von links nach rechts und oben nach unten linear durchlaufen.
    • Random: Jedes Billboard erhält einen zufälligen Texturabschnitt.
  • OffsetX/Y: Dieser Offset hat nichts mehr mit dem UV-Splitting zu tun, sondern verschiebt das Billboard in Relation zum Partikel.
  • OB: Das Zielobjekt für das Billboard. Voreingestellt ist die Kamera als Zielobjekt.
  • UV channel: Es ist hier leider nicht so, dass Sie das zugrundeliegende Objekt unwrappen können, und dann die UV-Koordinaten auf die Billboards angewandt werden. Die UV-Koordinaten für die Billboards werden automatisch erstellt. Hier wird der Split und der Time-Index angestellt.
    • Normal: Der normale UV-Kanal. Die gesamte Textur wird auf jedes Billboard gemappt.
    • Time-Index: Dies ist ein Animationseffekt. Stellen Sie sich ein Koordinatensystem vor, bei dem die X-Achse die Zeit, und die Y-Achse der Partikelindex ist (der Partikelindex ist die Startnummer des Partikels). Dieses Koordinatensystem definiert zu jedem Zeitpunkt einen Punkt auf der Textur. Dieser Texturwert wird als Eingabewert für die Map To-Einstellungen des Materials verwendet. Die Textur muss Map Input->UV verwenden, auch hier muss der Name des UV-Kanals im Feld UV auf dem Visualization-Panel eingetragen werden. Zwei Beispiele:
      • Eine lineare Blend-Textur auf Col gemappt, verändert die Farbe des Billboards im Laufe seiner Lebenszeit. Jedes Billboard beginnt also mit der Materialfarbe, und endet mit der eingestellten Map To-Farbe.
      • Benutzen Sie Flip X/Y bei der Blend-Textur, verläuft die Blend-Textur von unten nach oben. Jetzt wird das erste Billboard mit der Materialfarbe erzeugt, das letzte mit der Texturfarbe. Wenn Sie ein Bild als Textur benutzen, können Sie beide Effekte kombinieren, ein Billboard kann dann seine Textur im Laufe seiner Lebenszeit ändern, und die Farbe hängt vom Emissionszeitpunkt ab. Neben der Farbe lassen sich auch alle anderen Textureinstellungen animieren, z.B. die Sichtbarkeit.
    • Split: UV-Koordinaten splitten. Unter UV muss dann der Name des UV-Kanals eingetragen sein, auch wenn es sich sowieso um den aktiven UV-Kanal handelt.
  • UV: Der zu verwendende UV-Kanal. Voreingestellt ist der aktive UV-Kanal.

Strands

[Bearbeiten]

Strands werden die Pfaddarstellungen der Partikelanimation genannt. Es gibt zwei verschiedene Möglichkeiten die Pfade zu rendern:

  1. Als Polygonstrands, das ist die "alte" Stranddarstellung und die Voreinstellung.
  2. Als Keypointstrands, das ist die "neue" Methode, die mit dem Button Strand render auf dem Visualization-Panel angestellt werden muss.

Keypointstrands werden (erheblich) schneller und mit deutlich verringertem Hauptspeicherbedarf gerendert, um auch viele Haare und dichtes Gras rendern zu können. Bei den Polygonstrands wird vor dem Rendern für jeden Strand ein Polygon erzeugt, also pro Haar je nach Anzahl der Rendersteps bis zu 1024 (+2) Vertices. Multiplizieren Sie das mit der Anzahl der Haare, dann erhalten Sie einen Eindruck von der Komplexität der entstehenden Szenen. Bei den Keypointstrands werden nur die Positionen der Keypoints gespeichert, und zwischen diesen Positionen beim Rendern interpoliert. Im günstigsten Fall erfordert also ein Haar nur ein einziges Polygon.

Auch die Transparenz wird mit einem anderen Ansatz gerendert. Anstatt das vorhandene System zu benutzen, werden alle Strand-Segmente aus einem Abschnitt zunächst von vorne nach hinten sortiert, und dann in dieser Reihenfolge gerendert (wodurch viele Haare beim Rendern gar nicht mehr berücksichtigt werden müssen).

Speichersparend rendern!

  • Senken Sie die Anzahl der Render-Steps so weit wie möglich. Für Keypointstrands sollten bei kurzem Fell 2 Steps ausreichen.
  • Keypointstrands können bei größerem Abstand des Objektes von der Kamera automatisch reduziert werden, was die Rendergeschwindigkeit drastisch erhöhen kann.
  • Erhöhen Sie die Anzahl der X/Yparts auf dem Render-Panel in den Szene-Buttons (F10).


Keypointstrands haben allerdings auch Nachteile:

  • Sie werden vom Raytracing nicht berücksichtigt! Das bedeutet keine Raytracing-Schatten, keine Haare in Spiegeln! Für solche Zwecke müsste man dann Environment-Maps einsetzen.
  • Bei größerer Dicke des einzelnen Haares stimmt die Form manchmal nicht.
  • Sie können nicht mit einer UV-Textur entlang des Haares texturiert werden (wohl aber mit Map Input->Strand).

Für wenige, relativ dicke Haare kann man also gut die Polygonstrands einsetzen, für viele, kurze und dünne Haare sollte man Keypointstrands verwenden.

Die verschiedenen Optionen für die Strands-Shader finden Sie auf der Seite Strands.


Strand render Simplification

[Bearbeiten]
Bild 5: Strand render Child Simplification

Benutzt man Keypointstrands (hat also den Button Strand render auf dem Visualization-Panel aktiviert) und verwendet Children->From Faces, erscheint das Simplification-Panel. Man kann nun einstellen, ob und wie die Anzahl an Strands auf einem Objekt verringert werden soll, wenn sich das Objekt von der Kamera entfernt.

  • Reference Size: ist das Objekt auf dem Bildschirm kleiner als diese ungefähre Größe (in Pixeln), wird die Anzahl an Strands verringert.
  • Rate: Gibt an, wie schnell die Strandanzahl verringert wird.
  • Transition: Ein Teil der Haare wird zunächst ausgeblendet, bevor er entfernt wird, damit die Haare nicht plötzlich verschwinden.
  • Viewport: Entfernt Strands auf Flächen, die nicht mehr zu sehen sind.
    • Rate: Kontrolliert, wie schnell diese Haare entfernt werden.


[Bearbeiten]
<<<Zurück

Partikelbewegung kontrollieren

Inhaltsverzeichnis
Glossar
Weiter>>>

Kontrolle der Emission und Interaktion