lightmapps / Schatten Engine
Übersicht

![]() |
DottakopfBetreff: lightmapps / Schatten Engine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Blitzer!
ich beschäftige mich gerade etwas mit der ausleuchtung von Level und Objekten. Mit hilfe einer Lightmap kann man statische Objekte, wie zb ein Level, wunderbar ausleuchten und sehr realistische Schatten erzeugen. Allerdings wirken sich diese Schatten nicht auf sich darauf bewegende Objekte(Spieler) aus. So kann es passieren, dass in einem total dunklen raum die Spielerfigur sehr hell erscheint(je nach ambientlight). Wie schaffe ich es, das der Spielermesh den gleichen Kontrast an nimmt wie die Umgebung? (Evt. einfach die helligkeit des Triangles unter dem Spieler ermitteln und das Spieler mesh neu einfärben?) Das Beschriebene Problem hat man natürlich bei einer Schatten Engine nicht(z.b. Devil Shadow). Allerdings ist dies ziemlich rechenaufwendig und somit auch langsam. Außerdem ist es ziemlich doof jedesmal einen schatten für statisches Objekt neu zu berechnen. Wie geht man dieses Problem am besten an ? Was ist wann sinnvoll ? Antworten können ganz allgemein ausfallen. Gruß Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
faeX |
![]() Antworten mit Zitat ![]() |
---|---|---|
3 Dinge:
1. Gehört dieses Thema nicht in Allgemein, sondern in Blitz3D! ![]() 2. Mach 'ne Lightmap und in Kombination dazu 'ne Schattenengine für die sich bewegenen Objekte, das ist etwas schneller. 3. Lass es einfach bleiben! Sooo grandios ist der Effekt nun auch wieder nicht... mfG faeX |
||
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Danke für deine Schnelle antwort
1. Da könntest du recht haben 2. Lightmaps und Schattenengine vertragen sich sehr schlecht 3. Beim Programieren gehts doch darum sachen durchzuarbeiten und nicht bei jeder schwierigkeit es einfach hinzulegen ![]() Ich finde es sieht einfach bekloppt aus, wenn da ein dunklerer raum ist und du stehst da mit deinem ultra hellen model mitten drin. Gruß Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
faeX |
![]() Antworten mit Zitat ![]() |
---|---|---|
Markier dir doch Bereiche in der Karten (sowas wie Hitboxen) und blende dementsprechend die Helligkeit von deinem Spieler einfach über... | ||
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die einfachste Lösung ist schon das Modell komplett entsprechend dem darunter liegenden Textel zu beleuchten.
Eine andere Möglichkeit ist die generierte Lightmap auch auf das Modell zu projizieren. Bei einer parallelen Lichtquelle (z.B. Spot, Sonnenlicht) mit einer von oben projizierten Lightmap geht das sehr gut, für Räume zwar nur bedingt einsetzbar, aber vielleicht trotzdem noch schöner als das Modell komplett zu färben. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
faeX |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du beschreibst die Lösung ja quasi schon selbst: eine art eigene Schattenengine schreiben. Etwas anderes, als die Lightmap auf die anderen Objekte zu projezieren ist das ja auch gar nicht... Aber dann drehst du dich im Kreis, weil es langsam ist, jeden Frame aufs neue die Schatten zu berechnen. Es sei denn du unterscheidest, ob der jeweilige Schatten auf das Objekt projeziert werden soll, oder nicht. ![]() |
||
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nö, die hohen Kosten(Berechnungsaufwand) bei Schattenengines kommen von der Berechnung der Shadowmaps, nicht durch das projizieren auf die Models. Wenn die Shadowmap nur selten oder gar nicht(klassische Lightmap eben) aktualisiert wird kann viel Rechenzeit gespart werden.
Aber es ist richtig, dass einige Schattenengines nach einem solchen Prinzip funktionieren(z.B. FastExt Shadow) |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Die einfachste Lösung ist schon das Modell komplett entsprechend dem darunter liegenden Textel zu beleuchten.
Hm aber wie kann ich unterscheiden ob das Trianlge unter mir, wirklich durch schatten dunkel wurde, oder ob die Textur einfach nur sehr dunkel ist(Stein.. Kohle..) |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du hast ja normalerweise mindestens 2 Texturlayer, die Colortextur und die Lightmap. Dich interessiert hier natürlich nur die Lightmap und die enthält ja nur die Beleuchtung. | ||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
du musst mich entschuldigen, ich bin noch nicht so fit im 3D bereich.
Wie kann ich die Lightmap abfragen? wird das wie ein eigenes surface behandelt ? gruß dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Bei GETBRUSHTEXTURE hast Du einen 2. Parameter Index. Der gibt an welcher Layer zurückgegeben wird. Welcher davon die Lightmap ist musst Du aber kucken, normalerweise der 2. Layer, könnte aber auch ein anderer sein.
Wenn Du den Dateinamen der Lightmaptexture kennst kannst Du auch einfach diese mit Loadtexture nochmal laden. Ich meinte das läd die nicht neu sondern benutzt die bestehende weiter. Mittels den UV-Koordinaten des unterliegenden Triangles kannst Du dann die Helligkeit herausfinden. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. mfg, hamZta |
||
Blog. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group