Smooth shadow/glow

  • Allgemein

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

  • Smooth shadow/glow

    Hi,

    Ich hänge gerade an einem Schatten Problem in meinem neuen Projekt.
    Es soll genau so wie in Andrenaline aussehen:

    Also um den Wänden rum. Leider will das ganze bei mir nicht so richtig funktionieren.
    Ich habe einen Sprite gemacht der schon so einen glow effekt hat und den dann einfach unter
    der Wand gedrawt, leider komme ich nicht auf den selben Effekt.

    Kann mir da einer weiterhelfen ?

    EDIT: Ich wollte noch anmerken das dieses Spiel mit gm6 gemacht wurde, also wurden keine "neuen" Techniken verwendet.

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

  • Du könntest es mit draw_primitive lösen und ein primitiv zeichnest, dass etwas größer als die wand ist, die Farbe schwarz hat, in der mitte ist die Transparenz 1 und die eckpunkte haben Transparenz 0.

    © 2008 by Teamgrill Productions
  • Du beginnst ein Primitive mit:

    GML-Quellcode

    1. draw_primitive_begin(pr_trianglestrip)

    pr_trianglestrip ist in diesem Fall die beste Methode: Das bedeutet, die ersten 3 definierten Vertices bilden ein Dreieck, dann bildet der nächste Vertex ein Dreieck mit den zwei vorherigen usw.

    Dann zeichnest du die Vertices:

    GML-Quellcode

    1. draw_vertex_color(posx_0, posy_0, c_black, alpha)
    2. ...
    3. draw_vertex_color(posx_n, posy_n, c_black, alpha)


    Wie gesagt mit Alpha 1 für die inneren und 0 für die äußeren.

    Zum Schluss:

    GML-Quellcode

    1. draw_primitive_end()


    Hier eine kleine Skizze, wie die Vertices für pr_trianglestrip definiert werden sollten:


    1 bildet mit 2 und 3 ein Dreieck, dann bilden 2, 3 und 4 ein Dreieck, danach 3, 4 und 5 usw. Zum Schluss muss noch einmal der 1. Punkt verwendet werden. Im Fall von pr_trianglestrip sind die Flächen dann natürlich gefüllt und wenn du unterschiedliche Farben oder Alpha-Werte für einzelne Vertices verwendest, enstehen zwischen den Vertices farbübergänge. 2, 4, 6 und 8 würden in deinem Fall einen Alphawert 1 und der Rest 0 verwenden um einen schönen Verlauf zu erzeugen.

    © 2008 by Teamgrill Productions