Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

25.02.2021, 11:38

Zusammenführung von NormalMap, AO, Cavity und Displacement

Hallöchen zusammen!

Ich arbeite zur Zeit an einer kleinen Landschaft innerhalb der Unreal Engine.
In einem Tutorial hab ich gehört, dass das samplen von Texturen sehr Ressourcenaufwändig ist. In dem Tutorial wird daher die Normal-Map mit den Texturen von Ambient Occlusion, Cavitiy und Displacement in einem einzelnen Bild abgespeichert. Außerdem kann in der Unreal Engine pro Material wohl auch nur eine begrenzte Anzahl an Texturen verwendet werden. Da gerade die Materialien von Landschaften oft aus mehreren Texturen bestehen macht das Zusammenfassen dieser Texturen durchaus Sinn.

Im Tutorial wird dazu der Rote Farbkanal mit dem Grünen aus der Normal-Map übernommen. Da es sich laut dem Tutorial um normierte Vektoren handelt, ist es also später im Shader ein leichtes den dritten Eintrag des Vektors zu berechnen.
Für den dritten Farbkanal werden die Texturen für Ambient Occlusion und Cavity multiplikativ geblendet. Da beides nur Graustufenbilder sind, sollten die Farbinformationen jeweils in einen einzigen Farbkanal passen.
Der vierte Farbkanal (der Alpha-Channel) wird für das Displacement verwendet, was ebenfalls nur ein Graustufenbild ist.

Im Tutorial wird für diesen Vorgang die Software "Substance Designer" verwendet. Alternativ gibt der Ersteller an, dass es auch mit Photoshop möglich sei.
Leider habe ich keine dieser beiden Software zur Verfügung und kenne auch keine Software, die diese Funktionalitäten umsetzt, die man kostenlos verwenden kann.
Hier kann ich auch noch einen Link zum Tutorial hinzufügen, damit man sich ein genaueres Bild von dem machen kann, was ich meine:


Kennt zufällig jemand von euch eine Software, die kostenlos verwendet werden kann und diese Funktionalitäten liefert? Oder gibt es gar keinen Grund für die im Tutorial vorgestellte Vorgehensweise?

Viele Grüße
Fawkes

2

25.02.2021, 14:32

GIMP (kostenlose Photoshop-Alternative) unterstützt Farbkanäle + Alpha.
fka tm

3

25.02.2021, 20:08

Wie der vorherige User sagte, GIMP. Habe exakt die selben Arbeiten damit schon gemacht. Wenn du es nicht gleich hinbekommst, es gibt auch genug Tutorials zu GIMP auf YT.

Jonathan

Community-Fossil

  • Private Nachricht senden

4

26.02.2021, 15:33

Also wenn du die Texturen schon einzeln vorliegen hast, würde ich einfach ein kurzes Python-Script schreiben, mit dem du sie zusammen setzt. Das geht theoretisch in unter 10 Zeilen (mit numpy+PIL etwa) und du kannst damit sogar einen ganzen Ordner mit einem Rutsch verarbeiten.
Lieber dumm fragen, als dumm bleiben!

5

03.03.2021, 12:20

Vielen Dank für die Hilfreichen Tipps :D

Gimp sagte mir tatsächlich was, allerdings war es recht schwierig etwas bezüglich dieser Funktionalitäten zu finden, da ich auch leider nicht genau weiß, wie man diese Funktionalität benennt.
Die Idee mit dem Phyton-Script hört sich auch interessant an, zumal dass die ganze Angelegenheit massiv beschleunigen könnte.

Leider kenne ich mich mit Phyton überhaupt nicht aus - habe versucht da was mit Java zu basteln, hab aber keine Ergebnisse erzielt - das Resultat war unabhängig von der Eingabe immer ein völlig transparentes Bild. Hängt vermutlich damit zusammen, dass ich keine externe Libary dafür genutzt hatte...

Werbeanzeige