Licht & Schatten auf Tilemaps

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

hamZta

Administrator

Betreff: Licht & Schatten auf Tilemaps

BeitragDi, Mai 02, 2006 22:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie der Titel schon sagt, handelt es sich um Lichtberechnung auf Tilemaps.
Ich habe, um die Problematik besser erklären zu können, folgende Skizze angefertigt:
user posted image

Wie man sehen kann, würde ich auf meiner Tilemap gerne Lichter einbauen und deren Lichtfluss berechnen können.

Die Berechnung ist ja eigentlich kein Problem. Ich sende, ähnlich einer Raycaster-Engine, Strahlen (Rays) aus. Diese Rays haben eine begrenzte, einstellbare Reichweite (Lichtstärke) und werden, wenn sie auf eine Wand stoßen, unterbrochen.

Soviel zur Berechnung, mein Problem liegt eher an dem Zeichnen des Lichtes. Wenn ich nur die Tiles erhelle, über die die Rays kommen, hab ich zwar den gewünschten Effekt - allerdings ziemlich hässlich dargestellt (da ein Licht nunmal keine harten Grenzen hat Wink ). Deshalb suche ich jetzt eine Möglichkeit, den Übergang von Licht und Schatten weicher zu gestalten.

Noch eine Anmerkung: Das Licht muss nicht dynamisch und zur Laufzeit berechnet werden (wäre sowieso viel zu langsam).

Vielen Dank im Voraus.

hamZta
Blog.

Hummelpups

BeitragDi, Mai 02, 2006 23:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum dann nicht beim MapEditor eine Compile Funktion und
dabei eine Shadow, Lightmap erzeugen?

Sonst guck doch mal bei CS 2D ob dir das reicht wie es DC dort gelöst hat.


Vielleicht kannst du es auch etwas komplizierter lösen, es gibt sicherlich
noch andere Möglichkeiten, diese ist mir aber gerade so eingefallen, bei
der Umsetzung bräuchte ich auch nen bissl.
Durchaus Interessant wäre diese Möglichkeit wenn du die Lightmaps
erzeugen lässt.

Du Prüfst zuerst auf Kollision per Raytrace. das sollte ja kein Problem
sein, dann erstellst du aus deiner Maske die du nun geprüft hast convexe
Objekte, beispielsweise Dreiecke.

Kannst nun jedem Dreieck einen Wert zuweisen, der den Abstand zum
ursprünglichen Licht beschreibt. Dazu bietet sich evtl. der Mittelpunkt des
Dreiecks an.
Umso größer der Abstand und umso
kleiner die Lichtstärke, desto dunkler ist die Fläche gefärbt.
(Logisch oder?)

Füllen kannst du die Körper im Fächerverfahren oder ein anderes das dir
gerade einfällt Wink

Hier noch eine kleine Illustration.
user posted image

Jaja, es gibt sicherlich andere leichtere Möglichkeiten, diese finde ich aber
recht interessant auch wenn sie recht schwierig umzusetzen ist.

Ich hoffe ich konnte dir helfen, das würde mich auch mal interessieren,
vielleicht fange ich übermorgen mal damit an ähnliches zu proggen.

EDIT: Hiermit ( https://www.blitzforum.de/foru...t=schatten ) kannst du nichts anfangen?

IMurDOOM
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus
 

Dreamora

BeitragMi, Mai 03, 2006 1:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Dieser Thread http://www.blitzbasic.com/Comm...opic=48928 und der darin verlinkte Softshadows Artikel auf GameDev.net sind wärmstens zu empfehlen für 2D Schattenwurf.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

hamZta

Administrator

BeitragMi, Mai 03, 2006 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank für die Mühe & die Links, ich werde sie mir nach der Matura (Abitur Wink ) genauer ansehen.
Blog.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group