PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Weiß jemand, wie man Normal-Maps für Risen erstellen kann?



|Lorn|
05.05.2010, 18:34
Hey.

Frage siehe Post. Risen nimmt meine Normalmaps zwar an, leider werden die Texturen dann aber trotzdem ziemlich seltsam dargestellt. Es gibt wieder solche Normalmaps wie in G3 (die grünen).

Baltram
05.05.2010, 18:42
Für was genau hast Du die Normal-Maps erstellt?
(Evt. sind in diesen Modellen keine Angaben zum Tangent Space)

Haben sie überhaupt eine Ausirkung?

|Lorn|
05.05.2010, 18:57
Für was genau hast Du die Normal-Maps erstellt?
(Evt. sind in diesen Modellen keine Angaben zum Tangent Space)

Für das Face des Heros. Da gibts ja standardmäßig schon welche (nur nicht für die Diffuse-Map, die ich benutze).


Haben sie überhaupt eine Ausirkung?

Ja, sie stimmen schon ungefähr, nur gibts unschöne "Schatten" auf dem Gesicht des Hero (Wieso hab ich das Gefühl, der Risen-Held hätte einen Namen? o.0).

Wie gesagt, die Risen-Normals sind so grünlich wie in G3 (bzw. im Original, also vor dem Einlesen so rötlich, schätze ich, wie Snorre von den PBs mal zu G3 schrieb). Die Normal die ich eingefügt habe war aber eine "normale" lila Map.

Nisarg
07.05.2010, 07:03
Could you tell me what you mean in English? Google Translate has done a bad job of translating your post. Do you mean why the Genome Engine (Gothic 3 and Risen) use green Normal maps instead of the usual purple ones?

|Lorn|
07.05.2010, 12:28
Could you tell me what you mean in English? Google Translate has done a bad job of translating your post. Do you mean why the Genome Engine (Gothic 3 and Risen) use green Normal maps instead of the usual purple ones?

Yeah I'm sorry. I'm just not used to ask my Modding-Questions in English. If something useful would turn out in the end, I might just translate it for all English guys here.

Regarding my problem: I wanted to make a new normal map for the hero's face 'cause I changed his diffuse texture (well I took one from Anushkas mod) but Risen and Gothic 3 use these (if you unpack them) green/transparent normals (in reality they are red ... well at least one of the Piranhas told us so in another thread). And I just don't know how to create such a normal map. Everything I could do until now are these purple ones.

Nisarg
08.05.2010, 05:03
You have to create the 'purple' map, then copy over the red channel to the alpha/transparency channel and then turn both red and blue channels to black. This is said to allow better compression when using the DXT5 format of DDS.

In photoshop, it is done by selecting the entire image, switching to the red channel, copying, switching to or creating the Alpha channel, pasting the contents there, then going back to the red channel, clearing it or filling it with black and then clearing/blackening the blue channel.

It's easy for the engine to remake the purple map from the green-and-alpha map. (I don't know how).

LOLiTA
08.05.2010, 13:38
Ich benutze "CrazyBump" (www.crazybump.com) allerdings für Gothic 3.

|Lorn|
08.05.2010, 14:55
You have to create the 'purple' map, then copy over the red channel to the alpha/transparency channel and then turn both red and blue channels to black. This is said to allow better compression when using the DXT5 format of DDS.

Thank you a lot. I'll try that out.




Ich benutze "CrazyBump" (www.crazybump.com) allerdings für Gothic 3.

Ja, da werden die Maps aber auch lila.

Machst dus denn dann auch so, wie NatDis geschrieben hat?

LOLiTA
08.05.2010, 18:12
Ja, Normal-Maps sind immer lila.
Nur ist es so, dass die Genome-Engine sie automatisch grün macht, wenn es diese erkennt. Nach der Umwandlung ins eigene Format sind die lilanen Maps plötzlich grün.
Es gibt kein Programm, was grüne Normals erzeugt.
Ich mache die Texturen generell in BC3/DXT5 Compression (mit dithering).

Du musst die fertigen Normals einfach mit dem Tool "dds2ximg" umwandeln und dann erkennt das Spiel die Maps.
Falls du irgendwas über CrazyBump wissen willst, nur fragen.

|Lorn|
08.05.2010, 18:18
Es gibt kein Programm, was grüne Normals erzeugt.
Ich mache die Texturen generell in BC3/DXT5 Compression (mit dithering).


Hm, bei mir sehen die neuen Normals im Spiel aber leicht bescheiden aus... Da gibts immer so seltsame "Schatten". Hast dus denn schonmal in Risen ausprobiert bzw. könntest dus mal ausprobieren?

LOLiTA
08.05.2010, 19:35
Ich habs in Risen noch nie ausprobiert, weil ich es nicht notwendig finde, die Texturen zu ersetzen. Doch ich kann es ja mal tun.
Dann musst du bei CrazyBump eben die Strength auf 99 setzen und die intensity auf -99 und alle Detailgrade auch auf 99.

Siehst du denn einen Unterschied zwischen mit- und ohne (mit falscher) Normal?

Gib mir mal deine Diffuse-Textur ich teste es dann mal.

|Lorn|
09.05.2010, 01:02
Siehst du denn einen Unterschied zwischen mit- und ohne (mit falscher) Normal?

Ja, die Normal "greift" natürlich. Allerdings gibts eben unschöne "Schatten"-Effekte.


Gib mir mal deine Diffuse-Textur ich teste es dann mal.

Hier (http://upload.worldofplayers.de/files5/Ani_Hero_Head_Hero_01_Diffuse_S1.zip) (ist eigentlich die Textur von Annushka). Musst halt noch mit dem RisenDDS in 'ne DDS umwandeln.

sui
09.05.2010, 08:55
Diese "seltsamen Schatten" könnten auch ganz einfach durch einen invertierten Grün-Channel entstehen.

Hast du denn mal die "Invert-Y" Funktion in deinem bevorzugten Normal-Map Filter aktiviert?

Hier ein beispiel: Mit Invert-Y (http://i93.photobucket.com/albums/l44/suizidbanger/schrott/mitinvy.jpg), Ohne Invert-Y (http://i93.photobucket.com/albums/l44/suizidbanger/schrott/ohneinvy.jpg)

G3 verwendet beispielsweise solche Normals und da Risen eine aufgemotzte Version der Genome-Engine verwendet, dürfte es dort genauso sein.

Wie du die lilanen Normals aus den Grünen wiederherstellen kannst, habe ich dir ja schon gesagt.

Die Roten/Grünen könnte man zwar ganz einfach nachbauen, allerdings würde das Spiel dann versuchen diese bereits "konvertierten" Normals nochmals zu konvertieren, was natürlich nichts werden kann.

Probiers einfach mal aus.

LOLiTA
09.05.2010, 12:15
Also auch bei mir mit meiner Normal (ohne Shapes) gibt es Schattenfehler.

|Lorn|
09.05.2010, 12:30
Hast du denn mal die "Invert-Y" Funktion in deinem bevorzugten Normal-Map Filter aktiviert?

Ich glaube fast nicht, bin mir da aber nicht ganz sicher. In der Materie bin ich ehrlich gesagt noch relativ unbedarft.


Wie du die lilanen Normals aus den Grünen wiederherstellen kannst, habe ich dir ja schon gesagt.

Ja, stimmt :) Danke übrigens für die Erklärung. Habe ganz vergessen auf deine PN zu antworten :scared:


Die Roten/Grünen könnte man zwar ganz einfach nachbauen, allerdings würde das Spiel dann versuchen diese bereits "konvertierten" Normals nochmals zu konvertieren, was natürlich nichts werden kann.

Sprich G3/Risen verwenden tatsächlich diese lila Normals?


Probiers einfach mal aus.

Ich werds versuchen, danke nochmal :)


Also auch bei mir mit meiner Normal (ohne Shapes) gibt es Schattenfehler.

Hm, verdammt...aber danke für deine Mühen :gratz Werds vermutlich selbst nochmal probieren müssen...

LOLiTA
09.05.2010, 13:06
So ich habs nochmal versucht mit einigen Korrekturen.
Guckst du hier:
http://upload.worldofplayers.de/files5/Risen_2010_05_09_13_54_31_54.png
http://upload.worldofplayers.de/files5/Risen_2010_05_09_13_55_42_50.png
http://upload.worldofplayers.de/files5/Risen_2010_05_09_13_56_47_57.png

Wenn du meine Maps haben willst, kannste sie hier laden:
http://upload.worldofplayers.de/files5/Heads.7z

sui
09.05.2010, 14:13
So... ich habe eben extra wegen dir nochmal Risen installiert.
Wie es aussieht, lädt Risen die .dds Dateien nicht von selbst, sondern man muss sie erst selbst ins ._ximg Format konvertieren, damit es die neuen Daten ranzieht.

Wie auch immer, ich habe mir das ganze eben mal auf die schnelle angesehen und es ist zwar etwas umständlicher als zB bei G3, aber der Aufwand hält sich in Grenzen.


So gehts:

1. Lilane Normal-Map (http://upload.worldofplayers.de/files5/Normal.jpg) erstellen. Invert-Y muss aktiviert sein, sonst sind die Normals im Spiel falsch herum!

2. Diese in eine grüne Normal-Map (http://upload.worldofplayers.de/files5/Normal_bearbeitet.jpg) konvertieren. Siehe dazu weiter unten.

3. Diese grüne Normal-Map als .dds (DXT5) speichern und mit "dds2ximg" ins ._ximg Format konvertieren.

Sieht im Spiel dann so aus:
#1 (http://upload.worldofplayers.de/files5/ingame1.jpg), #2 (http://upload.worldofplayers.de/files5/ingame2.jpg)



Die lilanen Normals kann man folgendermaßen in die grünen umwandeln:

1. Alpha-Channel erstellen
2. Den Rot-Channel in den Alpha-Channel kopieren.
3. Den Rot-Channel löschen (=komplett mit Schwarz füllen)
4. Den Blau-Channel ebenfalls löschen (=komplett mit Schwarz füllen)


Ja, stimmt :) Danke übrigens für die Erklärung. Habe ganz vergessen auf deine PN zu antworten :scared:

Kein Thema. ;)


Sprich G3/Risen verwenden tatsächlich diese lila Normals?

Jain.. Eigentlich schon, aber da Risen die Rohdaten (=Lila) nicht von selbst lädt und ins ximg Format konvertiert, muss man die Farbkanäle eben selbst austauschen.
Gothic 3 hingegen tauscht die Kanäle von ganz alleine, wenn man lilane Normals verwendet.

LOLiTA
09.05.2010, 15:21
Das Programm "CrazyBump" hat ziemlich viele Funktionen zum Erstellen von Normals.
Invert-Y gibt es dort nicht aber man kann die Abhebung im Bereich von -99 bis 99 regulieren. Je nach dem, in welche Richtung man Erhöhungen haben möchte (nach innen oder außen). Dann gibt es noch die Shape-Recognition, wo ich denke, dass es sich hierbei um die Oberflächenspiegelung handelt. Also um den Verlauf der Lichtreflektionen, den man ebenfalls individuell anpassen kann, ob links- oder rechts herum. Da ich mich schon ein wenig mit dem Programm beschäftigt habe, kenne ich bereits die besten Einstellungen.
Die Schattenfehler habe ich weitgehend wegbekommen, doch meine Normal in Risen ist eine Lilane. Wie man die jetzt Grün bekommt, kann ich ncht sagen.
Vielleicht sollte sui mal meine Normal grün machen. Ich habe sie nämlich von TGA in _ximg konvertiert und nicht von dds in _ximg.

|Lorn|
09.05.2010, 15:29
So... ich habe eben extra wegen dir nochmal Risen installiert.

Danke :)


Wie es aussieht, lädt Risen die .dds Dateien nicht von selbst, sondern man muss sie erst selbst ins ._ximg Format konvertieren, damit es die neuen Daten ranzieht.

Leider nicht, nein.


Die lilanen Normals kann man folgendermaßen in die grünen umwandeln:

1. Alpha-Channel erstellen
2. Den Rot-Channel in den Alpha-Channel kopieren.
3. Den Rot-Channel löschen (=komplett mit Schwarz füllen)
4. Den Blau-Channel ebenfalls löschen (=komplett mit Schwarz füllen)

Und da haperts bei mir auch schon. Ich hab mal etwas damit herumprobiert, am Ende kam dann so eine "transparente" Textur heraus, wie man sie bekommt, wenn man die ximgs entpackt. Ist das so richtig?

http://upload.worldofplayers.de/files5/normal_risen_01.jpg


PS: Auch danke an dich, Lolita.

LOLiTA
09.05.2010, 15:37
Falls du deine eigene Normal gemacht hast, musst du darauf achten, dass die Augen und Nasenlöcher abstehen und nicht eingedrückt sind. Ansonsten ist die Map falsch herum.
Diese Halbtransparenz ist OK.
Ich würde das Umwandeln allerdings nicht so machen, wie sui es geschrieben hat, sondern ich würde die Map ganz einfach mit Gothic 3 umwandeln lassen. So hast du eine absolut fehlerfreie grüne Map.
Danach kannst du ins TGA konvertieren und dann ins _ximg.

sui
09.05.2010, 15:59
Und da haperts bei mir auch schon. Ich hab mal etwas damit herumprobiert, am Ende kam dann so eine "transparente" Textur heraus, wie man sie bekommt, wenn man die ximgs entpackt. Ist das so richtig?

[Bild]

Ja, das sollte ,soweit ich es erkennen kann, in Ordnung sein. :)
Diese Transparenz liegt an Gimp, also keine Sorge, das hat schon seine Richtigkeit.

...und falls sie im Spiel dann doch falsch herum sein sollte, invertiere einfach den Grünen Kanal.


Falls du deine eigene Normal gemacht hast, musst du darauf achten, dass die Augen und Nasenlöcher abstehen und nicht eingedrückt sind. Ansonsten ist die Map falsch herum.
Diese Halbtransparenz ist OK.

Nope, deine Normal-Map war falsch herum. Sie "bumpte" sämtliche Haare und den Bart nach innen statt nach aussen, was sie aber eigentlich tun sollte.

Erst als ich sie "gedreht" habe, wurden die Haare korrekt nach aussen gebumpt.
Siehe hier:
#1 (http://upload.worldofplayers.de/files5/H5P5dNBYEx331.jpg). #2 (http://upload.worldofplayers.de/files5/U4y2.jpg)

LOLiTA
09.05.2010, 16:15
Nein, vorher hatte ich sie anders und da waren die Augenbrauen nach innen gewölbt. Also so wie ich die Maps hochgeladen habe, ist die Erhebung korrekt. Das sieht man ja auch auf meinen Screens.
Ich habe mir deine (angeblich) gedrehte Map angeschaut und diese ist genau die gleiche, wie meine.

|Lorn|
09.05.2010, 17:18
Ja, das sollte ,soweit ich es erkennen kann, in Ordnung sein. :)
Diese Transparenz liegt an Gimp, also keine Sorge, das hat schon seine Richtigkeit.

Ich benute Paint.NET :D Sollte aber egal sein. Das kommt durch die wieder eingefügt Alpha-Mask. Ohne ists einfach grün (eben wenn red und blue channel fehlen).

sui
09.05.2010, 18:40
Nein, vorher hatte ich sie anders und da waren die Augenbrauen nach innen gewölbt. Also so wie ich die Maps hochgeladen habe, ist die Erhebung korrekt. Das sieht man ja auch auf meinen Screens.
Ich habe mir deine (angeblich) gedrehte Map angeschaut und diese ist genau die gleiche, wie meine.

Blindheit ist eine schwere Bürde... Mein aufrichtiges Beileid.
Funktionieren tut die Map aber trotzdem nicht, da mir erst später auffiel, dass ich aus versehen den falschen Channel gedreht habe.
Mein Fehler, kann passieren.
Wie auch immer, Du solltest bei deinen Normal-Maps dennoch darauf achten, Dunkle Haare aufzuhellen und erst dann die Normals zu errechnen, denn dann kann man solche "Kanten" wie sie am Haaransatz deiner Map zu finden sind, vermeiden.
Das dauert zwar länger, sieht dafür aber auch besser aus.


Ich benute Paint.NET :D Sollte aber egal sein. Das kommt durch die wieder eingefügt Alpha-Mask. Ohne ists einfach grün (eben wenn red und blue channel fehlen).

Funktionierts denn jetzt?

|Lorn|
09.05.2010, 21:59
Funktionierts denn jetzt?

Naja, leider eher weniger. Ich habe anscheinend noch immer solche seltsamen Schatten drin. Ich gucks mir morgen nochmal an und lade mal einen ingame Screenshot hoch.

NicoDE
10.05.2010, 09:22
Würde es helfen, wenn ich einen zweiten _XIMG-Konverter entwickle, der nicht nur in DDS konvertiert, sondern in das Rohdatenformat, welches im Header steht (DDS/PNG/TGA) - und bei "_Normal_" die Kanäle automatisch vertauscht?
Welche Sonderfälle gibt es noch (abgesehen von den Cube/Volume Maps)?

|Lorn|
10.05.2010, 18:01
Würde es helfen, wenn ich einen zweiten _XIMG-Konverter entwickle, der nicht nur in DDS konvertiert, sondern in das Rohdatenformat, welches im Header steht (DDS/PNG/TGA) - und bei "_Normal_" die Kanäle automatisch vertauscht?

Was würde das bringen? Wie sähen die Normals denn dann aus?


Welche Sonderfälle gibt es noch (abgesehen von den Cube/Volume Maps)?

Ich wüsste keine mehr. Specular-Maps machen da ja keine Probleme.