Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
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.
Ich habe mich also entschieden, solange rumzuprobieren, bis ich es schaffe, aus den Bevels & Embosses von Photoshop volltaugliche Normalmaps zu erzeugen. Und siehe da, es hat geklappt!
Leider ist es an einigen Stellen noch etwas umständlich, da ein bestimmter Ebeneneffekt 2 mal pro Ebene angewendet werden muss, und sich das ohne passendes Plugin (was ich nich gefunden hab) nicht ohne Flatten erledigen lässt.
So, jetzt mal zum Tutorial. Richtet sich übrigens an Fortgeschrittene.

[Anmerkung:
Ich habe bei diesem Tutorial bisher ausschließlich exakt den hier beschriebenen Weg mit genau diesen Werten ausprobiert und kann absolut nicht sagen, ob das auch anders funktioniert.]

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...
1- Strukturebene für den ausgestanzten Bereich (dafür hab ich eine Detailtex von Gimli vergewaltigt)
2- Grau-mischmasch-ebene als ausgestanzter Bereich mit Inner Bevel nach oben
3- eine schwarz gefüllte Ebene die genau unter dem Stanz-Bereich liegt, aber einen Outer Bevel nach unten hat.
4- Strukturoverlay für den Untergrund (auch dafür hab ich eine Detailtex von Gimli vergewaltigt)
5- Untergrund
Die Form habe ich per Ebenenmaske angepasst.

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:
Für die ausgestanzte Form bzw. ...

... 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.
Anschließend werden die übrigen Layer, die hoffentlich alle durchgängig gefüllt und per Alphamaske transparent gemacht wurden, mit reinem weiß (#FFFFFF) gefüllt.

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:
(Die Farbe für Shadows und Highlights ist #D9D9D9 für einen späteren 45° WInkel, je dunkler desto steiler, da hab' ich allerdings noch nicht experimentiert)

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.
Die Flächen innerhalb von 'Green' habe ich hier bereits mit #7F7F7F gefüllt. Diese Farbe ist eine der wenigen, die im ganzen Konzept afaik absolut fest steht.

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.
Nun müsst ihr erneut meine Shading Werte übernehmen. Dieses Mal kommt es auf den Shadow an, der in #3F3F3F gehalten werden sollte.

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.
Jetzt nurnoch den Ebenenmodus der beiden oberen Ebenen (die Reihenfolge der 3 Layers ist egal) auf "Linear Dodge" stellen und fertig ist die Normalmap.
Meine sieht so aus:

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.

Menschen gegen Wolken


Dieser Beitrag wurde am 04.09.2004 um 00:09 von Retrix bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
09.09.2004, 15:50
Term



Zitat:
Retrix postete
ich freue mich sehr über Hinweise und Kritik, weil ich selbst erst ganz neu auf dem Gebiet bin.
Ö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.
2. Normalmap als normales Graustufenbild anlegen (weiß für hoch, schwarz für tief, oder umgekehrt, was weiß ich :)), allerdings im RGB-Modus.
3. "Speichern unter...", DDS als Format anwählen und im folgenden Riesendialogfeld folgendes beachten:

- Als Save Format "CxV8U8" auswählen
- "No MIP Maps" anwählen
- Rechts unten "Convert Height Map to Normal Map" anhaken
- Unter "Normal Map Generation Settings" lässt sich noch ne Menge einstellen, einfach rumprobieren

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>
Ich seh grad auf der Nvidia-Seite, daß inzwischen scheinbar sogar das DDS- und das Normalmap-Plugin getrennt angeboten werden, saugstu hier.
</edit>

--

[ - Mindmotor.Studios - ]|[ - Poke646 - ]|[ - Spaceman - ]


Dieser Beitrag wurde am 09.09.2004 um 15:56 von Term bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
09.09.2004, 18:34
Retrix



Zitat:
Term postete
Ö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
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?
Zitat:
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?!
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.
Man kann z.b. genau bestimmten, wie steil/flach eine Kante sein soll, indem man die Bevel Werte dunkler/heller macht (Im Tutorial noch nich beschrieben, weil ich es da noch nicht ausprobiert hatte)

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.

Menschen gegen Wolken


Dieser Beitrag wurde am 09.09.2004 um 20:38 von Retrix bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
09.09.2004, 19:44
Term



Zitat:
weil da atm nur sehr wenig Leute Ahnung wirklich Ahnung haben, und man jede Hilfe gebrauchen kann [...] und überhaupt ist doch gegen neue Tuts zu mehr oder weniger frischen Themen nichts zu sagen, oder?
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:

Zitat:
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.
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.

Zitat:
Lange, Flache Kanten müssen afaik z.b. erst per Graustufenverläufe erzeugt werden.
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.

Zitat:
Es ist ja nicht so, dass Normalmaps machen in Photoshop absolut umständlich und überflüssig ist. Das hat auch einige Vorteile. Man kann z.b. genau bestimmten, wie steil/flach eine Kante sein soll, indem man die Bevel Werte dunkler/heller macht
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 - ]

zum Seitenanfang zum Seitenende Profil || Suche
004
09.09.2004, 20:56
Onkel Dittmeyer



Zitat:
"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.
Genau das was du da beschreibst, ist eine Heightmap.

--

zum Seitenanfang zum Seitenende Profil || Suche
005
09.09.2004, 21:03
Retrix



Zitat:
Term postete
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:
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.
Zitat:
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.
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.
Zitat:
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.
Wandtexturen können mit fertigen Beveln + Bumpmap durchaus besser aussehen, da man Licht von oben einfach gewöhnt ist.
Zitat:
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.
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.
Zitat:
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
Na wenn du das sagst...

--

...und ich bin nicht ReFlex.

Menschen gegen Wolken


Dieser Beitrag wurde am 09.09.2004 um 21:04 von Retrix bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
09.09.2004, 21:33
Term



Zitat:
Na wenn du das sagst...
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.
zum Seitenanfang zum Seitenende 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:
Mehr Kontrolle über seine Height-, Bump-, oder was-auch-immer- Map, das heißt man kann Sachen bei weniger großem Gefallen ändern. Das ist bei der automatischen Version nicht der Fall. Klar, die Methode von Retrix ist viel arbeitsaufwendiger, aber das muss jeder Anwender für sich entscheiden, ob er nun die automatische Methode nimmt, die sehr wohl einiges zu bieten hat (habs vorhin auch ausprobiert), damit hat man kein großes Rumgewerkle, und man kommt schnell zu einem schönen Ergebnis.

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.
zum Seitenanfang zum Seitenende Profil || Suche
008
09.09.2004, 21:58
Retrix



Schönes Schlusswort!
Damit dürfte die Sache hoffentlich gegessen sein.

--

...und ich bin nicht ReFlex.

Menschen gegen Wolken

zum Seitenanfang zum Seitenende 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>
Ups, war ja schon Schlußwort-Alarm, hatte ich nicht gesehen :)
</edit>

--

[ - Mindmotor.Studios - ]|[ - Poke646 - ]|[ - Spaceman - ]


Dieser Beitrag wurde am 09.09.2004 um 22:06 von Term bearbeitet.
zum Seitenanfang zum Seitenende 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
Mapping tutorial von Freezer...
in dem die Nvidia Tools schon vorkamen, daher kannte ich sie auch.

--

zum Seitenanfang zum Seitenende Profil || Suche
011
09.09.2004, 22:30
Retrix



Ich möcht das jetzt nicht mehr ausdiskutiern.
Deine Beispiele kriegst du hier noch:
Das sind Screens aus Halflife mit Bumpmap-Code, also natürlich lightningtechnisch nicht auf Doom3 Niveau.


--

...und ich bin nicht ReFlex.

Menschen gegen Wolken

zum Seitenanfang zum Seitenende 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.

--

zum Seitenanfang zum Seitenende 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
Aber das was sich da so durchgesetzt hat, is die einfachere Methode zu Lasten einer, von mir aus, nicht ganz sooo großen Kontrollmöglichkeit. Aber ich muss ehrlich sagen, dass ich da nix dagegen hab, ich denk nicht, dass da jemand den Unterschied ingame sehen könnte, von daher hab ich kein Problem damit, die Graustufenmethode zu nehmen. Bin ja auch noch faul und so, das kommt dazu.
Dass der Nvidia-Generator hier nicht bekannt ist, liegt halt mitunter auch daran, dass hier immer noch ein HL-Forum ist, und da braucht man bis dato so Schnickschnack noch nicht, bzw. die die es benutzen, bzw. sich damit auseinandersetzen ham halt keine Lust was zu posten, warum auch immer. :) Wenn's mal soweit is, und HL2 das Licht der Welt erblickt hat, wird sich das schon noch ändern. Und das is das Geplärre wieder groß. "Wah, umdenken, Wah, lernen. Wah, arbeiten. "
Aber nun gut, kommt Zeit kommt Rat. Oder so :)

--

zum Seitenanfang zum Seitenende 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

zum Seitenanfang zum Seitenende Profil || Suche
015
10.09.2004, 07:45
Term



Zitat:
Weil normalerweise sind die Vektoren auf einer Normalmap alle normalisert, damit das die Grafikkarte nicht noch machen muss.
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>
Ok, hab nochmal ein bißchen quer gelesen und die gängigste Erklärung für den Unterschied zwischen Graustufen-Bumpmaps und den farbigen Normalmaps ist, daß Bumpmaps von der Grafikkarte so oder so in Normalmaps umgerechnet werden, man der Grafikkarte aber Rechenzeit abnehmen kann indem man die Normalmaps vorher selber erstellt. Haut das ungefähr hin?
</edit>

--

[ - Mindmotor.Studios - ]|[ - Poke646 - ]|[ - Spaceman - ]


Dieser Beitrag wurde am 10.09.2004 um 08:25 von Term bearbeitet.
zum Seitenanfang zum Seitenende 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.
zum Seitenanfang zum Seitenende Profil || Suche
017
10.09.2004, 14:22
Der_Sepp



Zitat:
Ok, hab nochmal ein bißchen quer gelesen und die gängigste Erklärung für den Unterschied zwischen Graustufen-Bumpmaps und den farbigen Normalmaps ist, daß Bumpmaps von der Grafikkarte so oder so in Normalmaps umgerechnet werden, man der Grafikkarte aber Rechenzeit abnehmen kann indem man die Normalmaps vorher selber erstellt. Haut das ungefähr hin?
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?

--

http://www.shadow-genomics.de

zum Seitenanfang zum Seitenende 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.
Der kleine gewisse Unterschied zwischen Flatshading und Dot3-Bumpmapping ist der das beim Flatshading auf der ganzen Fläche eine Normale verwendet wird und beim Bumpmapping die Normale aus der Normalmap benutzt wird. Der zweite Unterschied ist der, das beim Flatshading der Lichtwert pro Triangle ausgerechnet wird und beim Bumpmapping halt per Texel, aber für sowas kauft man sich ja schließlich neue Grakas.
Dot3 Bumpmapping funktioniert jetzt so (zumindest konnte ich Dot3 so Softwaremäßig simulieren), das einfach das Punktprodukt (Dotproduct) des Lichteinfallsvektors und der "Abweichungsnormale" berechnet wird. Das praktische dabei ist eigentlich, das man schon den Lichtwert nach Lambert hat, wenn beide Vektoren normalisiert sind. Da der Lichteinfallsvektor immer normalisiert (auf Länge 1 gebracht) werden muss, entsteht da schon ein großer Rechenaufwand, da man eine Wurzel ziehen muss. Die Wurzel ist dabei viel Komplizierter als das Punktprodukt im Endeffekt.
Müsste man jetzt noch die Normale der Normalmap normalisiern könnte man Bumpmapping wohl erst auf einer GeForce 7 ausführen. Da das keiner will, wird die Normalmap schon normalisiert gespeichert.

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
Es gibt 2 Arten von Bumpmapping. Dot3 und Environmental. Environmental arbeitet irgentwie anders, braucht afaik aber keine Normalmaps.

--

"[...] 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.
zum Seitenanfang zum Seitenende Profil || Suche
019
10.09.2004, 14:55
Term



Haha, und jetzt bitte alle einmal aufzeigen, die das verstanden haben! :)

Zitat:
Der_Sepp postete
Hättest du vielleicht einen Link dazu? Meines erachtens, sind Bumpmaps genauso schnell wie Normalmaps.
Das hab ich aus der Dokumentation einer Engine mit der ich arbeite, kann ich leider also nicht zu verlinken. Hier aber die entscheidenden Passagen:

Zitat:
Almost all applications that use bump mapping internally use normal maps as a representation of the bumps. [...] So a bump map is only a pre-step to the normal map that is easier to use for graphic artist and gets converted when loading it. Furthermore it is easier to generate a grayscale heightmap either procedural or technically by scanning real surfaces. [...] Apart from this, loading a normal map is faster, because it does not have to be converted. But in most cases you will load bump maps and specify a bumpiness for the conversion.

--

[ - Mindmotor.Studios - ]|[ - Poke646 - ]|[ - Spaceman - ]


Dieser Beitrag wurde am 10.09.2004 um 14:56 von Term bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
020
10.09.2004, 15:13
Dreamscape



nach Terms (hallo ^^) methode in weniger als 5min gemacht..
war allerdings n bischen unsauber :p

--

Japan Braucht Dich! - http://www.japan-braucht-dich.de - Jetzt Spenden!

zum Seitenanfang zum Seitenende Profil || Suche
021
10.09.2004, 15:51
KhanRKerensky



Ich wüsste jetzt mal gerne was als Bumpmap hier bezeichnet wird...
Die Heightmap (graustufendingsa) oder die bunten Normalmaps? Leider ist Bumpmap nicht richtig definiert. Die einen meinen das, die anderen diesda...
Wenn du die Heightmap als Bumpmap bezeichnest, kann ich nur sagen, das die Graka wohl nicht das konvertieren macht. Es wäre schlichtweg unsinnig. Wenn eine Konvertierung stattfindet, dann wohl innerhalb der Engine vor dem Laden des Models oder des Materials, so das dann der 2D-Artist mit Heightmaps arbeiten kann, die Graka aber trotzdem Normalmaps bekommt.

Ich find bloß leider die Seite nimmer, auf der Emboss, Environmental und Dot3 Bumpmapping erklärt wird.

/edit
Zwar nicht das was ich gesucht hab, aber auch schon nicht schlecht:
http://www.delphi3d.net/articles/viewarticle.php?article=bumpmapping.htm
Für uns Intressant sind wohl nur die "3. Realtime techniques"

--

"[...] 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.
zum Seitenanfang zum Seitenende 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 - ]

zum Seitenanfang zum Seitenende 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!

--

http://www.shadow-genomics.de

zum Seitenanfang zum Seitenende 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

zum Seitenanfang zum Seitenende Profil || Suche