Tiefen-ver-Materialisierung für Dummies • Grundlagen :: Shading

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von esha.

  • Moinsen Render-Gemeinde! :]


    Materialien sind im 3D-Rendering-Bereich ein wichtiges Thema.

    Allerdings kann die Menge an möglichen Optionen schon schnell erschlagen. Das Ganze ist über die Jahre hin auch nicht gerade weniger geworden, da weiter-entwickelte Technologien meist auch jeweils zusätzliche Möglichkeiten eröffnen, was es - insbesondere Leuten, die noch recht neu im '3D-Geschäft' sind -schon recht schwer machen kann, einen grundlegenden Einstieg zu finden. Aber es soll ja auch fortgeschrittene Anfänger geben, die bei diesem Thema schon schnell mal kein Land mehr sehen. :ausheck


    In diesem Beitrag möchte ich nun einfach mal ganz allgemein kurz auf einige der grundlegendsten Eigenschaften eines Materials eingehen, naja .. eigentlich speziell auf Bump ('feine Oberflächenstruktur') und Specularity ('Glanzeigenschaften') und deren Zusammenspiel. Diese Sachen kann man durchaus als 'allgemeingültig' betrachten und sind völlig unabhängig davon, ob ein Bild nun mit 'nem etwas antiquierten Toaster oder einer High-End-GPU-PBR-Maschine verbrochen werden soll.



    Bump, Normal und Displacement

    Bump ist - grob betrachtet - im Material in erster Linie für zwei Dinge zuständig: a) eine feine(re) Oberflächenstruktur zu simulieren und b) darüber hinaus die Form der Glanzlichter 'aufzubrechen' (indem eine eigentlich-nicht-vorhandene 'Mikrostruktur' erzeugt wird), damit diese letztendlich natürlicher wirken. Insbesondere in Punkt a) nehmen sich Bump- und Normal(en)-Maps eigentlich nicht aaallzu viel, da sie vom Grundprinzip her auf die gleiche Weise arbeiten. Allerdings haben beide jeweils ihren speziellen Einsatzzweck, auf den ich an dieser Stelle jedoch nicht weiter eingehen möchte.


    Beide haben in Bezug auf a) aber auch einen gravierenden Nachteil: sie erzeugen lediglich die Illusion von Struktur, was jedoch sehr stark sowohl vom Blickpunkt der Kamera, als auch dem Winkel des aufschlagenden Lichts beeinflusst wird. Displacement ist in dieser Hinsicht schon ein anderes Kaliber, denn im Gegensatz zu den beiden o.g. Möglichkeiten wird hierbei die Oberflächenstruktur des Objekts nicht nur 'simuliert', sondern auch tatsächlich 'physisch' verformt. Dafür bringt es aber wiederum auch andere Nachteile mit sich (auf die ich an dieser Stelle auch nicht eingehen möchte).


    Glanzeigenschaften


    Praktisch gesehen, hat so gut wie jedes Material in der Realwelt Glanzeigenschaften. Manchmal sind sie offensichtlicher, manchmal meinen wir beinah, es mit einer rein diffusen Oberfläche zu tun zu haben. Da wir in der Computergrafik (im Gegensatz zur Realwelt) i.a.R. lediglich mit Näherungswerten arbeiten, kööönnte in manchen Fällen auch eine schlichte diffuse Surface (=Oberfläche) ausreichen. Dennoch würde ich auch in so einem Fall (vielleicht mal von'Spezialfällen' wie etwa Toon-artigen Shadern abgesehen) immer ein dezentes, sehr weit 'gestreutes' Glanzlicht hinzugeben, damit das Gesamtmaterial schöner mit der Umgebung harmoniert. Es sind recht häufig die kleinen und eigentlich nicht wirklich auf-Anhieb-wahrnehmbaren Dinge, die den Ausschlag geben, ob eine Szene nun letztendlich für unser Auge glaubhaft erscheint oder nicht.


    Doch genug der drögen Theorie! =)

    ----


    An dieser Stelle möchte ich nun einfach mal an einem kurzen Beispiel zeigen, wie ich bei der Erstellung eines Basismaterials für ein beliebiges Objekt vorgehe. In dieser Hinsicht entwickeln wir wahrscheinlich alle im Laufe der Zeit so unsere eigenen Vorgehensweisen und das ist auch gut so.:] Dies ist lediglich mein - persönlicher - Weg, wie ich ihn eigentlich auch in so gut wie allen Fällen und bei den unterschiedlichen Programmen beschreite. Werkle in diesem Beispiel hauptsächlich in Blender.


    Ein 'Fertigfutter'-Poser-Prop in eine DAZ|Studio-Szene geladen ..


    .. erscheint für gewöhnlich zunächst auf ganz ähnliche Art und Weise, wie es auch bei vielen anderen importierten Objekten (.obj-Dateien bspw.) der Fall sein würde. Und würde ich bis zum bitteren Ende in diesem Programm bleiben wollen, ginge es gleich ab in den Surfaces-Tab.


    Da ich dieses Objekt aber in Blender haben möchte, schiebe ich es nun einfach mal ganz fix via teleblender³-Skript 'rüber:


    So .. da wär'n wir also. (Noch Fragen warum ich das tue?:ausheck) 

    Könnte man vielleicht sogar zur Not auch schon für die Ferne so benutzen; mir ist es allerdings zu flach und 'muffig' .. und überhaupt ..:tongue:


    In so einem Fall verwende ich für die Beleuchtung ein schlichtes SunSky-System (Sonne + Himmels-Umgebungslicht), da ich auf diese Weise recht harte Schattenwürfe habe und bei Bedarf auch eine der beiden Komponenten ohne größere Aktionen kurz ausknipsen kann, was in bestimmten Fällen wirklich praktisch ist.


    Um nun an den einzelnen Kanälen des Materials zu werkeln, gebe ich dem Diffuse-Kanal (der für die 'Bildoberfläche' zuständig ist) ein gaaanz schlichtes mittleres-Grau-Material. Dadurch lassen sich die Feinheiten beim Bearbeiten der anderen Kanäle viel besser beurteilen, da nichts durch die bunte Texturmap 'verschleiert' wird. Außerdem nehme ich mir einen Kanal nach dem anderen zunächst 'solo' vor und schalte erst später zu Testzwecken mehrere davon zusammen.


    .. und beginne beim Bump:


    "Wie Sie sehen, sehen Sie nichts." :gap

    .. was auch nicht wirklich verwundert, da die Bump-Stärke in diesem Fall beim Transfer/Import auf 0.003 (0.3%) gesetzt wurde .. und da bumpt dann natürlich auch nicht allzu viel. =)


    Generell macht es in Fällen, in denen man gerade noch keine Vorstellung davon hat, in welchen Wertebereich man letzten Endes muss, Sinn, nach dem 'Halbierungs-Prinzip' vorzugehen. Hier ist die Bumpstärke praktisch Null, also setze ich sie danach auf Maximum, um zu sehen, wie sich das auswirkt. Ist wahrscheinlich in den meisten Fällen zu viel, also gehe ich den halben Weg wieder zurück und lande bei 0.5 (50%). Ist dies zu wenig, gehe ich wieder hoch auf 0.75 und so weiter. Dieses Spielchen kann man so lange treiben, bis man da ankommt, wo man hin will.


    Mit der Zeit und ein bisschen Übung entwickelt man aber ein Gefühl dafür und so fange ich gleich bei 0.5 an und kann dann anhand des Ergebnisses auch schon ziemlich präzise den ungefähren Zielbereich abschätzen. In diesem Fall landete ich recht schnell bei 0.435


    Joa .. hat nu' schonmal 'n büsch'n Struktur. :]

    Die Bump-Stärke ist ja auch immer so ein bisschen Ansichts:DDsache und der Effekt kann zudem auch bei unterschiedlichen Objekt-zu-Kamera-Entfernungen, Lichtverhältnissen oder Beleuchtungsarten (SunSky, Meshlight, HDRi-Environment) etwas variieren, aber i.a.R. funktioniert ein unter SunSky recht ordentlich eingestelltes Bump auch bei anderen Beleuchtungsarten ganz anständig. Ich hab's im Zweifelsfall für ein Basismaterial lieber erstmal ein kleinwenig 'crispy'-er, denn Abmildern oder 'Vermatschen' geht in einer späteren Szene erfahrungsgemäß meist viiiel einfacher, als 'n-bisschen-mehr-Detail hinzuzufügen. :gap


    Alright .. next stop: Specularity!.. and here we go ..


    .. W..T..F!!:schiel

    :DD .. ja, an dieser Stelle habe ich für die Beurteilung der Glanzlichter die Umgebungsbeleuchtung (Sky) ausgeknipst und lasse nur das direktionale Licht auf die Oberfläche knallen. Außerdem habe ich den Glanzkanal nicht mittelgrau, sondern 'mittelfarbig' gemacht, weil ich es schwieriger finde, Graustufen-Glanzlichter zu beurteilen. An diesem Punkt geht es vor allem um die Größe / 'Flächigkeit' ebendieser, denn die Intensität und/oder Verteilung wird später auf anderem Wege gesteuert. Auch hier ist es wieder eine Frage des persönlichen Geschmacks und/oder des angestrebten 'visuellen Stils', welche Werte nun das schönste Ergebnis liefern. Für Objekte dieser Art würde ich die Glanzlichter normalerweise eigentlich noch etwas gestreuter einstellen, aber da ich schon eine vage Vorstellung davon habe, wohin die Reise dieses Objekts einmal gehen wird, ist es nun eben so. :]


    Die entsprechende Einstellung in den Programmen ist (Specularity-)Glossiness oder Roughness (nicht zu verwechseln mit Diffuse-Roughness!), je nachdem, mit welchem Programm man gerade werkelt. Bei Glossiness ('Glänzichkeit':gap) führen niedrige Werte zu großen, sehr weich verlaufenden Highlights, die mit steigendem Wert immer kleiner und scharfkantiger ('spitzer') werden. Bei Roughness ('Rauheit') verhält es sich genau umgekehrt. Beide Varianten nutzen auch Graustufenwerte, um die Parameter festzulegen und so können auch hier bspw. Texturmaps verwendet werden, um auf ein und der selben Fläche variable Glanzlicht-Größen zu erzeugen. Dafür ist eine ggf. vorhandene 'gloss'-Map gedacht. Die Spec-Map hat im Glossiness/Roughness-Kanal nichts zu suchen!


    Specularity-Maps sind - grob gesagt - für die Verteilung von diffusen-zu-glänzendem Material-Anteilen zuständig und gehören somit eeeigentlich im Optimalfall in den Material-Kanal, der den Mischwert zwischen Diffuse und Specularity bestimmt. Haben allerdings nicht alle Programme in dieser Form und so landet diese Textur dann dort meist entweder im Kanal für die Glanzlicht-Farbe oder -Stärke.


    In diesem Beispiel habe ich einfach mal die Spec-Map in den Farbkanal des Glanzlicht Kanals geladen. In den dunkleren Bereichen wird später hauptsächlich der diffuse Materialanteil zum Tragen kommen und je heller die Regionen hier sind, umso mehr unser gerade erstellter Glanzlicht-Kanal.


    Schauen wir uns unsere gepimpten Kanäle nun doch mal in Kombination an:


    isdochschonmaagaanichschlecht.=)

    Hier habe ich die Bump-Map auch einfach mal als Farb-Input für den Glanz-Kanal missbraucht und das einfache diffuse Grau über die Spec-Map mit dem Glanzlicht-Kanal vermischt.


    Wenn ich nun noch die Textur-Map im Diffuse-Kanal (re-)aktiviere, hat das Objekt auch wieder etwas mehr Ähnlichkeit mit dem, wo wir im Grunde mal hin wollen ..


    .. und wenn ich spaßenshalber mal die Beleuchtungsart von SunSky auf ein reines HDRi-Umgebungslicht ändere ..


    .. stelle ich fest, dass ich auch an der Bump-Stärke eigentlich nix mehr großartig ändern muss. :]


    ----

    Mist .. schon wieder ins Schwafeln gekommen :whatever..

    .. aber hoffe, dass dies vielleicht dennoch bei dem ein oder anderen dazu beitragen kann, die anfängliche Hemmschwelle im Zusammenhang mit dem pöhsen, pöhsen Material-Editor ein kleeeinwenig zu senken .. und vielleicht auch, die 'Natur' von Materialien generell zumindest ein bisschen in der Basis zu verstehen. =)


    Sso .. üüch bin dann maa wech .. :gaehn

  • KLasse Workflow, maXem 8) den ich so selber auch noch nicht auf dem Schirm hatte.

    Deine Vorgehensweise hat System, wohingegen meine eher die ich-mach-pauschal-gleich-alles-zusammen Variante ist,

    mit der ich persönlich zwar grundsätzlich zurecht komme, die jedoch für eine Material-Einsteiger weniger zielführend sein dürfte.


    Diesen Post kann ich nur jedem ans Herz legen, der den Wunsch hat sich mit Materialien zu beschäftigen.

    Für saubere Materialbearbeitung/-einstellung, brauche ich ein neutrales und natürliches Licht, egal in welchem Programm.

    Die Nummer mit dem neutralen Grau-Shader für saubere Bump Einstellung, werde ich mir merken.


    Danke :)


    PS: der Tread ist ausbaufähig. Ich hätte da auch noch einige passende Themen ;)

  • Wir könnten uns ja ggf. mal alle hinsetzen und gemeinsam an einem Tutorial-Block arbeiten.


    Kategorien z.B.:


    Beleuchtung

    - Allgemein (Image-based vs. Lichter vs. Meshlight)

    - Programmspezifisch

    -- DS

    -- Poser

    -- Blender...


    Materialien

    - Allgemein

    -- Texturchannel

    -- Glanz

    -- Höhe

    -- Lichtbrechung

    -- Subsurface...

    - Programmspezifisch

    -- DS

    -- Poser...


    Mesh

    - Allgemein

    -- Subdivision und Smoothing

    -- Geometrie-Editierung

    -- Modelling

    - Programmspezifisch

    -- Blender

    -- Cinema

    -- DS...


    usw.


    (Bevor sich hier irgendein Fantasy-Wesen auf den Schlips getreten fühlt: nein, die Programme sind weder vollständig, noch in irgendeiner "dies ist das Beste"-Reihenfolge, sondern sind autorinnenspezifisch das, was ihr als erstes eingefallen ist.)


    PS: maXem : sehr schöner Thread und tolle Aufarbeitung des Props! Haste mal den Link zu dem Inn? Es kommt mir bekannt vor, aber ich komme nicht drauf, wo es das gab.

  • Wir könnten uns ja ggf. mal alle hinsetzen und gemeinsam an einem Tutorial-Block arbeiten.

    ...


    Gute Idee Lessa aber warum verkomplizieren? Einfach machen ;) so wie maXem es hier vorführt.

    Programm Diskussionen wird es (hoffentlich) nicht geben, weil diese Grundlagen (s. Topic) programmunabhängig Gültigkeit haben.


  • PS: der Tread ist ausbaufähig. Ich hätte da auch noch einige passende Themen ;)

    Nur zu! :].. tu' dir keinen Zwang an. :DD

    .. und bin auch gern zur Stelle, um die obligatorischen 'Ja, aber..'-se einzuwerfen. :gap


    Haste mal den Link zu dem Inn? Es kommt mir bekannt vor, aber ich komme nicht drauf, wo es das gab.

    Schau' bei R'osity mal bei Dante78. =)

    (Aber zumindest ein Poser/Firefly- oder D|S/3DL-Nutzer wird mit diesem Prop nicht glücklich! Wie's in den PBR-Engines der beiden Programme aussieht, weiß ich allerdings nicht.)

  • ... aber warum verkomplizieren? Einfach machen ;) ..

    Jap, sehe ich genau so. =)

    Da muss imho nun nicht wirklich irgendein ehrgeiziges 'Projekt' her.


    Während ich mich mit diesem Prop 'rumgeschlagen habe, kam mir einfach in den Sinn, dass es wohl ohnehin mal wieder an der Zeit wäre, hier auch etwas Konstruktives beizutragen und nicht nur an den Machenschaften anderer User herumzumäkeln. :tongue: Da ließ ich spontan eben die Testrender mit durchlaufen. Und da so ein Thread imho ganz praktisch sein kann, um ggf. auch näher auf Fragen o.Ä. aus anderen Themen einzugehen (weil sie dort vielleicht OT wären), habbich mich einfach mal hinreißen lassen :DD..



    .. Mühe geben muß.

    Nix muss! =) 

  • Deshalb ja die Aufsplittung in Allgemein und Programmspezifisch. Die Grundlagen sind in allen Programmen gleich, aber die Einstellmöglichkeiten unterscheiden sich doch sehr - allein schon zwischen Node-basiert wie in Blender zu Channelorientiert in DS. Mit anderen Worten, es ist sowohl interessant zu lernen, was allgemein wichtig ist, als auch, wie ich es in meinem Programm einbinde und welche Optionen mein Programm darüber hinaus noch bietet (metallicity z.B. im IRAY-Shader... Top Coat... Fresnel... wasauchimmer).


    Und warum zusammensetzen? Weil dann nach einem gemeinsamen Konzept gearbeitet werden kann, das einheitliche Lehrstrukturen verfolgen oder - je nachdem, wie viele Leute sich hier mit was beteiliegen würden - unterschiedliche Lehrkonzepte bereitstellen kann (z.B. Video vs. PDF; Struktur z.B. "Grundlagen - wo finde ich es in [Programm] - was muss ich tun - Übungsaufgabe").

  • Wenn man den 'Kern der Sache' verstanden und in gewissem Umfang verinnerlicht hat, ist es piepegal, mit welchem Programm letztendlich gearbeitet wird, weil sich diese allgemeingültigen Geschichten ohne Weiteres übertragen lassen .. natürlich immer im Rahmen der technischen Grenzen des entsprechenden Programms, aber an diese Grenzen muss man auch erstmal stoßen. Darüber hinaus gibt es bekanntermaßen meist auch mehrere Wege - und seien es nun Umwege - um ans gewünschte Ziel zu kommen. Und nicht zu vergessen: was für den einen funktioniert, muss beim nächsten nicht zwangsläufig auch entsprechend hinhauen.


    Gerade beim Thema 'Materialien', für die es IMHO ohnehin nicht wirklich ein echtes Patentrezept gibt, weil sie sehr Programm-, Objekt- und Szenen-abhängig sind .. oder auch vom 'persönlichen Stil' des Anwenders .. ist eine "So baust du dir den super-duper-mega-Shader"-Anleitung letzten Endes ohnehin wenig zielführend. Das ist imho eher 'Instant-Einklick-Denke' und hat recht wenig mit 'kreativ' oder 'Verständnis' zu tun .. be flexible!

  • Schönes Tut!

    Wenn ich Bump- oder Glanzeinstellungen tunen will, schmeiße ich auch immer alle anderen Maps raus. Dann sieht man wirklich viel leichter, was man tut.

    Gerade bei Glanz hat es sich (für mich) auch bewährt, eine eher dunkle Grundfarbe zu wählen, da sieht man den Glanz dann besser.

    Und wenn ich an Bump arbeite, und das Material soll später glänzend werden, dann lege ich auch gleich ein bisschen Glanzlicht auf das Testmaterial drauf. Da kommen so manche Kanten und Dellen noch stärker heraus.