Was ist mit prozedural erzeugten Texturen passiert? [geschlossen]

23

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).

Steven Evers
quelle

Antworten:

14

Tools zur Erstellung von Inhalten für die prozedurale Texturierung waren die größte Hürde. Künstler arbeiten sehr schnell an der Zusammenstellung von Dingen in Photoshop, und die potenziellen Vorteile der prozeduralen Texturierung haben die erhöhte Zeit für die Erstellung von Inhalten nicht aufgewogen.

Allegorithmic ( http://www.allegorithmic.com/ ) hat einige interessante Tools entwickelt, um die prozeduralen Optionen benutzerfreundlicher zu gestalten. Ich habe nicht genug mit ihnen gespielt, um ihre Benutzerfreundlichkeit wirklich zu kommentieren.

wkerslake
quelle
1
Allegorithmic war das Unternehmen, von dem ich zum ersten Mal gehört habe, als die Bombe losging und auf der Kundenliste einige große Akteure zu finden waren, aber es ist immer noch ziemlich klein, wenn man bedenkt, dass sie schon lange im Geschäft sind.
Steven Evers
1
Allegorithmic's Substance-Produkte sehen WIRKLICH WIRKLICH gut aus. Schauen Sie sich die Videos an, die hier zu finden sind: allegorithmic.com/?PAGE=PRODUCTS.designer
Nailer
4

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.

Kaj
quelle
3

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.

Ólafur Waage
quelle
3

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.

bmcnett
quelle
Ich finde das schwer zu schlucken. Es ist keine Einschränkung der prozeduralen Texturen, dass ein Ziegelstein keine andere Farbe als der Rest haben kann, sondern eine Einschränkung der Implementierungstechnologie. Sicher, ich könnte zustimmen, dass zu einem bestimmten Zeitpunkt die Vorteile einer vorschriftsmäßigen Vorgehensweise überwiegen würden, aber das ist nicht der Punkt.
Kevin Peno
Ein Ziegelstein könnte ein schlechtes Beispiel gewesen sein, aber seine anderen Beispiele gelten. Es ist sehr, sehr komplex und zeitaufwendig, einen neuen Algorithmus für eine geringfügige Änderung des "Gefühls" für eine Textur zu definieren, aber für einen Künstler sehr billig und einfach, die Änderung einfach vorzunehmen. Denken Sie daran, dass Ingenieure in der Regel mehr als Künstler bezahlt werden. Die Zeit, die ein Ingenieur damit verbringt, das zu tun, was ein Künstler schneller kann, ist also einfach albern.
Sean Middleditch
@SeanMiddleditch, Ingenieure werden möglicherweise mehr als Künstler bezahlt, aber der Unterschied ist - sobald ein Ingenieur Code geschrieben hat, kann er ohne weitere Kosten für immer wiederverwendet werden . Obwohl es einige Zeit dauern kann, einen prozeduralen Generator zu entwickeln, der bis auf die Ebene der einzelnen Bausteine ​​modifiziert werden kann, ist die Verwendung des Generators nach dessen Fertigstellung kostenlos. Wenn ein Unternehmen Künstler für individuelle Änderungen bezahlt, müssen sie dies im Gegensatz zu einer automatisierten Lösung für jede neue Änderungsanforderung tun.
Cyclops
2
@Cyclops: Viel Glück mit diesem magischen Super-Verfahren, mit dem Sie genau das tun können, was ein Künstler mit Absicht tun kann. Ich freue mich darauf, Ihr bahnbrechendes Forschungspapier zu lesen, wenn es veröffentlicht wird, und schließlich Ihr künstlerisch veraltetes über tech zu lizenzieren. :)
Sean Middleditch
1

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

jan
quelle
0

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)

Bobobobo
quelle
Es ist sehr unwahrscheinlich, dass JPEG schneller geladen wird als die meisten prozeduralen Texturalgorithmen. Die Festplattenzugriffszeiten überwiegen bei weitem die CPU- / GPU-Verarbeitungszeit, und da niemand, der bei Verstand ist, JPEG für Texturen und größere, aber für GPUs optimierte komprimierte Texturen mit vorberechneten Mipmap-Layern verwendet, ist die Festplattenladezeit für echte Texturen noch schlechter. Es gibt Gründe, warum prozedurale Texturen nicht funktionieren (wie in anderen Antworten erwähnt), aber die Ladezeit ist im Allgemeinen keine davon. Ich bin sicher, dass es natürlich Ausnahmen für besonders komplizierte oder ineffiziente Algorithmen gibt.
Sean Middleditch
Ja, wie .dds. Ich habe nur JPG als Beispiel verwendet. Mein Punkt ist, dass die prozedurale Erzeugung von kühl aussehendem Kopfsteinpflaster oder Wasser oder Bäumen in einem Wald unter Verwendung von L-Systemen oder was auch immer Äonen länger dauert (aber in 96.000 passt!) Als nur das Laden von Inhalten auf die Festplatte, dann wird das niemand wollen Route, einfach um Ladezeiten zu reduzieren.
Bobobobo