Jump to content
Unity Insider Forum

Kamera Verzerrung trotz geringen FoV


TheOnlyOne

Recommended Posts

Grüße,

Ich kann mich nicht damit abfinden, dass trotz geringen FOV Wert Objekte zu stark verzehrt werden.

Unity Kamera hat standart ja 60° FOV, was ungefähr einem Menschen Gesichtfeld entspricht (60°-70°), bei uns werden aber doch am Rand keine Objekte verzerrt.

Hier ein Screen mit dem 60° FOV und einer Sphere.
verzehrung.png.c47f7d646723e858133ea81bb8f77026.png

Eine Lösung wäre natürlich FOV auf 40°-50° zu verringern, aber dann fühlt es sich, aus meiner Sicht, künstlich gezoomt.

Wie geht ihr damit um? Hat jemand vielleicht eine Lösung für das Problem?

 

Edit:
Selbst bei 40° FOV ist die Verzerrung noch gut sichtbar
40.png.48fa506f56e5902511f130f6b9b6eccd.png

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Stunden schrieb TheOnlyOne:

Aber doch nicht dermaßen übertrieben

Doch. Dein erstes Video zeigt auch keine Kugeln, sondern Dinge mit gerade Kanten. Da fällt das weniger auf. Sobald deine Szene auch nicht mehr nur aus einer einzelnen Kugel besteht sondern aus einer richtigen Welt, dann merkt man das nicht mehr so. Dinge, die im Fokus sind, müssen halt auch eher in der Mitte sein.

Wenn du's aber nicht glauben kannst, nimm dir einfach mal das Handy und einen möglichst perfekt runden Ball. Dann machst du ein Foto von recht nah dran, sodass der Ball ganz an der seitlichen Kante des Fotos ist. Dann zoomst du so an das Bild heran, dass der Ball im Mittelpunkt ist. Ist dann auch nicht mehr rund. Das ist ganz normal, aber unser Gehirn erlaubt uns nicht, solcherlei Dinge im Augenwinkel zu sehen. Da überrascht es uns das erste Mal, wenn wir auf ein perspektivisches Bild schauen, da aber dann die Möglichkeit haben statt in die Mitte an den Rand zu schauen. Das passiert halt einfach in der Natur nicht.

Ich wette auch mit dir, dass wenn du dich zwingst, den Fokus auf der Mitte des Bildes zu halten, dass dir dann nichts komisches mehr auffällt. Naja, zumindest wenn dein Bildschirm einen hinreichend großen Anteil deines Sichtfeldes einnimmt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb Sascha:

Doch. Dein erstes Video zeigt auch keine Kugeln, sondern Dinge mit gerade Kanten. Da fällt das weniger auf. Sobald deine Szene auch nicht mehr nur aus einer einzelnen Kugel besteht sondern aus einer richtigen Welt, dann merkt man das nicht mehr so. Dinge, die im Fokus sind, müssen halt auch eher in der Mitte sein.

Wenn du's aber nicht glauben kannst, nimm dir einfach mal das Handy und einen möglichst perfekt runden Ball. Dann machst du ein Foto von recht nah dran, sodass der Ball ganz an der seitlichen Kante des Fotos ist. Dann zoomst du so an das Bild heran, dass der Ball im Mittelpunkt ist. Ist dann auch nicht mehr rund. Das ist ganz normal, aber unser Gehirn erlaubt uns nicht, solcherlei Dinge im Augenwinkel zu sehen. Da überrascht es uns das erste Mal, wenn wir auf ein perspektivisches Bild schauen, da aber dann die Möglichkeit haben statt in die Mitte an den Rand zu schauen. Das passiert halt einfach in der Natur nicht.

Ich wette auch mit dir, dass wenn du dich zwingst, den Fokus auf der Mitte des Bildes zu halten, dass dir dann nichts komisches mehr auffällt. Naja, zumindest wenn dein Bildschirm einen hinreichend großen Anteil deines Sichtfeldes einnimmt.

Kommt auf die Kamera an, bei GoPro kannst du FOV fast auf 180° einstellen, dann wird seitlich das Bild verzerrt, aber nicht bei 60°, bei 90° ist es sogar kaum zu sehen.

Kann sein, dass ich in einem Ego-Shooter es weniger bemerke, aber was ich mache zur Zeit, da siehts einfach Scheiße aus.

Und ich bin nicht der Einzige, den es stört.
https://answers.unity.com/questions/1327866/how-to-get-rid-of-default-camera-distortion-effect.html
https://forum.unity.com/threads/edge-distortion-on-camera.174454/

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja die Leute die das auch normalisieren, hatten anscheinend mit keiner anderen Engine außer Unity gearbeitet :)

Rest kennt das Problem:

"I would also like to add that this is not normal. It is just an widely accepted rendering problem. Again, this is a default scene with a sphere in it at the 14,0,0 position.This is abnormal behavior , the human eye doesn't distort out of focus object and this is a totally correctable issue , Autodesk corrects it in their tool"

oder

"I'm not disagreeing that all game engines and 3D camera renders warp the edges to some degree, but your screenshot looks EXTREME. As such, I have to assume this is a different thing. However if it is just the standard edge-warping you don't want, then I'm afraid there is no way around it, permitted you want to use Unity in a 3D environment. It's just how the Perspective rendering is performed."

oder

" I notice the same problem as well. this might not be a big problem for most games, but in my HMD(head mounted display) AR application, this would make the virtual object looks "not cool". because usually, the real camera is not distorted just like the unity camera usually. And human eye is not distored like unity camera as well. "

 

Aber hat sich erledigt, habe jetzt eine Lösung durch lens correction Script erhalten. Gefällt mir jetzt alles wieder :)

 

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nur mal ein kleiner Nachtrag wegen dem vermeintlich falschen FOV in Unity:

Unity nutzt einen "vertikalen" Wert. Also der Winkel vom FOV bezieht sich auf oben nach unten! Das wird so gemacht, damit auf allen möglichen Bildschirmdiagonalen das beste Bild zu sehen ist. Bei 16:9 ist das gut. Bei deinen Screenshots, die ca. 20:9 sind, ist das nicht gut.
Unity hat da automatisch umskaliert, damit die vertikale Sicht immer noch deine 60° beträgt.
Du kannst das ja mal testen, indem du das Gamefenster frei skaliert. Du wirst sehen, dass die Verzerrung umso stärker wird, je mehr du das Gamefenster in der Höhe stauchst.
Trotzdem wirst du in der Vertikalen immer die alles sehen. Es wird nichts abgeschnitten. Weitwinkel eben.
Es gibt natürlich auch die Möglichkeit den FOV auf der Breite festzulegen (per Code), dann hättest du je nach Bildschirmbreite aber unterschiedliche Sichthöhen.

Wie dem auch sei. Du musst eh bedenken, dass es viele unterschiedliche Bildschirmformate gibt und musst dir überlegen, wie du mit breiten Monitoren umgehen willst. Entweder Breite geben und verzerren lassen, oder aber Höhe reduzieren, oder ein Kompromiss aus beiden. So einfach ist die Welt nämlich nicht. ;)
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...