.
|
|
| Autor | Beitrag |
|---|---|
|
000 03.09.2004, 23:57 Retrix |
Vor einigen Tagen hatte ich mal wieder eine von meinen komischen Ideen, dieses mal wollte ich eine Normalmap für die Killbox-Textur basteln. Nachdem mir die meisten sofort davon abrieten, sowas in Photoshop zu malen, habe ich die Textur mit 3dsmax nachgebaut und dann per Normalmap-Generator aus dem Hause Ati eine passende Normalmap generiert. Der Bau des Textur-Models war jedoch sehr umständlich, weil man sich bei der Geometrie natürlich peinlichst genau an der Orginal-Textur orientieren muss. [Anmerkung: Hier ist erstmal die Textur. Überall, wo ein Bevel & Emboss ist, wird später auf der Normalmap eine Schräge markiert. Andere Erhebungen müssen leider erstmal nachträglich von Hand gepinselt werden. Die Textur besteht aus... Die Werte für Bevel&Emboss sollten bis auf die Größe und den Style des Bevel mit diesen hier übereinstimmen, wenn ihr etwas ähnliches nachbauen wollt: ... um die Eingestanztheit des Ausgestanzten zu simulieren oder so ähnlich. Alle Ebenen habe ich nun in einen Koffer Namens 'Textur' geschoben, und diesen Ordner anschließend dupliziert und "Blue" genannt (Ihr werdet später noch sehen, warum der so heißt) Im Blue Ordner müssen jetzt die Strukturlayer gelöscht werden, ich hab' nämlich noch keine Möglichkeit gefunden, da gute Normals draus zu basteln. Auf alle Ebenen, die einen Bevel&Emboss haben, muss jetzt die Art nach diesem Schema geändert werden. Alles im "Structure" Bereich sollte bei seinen vorhandenen Einstellungen belassen werden, für "Shading" sollten diese Werte hier übernommen werden: Auf dem nächsten Bild habe ich bereits den ganzen 'Blue' Ordner dupliziert und ihn in 'Green' umbenannt. _Falls_ ihr keine Textur habt, die immernoch die gleiche Form hat, nachdem sie um 90° gedreht wurde, müsst ihr auch noch eine 2. Kopie machen und sie in 'Red' umbenennen. Was damit zu tun ist könnt ihr euch am Ende des Tutorials sicher selbst denken. Nun gilt es wieder: "Structure" so lassen, für "Shading" meine Werte nehmen. Der Shadow Mode ist jetzt grad' egal, die Farbe für den Highlightmode und spätere 45° Winkel auf der Normalmap ist hier #BFBFBF. Jetzt heißt's durchhalten! Jede Ebene muss nun einzeln sichtbar gemacht werden. Die einzeln sichtbaren Ebenen werden dann "Auf eine Ebene reduziert kopiert (Warum? Tja, dadurch werden die Ebeneneffekte auf die Ebene kopiert), und gepastet. Falls die eingefügte Ebene gegenüber den Orginal verschoben ist, sollte das natürlich korrigiert werden, bevor man dann anschließend den Ebenenmodus der Orginalebene kopiert und bei der neuen Ebene einfügt. Das ist besagter kritischer Punkt, an dem ein Plugin für 2 gleiche Ebeneneffekte auf einer Ebene 50% der Arbeitszeit spaaren könnte. Euer Ergebnis sieht dann hoffentlich so oder so ähnlich aus: Nun erstellt ihr ein neues Bild in der Größe der Textur, und kopiert dort erst den Ordner 'Blue', den ihr einzeln sichtbar gemacht und auf eine Ebene reduziert kopiert habt, und anschließend den Ordner 'Green', den pastet ihr sogar gleich 2 mal. Benennt die Ebenen mit Blue, Green und Red. Die Ebene Red sieht jetzt noch aus wie die Ebene Green, also dreht sie um 90° nach rechts (Clockwise also). Finale! Strg+U drücken und folgende Werte für die Ebene 'Red' übernehmen. Das gleiche für Green und Blue, da allerdings mit einem Hue von 120 bzw. 240. Screenshot aus nem Normalviewer von Ati auf ne einfache Plane applied Das schöne an dieser Methode ist, dass man kein 3d Programm benötigt und sie im Prinzip sogar automatisierbar ist. Ausserdem habe ich sie bei diesem Ding hier als deutlich einfacher empfunden, als das entsprechende Model zu basteln. Ihr werdet jetzt bestimmt ne Menge fragen haben, solange es nichts mit den Basics von Photoshop zu tun hat, deren Kenntnis ich natürlich vorraussetze, fragt mich ruhig... Ach ja, eine wichtige Sache noch: Höchstwahrscheinlich sieht das Ganze ingame, also Normalmap über Texturemap, besser aus, wenn man bei der Texturemap die Bevels&Embosses weg lässt! Viel Spaß (oder auch Frust) beim Nachbauen, ich freue mich sehr über Hinweise und Kritik, weil ich selbst erst ganz neu auf dem Gebiet bin. --...und ich bin nicht ReFlex. Dieser Beitrag wurde am 04.09.2004 um 00:09 von Retrix bearbeitet. |
|
Profil || Suche |
|
001 09.09.2004, 15:50 Term |
Öhm... ohne Dir da zu nahe treten zu wollen, aber isses dann nicht sinnvoller erstmal mit dem Schreiben eines Tuts ein bißchen zu warten? :P Also so wie ich das verstehe (und ich nehme alles zurück, wenn ich was falsch verstanden hab) bastelst Du sämtliche Farbformen einer Normalmap per Hand in PS?! Nun gut, hier ist mein Normalmap-Tut: 1. DDS Plugin von Nvidia besorgen. - Als Save Format "CxV8U8" auswählen Fertig ist die Normal Map! Ich hab zwar auch erst einmal im Leben eine erstellt, aber dieses Verfahren erscheint mir wesentlich eleganter und nervenschonender als Deins :D <edit> [ - Mindmotor.Studios - ]|[ - Poke646 - ]|[ - Spaceman - ] Dieser Beitrag wurde am 09.09.2004 um 15:56 von Term bearbeitet. |
|
Profil || Suche |
|
002 09.09.2004, 18:34 Retrix |
Ne, und zwar einerseits, weil da atm nur sehr wenig Leute wirklich Ahnung haben, und man jede Hilfe gebrauchen kann, dann noch, weil ich das Verfahren (inzwischen auch schon mehrfach mit verschiedenen Settings) getestet habe, und überhaupt ist doch gegen neue Tuts zu mehr oder weniger frischen Themen nichts zu sagen, oder? Wenn man es so nennen möchte, na gut, aber an sich bastelt man das ja alles mit speziellen Bevels. Um was per Nividia Generator zu bauen, muss man erstmal in der Lage sein, eine Highmap zu erstellen. Das läuft, wenn es gut werden soll, vermutlich auch über ähnliche Verfahren wie meine Methode. Lange, Flache Kanten müssen afaik z.b. erst per Graustufenverläufe erzeugt werden. Es ist ja nicht so, dass Normalmaps machen in Photoshop absolut umständlich und überflüssig ist. Das hat auch einige Vorteile. Und es gäbe bei meiner Methode ja auch die möglichkeit, sie per entsprechendem Plugin _komplett_ zu automatisieren, denn alles was man tut ist ja an sich nur stupides Abtippen und Umstellen von Werten. D.h. man könnte direkt aus allen Bevels einer Textur die Normalmap erzeugen, ohne zusätzlichen Aufwand. --...und ich bin nicht ReFlex. Dieser Beitrag wurde am 09.09.2004 um 20:38 von Retrix bearbeitet. |
|
Profil || Suche |
|
003 09.09.2004, 19:44 Term |
Doch, und eben genau aus diesem Grund: bei Themen über die noch nicht viel geschrieben wurde neigen die Leute dazu, sich Dinge falsch anzugewöhnen wenn es ihnen falsch beigebracht wird. Das gab es hier bei ThW mit Tuts schon öfter (ich meine mich da an falsche Felsen-Tuts und ähnliches erinnern zu können) und im Nachhinein verbringen die Leute dann Ewigkeiten damit, im Forum Fragen zu klären die gar nicht erst hätten auftauchen müssen. Deine Methode ist einfach nur umständlich ohne irgendwelche Vorteile zu bringen, ich werd's aber vosichtshalber nochmal aufdröseln: Hier erstmal die von mir schon angesprochene bisher einzige Normalmap-Textur meiner Karriere, von 2D bis zur Ingame-Normalmap:
So, und nun ans Ausmerzen der Halbwahrheiten: Zweimal nein. "Heightmap" ist der falsche Begriff, im Prinzip braucht man nichts anderes als eine normale Graustufen-Bumpmap (Abb. 2), die man sehr einfach durch Einfärben der jeweiligen Ebenen (Seile, Kanten usw.) im entsprechenden Grauton erstellen kann. Wie Du schon richtig erwähnst, sollen die Bevel auf Deiner Grundtextur am Ende ja gar nicht mehr drauf sein, also ist das Erstellen der Bevel lediglich für Deine Normalmap notwendig und da dann wirklich mehr als umständlich. Wieder nein. Der Filter zu dem ich oben verlinkt habe (hab ihn mir gerade mal angeguckt), bietet jede Menge Möglichkeiten die Höhe der Bevel und damit auch die Länge der Übergangskanten zu bestimmen. Man sieht an meiner Graustufenmap oben ja, daß da überhaupt keine Bevel drin sind, wichtig ist nur der passende Grauton je nach Höhe des Elements in der späteren Textur. S.o., das bestimme ich einfach über den Grauwert und die Einstellungen im Filter. Es bleibt also dabei: Normalmaps machen in Photoshop ist absolut umständlich und überflüssig :D -- [ - Mindmotor.Studios - ]|[ - Poke646 - ]|[ - Spaceman - ] |
|
Profil || Suche |
|
004 09.09.2004, 20:56 Onkel Dittmeyer |
Genau das was du da beschreibst, ist eine Heightmap. -- |
|
Profil || Suche |
|
005 09.09.2004, 21:03 Retrix |
Oha, wenn es so schlimm ist, solltest du natürlich schleunigst einen zuständigen Mod alamieren, damit er den Thread sofort löscht und somit Unwissende davor rettet, falsche Sachen zu lernen. Eine Heightmap enthält Höheninformation in Form von Graustufen. Zwischen Heighmap und Bumpmap besteht an sich kaum ein Unterschied. Nur wird aus einer Heighmap eben ein tatsächliches 3d gebilde erzeugt, während durch eine Bumpmap nur durch das Lighting unterschiedliche Höhen gefakt werden. Wandtexturen können mit fertigen Beveln + Bumpmap durchaus besser aussehen, da man Licht von oben einfach gewöhnt ist. Ich hab das Teil grad mal ausprobiert. Im Prinzip funktioniert es tatsächlich ähnlich wie mein Tutorial. Es teilt jeder Graustufe unterschiedlich starke Bevels nach einem bestimmten Farbschema zu. Vorteil : Läuft nahezu automatisch. Nachteil: man hat wesentlich weniger kontrolle über Position, Stärke und Breite. Das scheint größtenteils relativ für alle Kanten der Textur zu laufen. Na wenn du das sagst... -- ...und ich bin nicht ReFlex. Dieser Beitrag wurde am 09.09.2004 um 21:04 von Retrix bearbeitet. |
|
Profil || Suche |
|
006 09.09.2004, 21:33 Term |
Huch, jetzt ist aber einer angefressen :) Aber damit der Mühe beim Erstellen Deines Tutorials Genüge getan wird will ich es unverfänglicher formulieren: wer Lust hat, nach dem Erstellen einer Textur nochmal viele Dutzend Arbeitsschritte für die entsprechende Normalmap aufzuwenden, soll das nach Deiner Methode gerne tun. Wer die Normalmap in einem Arbeitsschritt aus einem Graustufenbild anfertigen will, sollte dann vielleicht doch eher die Nvidia-Tools benutzen. Desweiteren braucht diesen Thread bestimmt niemand zu schliessen oder zu löschen, wenn aber etwas im Forum "Lernresourcen" landet, sollte das für gewöhnlich auch lernenswert sein... und Deine Methode halte ich eben einfach für überflüssiges Brimborium, wahnsinnig kompliziert noch dazu. Ich kann ja auch ein Tut schreiben, wie man HL-Maps durch Editieren der .map-Files in Notepad baut... aber trotzdem werden die Leute wohl eher beim Hammer bleiben :D Noch zum Begriff "Heightmap": natürlich ist eine Heightmap technisch nichts anderes als eine Bumpmap, aber da sie (wie Retrix ja selber sagt) üblicherweise für reales 3D-Terrain verwendet wird und eine Bumpmap hingegen für die optische Simulation von Höhe auf Texturen/Models, kann es ja nichts schaden hier die Begriffe nicht durcheinanderzuwerfen. Das Thema ist auch so schon kompliziert genug :) --[ - Mindmotor.Studios - ]|[ - Poke646 - ]|[ - Spaceman - ] Dieser Beitrag wurde am 09.09.2004 um 21:33 von Term bearbeitet. |
|
Profil || Suche |
|
007 09.09.2004, 21:43 Flow Moderator |
Ist doch eigentlich garkein Problem und ihr braucht euch eigentlich garnicht weiter darüber austauschen, die Vorteile von Retrix's Bauweise sind - wie er indirekt selbst gesagt hat: Wo ist nun das Problem bei euch. Term benutzt lieber die Nvidia Tools, Retrix macht das lieber in Marke Eigenbau. Lasst es einfach gut sein, ihr habt jetzt beide meiner Ansicht nach gute Tutorials gezeigt und bietet dem Anwender die Qual der Wahl. Das muss allerdings jeder für sich entscheiden, nicht ihr.. --Dieser Beitrag wurde am 09.09.2004 um 21:49 von Flow bearbeitet. |
|
Profil || Suche |
|
008 09.09.2004, 21:58 Retrix |
Schönes Schlusswort! ...und ich bin nicht ReFlex. |
|
Profil || Suche |
|
009 09.09.2004, 22:06 Term |
Im Prinzip hast Du recht, ich würde auch den Teufel tun und dem Anwender vorschreiben wie er sein Zeugs zu basteln hat. Aber dieses Tutorial steht ja nun immerhin schon seit einer Woche kommentarlos im Forum, es scheint also keiner (inklusive Retrix) von den Nvidia-Tools überhaupt gewusst zu haben. Und so wie Retrix im allerersten Abschnitt beschreibt, ging es ihm auch nur darum, seine Normalmaps nicht mehr in 3DSMax sondern in PS basteln zu wollen, weil es sonst zu umständlich war... da verstehe ich nicht wie er sich so gegen ein vollautomatisches Tool sträuben kann :) Ich muß zu meiner Schande aber auch eingestehen, daß ich sein Tut nur im Groben verstanden habe, die einzelnen Einstellungen der Ebenen, Effekte, Winkel und wasweißich machen schon nach zwei Arbeitsschritten daß mir der Kopf schwirrt :). Es würde mich mal interessieren (und das meine ich ehrlich!) wie jemand nach dieser Methode eine Normalmap baut und die vor allen Dingen in ein Spiel seiner Wahl integriert, also mit Originaltex. Auch Retrix' Tex würde ich gerne mal komplett sehen (Tex + Normal), ich bin gerne bereit Staub zu fressen wenn das Ergebnis so hammermäßig besser aussieht als mit einem Normalmap-Generator. Daß ich überhaupt soviel über das Thema texte liegt daran, daß ich es für sehr wichtig halte, gerade in Hinsicht auf HL2. Wir werden hier viele Fragen bzgl. Bump/Refraction/Normal/Wasauchimmer-Maps bekommen und da kann es nicht schaden, wenn dann einige Leute schon mal die Basics möglichst unkompliziert auf der Pfanne haben. <edit> [ - Mindmotor.Studios - ]|[ - Poke646 - ]|[ - Spaceman - ] Dieser Beitrag wurde am 09.09.2004 um 22:06 von Term bearbeitet. |
|
Profil || Suche |
|
010 09.09.2004, 22:10 Flow Moderator |
Naja, unbekannt waren die Nvidia Tools sicher nicht (zumindest für die Leute, die schon ein wenig länger hier sind), denn es gab mal ein Normal |
|
Profil || Suche |
|
011 09.09.2004, 22:30 Retrix |
Ich möcht das jetzt nicht mehr ausdiskutiern. ...und ich bin nicht ReFlex. |
|
Profil || Suche |
|
012 09.09.2004, 22:47 Tubgirl |
Erfreulicherweise, ich hab was gegen diese #000000-Schatten >:D Und wehe der Thread hier wird gelöscht. Das ganze hier ist doch recht neue Technologie, und wenn da mal, selbst in dieser Form, ein paar Unklarheiten aussortiert werden, ist das doch nur gut. -- |
|
Profil || Suche |
|
013 09.09.2004, 23:06 Acumen |
Also auf Polycount gibst da noch einige andere Verfahren - auch oftmals genauso komplex, wie das von Retrix beschriebene |
|
Profil || Suche |
|
014 10.09.2004, 00:39 KhanRKerensky |
Ich frag mich grad in wie fern die diese so erzeugten Normalmaps überhaupt richtig sind. Weil normalerweise sind die Vektoren auf einer Normalmap alle normalisert, damit das die Grafikkarte nicht noch machen muss. Bumpmapping ist schon rechenaufwendig genug. Ich schau mal ob ich nicht dazu nen kleines Programm schreibe, wenn ich Zeit hab. --"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book |
|
Profil || Suche |
|
015 10.09.2004, 07:45 Term |
Erklär doch bitte mal kurz, was das genau heisst. Ich hab schon mehrere Artikel zu Normalmaps gelesen (daß sie alle in englisch waren hat's nicht unbedingt einfacher gemacht), was aber außer der präziseren Darstellung durch die 3 Farbformen genau der Unterschied zu Bumpmaps ist habe ich noch nicht ganz verstanden? <edit> [ - Mindmotor.Studios - ]|[ - Poke646 - ]|[ - Spaceman - ] Dieser Beitrag wurde am 10.09.2004 um 08:25 von Term bearbeitet. |
|
Profil || Suche |
|
016 10.09.2004, 14:16 Skyshi |
Also ist dieses ganze Gefrickel im Endeffekt für Performanceverbesserungen da? Da stellt sich natürlich die Frage wie sehr und ob es sinnvoll ist Normalmaps statt Bumpmaps zu erstellen, wenn man nicht gerade so einen Normalmapoverkill hat wie bei Doom3 ... Würde mich auch mal interessieren. Edit: Also funktioniert es doch in Half-Life, aber ich finde es sieht ingame nicht wirklich besser aus als ein standard Beveleffekt auf der Textur selber. --Dieser Beitrag wurde am 10.09.2004 um 14:18 von Skyshi bearbeitet. |
|
Profil || Suche |
|
017 10.09.2004, 14:22 Der_Sepp |
Hmm.. hab ich jetzt eigentlich noch nie gehört. Hättest du vielleicht einen Link dazu? Meines erachtens, sind Bumpmaps genauso schnell wie Normalmaps. Wobei mich da grad interessiert, kann Normalmapping von allen Grafikkarten gerendert werden? Bumpmaps gibts ja schon ne weile länger, die werden auf jedenfall bei den meisten Grafikkarten unterstützt. weiß da zufällig jemand genaueres? -- |
|
Profil || Suche |
|
018 10.09.2004, 14:28 KhanRKerensky |
Schade das ich meinen Artikel bei 3D-Editing noch nicht feddich hab. Nach Lamberts Cosine Law bestimmt der Winkel zwischen Flächennormale und Licheinfall den Lichtwert. Wenn man jetzt eine Normalmap ohne normalisierte Vektoren ins Rennen schickt, wird dir die Graka das keineswegs noch richten, sondern einfach annehmen die Texture wäre richtig. Wenn die Länge eines Vektors jetzt aber z.B. 1, 13 beträgt kommt zwar vieleicht noch ein Wert zwischen 1 und 0 raus, der ist allerdings wohl zu groß und die Textur an der Stelle zu hell. /edit "[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book Dieser Beitrag wurde am 10.09.2004 um 14:50 von KhanRKerensky bearbeitet. |
|
Profil || Suche |
|
019 10.09.2004, 14:55 Term |
Haha, und jetzt bitte alle einmal aufzeigen, die das verstanden haben! :) Das hab ich aus der Dokumentation einer Engine mit der ich arbeite, kann ich leider also nicht zu verlinken. Hier aber die entscheidenden Passagen: -- [ - Mindmotor.Studios - ]|[ - Poke646 - ]|[ - Spaceman - ] Dieser Beitrag wurde am 10.09.2004 um 14:56 von Term bearbeitet. |
|
Profil || Suche |
|
020 10.09.2004, 15:13 Dreamscape |
nach Terms (hallo ^^) methode in weniger als 5min gemacht.. Japan Braucht Dich! - http://www.japan-braucht-dich.de - Jetzt Spenden! |
|
Profil || Suche |
|
021 10.09.2004, 15:51 KhanRKerensky |
Ich wüsste jetzt mal gerne was als Bumpmap hier bezeichnet wird... Ich find bloß leider die Seite nimmer, auf der Emboss, Environmental und Dot3 Bumpmapping erklärt wird. /edit "[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book Dieser Beitrag wurde am 10.09.2004 um 17:31 von KhanRKerensky bearbeitet. |
|
Profil || Suche |
|
022 10.09.2004, 16:37 Term |
Hmmm, für die Verwirrung bin ja wohl ich verantwortlich, hier also meine Definition: Heightmaps kenne ich seit den Zeiten von so Landschaftsproggies wie Bryce immer eher als eine Graustufenmap zur Definition eines realen 3D-Terrains. Da in Artikeln zu Bumpmaps aber auch immer wieder von Heightmaps die Rede ist, können wir uns meinswegen drauf einigen, daß das ein und dasselbe ist: eine Graustufenmap, in der der Helligkeitswert eines Pixels seiner späteren Höhe im 3D-Bereich entspricht. Und Normalmaps sind zu guter Letzt die bunten Dinger (da hat aber auch nie wer was anderes behauptet, oder?). --[ - Mindmotor.Studios - ]|[ - Poke646 - ]|[ - Spaceman - ] |
|
Profil || Suche |
|
023 10.09.2004, 19:10 Der_Sepp |
Meintest du diese Seite KhanRKerensky? Ist zwar schon etwas älter, aber ich find alles recht gut erklärt! -- |
|
Profil || Suche |
|
024 10.09.2004, 20:03 KhanRKerensky |
Nee... ist aber schon die richtige Richtung. Ich hatte damals ne Seite gehabt, die war sehr mathematisch. --"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book |
|
Profil || Suche |
|





















