![]() |
Texturen verschmelzen
Hallo erst mal,
ich weis nicht ob sie's schon wusten... :mrgreen: ich bin gerade dabei ein mehr oder weniger kleines Spiel zu proggen. Da ich nicht viel Anhnung von DirectX und Co. habe, habe ich mich entschlossen das ganze ohne so etwas zu schreiben. Da es 2D ist und vor allem Rundenbasiert sein soll, ist das auch kein allzu großes Problem. Es handelt sich um ein Strategie-Spiel mit Rollenspielelementen. Das Spielfeld besteht aus einer "Karte" die aus mehreren Texturen zusammengesezt ist: z.B. WieseWieseWieseWieseSteinWiese WieseWieseWieseSteinSteinWiese WieseWieseSteinSteinWieseWiese WieseWieseWieseWieseWieseWiese In diesem Beispiel sind also die Wiesentexturen an den Steitexturen dran. Das ganze wird im Moment noch auf eine TImage-Komponente gezeichnet. Sollte das mal zu langsam werden sattel ich auf die TPaintbox um. Tut hier aber nichts zur Sache. Da es ziemlich bescheuert aussieht wenn die Karte aus sichtbaren Rechtecken besteht wollte ich fragen ob es eine Möglichkeit gibt die Texturen "verschmelzen" zu lassen!?! also wenn sich die Wiesentextur mit der Steintexture berührt das man an dieser Stelle die texturen verwaschen kann oder irgendwie sowas. So das der User keine Ecken mehr sieht. Hoffe ihr versteht mich und könnt mir helfen :wink: Martin |
Re: Texturen verschmelzen
was häufig gemacht wird ist, das die texturen an den rändern su "ausgefranst" sind, also net ein grader schnitt sondern, nun ja, ausgefranst
und wenn die dann aneinanderpassen sieht das schonmal wesentlich besser aus.... |
Re: Texturen verschmelzen
das wäre auf jeden Fall ein Schritt in die richtige Richtung. Aber wie soll ich das realisieren? Ich bräuchte dann ja unterschiedlich große Texturen. Denn wenn Sie gleichgroß wären und ausgefranzt dann wären zwischendrinn ja Löcher? Oder versteh ich was falsch?
|
Re: Texturen verschmelzen
Du zeichnest sie dann im ausgefransten Bereich uebereinander! Dadurch hast du dann z.B. einen Hauch von Gras auf deinen Steinen.
|
Re: Texturen verschmelzen
und die fransen müssen halt ineinander passen
|
Re: Texturen verschmelzen
Eine etwas umständlichere Lösung:
Code:
Du Überprüfst jetzt, ob neben/oben/unter Wiese ein Stein liegt.
WieseWieseWieseSteinSteinWiese
SteinWieseWieseWieseSteinWiese Ja? - Dann soll WieseSteinÜbergangSeite geladen werden .... Brauchst halt die ganzen Übergänge als Bilder MFG Maximus |
Re: Texturen verschmelzen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
So wird das in der Regel auch gemacht. z.B. (siehe Anhang) Durch Spiegeln/Drehen kannst du ziemlich viel machen. |
Re: Texturen verschmelzen
Was Maximus bechreibt ist die übliche Vorgehensweise bei einfachen 2D-Games: Dein Tileset (die Texturensammlung) muss eben alle 9 möglichen Übergangstexturen umfassen. Oft wird das sogar nicht automatisch gemacht, sondern man muss schon beim Erstellen der Map im Editor das richtige wählen. (War z.B. bei Command & Conquer 1-? so)
Wenn man es richtig kompliziert mag, dann kann man auch einen Automatismus bauen der eine z.B. fraktale Grenzlinie zwischen den Texturen erzeugt und diese dann ineinander blendet. Aber das ist mehr als reichlich umfangreich und beliebig kompliziert ;). Ich würde zur ersten Variante tendieren. Gruss, Fabian |
Re: Texturen verschmelzen
Es gibt dazu einen interessanten
![]() Vielleicht wirfst du auch mal einen Blick in die ![]() |
Re: Texturen verschmelzen
ok vielen Dank. Werd mir alles mal anschauen. Ich denke ich werd mein Problem jetzt in den Griff bekommen :)
|
Re: Texturen verschmelzen
In meiner Freizeit bastel ich gerade an ähnlichem und habe die Methode mit dem Ausfransen genommen.
Dazu habe ich Bilder aus verschiedenen Freewaremods von Civ 2 genommen und etwas nachbearbeitet. Hier die komplette Karte: ![]() Und 2 Tilesets die dazu verwendet wurden: ![]() ![]() Ein Feld ist eigentlich nur 40 x 40 Pixel groß, die Tiles allerdings immer 50 x 50 so das ein Stück immer in die Nachbarfelder reinragt. |
Re: Texturen verschmelzen
Hai Ben1,
so doch bitte so nette und hänge die Bilder als Anhang an dein Posting. Nicht jeder hat eine Flatrate ;-) Danke :stupid: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz