Search This Blog

Como muchos otros ya hicieron, por favor dejen comentarios o críticas, se aprecian!

Wednesday, November 4, 2009

Field of view (FOV)

Field of view (FOV) significa "campo de visión", también llamado "ángulo de cobertura" o "ángulo de visión". Este es un término muy conocido para jugadores de FPS, en especial para players de quake, tf2, y cualquier otro título que permita modificarlo. De manera simple, el fov vendría a ser que tanto hacia los costados uno puede observar (en este caso, dentro del juego).
La mayoría de los juegos hoy en día traen el fov vertical fijado, y permiten variar el horizontal (conocidos por el nombre hor+, si varía el ángulo vertical el juego es ver-).
El fov horizontal depende del "aspect ratio", traducido al español como "relación de aspecto", "proporción de aspecto" o "razón de aspecto". Este es la proporción entre su anchura y su altura y se calcula dividiendo el ancho de una imagen en pantalla por su altura, y normalmente se lo escribe como «X:Y», representando la X al ancho, y la Y a la altura.
El fov de los juegos esta pensado para monitores con un aspect ratio de 4:3 (800x600, 1280x1024, etc), es decir que si se usa usamos default_fov 90 en tf2, cg_fov 90 en quake, o cualquiera sea el comando del juego en que se encuentren, van a tener exactamente ese fov y no necesitan hacer cálculos.
Cuando se usa monitores widescreen, con aspect ratio de 16:10 o 16:9, o en caso de que se use resoluciones personalizadas con otro tipo de aspect ratios, el fov por más que se especifique como 75/90 o lo que elijan, va a variar porque ya no se esta trabajando con 4:3, sino con otro aspect ratio.
Obviamente, modificar este puede ser un arma de doble filo, porque muy pequeño limita la vision, y muy grande achica y distorciona demasiado los cosas. Generalmente valores entre 100 y 120 son los óptimos.
Aquí tienen unos ejemplos de distintos fovs desde un mismo lugar y angulo:

FOV del juego: 75; Resolución: 1024x768; Aspect Ratio: 4:3; FOV real: 75º
fov 75 1024x768

FOV del juego: 90; Resolución: 1024x768; Aspect Ratio: 4:3; FOV real: 90º
fov 90 1024x768


FOV del juego: 90; Resolución: 1280x720; Aspect Ratio: 16:9; FOV real: aprox. 106º
fov 90 1280x720


FOV del juego: 90; Resolución: 1680x720; Aspect Ratio: 16:6,857 (2,3333) ; FOV real: 120,5º
fov 90 1680x720

Si quieren calcular el fov real que tienen, se debe hacer lo siguiente:
Supongamos que se quiere cambiar de un aspect ratio de 4:3, a un monitor widescreen que usa 16:10, y el fov dentro del juego esta fijado en 90. Para saber que fov se tendrá con 16:10, primero averiguamos la anchura que otorga cada aspect ratio.

4:3 = 1,3333
16:10 = 1,6

En base a esto dividimos ambos por 2 y trabajamos con los triángulos formados

FOV calc

Luego, calculamos la altura (h) del triángulo, que representa un cateto de los 2 nuevo triangulos rectangulos formados. La tangente de 45º equivale a 0,6666 dividido h. Entonces:

Tan 45º = 0,6666 / h
h = 0,6666 / tan 45

Como la tangente de 45º es 1, h = 0,6666
Una vez que tenemos la altura, usando esta y el lado rojo del triángulo (que representa la nueva longitud de visión que se tiene por el cambio de aspect ratio), averiguamos el nuevo ángulo.

Tan (?) = 0,8 / 0,6666
Tan (?) = 1,2
(?) = arctan 1,2
(?) = 50,19º

Debido a que dividimos inicialmente por la mitad, este ángulo representa solo la mitad de la visión total. Si multiplicamos este valor por 2 obtenemos el nuevo fov.

50,19 x 2 = 100,38º

En base a esto, se puede crear una fórmula general:

Ángulo de visión = 2 x arctan [(AR nuevo/AR pred) x tan (fov pred/2)]


Donde "AR pred" es el aspect ratio predeterminado (4:3 la gran mayoría de las veces), "AR nuevo" es el nuevo aspect ratio que se usa o se piensa usar, y "fov pred" es el fov predeterminado (75 o 90 por lo general) o seleccionado por el usuario.

*En caso de que les interese el tema y quieran seguir leyendo, pueden consultar aparte de los links ya expuestos, el widescreen gaming forum (más especificamente acá y acá)*

7 comments:

  1. Hola, quería preguntarte, viendo que parece que sabes bastante sobre el FoV, si podrías explicarme (y cómo evitarlo si es cambiando el FoV) porqué algunos juegos me hacen sentir mareado, o con ganas de vomitar o dolores de cabeza ?
    Se puede "arreglar" eso de alguna manera con el FoV, o influye también cuando el juego tiene movimientos de cámara al correr muy pronunciados, o es una combinación de las dos cosas ?

    Saludos y gracias !

    ReplyDelete
  2. Max, recuerdo una vez estar jugando al quake 3 (estaba con 120 de fov), y cayó otra persona y me dijo que se mareaba al verme jugar. Supongo que a mi no me pasa porque debo estar acostumbrado, pero he escuchado que puede suceder. Te diría que pruebes bajando un poco el fov (disminuye la sensación de moverte rápido) y si es posible modificá el tema del movimiento del arma (en el quake tenes una opción para dejarla quieta si es que te marea)

    ReplyDelete
  3. Hola Cristian, gracias por tu respuesta.
    Te comento que yo me refería más al Call of Duty (al WaW más específicamente) que al Quake, igualmente me sirve la info.
    Con "bajar el fov" te referís a que el nro. del fov debe ser más alto, o más bajo ? (nunca usé el comando, asi que no sé bien cómo funciona).

    En el caso del CoD WaW creo que no se puede modificar el "wobbling" (creo que se llama así el movimiento de cámara).

    Saludos!
    Max.

    ReplyDelete
  4. Si osea, mencione quake pq es uno de los juegos que tengo -algo- de idea, pero no sabia bien a que lo querias aplicar (de todas formas supongo que la idea general es la misma).
    Menor número = menor fov. El fov generalmente se mide en ángulos, tonces si tenes un menor valor numérico, tenes un menor ángulo, y por ende, menor fov.
    Pero no se, más que eso y que sigas jugando para acostumbrarte, no sabría que decirte. xP

    ReplyDelete
  5. Gracias nuevamente por la explicación !
    Saludos, Max.
    :)

    ReplyDelete
  6. Exelente aporte!! GENIAL !! Gracias!!

    ReplyDelete