häßliche linien (treppen)

Arachnoo

Mitglied
Hallo,
weiß jemand wie ich diese Linien geschmeidiger machen kann? s.Anhang
 

Anhänge

  • 24653attachment.jpg
    24653attachment.jpg
    31,3 KB · Aufrufe: 71
:rtfm::suchen::(:mad::confused: Das sind alle Smileys die dazu passen :)

Der Effekt den du hier siehst heißt Aliasing. Das kommt daher, dass Cinema 4D "nur" mit Raytracing arbeit. Stichwort Lochblende; entweder der Pixel trifft das Objekt oder nicht. Da Pixel nunmal sehr wohl sichtbare Elemnte des Bildes sindn kann man diese Ungenauigkeiten erkennen.

Lösung: Supersampling
An kritischen Stellen werden die Strahlen praktisch gestreut, und mehrfach gerendert.

Cinema 4D bietet dir hierfür verschiedenste Algorithmen an. Standardmäßig ist Geometrieerkennung aktiviert, funktioniert aber (wie vieles in C4D ;-] ) nicht hinter Tranparenzen.

Nach dem ganzen Drumherumgerede: Stell die Anti-Aliasing Einstellungen im Renderinmenü auf "Bestes". dauert zwar länger, dafür werden Objektkanten zuverlässlich hinter Transparenzen, in Spiegelungen,durch Voxel sowie an Schattenrändern und Texturkanten (z.B. Fliesen) erkannt. Für die genaue Erleuterung der einzelnen Funktionen : R-T-F-M ;)

So nebenbei: Für Testrenderings bietet sich an, AA komplett zu deaktivieren ;)
 
Danke für superschnelle Antwort. Ab und zu wird hier gemeckert aber ich verstehe es sehr gut, ich mag dieses Forum. Tatsächlich wird durch diese Einstellung alles ein bisschen langsammer(von 1 Pixelzeile in 4 sek auf eine Pixelzeile in 18 sek auf kritischen Stellen)


Danke nochmal

Grüß Olek
 
Hier ist noch ein ganz interessanter "Aufsatz" über das thema Antialiasing in Cinema4D. Ist auf http://www.c4d-forum.de geschrieben worden und doch mal eine gute Zusammenfassung.

"Achtung: Die "Geheimnisse" kommen erst am Schluß ...

Antialiasing (AA) bedeutet Entrastern. Um Treppeneffekte im Rendering zu verringern, "sendet" das Renderprogramm (Raytracer) mehr "Suchstrahlen" in die Szene, als das Rendering Pixel hat (Überabtastung, engl. Oversampling). Einzelne Pixel werden also gewissermaßen in Subpixel unterteilt und die Lichtwerte dieser Subpixel vom Raytracer berechnet. Wird ein Pixel z.B. in 4 Subpixel aufgeteilt, ist von einem 2x2-Oversampling die Rede. Aus den verschiedenen Ergebnissen für ein Pixel wird anschließend jeweils der Mittelwert gebildet. Auf diese Weise werden dann die häßlichen Treppchen an diagonalen Linien "weginterpoliert".

C4D beherrscht ein adaptives Antialiasing. Adaptiv bzw. angepasst bedeutet in diesem Zusammenhang, dass der Renderer den Antialiasingaufwand an die Verhältnisse im Bild anpassen kann. Diese Verfahren hat nur einen einzigen Zweck: Renderzeit einzusparen.


Also - es gibt folgende zwei Möglichkeiten beim C4D-Antialiasing ...

BESTES

Hier findet das "klassische" Antialiasing statt. Die Szene wird entsprechend den Parametervorgaben des Anwenders mit Suchstrahlen abgetastet, deren waagerechte und senkrechte Verteilung feiner ist, als das Raster der Bildschirms (bzw. des zu erzeugenden Bildes).

Minwert: Hier steht die Mindestzahl für die Subpixelabtastung. Steht hier 2x2 so werden mindestens 4 Subpixel pro Bildpixel berechnet. Dabei spielen ALLE anderen Einstellungen keine Rolle. Der sich ergebende Renderwert ist der Mittelwert dieser 4 Abtastungen.

Maxwert: Maximalzahl für die Subpixelabtastung. Steht hier z.B. 4x4, so wird nach 4x4 = 16 Abtastungen pro Bildpixel das Antialiasing abgebrochen. Dies geschieht in jedem Fall - auch wenn das AA noch nicht optimal ist.

Schwellwert: (Deutlich vereinfachte Beschreibung). Während der Antialiasingprozeß an einem Pixel durchgeführt wird, vergleicht der Algorithmus das Zwischenergebnis ständig mit den jeweiligen Nachbarpixeln. Wenn das zur Zeit bearbeitete Pixel den Nachbarpixeln ausreichend "ähnelt", wird das Antialiasing abgebrochen. Es wird einfach "vermutet", dass die Pixel sich wohl farblich annähernd gleichen. Dies ist meistens eine gute Entscheidung, seltener nicht. Auf diese Weise können Flächen mit einfachen Farbgebungen erheblich schneller abgearbeitet werden. Steht der Schwellwert z.B. auf 5% so wird der AA-Prozeß abgebrochen, sobald das derzeit bearbeitete Pixel den Nachbarpixel(n) auf 5% genau gleicht. Es werden jedoch in jedem Fall so viele Subpixelabtastungen vorgenommen, wie unter Minwert eingetragen ist. Wird keine Ähnlichkeit erzielt, so ist der Maxwert das Abbruchkriterium.


GEOMETRIE

Der Raytracer untersucht die Szene Pixel für Pixel systematisch von links nach rechts und von oben nach unten. Wenn nun z.B. während der letzten gerenderten Pixel die zugehörigen "Suchstrahlen" des Raytracers auf das Objekt Anton trafen und ab jetzt auf das Objekt Berta treffen, erkennt der Raytracer einen Objektwechsel. Diese Situation stellt ein großes Risiko für unschöne "Treppchenbildung" dar. Das "wittert" auch der Raytracer und untersucht den Übergang von Objekt Anton zum Objekt Berta etwas genauer. Er muß ermitteln, welcher Anteil des Pixels noch zum Objekt Anton gehört und welcher Anteil zum Objekt Berta. Dazu sendet er in der Nähe des Übergangs zwischen den beiden Objektener einige pfiffig gewählte Suchstrahlen aus. Sobald die genaue Position des Übergangs ermittelt wurde, berechnet der Raytracer den entsprechend gewichteten Farbmittelwert für das Pixel.

Zusätzlich wird noch ein Antialiasing über den gesamten Bildinhalt durchgeführt, das in etwa einer 4x4-Überabtastung unter "Bestes" entspricht (s.o.).


Zwei Besonderheiten können eventuell etwas Verwirrung stiften ...

Spiegelungen und Transparenzen
Das Geometrie-AA wird nur bei direkt sichtbaren Objekten ausgeführt. Also nicht bei Objekten, die der Raytracer nur gespiegelt oder durch eine Transparenz hindurch "sieht". Die gilt nicht nur für die Übergänge, sondern auch für das im Geometrie-AA enthaltene ca. 4x4-Oversampling!

Render-Tag
Unter C4D kann man einzelnen Objekten sogar AA-Einstellungen (=Parameter) zuweisen (mittels sog. "Tags" = Marken). Will man Objekten per Tag AA-Parameter zuweisen, gilt Folgendes: Man muß in den Render-Voreinstellungen das AA auf Bestes stellen. Die Werte unter Min und Max enthalten dann die Einstellungen für das AA aller Objekte, die kein spezielles "Render-Tag" zugewiesen bekommen. Achtung aufpassen!: Wenn ich einen Käfer durch eine Lupe hindurch sehe, dann muß ich der Lupe den gewünschten AA-Wert zuweisen, nicht dem Käfer! Immer dem Objekt, auf das der Sehstrahl tatsächlich zuerst trifft.

Wenn man sich das unter Spiegelungen und Transparenzen gesagte etwas durch den Kopf gehen läßt, wird erkennbar, dass man den Sachverhalt auch so interpretieren kann, wie es TC Sebastian getan hat. Es kommte eigentlich (fast) auf das Gleiche heraus. Auch bei Transparenzen bzw. Spiegelungen wird immer mindestens der AA-Parameter angewandt, der unter "Minwert" angegeben ist. Allerdings setzt man auf diese Weise das adaptive Rendering teilweise außer Kraft und verliert eine Menge Zeit beim Rendern.


Einfache Antialiasing-Einstellung für Anfänger:

Einstellung unter "Bestes": Minwert = 1x1, Maxwert = 16x16. Beide Werte bleiben dann künftig unverändert. Jetzt läßt sich die Qualität der Ausgabe sehr einfach und sicher kontrollieren, in dem ausschließlich am Schwellwert-Parameter "gedreht" wird. Es gibt keine Probleme mit Transparenzen oder Spiegelungen.

Dabei bedeuten dann:

50% = schnelles Testrendering,
15% = sehr ordentlich,
5% = gut,
1% = sehr gut,
0% = maximal - besser nur über Nacht laufen lassen : )

Alles Gute - REDbrain"

Ich hab das jetzt mal frech einfach hier her gepastet, wer den ganzen Thread lesen will kann diesem Link folgen: http://c4dtreff.de/c4dforum/read.php?f=3&i=264733&t=264608

Vieleicht nicht uninteressant für den einen oder anderen.
 

Neue Beiträge

Zurück