3D Splitscreen - Surface in 3D

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

    • 3D Splitscreen - Surface in 3D

      Nach den wunderschönen Tut "Surface leicht gemacht" von DAG hab ich mal überlegt ob man Surfaces auch in 3D anwenden kann.

      Es geht! Dadurch sind Splitscreen-Games in 3D möglich. Ich hab mein ein Beispiel abgehangen, aber wer es öffnet kennt mein Problem.

      Download: Link

      Warum auch immer werden alle Vektoren nicht, wie bei normalen GM-3D, gezeichnet, sondern z.B. eine Wand, die hinter einer weiten Wand steht, kann plötzlich davor sichtbar sein. Kann man sich schwer vorstellen und genau darum zerstört dies den räumlichen Effekt. Egal wie weit ein Vektor hinten ist, egal wie viele Objekte ihn überlappen (sollten), wenn dieser Vektor zuletzt gedrawt wird überlappt dieser alle anderen.
      Dieses Verhalten ist ja bei 2D Games üblich.
      Schaut euch die GMK einfach mal an, dann wird es schon klar :D

      Ich hab schon vieles probiert, aber es geht immer noch nicht! Liegt es daran, dass es nicht im Draw Event ist? Oder zerstören die Surface-Funktionen einfach die 3D-Optik.

      Wenn dieses möglich ist könnte man viele 3D-Extras machen, z.B. ist es mir gelungen, in einer 3D Welt unten ein Kreis zu erstellen, indem sich eine Box dreht. (Natürlich mit den gleichen Effekt)

      Man kann sogar Funktionen wie d3d_set_fog(...) in jeden Surface speziell einstellen.

      Ich hoffe ihr könnt mir helfen ;(
      „Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“
      Albert Einstein
    • Dieser kurze Auszug aus der Hilfe ist der Grund dafür, dass niemand Surfaces im GM benutzt:
      Surfaces do not work correctly with 3D mode.

      Das ist auch dein Problem. Es würde mich nicht wundern, wenn das bei anderen Usern zu ganz anderen Fehlern führt. Für Splitscreen ist auch keine Surface nötig. Dafür findest du sicher einige Examples auf der gmc, wenn du dich dafür interessierst.
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Es ging weniger um Splitscreens, sondern darum 3D Objekte z.B. in ein 2d Menü zu setzen.
      Wie gesagt ich hatte ein anderes Tut, indem sich ein 3D Block ein ein Kreis unten im Menü drehte, doch dort hat man mein Problem sehr schlecht erkannt.
      Und allein die Kreisform geht leider nur mit Surfaces.

      Das ist auch dein Problem. Es würde mich nicht wundern, wenn das bei anderen Usern zu ganz anderen Fehlern führt.

      Spielst du darauf an?

      Naja ich hab den Fehler jetzt verstanden.
      Bei 3D berechnet er die ganze Welt zusammen und zeichnet sie anschließend.
      Mit Surfaces berechnet er jeden Vektor einzeln und Zeichnet nicht alle zusammen, sondern legt immer z.B. eine Ebene drauf. Unabhängig von den anderen.

      Sonst hätte man richtig gute Effekte machen können, sogar wenn man es richtig drauf hat so ein Spiel wie Portal^^

      Also einfach etwas weiter tüfteln und auf GM8 warten.
      „Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“
      Albert Einstein
    • Nein, ich spiele auf nichts an. Es ist einfach erfahrungsgemäß so, dass die Fehler, die bei falscher Anwendung von Surfaces, von Rechner zu Rechner anders aussehen. In deinem Fall werden z.B. die 3D Objekte nicht nach der Entfernung zur Kamera gezeichnet, sondern nach Depth. Kann ja sein, dass jemand anders da nur eine schwarze Fläche sieht. Das hängt halt einfach vom jeweiligen System ab, wenn ich mich nicht täusche.
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Naja dann geht's leider net.

      Aber falls es jemanden interessiert hier ist der eine Code den ich oben zweimal erwähnt hab:
      Klick hier
      Der Hintergrund ist 3D, auch wenn man es nicht sieht. Das Problem hab ich in diesen Kreis sogar behoben, aber nur weil es ein Objekt ist und die Innenseiten dank d3d_set_culling(true); nicht gezeichnet wird.

      Der Code ist etwas unordentlich, aber is ja nur zum anschauen.

      Danke nochmal! :thumbsup:
      „Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“
      Albert Einstein
    • Benutzer online 1

      1 Besucher