So erzeugen Sie nahtlose hexagonale Texturen


6

Ich mache zum Spaß ein taktisches Spiel (X-Com / Fallout-Stil). Ich habe mich für eine sechseckige Karte entschieden, habe aber ein Grafikproblem.

Meine aktuelle Kartenanzeige ist HUD-ähnlich, wobei nur der Rand der Kartenzellen ohne Textur angezeigt wird. Es ist einfach und ermöglicht die Anzeige verschiedener Arten von Informationen durch Variieren der Farbe des Rahmens. Im "Gefahrenansichtsmodus" werden beispielsweise die Ränder mit einer Farbe angezeigt, die von Grün (kein Schaden möglich) bis Rot (Schadenswahrscheinlichkeit> 90%) reicht.

Jetzt ist es ein bisschen schwierig zu unterscheiden, auf welcher Art von Plättchen sich der Spieler befindet. Ich könnte eine einfache Farbe verwenden (Grün ist Gras, Hellblau ist Wasser ...), aber dies wird die Möglichkeiten einschränken. Daher möchte ich eine Textur auf meinen Kacheln anzeigen. Da die Karten generiert werden, kann ich kein Bild für die gesamte Karte mit dem HUD verwenden.

Meine Frage ist also: Weiß jemand, wie ich die nahtlosen hexagonalen Texturen (Algo oder Plugin) erzeugen kann?


1
Das Design der Website inspiriert solche Fragen: D
Oleh Prypin

Antworten:


1

Können Sie nicht einfach eine planare Projektion einer regulären Kacheltextur auf Ihre Kacheln durchführen und nur harte Kanten haben, an denen Ihre Kacheltypen wechseln? Auf Ihren Feldern, die "Gras" sind, ordnen Sie einfach ihre UVs im "Kartenraum" einer sich wiederholenden Grasstruktur zu.


Ich wusste nicht, wie man die Grasstruktur auf einem Sechseck abbildet, und lehnte die Lösung dumm ab. Nach einigem Nachdenken fand ich heraus, wie man einen Dreiecksstreifen mit (glaube ich) einem guten UV-Mapping macht. Werde es heute Abend versuchen. Vielen Dank
PATRY Guillaume

Ich habe immer noch ein paar Eigenheiten auf meinem abgebildeten Sechseck, aber es funktioniert.
Nochmals vielen

@PATRY Ich empfehle dringend Cocos2d. Sie haben mir eine TONNE Entwicklungsarbeit erspart.
Stephen Furlani

1

Nehmen Sie eine gewöhnliche Textur und zerhacken Sie sie, um Ihre sechseckigen Fliesen herzustellen.

Zur Verdeutlichung: Nehmen Sie eine nahtlose Textur, die quadratisch ist. Verwenden Sie geeignete Teile davon, um Ihre Sechsecke herzustellen. Wenn Sie Ihre Teile richtig auswählen, erhalten Sie eine nahtlose Textur auf Ihren Sechsecken. Beachten Sie, dass jedes Sechseck bis zu dem Punkt, an dem sich das Muster wiederholt, ein anderes Stück der zugrunde liegenden Textur erhält.


aber dann werden sie keine Nähte sein, nein? (Das ist eine der Lösungen, die ich am Ende verwendet habe, aber es hat gut funktioniert, wenn ich die Bindungen der Hexen hinzugefügt habe)
PATRY Guillaume

argh. Ich habe meine alte Frage noch einmal gelesen, als ich auf mich aufmerksam wurde. Der wichtige Teil, den ich verpasst habe, war "Beachten Sie, dass jedes Sechseck ein anderes Stück der zugrunde liegenden Textur erhält, bis sich das Muster wiederholt." ! Durch die Verwendung einer quadratischen Textur, die mehrmals dupliziert wurde, und die unterschiedliche Zuordnung für gerade und ungerade Sechsecke sollte ich eine funktionierende Lösung erhalten. danke
PATRY Guillaume
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.