Alles anzeigenSo wird das nicht funktionieren. Alles was du in Unreal Importierst und im Content Browser auftaucht ist eine Instanz. Sobald du das Mesh in den Viewport ziehst, ist dieses Mesh im Viewport im grunde ein Child Objekt von dem Mesh im Contentbrowser.
Überschreibst du die FBX durch ein anderes Mesh, werden alle Meshes im Viewport ersetzt.
Das selbe gilt auch für Texturen die du importierst und ersetzen tust.
Das Material ist sozusagen der Container wo alle Texturen zusammenlaufen.
Soll jeder Stein eine andere Textur haben, musst du im grunde von deinem Steinmaterial weitere Instanzen erstellen. Was ziemlich schnell in die Performance geht.
Du hast vermutlich nicht nur einen Stein sondern zb 5 Steine mit jeweils 4 unterschiedlichen Farben. Das alleine wären 20 Materials mit mindestens 20 Drawcalls. Und das bei nur 4 Steine.
Aber es gibt Tricks:
Viele erstellen Ihre Textur zb im Substance Painter und erstellen für jedes Mesh eine spezielle Textur. In großen Games, würde man dies so nicht machen und die Texturen in einem Atlas verstecken.
Bei star citizen zb wird mit sog. Meshcalls gearbeitet. Das heißt ein Gitter hat vier Schrauben, die Schraube sind im Mesh aber nur 4 Planes. Kostenpunkt der 4 Schrauben wären 2 * 4 Tris = 8 Tris pro Gitter. Kostet quasi nichts.
Jetzt hat man den Vorteil, das eine Textur erstellt, auf der es zb10 Verschiedene Schraubenarten gibt. Bei einer 1k Textur wären dies ca 102 Pixel pro Schraube. Was ebenfalls locker möglich wäre und eine sehr hohe Textur Auflösung ermöglichen wurde.
Bei deinen felsen, ich benutze einfach mal das Plural könnte ich mir das so vorstellen:
1. Du hast 10 Verschiedene Steine: Jeder Stein kostet dich ein Mesh drawcall (10 insgesamt)
2. Du hast ein Material mit einer 1k Textur (1024 px) das du für alle Steine verwendest, dieses Material beinhaltet viereckige Quadrate die in deinen Steinfarben eingefärbt sind. Über diese Farbe, definierst die Farbe von jedem Stein.
Das schöne: DIeses Material kostet dich 1 Drawcall und du hast die Möglichkeit die Farbe alle Felsen einzufärben. Für jeden Felsen, kannst du eine andere der 10 Farben wählen.
Ich weiß genau was du jetzt denkst: Na Toll dann habe ich verschiedene Steine die hässlich eingefärbt sind. Deswegen brauchst du noch sog. Decals dazu:
Ein Decal ist ein weiteres Material das zb nur eine Normal, Roughness, Metallic enthält. Es sorgt für dieses felsige aussehen.
Dieses Decals kannst du jetzt für alle Steine verwenden egal ob groß oder klein.
Du kannst natürlich dazu auch mehre Decals erstellen die andere Normals enthalten damit entsteht jeweils nur 1 weiterer Drawcall.
Dieses Decals könntest du dann auch für andere dinge verwenden beispielsweise einer Mauer.
Mesh decals sind zwar unscheinbar werden aber im grunde in allen AAA Spielen verwendet.
Bei einer Steintreppe, sieht jede Stufe bzw die Kante häufig anderst aus. Das liegt daran das jede Stufe über eine Mesh decal verfügt und jedes Meshdecal im grunde ein Teil eines Textur Atlanten (Schreibt man das so?) ist.
Hier gibts ein Beispiel dazu: https://blog.gametextures.com/…s-and-skirts-bc5afe389689
Das ist definitv sehr viel Arbeit
PS.: In deinem Fall würdest du normale Decals und keine Mesh Decalls verwenden.
Vielen vielen dank für die ausführliche Erklärung.
Wahrscheinlich schon etwas zu tiefgründig
Dennoch weiß ich immernoch nicht so wirklich was ich tun soll. Okay decals, das kenn ich.
Mir gehts nur darum, dass ich einen einzigen Stein in verschiedenen Ausführungen im Level haben möchte. Diese Einstellungen, die man via material instance wählen kann.
Wie im Anhangbild gezeigt.
Sorry, wenn ich das nicht richtig verstanden habe, denn das ist mir ein Buch mit 7 Siegeln.