3d problem: licht auf horizontale flächen

  • 3d problem: licht auf horizontale flächen

    hi, hab mal wieder ein beleuchtungsproblem. stellt euch einen raum vor, der von mir aus wie ein würfel aufgebaut is. an der decke hängt mittig eine lampe. diese beleuchtet die seitenwände wunderbar! es handelt sich um eine "direction"-lichtquelle, die in alle richtungen strahlt. allerdings beleuchtet sie keine horizontalen flächen, wie zb. den boden oder eine oberfläche von einem schrank, tisch, etc - egal ob diese objekte nun als floor- oder block- objekt erstellt werden. die wände sind auch blöcke und trotzdem funzt es da. woran liegt das? ich will ja schliesslich, dass man den boden auch sieht. danke schonmal im vorraus!
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • das kann an vielen sachen liegen. eventuell stellst du die flächen "falsch herum" ein, so das die lampe die "rückseite" beleuchtet?
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x

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

  • danke, dass du mich erhört hast! also falschrum sind sie net. des hab ich schon getestet. vorhin gings auch scheinbar, bis ich an einer stelle eine blaue lampe eingebaut hab. da hab ich feststellen müssen, dass es doch net geht... kannst du mir viell die üblichen fehler oder ursachen nennen? wenigstens ein paar - die meistgemachten? :(
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • probier mal die fläche ein bischen schräg zu stellen(z.B.: 0.01 anstatt 0)und vielleicht funktionierts dann......


    das sieht man dann aber. höchstens ich mach es über die gesamte fläche mit einem minimalleichten unterschied. hab ich auch schon drüber nachgedacht. an irgendwas muss es doch liegen. bei anderen funzt es doch auch! naja, das wird wohl noch ne weile dauern. ausserdem musste ich jetzt schon feststellen, wie schnell der gm in sachen 3d an seine grenzen kommt... er is ja auch eigentlich net dafür gedacht. aber wie ich den grossen meister mark overmars kenne, wird er uns bei der nächsten version (gm v7.0, net 6.2 oder so) wohl wieder verblüffen. hoffentlich dauerts net mehr so lange!
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • habs nochmal probiert, das geht auch net. habs auch nochma umgedreht und kurzgesagt in all erdenklichen richtungen gedreht. d.h. die horizontalen und nahezu horizontalen flächen werden einfach net ausgeleuchtet.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.

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

  • eine horizontale fläche im GM, bleibt eine horizontale fläche, auch wenn sie auf einer seite um 0.01 einheiten angehoben wird. aber zurück zum thema...

    die häufigsten fehler die ich erlebt habe sind:
    - die lichquelle liegt im falschen winkel zum 3d object
    - die polygone des zu beleuchtenden objectes sind falsch eingestellt (mit d3d_vertex_normal(x,y,z,nx,ny,nz) kann man beim aufbau die richtung beeinflussen)
    - die reichweite der leichtquelle reicht nicht aus
    - das zu beleuchtende object ist gar kein object *grins*
    - das licht wurde nicht richtige defienert, oder nicht angeschaltet...
    - die position der lichquelle liegt auf der selben z-koordiante wie das zu belezuchtende object

    hier noch ein etwas umständliches (und lange nicht ausgereiztes) beispiel für den GM 6.1:
    Dateien
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • danke! hab mir dein example ma angeschaut, win. scheinbar liegts echt am gm. kannst ja selbst ma schauen. in diesem example ist das gleiche problem. hat dann wohl was mit der unausgereiften lichtengine zu tun. das licht wird von den horizontalen flächen ganz anders reflektiert als von den vertikalen. schade schade schade. hab so eine verdammt gute idee für ein spiel. selbst, wie ich die gegner mache, hab ich schon geklärt und ein ziemlich cooles leveldesign hab ich auch (net so langweilig und stupide wie die meisten gm-3d games). hab da auch noch son anderes tut, das leider russisch is. ja moment mal, bei dem hats ja glaube gefunzt...?! gleich ma nachschauen. wenn ihr noch mehr 3d tuts ausser von "that games guy" kennt, immer her damit. dafür belohne ich euch dann mit einem spiel der extraklasse - versprochen!
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.

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

  • die unterschiedliche refelexion liegt ddaran, das wände, decke und boden unterschiedliche objecte sind, die aus unzusammenhängenden und nicht rasterausgerichtetetn polygonen bestehen. an einem wandstück, an dem ein stück boden, sowie die decke angebracht sind (nicht einzelne planes und floors sondern eigene primitives) würde das licht korreckt berechnet werden.
    der game maker kann nicht zauber und dir dein level so zusammenbauen wir du das gene hättest. du musst ihm expliziete und korrekt daten geben, dann wird er dir entsprechende (meiner meinung nach ausreichende) ergebnisse liefern...
    hier noch eine bild, das die berechnung der lichtflächen erleutern soll:
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x

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

  • dieses image erklärt ganz genau, was ich meinte. ich bin mir ziemlich sicher, dass der gm in dieser sache die leistungsfähigkeit besitzt, jedoch muss man es ihm auf verdammt umständliche art und weise herauskitzeln. im prinzip müsste also ein komplettes level (eine map) aus einem zusammenhängenden objekt bestehen. puh, das is ne scheissarbeit!
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Hallo zusammen.
    Der Thread ist zwar schon uralt, aber hab da auch mal ein Problem. Und zwar hab ich eine große Fläche als Boden. Dieser wird im Moment zum Testen von 3 Lichtern beleuchtet. Jedoch funktioniert nur das erste Licht. Das Kuriose ist, dass restliche Objekte von allen 3 Lampen beleuchtet werden. Das find ich jetzt mal ziemlich sinnlos und bitte um eine Lösung. Wenn ihr das nicht so ganz versteht, könnt ich noch ein Bild oder das Spiel hochladen..
  • Original von Superdaniel
    Hallo zusammen.
    Der Thread ist zwar schon uralt, aber hab da auch mal ein Problem. Und zwar hab ich eine große Fläche als Boden. Dieser wird im Moment zum Testen von 3 Lichtern beleuchtet. Jedoch funktioniert nur das erste Licht. Das Kuriose ist, dass restliche Objekte von allen 3 Lampen beleuchtet werden. Das find ich jetzt mal ziemlich sinnlos und bitte um eine Lösung. Wenn ihr das nicht so ganz versteht, könnt ich noch ein Bild oder das Spiel hochladen..


    in diesem beispiel wird gezeigt, wie man sowas lösen kann.
    wenn man einen boden beleuchten will, muss dieser aus einzelnen objecten (quadraten) bestehen, die den boden bilden. diese objecte kann man dann belechten.
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • Benutzer online 1

    1 Besucher