3D: Transparenz und die Zeichenreihenfolge

    • GM 8

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • 3D: Transparenz und die Zeichenreihenfolge

      Hallo Community,

      ja, ich weiss, es ist sehr, sehr früh am Morgen xD Wie auch immer. Stehe hier seit ner Weile vor einem merwürdigem Problem dass sie auf die 3D-Funktionen bezieht.
      Ein einziges Skript zeichnet in meinem Fall die gesamte 3D Welt. Dabei zeichnen ein paar Zeilen zunächst eine große Skybox. Dann wird eine runde Elipse gezeichnet die eine Erde darstellt. Anschließend wird eine sehr durchsichtige, weisse, etwas größe Kugel die die Atmosphäre darstellt, gedrawt.
      Zuguterletzt folgt eine viel kleiner Sphäre die aber auf der Oberfläche des Planetens gezeichnet wird und teilweise über die Atmosphäre reicht (also aus ihr herausragt). Diese Sphäre besitzt auch Transparenz.

      Genau hier liegt auch das Problem: Wenn ich alles in dieser Reihenfolge zeichne, wird die kleine Sphäre auf der Oberfläche schlichtweg garnicht dargestellt, sondern nur der Teil der aus der Atmoshphäre herausragt.
      Nun hab ich mir diesen Thread angesehen und auch verstanden: gmc.yoyogames.com/index.php?showtopic=367077
      Blöderweise hilft das leider überhaupt nicht. Ich habe ja die Regel befolgt: Was am nächsten an der Kamera ist, wird als letztes gedrawt. Die kleine Sphäre ist der Kamera zugewandt, dementsprechend ist sie ihr am nächsten.

      Habe aber trotzdem versucht das Skript umzustellen. Wenn ich aber zuerst die Sphäre zeichnen lasse und dann erst die Atmosphäre, sieht es wiederum so aus dass dort wo die kleine Sphäre (die dann vollständig gedrawt wird) sich befindet, die Atmoshphäre dafür fehlt. Dadurch wird die Sphäre deutlich dunkler was nicht sein sollte und hässlich aussieht (da die Sphäre im Programm langsam ausgeblendet wird).

      Ist hier schon einmal jemand auf solch ein Problem gestoßen? Und/oder kennt jemand eine Lösung?

      Bedanke mich schonmal vielmals im Vorraus.


      P.s. hab diesen thread hier im Expertenforum gestellt weil ich annehme dass dies ein Problem ist, das nicht nur mein Spiel betrifft sondern auch in anderen 3D Spielen vorkommen kann (natürlich mit anderen Formen und Situationen aber eben unter den selben Umständen)... Verschiebt es bitte, sollte ich hierin falsch liegen :)

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DragonGamer ()

    • Hast du schon d3d_set_hidden(false) versucht? Denn auf true sorgt das dafür, dass verdeckte flächen nicht gezeichnet werden.
      Okay vergiss das, ich habe den Link in der Früh übersehen, vermutlich sollte ich nicht so früh aus dem Bett :S

      © 2008 by Teamgrill Productions

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MasterXY ()

    • Solche Probleme sind im GM fast nicht weg zu bekommen. Ich habe das auch x mal gehabt.
      Slebst wenn du dir richtige rein folde machst.
      Erde / Kleine Sphäre dann die Wolken könnte es nur bedingt besser werden.

      Das ganze bin ich umgangen in dem ich einen Sphäre als Flare gemacht habe.

      Das ist eine wall die sich immer zur Kamer dreht.
      Es ist ein Farbverlaufsbild mit einer ausblend aplha drüber. Somit sieht es aus wie eine Späre.
      Das war mir die einzigste möglich keite etwas derartiges zu machen und diese Wolkenkukel Probleme zu umgehen.
      Meine Signatur hat kein Visum für das GM Forum erhalten.
    • Vielen Dank für die Antworten.

      @MasterXY
      Deine Idee ist nicht so schlecht. Sie funktioniert aber nicht so ganz. Bzw. diese Sphäre sieht hinterher nicht so aus iwe sie es sollte.. :(

      @x-sascha
      Interessant zu wissen dass es keine dierekte Lösung gibt.
      Wieso meinst du aber dass die Richtige Reihenfolge "Erde / Kleine Sphäre dann die Wolken" sei? Laut der Logik des englishen Forums muss das als letztes gedrawt werden was am nächsten der kamera ist, also in diesem Fall die kleine Sphäre.
      Hab oben aber beschrieben was passiert wenn ich Spphäre und Wolken vertausche.. hilft leider nicht.

      Hab jetzt die Atmosphäre abgeflacht so dass mich der Teil der von der kleinen Sphäre nicht dargesetllt wird, nicht mehr stört.

      Wie hast du aber dieses Flare gezeichnet?
      In meinem Spiel wird der Planet aus vverschiedenen Winkeln und Entfernungen dargestellt. Die Kamerabewegung ist eher unüblich. Wie kann man nur anhand des Kamera-vektors eine Wall zur kamera hin ausrichten?

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)

    • Interessant zu wissen dass es keine dierekte Lösung gibt.
      Wieso meinst du aber dass die Richtige Reihenfolge "Erde / Kleine Sphäre dann die Wolken" sei? Laut der Logik des englishen Forums muss das als letztes gedrawt werden was am nächsten der kamera ist


      Du must genau umgekehrt denken. Du must immer mit dem hinterem Teil anfangen.
      Denn die Wolken sind über der Erde und der Kleinem Kugel.
      Wenn jetzt der Code aber später kommt versucht GM etwas was später berchnet wird, hinter etwas zu machen was schon existiert.
      Ist schwer zu erklären.

      Ein beispiel:
      Ich hatte mal in 3d ein Windmühle bei dem die Flügel Transparent waren um eine Stoffbespannung darzustellen.
      Jedes mal wenn der Windrad sich dreht und im Hintergrund ein Objekte war was aber später im Raum erstellt wurde. Konnte der GM es nicht berechnen.
      Hatte ich haber die Objekte vorher hingestellt oderf aber den depth wert kleiner gemahct ging es.

      Ergo muss man von hinten nach vorne gehen.

      Bei deinen wolken ist es also so das er ja mit der Berchnung schon fertig ist. aber ein paar schritte später doch noch was hinzu kommt, was dahinter ist.
      Meine Signatur hat kein Visum für das GM Forum erhalten.
    • x-sascha schrieb:


      Denn die Wolken sind über der Erde und der Kleinem Kugel.


      Nein das stimmt eben nicht. Glaub da liegt auch genau das Problem. Die kleine Sphäre ist nämlich teilweise über der Atmoshphäre! Dadurch kann ich es nur hinkriegen dass entweder nur der Teil korekt dargestellt wird der unter der Atmoshphäre ist oder der teil der darüber ist... beides geht scheinbar nicht x-x
      Ne Lösung wäre es wahrscheinlich keine Sphäre zu benutzen sondern Modelle wobei die "Kuppel" die aus der Atmosphäre hrausragt getrennt vom Abschnitt darunter gedrawt wird... das verkompliziert die Sache aber und lohnt sich für eine 15-Sekunden Szene nicht...

      Werd wohl bei deine Methode bleiben, sobald ich rausfinde wie das genau geht..
      Das Bild da sieht übrigens ziemlich beeindruckend aus.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)