Ich erinnere mich, dass vor einiger Zeit prozedural erzeugte Texturen zu einer großen Sache wurden, an der viele Menschen / Unternehmen wirklich interessiert waren, mit einigen gravierenden Vorteilen (kleinere Bereitstellungen, potenziell schnelleres Laden, höhere Qualität, skalierbare Texturen, potenziell billigeres Produzieren usw.). ).
Soweit ich weiß, ist das Summen vorbei und es werden keine Spiele auf meinem Radar verwendet. Was ist passiert?
Ich hatte gehofft, dass prozedurale Texturen so aussehen wie bei NaturalMotion (langsame, aber stetige Übernahme).
quelle
Der Verlust der künstlerischen Kontrolle und die Vergrößerung der Speichermöglichkeiten haben dies zu einem harten Verkauf gemacht. Außerdem müssten Sie Künstler umschulen, während Sie sie für ihre gute traditionelle Texturierung engagierten. Sofern die Größe oder die einzigartige Texturierung nicht wirklich ein Problem darstellt, besteht im Allgemeinen nur ein geringer Wunsch, den prozeduralen Weg zu gehen.
quelle
Grundsätzlich wird es von den großen Kanonen nicht unterstützt, daher wird es nicht viel verwendet. Es gab coole Dinge (wenn auch ein bisschen alt) wie .kkrieger, aber die Ladezeit dafür (damals) war sehr langsam, da alle Texturen zum Ladezeitpunkt generiert werden mussten.
Wir sehen vielleicht etwas in den Motoren der nächsten Generation (Unreal 4 usw.), aber ich denke nicht, dass der Gewinn gegenüber der Entwicklung groß genug ist.
Es gibt Beispiele in der AAA-Welt, zum Beispiel hat Spore prozedural erzeugte Texturen und Animationen für die Kreaturen, die Sie erstellt haben.
quelle
Die prozedurale Textur leidet unter dem Problem, dass ein Art Director nicht zuverlässig auf die Arbeit eines Künstlers verweisen kann und sagt: "Bitte machen Sie diesen Teil ein bisschen mehr X." weil das prozedurale Beschattungssystem X möglicherweise nicht billig oder überhaupt nicht unterstützt.
Beispielsweise kann ein Ziegel-Shader sauberen braunen Ziegel unterstützen, jedoch keinen Ziegel, der vor 80 Jahren mit einer Werbung und vor 10 Jahren mit Graffiti bemalt wurde. Oder es kann nicht stützen, einen purpurroten Ziegelstein aus 1.000 braunen Ziegeln heraus zu haben. Genau an diesem einen Punkt, denn dieser Punkt spricht den Geschmack des Art Directors an.
Natürlich kann eine echte Textur all diese Dinge unterstützen, und in diesem Sinne ist eine echte Textur einer prozeduralen Textur überlegen.
Die prozedurale Textur übt eine künstlerische Kontrolle aus, da sie bestimmte Anwendungsfälle gegenüber anderen bevorzugt. Eine echte Textur übt wenig solche Kontrolle aus.
GPU-Hardware hat jedoch eine starke Präferenz für Prozeduralismus, da der Texturspeicher so viele Zyklen von den ALU-Einheiten entfernt ist, die die Schattierung durchführen.
quelle
Nun, es scheint immer noch eine großartige Idee zu sein, die speziell für Spiele gedacht ist. Da Sie prozedural Texturen on-fly generieren könnten, würde die Welt um den Spieler natürlicher aussehen. Keine großen Datenmengen erforderlich. Es kann sicher verwendet werden, um auch die Auflösung zu erhöhen
quelle
Sie haben den typischen Zeitgedächtniskompromiss . Ob es Ihnen gefällt oder nicht, bei der prozeduralen Generierung wird die CPU-Zeit für die Speicherkonservierung verwendet. Da Speicher immer billiger wird und immer kürzere Ladezeiten gewünscht werden, geht der Trend in die entgegengesetzte Richtung: Vorgenerierte oder fotografierte Assets verbrauchen Speicherplatz im Austausch für Geschwindigkeit.
Lädt ein JPG schneller als eine prozedural generierte Version? Höchstwahrscheinlich ja . Wenn das JPG 2 MB groß ist und Sie es einmal laden, warum sollten Sie sich mit prozedural beschäftigen? Zur Laufzeit benötigt die Textur sowieso die gleiche Menge an RAM (unkomprimiert und in den GPU-Speicher geladen)
quelle