wie Wärmebild bei Splinter Cell



  • Wie funktioniert das Wärmebild bei Splinter Cell? Ich kann mir das gar nicht vorstellen.



  • Ich schätze mal, da werden den Menschen einfach andere Texturen aufgeklebt, und irgendwas gemacht, damit man durch die wände durchschauen kann. Die normalen Ojekte werden einfach blau angemalt ;).

    cya 🙂



  • Durch die Verschiebung der Farbpalette?



  • Original erstellt von <Gombolo>:
    Durch die Verschiebung der Farbpalette?

    Ich hab zwar noch nix von dem Spiel gesehen, glaub aber nicht, das es mit einer Farbpalette arbeitet.



  • Eben, durch eine Verschiebung der Farbpalette würde nur ein Farbwirrwar entstehen. Die haben einfach für jedes Objekt mehrere Texturen gemacht und dann eben die anderen Räume leicht transparent gerendert - daher dieses coole Wärmebild.

    M.T.



  • Ich kenn das Spiel nicht. War nur ein Vorschlag. Ich glaube jedoch nicht das ein Farbwirrwar entstehen würde.
    http://mitglied.lycos.de/gidxgraphic/

    Ich hab mal schnell ein Beispiel mit DD gemacht. Drückt man auf F2 verdunkelt sich das Bild. Drückt man auf F1 wird der "Restlichverstärker" eingeschaltet 😃



  • Aber durch einfache Verschiebung der Farbpalette kanst du z.B. noch lange nicht erreichen, dass man durch Wände schauen kann!
    Ich würde einfach den Buckbuffer blau löschen und dann nur diejenigen Objekte, die Wärme ausstrahlen renden (eben mit speziellen Texturen oder direkt berechnen)!



  • Ich hab mir das Spiel mal angeschaut. Ist ganz was anderes. Mit der Farbverschiebung wird nichts. 🙄



  • Original erstellt von <Gombolo>, flenders ua.:
    ...Farbpalette...

    *rofl* Das ist doch Blödsinn, Splinter Cell läuft NIEMALS im 8bit-Modus (=256-Farben), daher kann es wohl auch kaum mit Verschiebung einer nichtexistenten Farbpalette arbeiten!

    edit: 256 Farben

    [ Dieser Beitrag wurde am 09.01.2003 um 16:20 Uhr von nman editiert. ]



  • Vielleicht lassen die ihre Texturen zur Laufzeit durch irgendwelche Tönungs-Routinen laufen. Mit bestimmten Algorithmen kann man dann vermutlich solche Farbeffekte auf die Texturen legen.



  • @nman

    endlich mal einer der was von grafikprogrammierung versteht 🙂



  • Du Hirsch. Hast das Beispiel genau angeschaut. Ist Höchstw*****einlich 16Bit.

    Und du kannst wohl mit GammaRamp die Farben beeinflussen ob 8Bit oder 32Bit.



  • Selber Hirsch.
    Gammaeinstellungen beinflussen das *ganze* Bild.

    Wäre nett wenn einer mal nen Screenshot posten würde 😉



  • Ok, wird gemacht, bis gleich :D.

    cya 🙂

    EDIT: http://magiccreating.netfirms.com/misc/splintscreen.jpg
    Ist nicht sonderlich gut, z.B. fehlen Teile des HUDS 😉

    [ Dieser Beitrag wurde am 09.01.2003 um 18:32 Uhr von MagiC Creator editiert. ]



  • Ich kann auf die Seite nicht connecten 😞

    Edit : Hat zwar gedauert, aber nun hab ichs 🙂

    [ Dieser Beitrag wurde am 09.01.2003 um 18:36 Uhr von Headhunter editiert. ]



  • Vor ein paar Sekunden hat's noch funktioniert... ich lad's schnell noch auf meinen Tripod-Webspace :D.

    cya 🙂



  • Bei mir hat das Laden des Bildes geklappt!
    Das sieht ganz danach aus, als ob die auf eine Textur rendern würden, die eine niedrigere Auflösung als der Back-Buffer hat (verschwommen).
    Dass man alles sieht, kann man ganz einfach erreichen, indem man den Z-Buffer ausschaltet und mit Alpha-Blending arbeitet.



  • Ok:
    http://magiccreating.netfirms.com/misc/splintscreen.jpg
    oder http://mitglied.lycos.de/kellnerdominik/misc/splintscreen.jpg

    cya 🙂

    EDIT: Link ausgebessert...

    [ Dieser Beitrag wurde am 09.01.2003 um 18:40 Uhr von MagiC Creator editiert. ]



  • Hier gibts bessere Screenies 🙂
    http://www.gamershell.com/game/Tactical_Splinter_Cell.shtml

    Den Screenshots nach handelt es sich um eine *wirkliche* Wärmekamera, es handelt sich also um mehr als um eine bloße Render2Textur Funktion.
    Man sieht auch ganz deutlich, dass der eine Terrorist der halb hinter der Wand ist korrekt angezeigt wird (sichtbare Teil hell, das was hinter der Wand ist dunkler)

    Ich denke es handelt sich um einen cleveren Raycaster. Zuerst wird das ganze Level in zartblau gerendert. Das kann man ganz einfach dadurch erreichen dass man die Texturen komplett austauscht, oder man setzt einfach den colorwert der Vertice auf blau.
    Auch alle Spieler werden blau gesetzt (jedoch ein bissel heller als der Rest)

    Je nach Entfernung Objekt->Spieler wird die Farbe des Gegners auf eine der Regenbogenfarben gesetzt. D.h. : Gegner sehr weit weg : Farbe hellblau. Gegner Mittelweit : Grüner Gegner, sehr nah : rot. Jedoch wird ein Minimalwert nie unterschritten, so dass der Gegner auf jeden Fall heller ist als der Rest der Welt/des Levels.

    Die Entfernungsberechnung ist sehr einfach zu implementieren, und kann auch recht gut optimiert werden, so dass die Performance akzeptabel bleibt.
    Man verwendet dafür eine vereinfachte Raycastingtechnik, man kann also ziemlich easy testen ob ein Hindernis zwischen dem Spieler und dem Gegner liegt. Falls ein Hindernis vorhanden ist, wird die Leuchtintensität des Terroristen einfach was runtergerechnet.

    Optimiert werden kann das ganze z.B. dadurch, dass man Playermodels mit sehr wenigen Polygonen verwendet. Viele Details entfallen ja eh durch die Wärmesicht. Weiterhin reicht es sehr wenige Rays zu casten. Wenn man die ganze Szene noch in ne ziemlich kleine Textur rendert, kann man sie nachher schön skalieren, und der Unschärfeeffekt tritt auf.

    So stell ich mir das vor, kann auch sein dass ich total falsch liege...



  • Ich würd sagen, die berechnen aus Sichtvektor und Normale das Dotprodukt und daraus dann die Texturekordiaten. Die Textur ist dann einfach ein Blau-Grün-Gelb_rot Verlauf. Das ganze könnte man in ne Texture rendern und dann z.b. vielmal versetz auf Screen bringen, wodurch sich der Blur ergeben würde. Wenn man das mit einer zweiten verrauschten Schwarzweiss Textur "MODULATE"d, hat man noch das rauschen. Also so würde ich das zumindest versuchen, wenn ich das machen sollte. 😉


Anmelden zum Antworten