Există câteva probleme serioase cu acest joc. Mi-aș fi dorit să fi auzit despre el în 2012, când ar fi putut exista o speranță de a le rezolva. De asemenea, mi-aș fi dorit ca Luboš Motl să fi observat problemele în 2012.
Cred că simularea aberației este corectă. Este greu de spus despre dilatarea timpului și despre întârzierea în timp a călătoriei luminii pentru că nu se întâmplă prea multe în lumea jocului pentru început.
Cea mai mare problemă este că simularea deplasării Doppler este ridicol de greșită.
Iată o captură de ecran din joc:
Iată o captură similară făcută în repaus, căreia i-am aplicat un „gradient Doppler” folosind codul de deplasare Doppler din Backlight, raytracer-ul 4D:
Cert este că nu aș lua a doua imagine ca fiind definitivă, dar este calitativ mult mai aproape de cum ar trebui să arate jocul. Obiectele albe iluminate de lumina stelară au aproximativ un spectru de corp negru, așa că atunci când sunt deplasate Doppler ar trebui să fie roșii, albe sau albastre, niciodată verzi sau mov. Obiectele cu culori desaturate ar trebui să apară ca niște curcubee desaturate (uitați-vă la sol, care este albastru pal în repaus). Iar luminozitatea ar trebui să crească lin pe măsură ce priviți de la dreapta la stânga.
Jocul nu este open source, dar shaderul de schimbare Doppler este, așa că am aruncat o privire la el.
Funcționează prin ghicirea unui spectru de lumină (reprezentat ca o sumă de Gaussians în spațiul lungimilor de undă) din componentele RGB ale texturii, scalarea acestuia cu factorul de deplasare Doppler, convoluția acestuia cu aproximări ale funcțiilor de potrivire a culorilor XYZ (de asemenea, sume de Gaussians), apoi convertirea XYZ în RGB. Acest lucru este rezonabil.
Prima problemă este că, în loc să ghicească un spectru larg care să aproximeze un corp negru solar atunci când culoarea este gri/alb, ei ghicesc vârfuri înguste la 463nm, 550nm și 615nm. Acest lucru pur și simplu nu este realist și acesta este motivul pentru toate culorile ciudate din jumătatea dreaptă a capturii de ecran.
Culoarea strălucitoare din stânga se datorează unei alte decizii ciudate de proiectare. Împreună cu RGB, ele suportă canale de culoare IR și UV care pot fi văzute doar atunci când sunt decalate Doppler în domeniul vizibil, ceea ce este o idee bună. Dar acestea sunt din nou vârfuri ascuțite în spectru, iar texturile controlează lungimea de undă a vârfurilor, în timp ce amplitudinile sunt fixe. Pentru UV, alegeți o lungime de undă de la 0nm la 380nm (efectiv o gamă infinită), în timp ce pentru IR este de la 700nm la 1100nm (mai puțin de o gamă de 2:1). Motivul pentru care vedeți curcubee RGB strălucitoare în fiecare textură atunci când sunt deplasate în albastru, dar nu și atunci când sunt deplasate în roșu, nu are nimic de-a face cu fizica. Este pentru că puteți pune vârful UV obligatoriu la 0nm unde nu va fi niciodată vizibil, dar nu puteți ascunde vârful IR obligatoriu.
Scalarea luminozității pare să fie, de asemenea, greșită. Ei înmulțesc lățimea lui Gaussians cu factorul de deplasare spre roșu, care scalează energia integrată cu același factor, apoi o împart cu factorul de deplasare spre roșu la cub. Ca urmare, legea lor Stefan-Boltzmann este $σT^2$ în loc de $σT^4$. Ar fi trebuit să o împartă la puterea a cincea.
De asemenea, se pare că există probleme cu codul de conversie de la spectru la RGB – curcubeul din stânga ar avea dungi ROYGBIV, nu doar RGB, dacă ar fi convertit corect.
O altă problemă minoră este că se pare că ei calculează efectele în funcție de cât de tare împingi joystick-ul, nu de cât de repede te miști de fapt. De exemplu, fantomele în mișcare apar roșii/albastre atunci când ești staționar, dar dacă stai în fața uneia și o lași să te împingă, aceasta rămâne albastră deși acum este staționară în raport cu tine, și nu există efecte de mișcare pe fundal, chiar dacă se mișcă. De asemenea, deplasarea roșie/albastră a fantomelor nu pare să se schimbe pe măsură ce viteza luminii aparent scade.
Suplimentul „ce se întâmplă” de la sfârșit (care poate fi descărcat și în format Powerpoint de pe site-ul web) are câteva greșeli.
Lumina se comportă, de asemenea, ca un flux de particule numite fotoni. Atunci când alergi spre un flux de fotoni, mai mulți fotoni te lovesc și obiectul devine mai luminos. Acest efect este cunoscut și sub numele de aberație relativistă.
În primul rând, aceste efecte sunt clasice, astfel încât cuantificarea este irelevantă. În al doilea rând, rata crescută de absorbție a fotonilor reprezintă doar o mică parte din creșterea luminozității. În al treilea rând, aberația se referă la o schimbare a unghiului, nu la mai mulți fotoni care te lovesc.
În acest diapozitiv există, de asemenea, o imagine cu legenda „în mișcare spre stânga, obiectele din stânga sunt mai luminoase decât cele din dreapta”, chiar dacă în mod evident acest lucru nu este adevărat în imagine (care este similară cu imaginea din partea de sus a acestui răspuns). Ar trebui să fie adevărat, bineînțeles. Îmi este greu să înțeleg cum de nu și-au dat seama, în niciun moment al dezvoltării, că shaderul lor era plin de erori, având în vedere rezultatul său nebunesc.
Trebuie să fii mult mai aproape de viteza luminii pentru a observa efectele mai dramatice ale transformării Lorentz în comparație cu efectele Doppler și Searchlight. La sfârșitul jocului, efectele Doppler și Searchlight sunt eliminate pentru a face ca transformarea Lorentz să fie mai ușor de observat.
Aici se spune „transformare Lorentz”, dar se pare că se referă la aberație. Transformarea Lorentz nu este un „efect”; este doar un mod de a converti între sistemele de coordonate. Sistemele de coordonate sunt lipsite de sens și nu afectează ceea ce vedeți.
Obiectele care în mod normal se află dincolo de câmpul vostru vizual pot deveni vizibile atunci când vă deplasați aproape de viteza luminii, deoarece le vedeți așa cum erau în trecut.
Da, le vedeți așa cum erau în trecut, dar le vedeți la același timp trecut indiferent de viteza cu care vă deplasați (ceasurile vor arăta aceeași citire independent de viteza voastră, de exemplu). Câmpul tău vizual se lărgește atunci când te deplasezi înainte din cauza aberației, care este cel mai ușor de înțeles ca un efect local datorat mișcării aparatului foto/ochiului tău, așa cum se vede aici.
.