wie Wärmebild bei Splinter Cell



  • Also jetzt wo ich die Screens seh, halte ich das eher für ne stumpfe RGB Trennung mit ein bisschen Alpha-Blending.
    Die schalten die Rot und Grün Kanäle weg (einzelne Pixel - Und in Abhängigkeit der Entfernung) und spielen ein bisschen mit den Textur-Filtern damits so verschwommen aussieht.

    [ Dieser Beitrag wurde am 10.01.2003 um 10:03 Uhr von Cpp_Junky editiert. ]



  • Tomas : Es *muss* Raycasting sein, wieso sonst wird der eine Terrorist (korrekterweise) an der einen Seite dunkler dargestellt ?
    Natürlich reicht es sehr wenige Rays zu verschießen, das hab ich bei meinem eigenen Lightmapper auch so gemacht. Wenn man das dann noch skaliert & irgendeinen HW-Filter drüberschmeißt sieht das ziemlich schick aus 🙂

    Ich habe ja schon gesagt, es reicht wenn man sehr dtailarme Playermodels für die Wärmesicht verwendet. Wenn man pro Playermodel 100 Rays schießt (was imo recht viel ist) kriegt man den Effekt ziemlich locker hin.

    Für die Raymethode spricht schon die Tatsache, dass weite Player dunkler sind als nahe Player. Player hinter Wänden werden auch gezeichnet. Da kommt doch fast nur Raycasting in Frage (gemischt mit Alphablending natürlich 😉



  • Nee nee, mit Sicherheit nicht...
    Das geht auch noch anders. Es muss keinesfalls Raycasting sein. Man kann z.B. mit Shadern arbeiten. Vertex-Shader können ja auch per Software emuliert werden, das ist kein Problem. Da kannst Du dann auch die Farbe anhand von der Entfernung setzen. Für die Durchsichtigkeit nimmt man wie gesagt Alpha-Blending und schaltet den Z-Buffer ab.



  • Achso, ja, mit Nebel geht es sogar ganz ohne Shader. Da kannst Du es auch erreichen, dass weiter entfernte Objekte dunkler sind.



  • Wieso bist du unangemeldet ??

    Das sind sicherlich keine Shader. Es gibt immer noch das Problem dass der eine Kerl hinter der Wand nur halb-hell ist 🙂

    Außerdem konnte schon Alien Vs Predator I Wärmebilder darstellen, und da gabs noch keine Shader 🙂 Ich weiß aber nicht (mehr) wie detailliert das dort war..



  • Der ist nur halb-hell weil die Wand mit Alpha-Blending drübergezeichnet wurde! Bin unangemeldet, weil ich in der Schule bin...



  • Dito, hab grad ne Freistunde 😉

    Und wie erklärst du dir, dass die ganz nahen Gegner rot sind, und die weiter entfernten blau oder grün ? Mmh, kann man mit ner simplem Entfernungsberechnung machen (Distance Gegner.vertex zu Player.position).

    Aber was ist hiermit :
    Gegner würde grün gezeichnet, da er 10m weiter weg ist. Jedoch ist er halb hinter der Wand, die eine Hälfte wird blau gezeichnet. Hmm, da brauchst du aber Raycasting 🙂

    Sonst klingt deine Erklärung aber sehr plausibel !

    So, jetzt geh ich aber in die Pause (=>in die Kälte 😮)



  • Das der Terrorist hinter der Wand "halb-dunkel" zu sehen ist, ist ein ganz einfacher Alpha-Blending Effekt. Da brauch man keinen Raycaster für.
    Die Wände sind vermutlich halb-transparent. steht die Person da hinter, wird sein Bild zuerst mit den Farbwerten der Wand (welche weit entfernt und darum dunkler dargestellt wird) gemixt und dann dargestellt. Durch die Kombination der beiden Farbwerte wird dann logischerweise die Hälfte der Terroristen dunkler dargestellt die hinter der Wand steht, als die, auf die der Spieler ein freies Sichtfeld hat.

    (edit)
    Wenn man dann noch abfangen kann, ob gerade eine solche Alpha-Blending Operation stattfindet, dann ist es ja sicher kein Problem mehr den betreffenden Bildpunkten andere Farbwerte zuzuweisen (hinter der Wand bläulich - freies Sichtfeld grün) - Das könnte man wie gesagt erreichen, indem man einzelne RGB Kanäle abschaltet und die Farbsättigung/Helligkeit etwas tuned 🙂

    Naja, wie die das wohl wirklich machen - Da werden wir wohl nie hinterkommen 🙂

    [ Dieser Beitrag wurde am 10.01.2003 um 11:12 Uhr von Cpp_Junky editiert. ]



  • @Headhunter: Ja, das ist in der Tat eine gute Frage, wie das geht, dass sich die "Temperaturfarbe" ändert, wenn die Person hinter einer Wand ist. Aber auf den Screenshots sehe ich das nirgendwo...



  • Also bei der Demoversion, die ich hab, werden die Personen nicht rot gezeichnet... schade eigentlich :)...

    cya 🙂


Anmelden zum Antworten