ich bin zerbreche mir seit gestern den kopf darüber wie ich einen simplen weg auf einer graslandschaft erstellen kann.. aber ich beschreib mal meine rahmenbedingungen:
Ich habe ein Spielfeld mit der größe x*y (ob Quadratisch, Karos, Hexagons etc ist noch nicht festgelegt - mehr dazu später).
Man kann nun jedes feld der map in der höhe verändern um berge und täler zu schaffen.
Jetzt möchte ich eine möglichkeit einen steinweg auf dieser landschaft zu zeichnen, ABER.. nicht einfach vonwegen "Feld XY ist Steinweg" sondern komplett variabel das man alle möglichen formen mit dem weg hinbekommt.
Also angefangen von einfach schnurgeraden wegen über enge und weite kurven bis zu einfach kreis runden stein-flächen á la marktplatz..
Mein problem an der geschichte ist, wie mach ich das? Jedem feld der map einfach zuweisen "Graß" oder "Stein" geht nicht, denn dann könnte ich bei quadratischen feldern nur 90° kurven machen, bzw bei Hexagonalen 45° kurven..
Eine andere möglichkeit wäre den Steinweg als eigene ebene darüber zu legen in frei wählbarer form, bei ebenem boden noch sehr simpel.. wenn es an schrägen etc gemacht werden soll schon sehr viel schwieriger..
Möglichkeit 3 wäre eine Textur zu painten in realtime, also man pinselt mit seinem weg werkzeug eine Alphamaske. Das würde zwar funktionieren und jede erdenkliche art des weges zulassen, aber:
1) Es würde bedeuten das ich viele texturen habe und die ganzen texturen für die weg-masken nicht mehrfach verwenden kann
2) Ich möchte am rand der wege einen abschluss haben, also wenn der weg an sich aus lauter steinen ist, soll der rand ein schönen abschluss haben, bzw einen übergang zum restlichen daneben.. das wäre extrem schwer zu implementieren auf diese art und weise :/
Letzte möglichkeit wäre vorgegebene weg-elemente zu benutzen.. also es gibt eien haufen vorgefertigter kurven etc die dann einfach platziert werden können, aber hier wäre der nachteil das man wieder stark eingeschränlt wäre... dann gäbe es z.B. einen geraden weg in 10 verschiedenen ausrichtungen, aber was wenn ich was dazwischen haben will?
Ihr seht, das ganze ist leider echt kompliziert... hat irgendwer eine idee wie man das gescheit angehen könnte?
Registriert: Fr Mai 16, 2008 20:26 Beiträge: 158 Wohnort: Berlin
Programmiersprache: c++,c#,java,ruby,php
Also mich erinnert das ein bisschen an ein Bildbearbeitungsprogramm.. dort kann man sich Pfade vorzeichnen und so jegliche Form erschaffen und wenn man fertig ist und bestätigt, dann rendert das Programm mit den ausgewählten Eigenschaften das 2d/3d Model.
Also über eine Art Zwischenschritt Konturen aufbringen und dann ausrechnen was was ist und in einem geeigneten Format speichern vll.
Weiß zwar nicht ob das so Performant ist, aber ich find es leichter, als das in Realtime zu machen.
Ich kenne auch kaum Spiele/Programme in denen man so was machen kann, obwohls natürlich nett wäre.
Ist nur ne Idee :O
mfg revolte
_________________ System: Phenom XII X4 955 3,21Ghz , GTX 560 TI, 4GB-Ram, Windows 7 64x
Registriert: Di Sep 06, 2005 18:34 Beiträge: 362 Wohnort: Hamburg
Hi ...
also mir ist spontan auch die Lösung mit einer Alpha Maske eingefallen, die du dynamisch erstellen kannst.
Vorausgesetzt du hast deine Heightmap (oder was auch immer) schon, kannst du doch versuchen irgendwie abzuschätzen, was für ein Terrain an der Stelle ist, an der du gerade deinen Weg "zeichnen" möchtest. Dann kannst du z.B. Einschränkungen machen wie: Ebene: alles geht, Bergauf: nur gerader Weg nach oben/unten etc. Schwieriger wirds natürlich bei Wegen um einen Berg u.ä.
Dazu könntest du dir immer einen gewissen Bereich der Felder ansehen und versuchen die gesammte Beschaffenheit dieses Bereiches über das Mittel der einzelnen Normalenvektoren der Felder abzuschätzen.
Gruß
Shai
_________________ Der Mensch hat neben dem Trieb der Fortpflanzung und dem zu essen und zu trinken zwei Leidenschaften: Krach zu machen und nicht zuzuhören. (Kurt Tucholsky)
Schwabbeldiwapp, hier kommt die Grütze. (Der Quästor)
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich versteh nicht ganz das Problem. Du kannst du z.B. per Multitexturing (oder Blending) eine Strassenebene draufzeichnen. Wenn du genügend verschiedene Formen hast, dann sollte der Weg auch sehr "organisch" wirken.
Das Problem ist eher die "Kante" im Weg die an den Rändern der Flächen entsteht.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.