beleuchtungsprobleme

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Iguan

Betreff: beleuchtungsprobleme

BeitragSo, Nov 05, 2006 20:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo allerseits!
ich bin dabei einen kleinen fps zu proggen, und habe jetzt ein problem mit der beleuchtung. das level ist ein grosses b3d mesh. nun habe ich ambientlight auf 255,255,255 gesetzt und ein Licht mit Lightrange 10000 an meine kamera ge-parentet Laughing . aber irgendwie erscheint jetzt alles ohne schattierungen. in der OH steht, dass man neben ambientlight zusätzlich noch Lichter braucht, damit die schattierungen zu sehen sind.
ich habe auch schon mal jene menge lichter erstellt:
Code: [AUSKLAPPEN]

For y = 1 To 600 Step 80
  For z = 1 To 600 Step 80
     For x = 1 To 900 Step 80
        i=i+1
        lichter(i)= CreateLight(2)
        LightRange lichter(i),10000
        LightColor lichter(i),255,255,255
        ;RotateEntity lichter(i),-90,0,0
        PositionEntity lichter(i),x,y,z
     Next
  Next
Next

ging aber auch nicht.
wie kriege ich bloss diese schattierungen hin?


Mfg

Iguan

FreetimeCoder

BeitragSo, Nov 05, 2006 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Wahrscheinlich positionierst du die Lichter falsch. Mach mal LightRange weg und schau, wie es dann aussieht.
Ich nehme an, die Lichter sind von der Kamera zu weit weg.
Außerdem machst du zu viele Lichter. Ich glaub bei ca 20 Lichtern ist Schluss, wie ich leider erfahren musste Confused
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA
 

Dreamora

BeitragSo, Nov 05, 2006 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Es können maximal 7 Lichter auf einen Vertex wirken. (8 Hardware Lichter, eines davon geht für Ambient Light drauf)

Schattierungen sind Vertexbasiert.
Das heisst du siehst nur Lichtabstufungen, wenn:

1. Die Lichtreichweite klein ist (das ist sowieso ein Muss, denn Hardware Lichter gehen durch die Wände, da sie nichts wie eine Wand kennen)

2. Die Wände aus vielen Polygonen bestehen, denn der "Helligkeitsunterschied" wird zwischen Polygonen interpoliert. Je weiter sie auseinander sind, desto ungenauer wird das ganze, je schlechter sieht es also aus.


Richtigen "Schattenwurf" gibt es nicht, wenn du dir das erhofft hattest.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Iguan

BeitragSo, Nov 05, 2006 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
die lichter sind schon richtig positioniert (ich hab mal zum testen anstelle von createlight, createcube genommen)
ich habs auch schon mit weniger lichter versucht, und auch lightrange weggenommen... geht aber alles auch nicht Sad

FreetimeCoder

BeitragSo, Nov 05, 2006 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Für Schatten mach Lightmaps.
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA

Iguan

BeitragSo, Nov 05, 2006 21:26
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab mal zum testen, beim sample von Blitzbasic "FPS.bb" mein mesh als level eingesetzt, und es sind auch keine schattierungen zu sehen. dann liegt es wohl wirklich an der grösse der einzelnen polygonen. die ist bei meinem level schon etwas grösser als die, im "fps.bb" beispiel. merkwürdig finde ich aber, wenn ich mit der kamera zu einem objekt mit vielen kleinen polygonen laufe, dann wird dieses auch nicht schattiert... Rolling Eyes
(habe ein licht an meine kamera geklebt)

bin echt ratlos...


noch eine frage nebenbei: wie kann ich die polygonanzahl z.B einer grossen wand, die aus 2 polygonen besteht, vergrössern?
(wenn ich beim "fps"-sample wireframe 1 mache, dann sind die wände ja auch in viele polygone aufgeteilt)
 

Dreamora

BeitragSo, Nov 05, 2006 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie gesagt, die LightRange muss sehr niedrig sein, damit du vor der Cam einen Unterschied siehst. Heisst kleiner als der Abstand den du normalerweise zu einer Wand hast wenn du diese Betrachtest. Solange er grösser ist, wirst du nichts sehen.

Ach ja, AmbientLight muss übrigens auch kleiner als 255,255,255 sein. Denn dann wäre schon voll beleuchtet und kann logischerweise nimmer heller werden.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Mr.Keks

BeitragSo, Nov 05, 2006 23:00
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, es liegt am ambientlight.. hier nochmal ein hihi wegen der rund 600 erstellten lichter zum ambientlightfaken ^^. vielleicht ist ein egoshooter noch nicht das richtige projekt für dich.
MrKeks.net

Iguan

BeitragMo, Nov 06, 2006 0:03
Antworten mit Zitat
Benutzer-Profile anzeigen
jup, jetzt schauts besser aus mit ambientlight 20,20,20 gemacht, und die lightrange auf 20 gestellt.
@ Mr Keks: wollte damit eigentlich nicht ein ambientlight faken... hatte nur gedacht, das licht ist falsch positioniert, und wollte auf nummer sicher gehen, dass eines der lichter meine map beleuchtet Laughing

nun müsste ich nur noch wissen, wie ich meiner map mehr polygone geben kann? Damit eine grosse wand mehr als 2 polygone hat... wie im fps-sample
mit wireframe 1...

Schranz0r

BeitragMo, Nov 06, 2006 3:45
Antworten mit Zitat
Benutzer-Profile anzeigen
ich könnte wetten die Wand hat 12 Polygone Very Happy

Ohne sie gesehen zu haben Wink
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Mr.Keks

BeitragMo, Nov 06, 2006 17:34
Antworten mit Zitat
Benutzer-Profile anzeigen
... die geometrie deines levels solltest du eigentlich in einem 3deditor erstellen. in b3d dann noch beim programmstart weitere polygone zu erstellen, ist zwar möglich, aber ganz sicher keine gute lösung. (umständlich, langsam, seelenlos)
MrKeks.net

Iguan

BeitragMo, Nov 06, 2006 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
ich benutze seit kurzem c4d... weiss jemand wie ich dort das mit der polygonvervielfältigung hinkriege?

mfg

Iguan

Mr.Keks

BeitragMo, Nov 06, 2006 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
ganz grob zum abrunden: hypernurbs und dann wieder zu polygonobjekt konvertieren
gezielt und auch ohne abrundung: struktur > unterteilen
exakt gezielt: struktur > messer
MrKeks.net

Iguan

BeitragMo, Nov 06, 2006 22:55
Antworten mit Zitat
Benutzer-Profile anzeigen
danke schön!! Smile

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group