O ile rozumiem, pionowe pole widzenia powinno być dostosowane do:
fov = 2 * arctan(0.5*screenHeight / distanceEyeScreen);
Oznacza to, że pole widzenia powinno być zgodne z odległością i rozmiarem ekranu użytkownika.
W wielu FPS istnieje domyślna wartość 90 ° dla poziomego FoV lub 60 ° dla pionowego FoV (przy założeniu 16: 9). Jednym z przykładów jest CryEngine. Ale w przypadku ekranu 16: 9 20 "(przekątna widocznego obszaru, tj. Około 40 cm x 25 cm), ta domyślna wartość wymagałaby od użytkowników patrzenia 20 cm od ekranu w celu uzyskania prawidłowego widzenia z perspektywy czasu.
Więc albo popełniłem błąd w moich obliczeniach, albo musi być powód, dla którego celowo wybrałeś nieodpowiednią wartość FoV.
Jaki jest powód domyślnego FoV 90 ° horz / 60 ° vert?
3d
camera
perspective
dyp
źródło
źródło
Odpowiedzi:
Myślę, że uzyskanie wartości FoV 90 stopni jest czymś naturalnym, kiedy próbujesz naśladować „spojrzenie ludzkimi oczami”. Twoje obliczenia byłyby poprawne, gdybyś użył ekranu do symulacji okna do wirtualnego świata, a nie perspektywy z perspektywy pierwszej osoby. Obraz, który zobaczyłbyś świat przez 20-calową ramę w odległości 80 cm od twojej głowy ...
źródło
Duży wpływ FOV polega na tym, jak szybko poruszasz się po świecie (to wciąż ta sama prędkość; jest to czysto percepcyjne). Przy zbyt szerokim poziomym polu widzenia będziesz wydawać się poruszać bardzo szybko, ze zbyt wąskimi będziesz wydawał się poruszać bardzo wolno. 90 stopni w poziomie wydaje się być „słodkim miejscem”, a twórca gry może stamtąd dostroić żądaną prędkość ruchu dla poszczególnych gier.
Jest tak również, że 4 razy 90 stopni to 360 stopni, co jest okręgiem. Wydaje się sensowne ustawienie poziomego pola widzenia w taki sposób, aby ładnie odwzorowywało się na ćwiartkach przedniej / lewej / tylnej / prawej.
I wreszcie jest stary kasztan pierwszeństwa i bezwładności. Nie jestem pewien, czy jakiekolwiek gry oferowały regulowaną przez gracza wartość pola widzenia przed Quake, ale Quake zrobił to i domyślnie ustawiony był na 90 stopni w poziomie; łatwo sobie wyobrazić, że inne gry zaczynają stamtąd pod kątem 90 stopni.
Warto zauważyć, że obecnie 90 stopni staje się coraz mniej powszechne, a gry (szczególnie współczesne FPS) mają nieco niższą wartość - około 80.
Jeśli chcesz poprawić aspekt swojego FOV, możesz użyć czegoś takiego (nie udaję, że jest to jedyny lub najlepszy sposób, ale jest zgodny z kalkulatorem FOV pod adresem http://www.emsai.net/projects/widescreen / fovcalc / ; to założenie w stosunku do podstawowego współczynnika proporcji 4: 3 (możesz to zmienić w wywołaniu CalcFovY poniżej))
Następnie nazwij to tak:
Obliczone fov_x i fov_y można następnie podłączyć do następującej macierzy perspektywicznej (konwencja OpenGL):
To da ci poziome pole widzenia z regulacją kształtu, które utrzymuje pionowe pole widzenia niezależnie od rozdzielczości i współczynnika proporcji.
źródło