Archived

This topic is now archived and is closed to further replies.

_Danneman_

Why does UT 2003 graphicsengine deviate from real world geometry?

Recommended Posts

Am I the only one amazed at how much the graphicsengine of the millennium (UT 2003) deviates from real world geometry? To see what I mean, load up whatever map in the game you want, stand still, face some sort of object (a door, for instance) that is positioned resonably far away from you. Now, look at the door with it positioned in the middle of your screen (both horisontally and vertically) and measure its hight (use a ruler on the screen, or whatever). Then, move the camera down so that the door now is positioned in the upper part of you screen, and measure its hight again. What youll see is that the hight of the door when at top of you screen is almost twice the size when it is in the middle. Hardly good geometry. I mean, this is supposed to be the best engine developed, and they cant even get a simple thing like that right. It is even the worst example of this deviation Ive ever seen in a game. The reason I get upset is that game-engines that displays unreal geometry makes me nauseaus (old whip-lash injury makes me more sensitive to this), and a lot of good games that are being developed right now will use this engine. So, why is it they cant develop a good physics-engine?

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
have you ever programmed apps using opengl ??
that "error" on heights and widths depends from current fov (field of view). when using fov of 45 degrees that "error" is way smaller ! try to make simple app that draws single triangle to the screen and move it up and down and right to left you can''t make triangle to look same in all positions of screen.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
This is perfectly normal behaviour - it happens in your own vision all the time, but because you''re so used to it you don''t even notice this. The effect is magnified if you set the field of view higher (over 90 deg tends to get noticably warped), if you sit further away from your screen, or if you''ve got a tiny monitor - because you''re compressing more world geometry into a smaller visible space.

Perform a small experiment, whack the fov of a game up (Quake games usually have the console command fov for this) and stick you face really close to the screen. Now, assuming you can still focus (and ignoring any funny looks you''re now receiving) this will infact look much more ''normal'' than standard viewing, and this percieved distortion will be less noticable.

Please get a good grip of how vision works and a decent pc setup before making ill-informed claims on the accuracy of a graphics engine you know nothing about.

Share this post


Link to post
Share on other sites
He, he, seems mr anonymous have a personal stake in the UT engine to become so emotionally disturbed by this post :D

Ok, mr UT-developer: no, I have not developed anything using OpenGl. In fact, I havent developed any game yet (still learning DirectX). Im just an amateur who wants to know why the best developer in the world (arguably) creates an illusion of real-world geometry WORSE than any other gamedeveloper out there. I dont care about the accuracy of the geometry within the game-engine. I care only about the accuracy of the geometry that meets my eyes.

Why am I upset about this? Why am I resorting to flaming (not usually my thing)? Again, an awful lot of gamedevelopers are using this engine to make their game, which will result in me not being able to play them without puking. DeusEx 2 and Thief 3 are reasons enough to make me want to put them all in a blender and make vanilla-youghurt *grrrrrrrrrrrrrrr*

Ok, Ill try to restrain myself and be more constructive: since my hardware-setup has nothing to do with it (its pretty great :D and I think 19 inch is enough, or so my girlfriend says ), it must have to do with the fov you try to explain. So, am I able to tweak the fov to tune the lens-effect, or what? Hope so, my gaming-life depends on it...

Share this post


Link to post
Share on other sites
I haven't bothered to compare engines, but my guess is that the UT2K3 engine might operate with a wider fov than other shooters, causing the effect.

If the fov were reduced, it would go away, but you would also sacrifice field of vision and would be more likely to miss things happening just beyond the edge of the screen.

Still, if there is a fov adjustment available at the console level, like there is in the Quake games, I'd like to know about it, too.

EDIT: I found this:

Change Your FOV:

If the game seems slow moving or you don't see enough with your resolution, raise your FOV (field of view).

1. Hit the "`" key for the console.
2. Type "fov ###" without the quotes. (I use 120, I believe 90 is default - experiment with it.)



[edited by - Waverider on December 27, 2002 4:35:21 PM]

Share this post


Link to post
Share on other sites
It''s perfectly fine the way it is.
It''s because you have a 90 degree field of vision, and your displaying that 90degree picture onto a 2D screen. If you have a larger FOV, like 180, the measurements would have a greater difference, by far!

Our eyes are curved, that''s why you don''t notice anything with your natural eyes.

You don''t notice this thing with some other games, because some of them use a smaller FOV, like 60 or so.
There''s really no way to get around this on a flat screen, you''d always come up with some other "projection problem"

I don''t like to call it a "projection problem", because it''s made that way for the best. I don''t mind it, it''s geometry at it''s best!

Share this post


Link to post
Share on other sites


Take a look at this picture. Say the door you are looking straight at is object A. Its projection (ie image) on the screen would be that green line on the grey "screen" line.

Now, if you rotate the camera, the door will move along a circle centered on your eye. Say, it moves at position B. The projection of B on the screen is bigger than the projection of A!

Why? Look at B'. B' is the object that is on the same line as A, but whose projection is the same projection as the projection of B. B' is bigger than A (using some triangular and Thales maths). Since they are coplanar, their projections are also disproportionate.

This is pure maths. If you look at things through a window, or at a photograph, you'll notice the same effect (try it!). However, to make this out, you have to think "2D", and not "3D", when looking at a 2D surface (a screen, a window).

The only means of reducing this is zooming in. that way, the "visible arc" (the E1,E2 portion of the circle) will become close to a straight line, and this "rotation-projection" distortion will be less visible.

For the door to stay the same size, no matter at which angle you look at it, the screen would have to be a hemisphere! Yes, Radicoon is right, that's why our retina is a hemisphere.

This is not an Unreal Engine problem, but rather a 3D-shown-on-2D-surface problem.

Cheers.

EDIT : wrote "thinks" instead of "things"

ToohrVyk
-------------
Extatica - a free 3d game engine
Available soon!
Click here to learn more

[edited by - ToohrVyk on December 27, 2002 5:12:49 PM]

Share this post


Link to post
Share on other sites


By the way, the 3D effect works fully is your eye is at the right distance from the screen (and looking in the middle). That distance may vary depending on the size of the screen.

In the above pic, the user''s eye is too far away, so the distortion effect will be quite disturbing. So in that case, the user should get closer (to the point where the red rays "converge" into his eye).

Modification of the FOV will move that "convergent point" towards your eye, so it''s another way to do it.

I''ve been playing Doom on Playstation, looking at the Doom engine from 2 meters away... I was puking every ten minutes, because my eye was too far away from the TV.

ToohrVyk
-------------
Extatica - a free 3d game engine
Available soon!
Click here to learn more

Share this post


Link to post
Share on other sites
The optimum in realism would be achieved if the eye is the exact distance from the screen to get the same fov as the game is set to. That way, it most simulates you looking "through a window" to the 3D world.

However, a comfortable viewing distance, at least for me, puts the fov at around 40 degrees, not 90, so I would really be missing a lot of off the screen detail.

[edited by - Waverider on December 27, 2002 5:30:39 PM]

Share this post


Link to post
Share on other sites
I played Tribes 1 with the FOV jacked up to 120, and played beautifully. The only problem was I had some difficulty identifying smaller targets at long range when they were right under the targetting reticle (aka center of screen)... but that is what the Zoom 10x is for.

_Danneman_, as you have been told so far... it is a problem of a 3D world being represented on a flat 2D surface. With an inverse hemispherical screen (aka round and bent towards the user), we could do it realistically, but not any other way.

Share this post


Link to post
Share on other sites
Yeah, I think NOLF''s game FOV is > 100, I prefer it little bit lower. Btw, is it me or do you also think the boxed containers in the submarine hangar level don''t look right. Deus Ex had proper sized containers, NOLF makes it look like I''ve shrunk to miniature size. I used to set fov to 60 in my editor but I set it to 80-90 now. There is an equation for correct fov however it doesn''t feel right visually. If I remember correctly it overshoots the fov resulting in fisheye effect, so some good old fashion tweaking is necessary. I think human vision fov is 120 but that would be too fish eyed in a game. What happens when fov exceeds 180 deg? The view flips upside down and you zoom in on the scene again.

Share this post


Link to post
Share on other sites
A FOV of 90+ is way to much for a realistic image on a standard PC monitor. From about 60 upwards, you'll start to get distortions. You can go higher on a 16:9 monitor or TV.

The ultimate solution: buy this...

quote:

What happens when fov exceeds 180 deg?


You cannot get a FOV of 180 or more using the perspective projection typically used in 3D graphics. The image flipping upside down is a sign of the projection algorithm malfunctioning. In reality, some extreme fisheye lenses can get FOVs over 180°. The only way to simulate those is by using multiple renderings and creating a composite image, or specialised non-standard projections.


[edited by - Yann L on December 29, 2002 3:37:30 AM]

Share this post


Link to post
Share on other sites