Bump-Mapping und wandernde Textur

!!! Please ensure, that your contribution or question is placed into the relevant section !!!
Questions about rolling stock, for example, do not belong in "Questions about the Forum". Following is perhaps the right area where your question will be better looked after:
General questions to EEP , Splines, rolling stock, Structures in EEP, landscape elements, Signalling system and controlling, designers, Europe-wide EEP meetings , Gossip
Your cooperation to keep the forum clear is appreciated.
  • Hallo,


    schon oft habe ich versucht, eine Textur mit Bumpmapping zu verwenden, aber noch nie mit brauchbarem Erfolg. Sobald ich Bumpmapping mit dem Parameter bump_t in der Datei Texturen.txt einschalte und entsprechende *_h und *_n-Dateien anlege, wandert die Textur über das Mesh, wenn man den Blickwinkel verändert. Zur Verdeutlichung habe ich ein kleines Video erstellt. Bitte achtet auf das Schotterbett in der Bildmitte und besonders auf die Flanke des Schotterbetts zur Dammkrone hin. Vor allem, wenn die Kamera sich quer zum Bahndamm bewegt, fällt dieses Wandern der Textur auf. Der Parameter zu bump_t steht sogar schon auf 0, also bump_t(0.00), trotzdem wandert die Textur. Der Bahndamm selbst ist ein zweiter Spline, ohne bump_t.

    Noch zwei Hinweise, die vielleicht zielführend sind, vielleicht aber auch irreleiten:

    • Neben meinem Bahndamm ist auf der einen Seite der von GK3 zu sehen (zu Beginn des Videos links). Dieser verwendet meines Wissens auch bump_t, ohne dass die Textur wandert.
    • Die _h- und _n-Texturen in der 3dm-Kapsel haben nur noch einen Grün-Kanal, die anderen Farben stehen auf 0. (Dasselbe gilt aber auch für Günters Texturen.)




    Wer kann mir den entscheidenden Tipp geben, damit die Textur nicht mehr wandert?


    Gruß

    Christopher

    PC: Intel i7-7700K; 64bit; 4,2 GHz; 16GB RAM; GeForce GTX 1080 (8 GB); Win 10; EEP 6, 13.2 Plugins 1+2, 14.1 (Dev), 15 (Dev); HomeNOS 14 (Dev)
    Laptop: Intel i5 3230M; 64bit; 2,6 GHz; 8GB RAM; GeForce GT740M (1 GB); Win 8.1; EEP 6, 13.2 Plugins 1+2; HomeNOS 13 (User)

  • cetz Moin Christopher, habe Dir über Skype etwas geschickt

    Glück Auf aus dem RuhrpotT ... Peter [PB1]


    XPS 8910, Intel Core i7-6700K (4,2 GHz 8 MB Cache), Memory 16 GB , NVIDIA GeForce GTX 1080 8GB GDDR5, Festplatte M.2-SSD 256 GB + Festplatte 2TB 7.200 upm, Win 10 - 64 bit
    EEP15, EEP14, EEP13, EEP 12, EEP 11, EEP X, EEP9, HN8user, HN11, HN13, HN14, HN15, AC3D, uvm.

  • Hallo Uwe, könntest es die Schattenwirkung sein? Schalte mal in EEP den Schatten aus.

    Glück Auf aus dem RuhrpotT ... Peter [PB1]


    XPS 8910, Intel Core i7-6700K (4,2 GHz 8 MB Cache), Memory 16 GB , NVIDIA GeForce GTX 1080 8GB GDDR5, Festplatte M.2-SSD 256 GB + Festplatte 2TB 7.200 upm, Win 10 - 64 bit
    EEP15, EEP14, EEP13, EEP 12, EEP 11, EEP X, EEP9, HN8user, HN11, HN13, HN14, HN15, AC3D, uvm.

  • Hallo Uwe,

    das Video ist nicht verfügbar, sagt YT.

    Das ist aber eigenartig. :au_1: Bei mir funktioniert es in Firefox, Opera und Edge. Und zwar auch ohne bei youtube angemeldet zu sein.

    Nochmal versuchen?


    Gruß

    Christopher

    PC: Intel i7-7700K; 64bit; 4,2 GHz; 16GB RAM; GeForce GTX 1080 (8 GB); Win 10; EEP 6, 13.2 Plugins 1+2, 14.1 (Dev), 15 (Dev); HomeNOS 14 (Dev)
    Laptop: Intel i5 3230M; 64bit; 2,6 GHz; 8GB RAM; GeForce GT740M (1 GB); Win 8.1; EEP 6, 13.2 Plugins 1+2; HomeNOS 13 (User)

  • Das Video ist da :aq_1:

    Schöne Grüße Daniel | DL1 :aq_1:


    PC: Windows- 10- 64bit | Intel Core i5- 7500 CPU 4x 3.40GHz | 16,0GB Ram | NVidea GeForce GTX 1060 3GB | 3 Bildschirme |

    Software: EEP 14.2 & EEP15.1 | HN15 | Blender 2.79 | Gimp 2.10| Meine Freemodelle | EEP Werkstatt

    *Hinweis für Anlagenbauer: Alle meine Freemodelle die sich in der FileBase befinden, dürfen auch mit Shop - und Freeanlagen weitergegeben werden.

  • Hallo Christopher,


    ja, ich kann das Video jetzt auch sehen und erkenne auch was nicht hinhaut. Wenn du Glück hast, liegt es nur am verdrehten Zwizzle. EEP benötigt nämlich DirectX-konforme Tangent-Normalmaps, weil es ja mit DirectX läuft und nicht mit OpenGL.:ae_1:


    DirectX-Zwizzle = + - +


    OpenGL-Zwizzle = + + +


    Wenn du Pech hast... Nee, das stimmt jetzt nicht wirklich, sondern... ein schönes Selbststudium mit wirklich richtig guten tiefgreifenden Erkenntnissen steht dir bevor. So wie ich es vor kurzem auch absolvieren mußte, ...weil nämlich Tangent-Normalmaps garnicht so simpel sind, wie sie uns immer mit ihrem hübschen Lila-Blau vorgaukeln wollen.:bn_1:


    Also Christopher, erstmal die einfache Möglichkeit ausprobieren: Invertiere im Bildbearbeitungsprogramm den Grün-Kanal deiner Normalmap, abspeichern und schaue ob es damit dann in EEP wirklich richtig dargestellt wird (...nicht nur ein bisschen besser oder anders, sondern völlig richtig!). ...wenn nicht, dann hast du den großen Preis des Selbststudiums gewonnen (...oder das Modell in die Ecke pfeffern ...hihi).:bd_1:


    Das mit dem Zwizzle bei EEP und den Normalmaps habe ich übrigens schon zwei Mal in diesem Forum geschrieben (das nur mal so nebenbei gesagt).:ay_1:


    ...und das Normalmaps in der 3dm grün sind, liegt an der DXT-Komprimierung.:ae_1:


    Schreibe hier wie es gelaufen ist.


    Beste Grüße,

    Uwe

    EEP13.2.2, HN13, Modell-Konstruktion mit Blender,
    Intel Core i5 3570 3,4/3,8GHz, 8 GB Ram, Nvidia GTX750Ti, Win7Prof.

  • Hallo Uwe und alle anderen,


    der Swizzle stimmt. (Mit Deiner Schreibweise "Zwizzle" hast Du zuerst einmal "in die Wüste geschickt". :ae_1:) Ich habe den Grünkanal invertiert, und das Modell sah räumlich nicht mehr stimmig aus. Ich habe auch an weiteren Parametern beim Erstellen der Normalmap herumgedreht. Das Ergebnis war immer, dass die räumliche Wirkung mehr oder weniger gut war, das Wandern der Textur sich insgesamt aber nicht geändert hat. Dann habe ich die Normalmap einfarbig (#7f7fff) und die Heightmap mittelgrau (#7f7f7f) gemacht: Räumliche Wirkung ist dahin (klar!), aber das Wandern bleibt.


    Meine Vermutung ist eher, dass das Wandern mit der Heightmap (Bumpmap) zu tun hat. Es sieht immer so aus, als ob die Textur tiefer läge als die Flächen, auf denen sie aufgebracht ist. Daraufhin habe ich mit weißen und schwarzen Heightmaps gespielt, und auch mit solchen, die nur einen schwarzen Pixel in einer weißen Fläche bzw. einen weißen Pixel in einer schwarzen Fläche hatten. Das alles hatte keinen Einfluss auf das Wandern der Textur.

    Gruß

    Christopher

    PC: Intel i7-7700K; 64bit; 4,2 GHz; 16GB RAM; GeForce GTX 1080 (8 GB); Win 10; EEP 6, 13.2 Plugins 1+2, 14.1 (Dev), 15 (Dev); HomeNOS 14 (Dev)
    Laptop: Intel i5 3230M; 64bit; 2,6 GHz; 8GB RAM; GeForce GT740M (1 GB); Win 8.1; EEP 6, 13.2 Plugins 1+2; HomeNOS 13 (User)

    The post was edited 1 time, last by cetz: Kleine Ergänzung ().

  • Hallo Christopher,


    von welcher Heightmap redest du nur?


    Es gibt für EEP nur 3 Maps: Die Diffuse-Map (Name.png), dann die Normal-Map (Name_n.png) und die Specular-Map (Name_h.png).


    Beste Grüße,

    Uwe

    EEP13.2.2, HN13, Modell-Konstruktion mit Blender,
    Intel Core i5 3570 3,4/3,8GHz, 8 GB Ram, Nvidia GTX750Ti, Win7Prof.

  • Die Normal Map ist doch die Blaue?

    Die Height Map die Graue?

    Die werden doch als _n und _h eingebunden?


    Oder wird die Specular(Reflection) Map statt der Height Map eingebunden?

    Was ist die Specular Map im Programm Materialize? (Metallic?)

    Da gibt es nur Height und Normal.


    Dann hab ich das auch falsch verstanden bisher.

    EEP15, HomeNos15, Modellkatalog, Blender 2.8, Tauschmanager, Hugo :aq_1:

  • Hallo Uwe,


    ich meine die _h-Datei. Mir ist schon klar, dass sie (auch) die Specularity beeinflusst; der Name der Datei stammt doch aber eher von Height, oder?

    Wenn die _h-Datei nur die Specularity enthält, wo ist dann die Information abgelegt, wie weit die Textur-Pixel über oder unter der Fläche des Meshs liegen, also die Höheninformation? Denn das Filmchen zeigt ja gerade, dass diese Höhe durchgängig als negativ interpretiert wird.


    Nebenbei: Weißt Du genau, was die Bedeutung des Parameters von bump_t ist? Meiner Vermutung nach ist das ein Faktor für die Höheninformation (die irgendwo steckt).


    Gruß

    Christopher

    PC: Intel i7-7700K; 64bit; 4,2 GHz; 16GB RAM; GeForce GTX 1080 (8 GB); Win 10; EEP 6, 13.2 Plugins 1+2, 14.1 (Dev), 15 (Dev); HomeNOS 14 (Dev)
    Laptop: Intel i5 3230M; 64bit; 2,6 GHz; 8GB RAM; GeForce GT740M (1 GB); Win 8.1; EEP 6, 13.2 Plugins 1+2; HomeNOS 13 (User)

    The post was edited 1 time, last by cetz: "Nebenbei" ergänzt ().

  • Hallo Christopher


    Ich schreibe das Ganze mal zusammen und schicke es nach Polen


    Mal sehen, was geantwortet wird.


    Viele Grüße


    vom Nicci

    p.s. um keinen neuen Beitrag aufmachen zu müssen

    Mail ist ab und Christopher hat den deutschen Text und die englische Übersetzung zur Info erhalten

    Nicci

    EEP 6.1, EEP Modellkonverter
    EEP 13 Pl 1 und 2, EEP 14 Pl 1 und 2, EEP 15 Pl 1; HomeNos 14 (alle DEV und User)
    Windows 10 pro, AMD FX 8320E 8 x 3,2 GHz, 16 GB Ram, NVidia GTX 960 - Pc
    Windows 10 Intel i7-6700 HQ; 8 x 2,6 GHz; 8 GB RAM, NVIDIA GForce GTX 970M - Laptop

  • Hallo,


    nach langen Versuchsreihen bin ich nun zu etwas brauchbareren Ergebnissen gekommen, und zwar mit folgenden Interpretationen:

    • Die _h-Datei, die über die Einstellung bump_t in der Texturen.txt angezogen wird, enthält die Specularity-Map und nur diese.
      Mit Height-, Parallax- oder Displacement-Mapping hat sie nichts zu tun, auch wenn ihr Name das nahelegt.
    • Die _n-Datei enthält in den drei Farbkanälen die Normalmap, und zwar mit dem Swizzle +x, -y, +z.
      Wenn die Normalmap mit Blender gebacken wurde, muss daher der Grün-Kanal invertiert werden.
    • Außerdem enthält die _n-Datei die Höheninformation für ein Parallax-Mapping, und zwar im Alpha-Kanal. Meine Vermutung:
      • Opake Pixel liegen maximal tief (steuerbar durch den Parameter von bump_t?)
      • Transparente Pixel liegen in der Ebene der Fläche (aber leider nicht darüber?).
      • Bei schrägem Blickwinkel können Vertiefungen sogar hinter höheren Bereichen verschwinden (Parallax Occlusion Mapping oder Relief Mapping?)
    • In der 3dm-Kapsel sind wieder _h- und _n-Dateien enthalten, allerdings mit anderer Zuordnung:
      • Die _n-Datei enthält nur die Normalmap, und zwar im Grün- und Alpha-Kanal (DXT5nm-Kompression).
      • Die _h-Datei enthält nun die Specularity-Map im Grün-Kanal und die Height-Map im Alpha-Kanal.

    Ich hoffe, dass ich mit meinen Interpretation nicht völlig daneben liege, und dass diese Informationen nützlich für andere Home-Nostruktor-Anwender sind.


    Nicci 53 : Danke für das Weiterleiten nach Polen. Es wäre sehr nett von Dir, wenn Du auch diesen Beitrag mit der Bitte um Bestätigung und Klärung der Fragezeichen weiterleiten würdest.


    Gruß

    Christopher

    PC: Intel i7-7700K; 64bit; 4,2 GHz; 16GB RAM; GeForce GTX 1080 (8 GB); Win 10; EEP 6, 13.2 Plugins 1+2, 14.1 (Dev), 15 (Dev); HomeNOS 14 (Dev)
    Laptop: Intel i5 3230M; 64bit; 2,6 GHz; 8GB RAM; GeForce GT740M (1 GB); Win 8.1; EEP 6, 13.2 Plugins 1+2; HomeNOS 13 (User)

  • Hallo Christopher


    Ich habe Dir die Antwort aus Polen gerade per PN weitergeleitet

    Teile mir bitte mit, welche Fragen noch offen bleiben, ich würde dann eine Zusammenfassung von Fragen und Antworten für andere HomeNos Anwender zunächst hier im Forum veröffentlichen, bis es an entsprechender Stelle im Wiki eingearbeitet werden kann.


    Viele Grüße

    vom Nicci

    p.s. der 2. Text samt seiner Übersetzung ist ebenfalls ab nach Polen

    EEP 6.1, EEP Modellkonverter
    EEP 13 Pl 1 und 2, EEP 14 Pl 1 und 2, EEP 15 Pl 1; HomeNos 14 (alle DEV und User)
    Windows 10 pro, AMD FX 8320E 8 x 3,2 GHz, 16 GB Ram, NVidia GTX 960 - Pc
    Windows 10 Intel i7-6700 HQ; 8 x 2,6 GHz; 8 GB RAM, NVIDIA GForce GTX 970M - Laptop

  • Die _h-Datei enthält nun die Specularity-Map im Grün-Kanal und die Height-Map im Alpha-Kanal.


    Die height map erzeugt der Nostruktor dann selber?


    Wie erzeuge ich dann am einfachsten die specular Map wenn ich nur die Normal und die Diffuse Map habe?

    EEP15, HomeNos15, Modellkatalog, Blender 2.8, Tauschmanager, Hugo :aq_1:

  • Die _h-Datei enthält nun die Specularity-Map im Grün-Kanal und die Height-Map im Alpha-Kanal.
    Die height map erzeugt der Nostruktor dann selber?

    Nein, die musst im Alpha-Kanal der _n-Datei mitgeben. Der Nostruktor verschiebt sie nur in den Alpha-Kanal der _h-Datei — in der 3dm-Kapsel. Eigentlich kannst Du alles über den Inhalt der 3dm-Kapsel ignorieren. (Ich habe es nur der Vollständigkeit halber notiert, weil ich es gerade jetzt weiß und später bestimmt vergesse.)

    Wie erzeuge ich dann am einfachsten die specular Map wenn ich nur die Normal und die Diffuse Map habe?

    Gar nicht. Die Specular-Map beschreibt die Reflexions-Eigenschaften. Und diese sind nicht aus der Normal- oder der Diffuse-Map ableitbar.


    Gruß

    Christopher

    PC: Intel i7-7700K; 64bit; 4,2 GHz; 16GB RAM; GeForce GTX 1080 (8 GB); Win 10; EEP 6, 13.2 Plugins 1+2, 14.1 (Dev), 15 (Dev); HomeNOS 14 (Dev)
    Laptop: Intel i5 3230M; 64bit; 2,6 GHz; 8GB RAM; GeForce GT740M (1 GB); Win 8.1; EEP 6, 13.2 Plugins 1+2; HomeNOS 13 (User)

  • ???

    Jetzt komme ich nicht mehr mit.


    Wie ist denn nun das Vorgehen?

    Du sagst, die _n Datei ist die Normal Map Datei.

    Du sagst, die _h Datei ist die Specular Map Datei.


    Diese muß ich doch dann irgendwie erzeugen und in den Texturen Ordner stellen?

    Zusammen mit der Diffuse Map, also der Textur selber.


    Zur Erstellung der Normal und Height Map gibt es ja Programme.

    Aber die _h Datei muß man doch dann auch irgendwie erzeugen?

    Garnicht ist da doch nicht zielführend?


    Und wenn die _n die Normal Datei ist, wie bekomme ich da eine mit Zusatzprogrammen erzeugte Height Map in den Alpha Kanal?

    Dann ist _n ja ein Hybrid aus Normal und Height?

    EEP15, HomeNos15, Modellkatalog, Blender 2.8, Tauschmanager, Hugo :aq_1:

  • "Garnicht" ist da doch nicht zielführend?

    Die Specular-Map beschreibt, welche Stelle Deines Meshs wie stark glänzt. Diese Information ist weder aus der Diffuse-Map (Welche Stelle hat welche Farbe?) noch aus der Normal- oder der Height-Map ableitbar. Also musst Du Dir die Specular-Map irgendwoher besorgen (vom Lieferanten der Diffuse-Map vielleicht?).

    Wenn Du keine Specular-Map hast, kannst Du Dir ein einfarbiges "Bild" erstellen (schwarz = ohne Glanz, weiß = maximaler Glanz, grau = irgendetwas dazwischen).


    Und wenn die _n die Normal Datei ist, wie bekomme ich da eine mit Zusatzprogrammen erzeugte Height Map in den Alpha Kanal?

    Das hängt vom Bildbearbeitungsprogramm Deiner Wahl ab. Lies mal dessen Doku.


    Dann ist _n ja ein Hybrid aus Normal und Height?

    Jou, so isses.


    Gruß

    Christopher

    PC: Intel i7-7700K; 64bit; 4,2 GHz; 16GB RAM; GeForce GTX 1080 (8 GB); Win 10; EEP 6, 13.2 Plugins 1+2, 14.1 (Dev), 15 (Dev); HomeNOS 14 (Dev)
    Laptop: Intel i5 3230M; 64bit; 2,6 GHz; 8GB RAM; GeForce GT740M (1 GB); Win 8.1; EEP 6, 13.2 Plugins 1+2; HomeNOS 13 (User)

  • Hallo Christopher,


    ist das jetzt dein eigenes Unwissen oder schickst du HaNNoveraNer absichtlich in die Specular-Wüste?:bd_1:


    Natürlich werden Specularmaps aus den Diffusemaps erzeugt, ...aus was denn sonst! :an_1: Genauso wie die hier besprochenen Fake-Normalmaps aus den Diffusemaps über den -Zwischenschritt- einer Fake-Heightmap erzeugt werden. Echte Normalmaps hingegen werden vom Highpoly-Modell (Millionen von Tris groß) auf das gametaugliche Lowpoly-Modell gebacken.


    In den vergangenen Tagen habe ich ebenfalls dieses Thema hier weiter vertieft und auch erfolgreich zu Ende gebracht. Das Materialize-Programm habe ich ebenfalls ausgiebig ausprobiert (wenn man denn weiß, was man tun will, wirklich brauchbar, obwohl es für PBR-Materialien gedacht ist).


    Deshalb kann ich nun auch EEP-Splines mit dem klassischen Game-Industrie Standard (Diff, Norm, Spec) korrekt funktionierend ausstatten, ...werde es aber bei recht flachen Dingen bestimmt nicht tun, da die Sichtbarkeit für solche Dinge (Schotter, Straßen usw.) bei den normalen Licht-/Sichtverhältnissen in EEP recht beschi...eiden ist. Da diese Extra-Maps aber eine deutlich höhere Render-Belastung für die Gameengine darstellen, ist es wohl deshalb besser bei recht flachen Dingen darauf zu verzichten. Anders verhält sich dies natürlich bei Objekten die eine deutliche Höhe vorzuweisen haben.:bn_1:


    Dennoch habe ich einen klassisch flachen Fall für einen Test-Spline gewählt: Kopfsteinpflaster. Damit man nun überhaupt eine deutlich sichtbare Wahrnehmung von den Auswirkungen von Normal- und Specularmap sehen kann, muß die EEP-Beleuchtung recht extrem eingestellt werden (flacher Sonnenwinkel = Wintersonne bei 15 Uhr). Damit sind die ersten beiden Bilder bei vollem Gegenlicht entstanden. Nur so zeigen sich die Effekte gut (die Wölbungen und der typische Glanz der vom Verkehr glatt polierten Pflastersteine bei Gegenlicht).


    Die Normal- und Specularmap dafür habe ich übrigens mit Materialize erstellt. @ HaNNoveraNer, zu deiner Materialize-Frage: Die AO-Map ist bei passenden Einstellungen ganz gut als Specular(Masking)Map zu gebrauchen (s. die beiden Bilder, der Glanz ist nur auf den Steinen, aber nicht auf den Fugen sichtbar).


    Mich würde ja mal der Antwort-Text von den Entwicklern interessieren, denn ich habe so manches mal meine Zweifel daran, ob sie selbst immer alles richtig kapiert haben. Ich kenne ja nun alle Fakten was zu beachten ist (...und das ist nicht so, wie man es oberflächlich erwarten bzw. vermuten würde, ...deshalb).


    Beste Grüße,

    Uwe






    ...und hier nun noch ein Bild bei normaler Frühlingssonne um 12 Uhr, ...der ganze schöne Zauber ist ziemlich futsch!:an_1:


    EEP13.2.2, HN13, Modell-Konstruktion mit Blender,
    Intel Core i5 3570 3,4/3,8GHz, 8 GB Ram, Nvidia GTX750Ti, Win7Prof.