Selbbstgebaute INSEL

  • Heyho,


    Sorry, dass das mit dem Tutorial noch nicht geklappt hat. Schaue mir selbst gleich noch ein paar Inseln an und dann schreib ich ein kleines. Die Zahlen/Farben werden sich von 2070 zu 1404 allerdings unterscheiden, funktioniert in 1404 aber vermutlich analog.

  • es tut mir leid leute aber ich werde mich, für eine unbestimmte zeit zurück ziehen....

    im juni gibt es villeicht neue news zu fallout 4.......
    ich muss jetzt erstmal bischen in new vegas abhängen! :super


    ich schuae mal wieder rein auf bald! :coffee

  • Sorry, dass das mit dem Tutorial noch nicht geklappt hat. Schaue mir selbst gleich noch ein paar Inseln an und dann schreib ich ein kleines.


    Auch wenn -nothing_in- sich jetzt hier verabschiedet hat, erstelle bitte das Tutorial. Mich interessiert es schon, wie du die Inselbearbeitung grafisch machst. Wenn ich den D.B.M. fertig habe, möchte ich mit der Inselbearbeitung weiter machen.


    Bitte auch das hier nicht vergessen: Was mich jetzt noch interessiert, wie bearbeitest du die verschiedenen <Data>CDATA für <TexIndexData><TextureIndex>x?

  • Ja klar, das Tut möchte ich nach wie vor machen. Bin aber selber noch am rumexperimentieren.



    Zu den Texturen: Die Transparenz der Textur wird an jeder Koordinate durch ein Byte (also 8 Bit) bestimmt. Soweit ich das in meinen Grafikprogrammen sehen kann, ist es jedoch nicht möglich, eine Abbildung als 8-Bitmap zu speichern; weitergehende Kenntnisse habe ich dazu nämlich auch nicht.
    Ich würde empfehlen, den CDATA-Code der Texturen nach wie vor per Hand im Hex-Editor zu editieren. Das ist verhältnismäßig einfach, da die Werte da nicht scheinbar kryptisch wie bei den Geländehöhen sind; 00 entspricht vollständiger Transparenz, die Textur ist an der Stelle nicht zu sehen, FF entspricht keiner Transparenz, also ist die Textur komplett da. Alle Werte dazwischen sind entsprechend möglich, 0-255 im Hexadezimalsystem.
    Meiner Meinung nach wäre hier das Hin- und Herkopieren des Codes zwischen .isd und Abbildung aufwändiger, als die Änderungen direkt im Code vorzunehmen :)

  • So viel kann ich schon mal sagen: Den Farbcode für die Geländedarstellung habe ich beinahe entschlüsselt. Den Blaukanal kann ich noch nicht richtig zuordnen; habe ihn versuchsweise mal gelöscht und nur mit Rot und Grün das Gelände dargestellt - funktioniert problemlos. Was genau der Blaukanal nun bewirkt, ist mir daher noch nicht klar.



    Kopfzerbrechen bereitet mir eher die Darstellung des GOP-Managers. Wie ich da die verschiedenen Höhen errechne, erschließt sich mir noch nicht ganz.

  • Ich habe nun ausreichend getestet und denke, die Geländemodellierung weitestgehend verstanden zu haben. Alle meine Beobachtungen und Tests wurden in 2070 gemacht. Ob sie 1 zu 1 auf 1404 übertragbar sind, kann ich nicht gewährleisten. Die zu Grunde liegende Mechanik sollte jedoch ähnlich sein.



    Also dann: Öffnet man eines der 17x17-Elemente, welches für die Geländedarstellung des entsprechenden Quadrats verantwortlich ist, begegnet man einem Farbwirrwarr, das zunächst für große Fragezeichen sorgt; so leicht ist kein System zu erkennen, dass bestimmten Farben bestimmte Geländehöhen zuweist.



    Tatsächlich scheint die Kombination der Farbkanäle ausschlaggebend zu sein. Dabei gibt es wohl eine Reihenfolge; die stärkste Auswirkung hat der Rotkanal, ihm untergeordnet ist der Grünkanal; ob diesem der Blaukanal untergeordnet ist, ist schwer zu sagen. Sollte dem so sein, ist die Auswirkung so gering, dass sie im Spiel nicht mehr sichtbar ist. Ich habe testweise den Blaukanal komplett entfernt, ohne eine sichtbare Änderung des Geländes festzustellen; wenn überhaupt modelliert er das Gelände nur in vernachlässigbarem Maße.


    Wie kann ich nun mein Gelände verändern? Ausschlaggebend ist die Farbe, die ich mische und an die gewünschte Koordinate setze. Wie bereits gesagt schauen wir uns zunächst den Rotkanal an. Für unsere Zwecke müssen wir ihn in zwei Hälften "teilen"; 0-127 und 128-255.
    0-127 ist für die Gestaltung des Geländes über dem Nullpunkt, also dem Meeresspiegel, verantwortlich, 128-255 für die Gestaltung des Geländes unter dem Nullpunkt. Dabei ist zu beachten, dass 0 und 128 (als Rotwert) genau die selbe Geländehöhe haben. Die "Reihenfolge" unserer Werte sieht also so aus: 255 (Maximale Geländetiefe) bis 128 (Nullpunkt), gleichwertig mit 0 (ebenfalls Nullpunkt), weiter bis 127 (Maximale Geländehöhe).
    Tatsächlich wird man die Werte 255 oder 127 nie gebrauchen. Der Wert 67 hebt das Gelände bereits auf eine Höhe, die selbst bei weitestem Rauszoomen nicht mehr ins Bild passt (es sei denn man hat Änderungen in der engine.ini gemacht, um weiter rauszoomen zu können).
    Für uns relevant sind die Rotwerte 194-128 und 0-66. 194 entspricht ungefähr der Höhe des Geländes am Meeresboden in 2070 (dem Meeresboden zwischen Inseln, nicht dem der Unterwasserinseln). Zur Modellierung der Küstenbereiche sind desweiteren die Werte 193, 192 und 191 anzuwenden. Dabei entspricht 191 nur noch einem Abstand von 0,5 Tile (also einem halben Feld) zum Nullpunkt; die Werte 190-129 sind demnach alle innerhalb dieses engen Bereiches von 0,5 Tile bis 128=Nullpunkt.
    Überirdisch verhält es sich ähnlich; Nullniveau ist bei Rotwert 0 (wer hätte es gedacht!), von 1-62 ist alles innerhalb des darüberliegenden halben Tiles, Rotwert 63 ist exakt 0,5 Tile. Weitere nutzbare Rotwerte sind 64, 65 und 66. 67 ist wie erwähnt bereits zu hoch.
    Was die Sache erschwert, ist der parabolische/hyperbolische (bin mit den Begriffen nicht so fit) Charakter der "Kurve"; Während die Werte 190-62 alle in dem 1 Tile um den Nullpunkt liegen, entspricht 194 etwa 20 Tile Tiefe (geschätzt) und 66 analog dazu 20 Tile Höhe. Die Abstände zwischen den Rotwerten sind also nicht äquidistant; 193 hat zum Beispiel nur noch eine Tiefe von geschätzt 5 Tile.
    Wie überbrücke ich nun diesen Abstand von 15 Tile, wenn ich nicht nur steile Wände oder Klippen haben möchte? Hier kommt der Grünkanal ins Spiel, der etwas einfacher funktioniert. Die Werte 0-255 ermöglichen Abstufungen zwischen zwei nebeneinander liegenden Rotwerten (z.B. 194 und 193). Auch hier sind die Abstände nicht linear; hätte ich beispielweise R194 G0 B0, R193 G128 B0 und R193 G0 B0 als Farben an nebeneinander liegenden Koordinaten, wäre die Höhe der mittleren Koordinate nicht exakt auf der Hälfte zwischen den anderen beiden Höhen. Ein zweites Beispiel: Ich habe R64 G0 B0 und R65 G0 B0; mögliche Zwischenwerte wären R64 G100 B0 oder R64 G140 B0; bei dem Grünkanal muss man eben nicht auf die Halbierung achten.


    Ich vermute, dass der Blaukanal nochmal auf dieselbe Weise abstufen kann, also zum Beispiel zwischen R64 G100 B0 und R64 G101 B0 als R64 G100 B50. Wie gesagt, ich würde den Blaukanal vernachlässigen, da der Effekt im Spiel nicht mehr wahrnehmbar ist.


    Ideal wäre es, eine Funktion herzuleiten, in die man die gewünschte Höhe eingibt (in Tile oder als 4096, wie das oft in den Spieldateien ist) und die den benötigten Farbwert ausgibt (oder umgekehrt). Wie ich mit der Gauss-Funktion aus 3 Punkten eine Parabel herleite, weiß ich, es handelt sich nur nicht um eine Parabel, sondern um irgendwas anderes absonderliches :rofl


    Bei der Geländegestaltung muss man also aufs Auge vertrauen. Die beiden einzigen sicheren Verbindungen zwischen Farbe und exakter Höhe sind R0 G0 B0 (bzw. R128 G0 B0) für Nullniveau und R63 G51 B51 für Bauniveau, was exakt 0,7 Tile entspricht bzw. 2867 (2867/4096=0,69999...).


    Das sind also die Erkenntnisse zur Geländegestaltung. Wie man seine Grafikprogramme nutzt, um die gewünschten Ergebnisse zu erzielen, bleibt jedem selbst überlassen. Mit dem beschriebenen Wissen lässt sich aber alles anstellen, was die Entwickler auch konnten, nur eben zeitaufwendiger.
    Transparenz der Texturen, wie gesagt, weiter direkt im Code bearbeiten.
    Die Farbzusammenhänge des GOP-Managers schaue ich mir als Nächstes an; zwar kann man jetzt schon neu gestaltete Inseln erstellen, indem man unwegsames Gelände noch komplett blockt; darin Wege und Baufläche zu schaffen, wäre ja aber noch toller :)


    Ich werde das ganze Prozedere abschließend nochmal von A bis Z zusammenfassen. Einige Seiten zuvor ist ja aber schon mal erklärt, wie man den Code in die Grafikdateien bekommt, daher verzichte ich nun auf eine Wiederholung.



    Liebe Grüße, Judekw

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Judekw ()

  • 3 tage nicht da und es gibt fast einen editor????


    ihr seid die besten!!! :tea


    ich lade dann in 3 tagen den fertigen runter :super :daumen
    mal ehrlich! das wäre wirklich ober genial wenn das mit bild malen geht!!! :rofl ick freu mir!!!

  • Wow! Ich beobachte das hier und muss sagen, ihr fuchst euch da ganz schön durch. Super Arbeit. Weiter so. Der gute Gauß wäre stolz auf euch, auch wenn es die Normalverteilung nicht betrifft, wie Judekw erwähnt hat.


    Ist es denn der HSV-Farbraum? Den kann man auf verschiedene Weise darstellen, als Kegel oder Zylinder. Die Normalparabel beschreibt den RGB-Farbraum. LUV und LAB sind auch Parabeln.


    Keine Ahnung, ob euch das weiter hilft, aber hier Links zu Farbräumen:


    http://de.wikipedia.org/wiki/Liste_der_Farbr%C3%A4ume
    http://de.wikipedia.org/wiki/HSV-Farbraum


    http://www.wisotop.de/lab-farbraum-cie-luv-farbraum.shtml
    http://a.img-dpreview.com/revi…aticity_diagram_gamut.jpg

  • Hey ihr, danke für euren Zuspruch!


    JeanneDoe : Um ehrlich zu sein, bin ich mir nicht sicher, wie du das mit den Farbräumen meinst. Denkst du, dass in einer anderen Darstellung einer Farbe, zum Beispiel durch H, S und V, die Gestaltung ersichtlicher wird? Habe das mal geprüft, konnte dort keine Zusammenhänge feststellen.
    Bei den verschiedenen Farbräumen handelt es sich, soweit ich das als Laie verstehe, um Abbildungen aufeinander; im Falle unseres Inselgeländes haben wird eine Abbildung aus einer anderen Logik heraus ins Bild. Daher kann ich leider nicht einschätzen, inwiefern mir die Verwendung anderer Farbräume hilft.


    @nothing_in: Ich kann nur die zu Grunde liegende Logik der Inselgestaltung erfassen; von der Programmierung eines Editors verstehe ich Null Komma Nichts.

  • Kann sein, das ich dich falsch verstanden habe. Du sagst, es wäre schön, eine Funktion zu schreiben.


    Zitat

    Ideal wäre es, eine Funktion herzuleiten, in die man die gewünschte Höhe eingibt (in Tile oder als 4096, wie das oft in den Spieldateien ist) und die den benötigten Farbwert ausgibt (oder umgekehrt). Wie ich mit der Gauss-Funktion aus 3 Punkten eine Parabel herleite, weiß ich, es handelt sich nur nicht um eine Parabel, sondern um irgendwas anderes absonderliches


    Daraus habe ich geschlossen, das du erkannt hast, das grob gesagt der RGB-Farbraum innerhalb einer Parabel angeordnet ist und jeder Farbton innerhalb dieser errechnet werden kann. Da du aber schriebst, das es keine Parabel ist, sondern was anderes, hatte ich im Kopf, das es vielleicht ein anderer Farbraum ist als RGB.
    Daher der Denkanstoß, dass es andere Farbräume gibt als RGB. Aber du hast bis jetzt von konkreten RGB-Werten geschrieben, ich kann nicht ersehen, ob es noch andere Angaben gibt, wie zum Beispiel der Transparenzwert.
    Aber wahrscheinlich habe ich jetzt nur für Verwirrung gesorgt, ich bin eine sehr schlechte Mathematikerin und ziemlich froh, das meine Grafikprogramme das rechnen für mich übernehmen.

  • hey leute das hört sich wirklich vielversprechend an!! :super 
    aber das ist mir schon ein kleinwenig zu hoch! :hää


    @jude: mach weiter so!! ich hoffe und glaube du bist da auf einem sehr guten weg!!! :daumen

  • Hier geht's wohl nichtmer weiter??
    Ich habe momentan leider keinen pc!!
    Und auf die Handy kann ich keine inseln machen!!
    Aber Jungs habt ihr es geschafft?? :daumen
    Oder alles wieder vorbei?? ich hoffe das mein Rechner in einer oder zwei Wochen wieder fit ist dann geht's weiter!! :super 
    Bis dahin haltet die Ohren steif!!


    PS
    Lieber Günter ich werde die Coast building lines nicht verändern! Das ist für mich zu hoch!!
    Aber ich stelle gerne meine inseln zur Verfügung, falls das jemand anderes machen möchte!! :rofl

    irgendeinscheis......

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von -nothing_in- ()

  • Hey, doch hier geht es noch weiter, habe im Moment jedoch leider nicht die Zeit, mich da hinterzuklemmen.


    Die Farbverteilung im GOP-Manager ist das einzige, was noch gelöst werden muss, alles andere ist ja bereits geklärt; vom Programmieren eines Editors verstehe ich, wie bereits gesagt, nichts.


    Zwischendurch habe ich angefangen, eine Insel für 2070 zu erstellen, bin damit aber noch nicht fertig. Alles hat seine Zeit ;)

  • Keine Hektik mein bestester! :super


    Ich brauche keinen Editor! wäre natürlich schön, aber wenn ich anstatt gryptische Zeichen Bilder male ist das schon ein riesiger Schritt!!


    Ich glaub an dich!!