Wie kann ich Texturen an Wandkanten wie in Super Metroid und Aquaria erhalten?

57

Spiele wie Super Metroid und Aquaria präsentieren das Terrain mit den anderen gegenüberliegenden Teilen, die Steine ​​und Material aufweisen, während tiefer dahinter (dh im Untergrund) andere Details oder nur Schwarz zu sehen sind.

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Ich würde gerne etwas Ähnliches mit Polygonen machen. Terrain wird in meinem aktuellen Level als Satz überlappender quadratischer Kästchen erstellt. Ich bin nicht sicher, ob diese Rendering-Methode für ein solches System zum Erstellen von Terrain geeignet ist, aber wenn jemand Ideen hat, würde ich diese gerne hören. Ansonsten würde ich gerne wissen, wie ich das Terrain-Rendering-System neu schreiben soll, damit es tatsächlich funktioniert, Terrain auf diese Weise zu zeichnen ...

Medikamente
quelle
1
Aquaria enthält einen Level-Editor, sodass Sie sich ansehen können, wie genau die Assets erstellt wurden.
2
Abgesehen vom Level-Editor von Aquaria besteht die hier verwendete Grundmethode darin, zwei (oder mehr) Terrain-Ebenen zu rendern.
Thedaian

Antworten:

133

Metroid benutzt nur Kacheln, da ist nichts Besonderes los.

Aquaria macht jedoch etwas ziemlich Schlaues. Wenn Sie bemerken, werden viele dieser Steine ​​auf dem Bett mehrmals wiederholt. Hier ist einer der Felsen zum Beispiel:

eine Sorte von wiederholtem Gestein, wobei jede Instanz eingekreist war

Es sieht so aus, als hätten sie gerade Sprites an den Rändern ihres Geländes abgelegt. Es ist ungefähr so, wie es Metroid getan hat - ein riesiges Arsenal an Randkacheln, aber wenn Sie aufpassen, können Sie die Wiederholung der Kacheln bemerken. Acquaria macht dasselbe, außer mit Rock-Sprites und nicht auf einem Gitter.

Wie man es repliziert

Dies ist möglicherweise nicht genau das, was sie tun, aber es ist eine Möglichkeit, dasselbe Endergebnis zu erzielen.

Holen Sie sich zuerst eine schöne Menge von Rock-Sprites wie folgt:

einige Perdy Rock Sprites

Jetzt müssen Sie einen Vorgang ausführen, damit Sie wissen, wo Sie sie ablegen müssen.

Bestimmen Sie die Eckpunkte und Kanten, aus denen sich Ihr Gelände zusammensetzt.  Überquere sie wie eine Spinne und speichere in regelmäßigen Abständen die aktuelle Koordinate.  Die Intervalldistanz hängt von der Größe Ihrer Sprites ab!  Färbe eine Seite schwarz und lege dann ein Sprite auf jeden Punkt, den du aufgenommen hast.

Tada!

Sie können dies einmal verwenden , um eine Liste mit Steinen zu erstellen und zu bestimmen, wo sie gezeichnet werden sollen. Dann zeichnen Sie einfach alle Ihre Rock-Sprites. Oder vielleicht können Sie einfach alle Punkte zeichnen und ein anderes Sprite auswählen, um auf jedem Schritt darauf zu zeichnen und den Rand einer Lavagrube oder eines außerirdischen Geländes zu bilden!

Und andere Geländeeigenschaften ...

Aquaria hätte eine sehr ähnliche Methode anwenden können, um alle Pilze, Korallen und andere Merkmale auf den Meeresboden zu werfen (einschließlich der riesigen Felsstrukturen, die den Hintergrund bilden). Die Pilze könnten so erzeugt worden sein:

  1. Sammeln Sie einige Punkte in zufälligen Intervallen, nicht in festgelegten Intervallen.
  2. Speichern Sie nicht nur den Punkt. Speichern Sie auch die Normalen der Kante, von der Sie den Punkt ausgewählt haben.
  3. Wählen Sie eine zufällige Rotation innerhalb eines bestimmten Bereichs der Normalenrotation. Wenn die Normale beispielsweise auf 30 Grad zeigt, wählen Sie eine Drehung innerhalb von 20 Grad (dh zwischen 10 und 50 Grad).
  4. Zeichnen Sie Ihren Pilz in der gewählten Rotation und mit einer zufälligen Stiellänge.

Alles andere ist wahrscheinlich eine Variation derselben Anleitung: Die Koralle wird nicht viel gedreht, diese beiden Muscheln / Steine ​​werden wahrscheinlich nur platziert, wenn die Geländestandards ungefähr nach oben zeigen (dh die Ebene des Geländes).

Schlussbemerkungen

Da fragte ein Kommentator: Ich erstelle diese Bilder in Adobe Photoshop (hier um 50% für scharfe Linien verkleinert) mit einem Wacom Intuos3-Tablet (mit dem ich freihändig und natürlich zeichnen und meine Linienbreite usw. variieren kann).

doppelgreener
quelle
25
Gute Antwort! Tolle Begleitkunst.
Tim Holt
2
Wow, die meisten Zeichnungen und Fotos, die ich je auf einer Antwort gesehen habe.
Xeoncross
Beste Antwort. Großartige Arbeit
Ellis
2
@ Jonathan Hobbs: Sehr schönes Kunstwerk. Hast du das alles gezeichnet? Wenn ja, welches Programm haben Sie verwendet? Ich mag das Ergebnis und die Wirkung, wenn ich versuche, etwas zu demonstrieren. Vielen Dank.
Jesse Emond
4
Ich denke "Ich muss eines dieser Tablets besorgen, damit ich so gute Kunst machen kann!" Dann denke ich: "Oh, richtig, ich kann sowieso nicht gut zeichnen und ein Tablet wird dem nicht helfen."
MichaelHouse
3

Dies mit Polygonen zu tun, wäre recht einfach. Solange Sie ein schönes Muster für Wiederholungen / Kacheln haben, können Sie Ihre Modelle so einstellen, dass sie entlang einer Kurve duplizieren, ohne dass dies kompliziert ist.

Ich hoffe, das hilft.

Dan_Tsukasa
quelle
Danach KÖNNTEN Sie es KÖNNEN rendern und nur Ebenen verwenden, um das gleiche Ergebnis zu erzielen (vorausgesetzt, sie sind nur für den Vordergrund und der Spieler berührt sie nie). Auf diese Weise wäre die Anzahl der Polycounts in der Szene geringer, als es bei so vielen möglich wäre Duplizierte Objekte (wie in den 2 obigen Beispielen) sind ziemlich
polyintensiv
Wenn Sie zum Erstellen des Rahmens einen Dreiecksstreifen verwenden, ist die Intensität (N / 2) +2 geringer, aber Sie können den schönen Überlappungseffekt nicht erzielen, ohne bestimmte Kacheln zu erstellen.
Jonathan Connell