Licht mit Schatten Tutorial

    • GM 8

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

    • Licht mit Schatten Tutorial

      Hallo
      ich habe weil ich mal lust hatte eine Lichtengine mit Schatten programmiert und das nur in 5-10 Minuten.
      Ich vermute, dass viele sich hierüber freuen würden und deswegen wollte ich es Veröffentlichen.

      Nochmal als Verdeutlichung was das sein soll:
      ich habe Licht und Dunkelheit,
      dann ist da ein Block und das Licht scheint leider darüber, was machen?
      Einen Schatten, aber wie??
      Hier die Lösung(im Anhang)

      ihr müsst einfach das machen wenn ihr das Script habt, aber ich schicke auch noch ein Example
      :event_create: Create:

      GML-Quellcode

      1. Licht_init()

      im :event_step: Step

      GML-Quellcode

      1. //argument0 = genauigkeit so weniger, desto genauer aber auch langsammer optimal 5
      2. //argument1 = größe vom Radius optimal 100
      3. //argument2 = bei welchem Object schatten setzen
      4. //argument3 = x
      5. //argument4 = y
      6. Licht_step(5,100,obj_block,mouse_x,mouse_y)

      wenn du kein Licht mehr haben willst :event_other: :

      GML-Quellcode

      1. Licht_end()

      und im :event_draw: Draw

      GML-Quellcode

      1. Licht_draw()


      Das alles funktioniert noch nicht so ganz gut, aber ich versuche ab und zu weiter zu machen :thumbsup:
      Bilder
      • Screenshot.png

        14,27 kB, 656×519, 624 mal angesehen
      Dateien
      • Licht engine.zip

        (10,63 kB, 501 mal heruntergeladen, zuletzt: )
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von husi012 ()

    • Auch wenn du es wahrscheinlich gut gemeint hast, wäre es besser gewesen es bleiben zu lassen. Es gibt schon unzählige Tutorials und Lichtengines die auch ziemlich gut sind, weswegen ein neues besonders herausstechen muss. Ich kann jedem davon abraten diese in 5-10 Minuten (Quelle: husi012) erstellte Engine nicht zu benutzen. Wer wegen dem Lerneffekt hier ist, sollte ebenfalls die Finger davon lassen. Hier werden Methoden benutzt die überhaupt nicht vertretbar sind. Ich liste hier mal meine Kritikpunkte der Engine auf:
      • Benutzt die schon langsame collision_line Funktion in zwei Schleifen (Framedrops wörtlich vorprogrammiert!)
      • Mehrere Lichtquellen kann man gleich vergessen
      • Zeichnung mit Linien
      • Benutzte Blendmodes verfälschen das Bild
      • Resultat ist folglich sehr unschön

      Von Tutorial kann hier nicht die Rede sein. Es wird nichts erklärt, höchstens Empfehlungen abgegeben was man für Werte am besten einträgt. Ich habe tatsächlich selbst schon mehrere Lichtengines geschrieben. Die letzte davon unterstützt directionales Licht, mehrere Farben, 3d Schatten, schnelle Shaderunterstützung, verschommene Schatten durch Sampling, usw. Diese kann ich auch gerne veröffentlichen.

      Es wäre wirklich nur ratsam das Tutorial überhaupt fertig zu stellen. Du musst uns nicht beweisen was du in 5-10 Minuten fertigstellst. Trotzdem Danke dass du dir Mühe gegeben hast einigen zu helfen und Ich hoffe du verstehst meine Kritik nicht falsch.
    • ch habe tatsächlich selbst schon mehrere Lichtengines geschrieben. Die letzte davon unterstützt directionales Licht, mehrere Farben, 3d Schatten, schnelle Shaderunterstützung, verschommene Schatten durch Sampling, usw. Diese kann ich auch gerne veröffentlichen.

      Oh ja bitte! Mich fasziniert sowas ungemein und ich bin nicht im Stande eine wirklich dynamische und effiziente Lichtengine zu erstellen, würde mich wirklich riesig freuen wenn du deine Mal vorstellen würdest :)

      Für 10 Minuten respekt, aber ein tutorial ist es nich so wirklich :/
      Sorm ist Schuld

      Edit: Doch ist er

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Pacmangamer () aus folgendem Grund: Ich hab hier nix sarkastisch gemeint