시야각(FOV) 변환기 쉽게 이해하기 — 개념과 원리
시야각(FOV)은 게임 세계를 화면에 얼마나 넓은 각도로 보여 주는지를 나타냅니다. 게임마다 수평 시야각을 쓰기도 하고 수직 시야각을 쓰기도 하며, 같은 수평값이라도 16:9, 21:9, 4:3 화면에서 보이는 모습이 다릅니다. 이 변환기는 수평 시야각을 수직 시야각으로 바꾸고, 더 넓은 화면에서의 수평 시야각과 일부 게임이 설정에 쓰는 4:3 기준값을 함께 구해 줍니다.
계산 방법
- 수직 FOV = 2 × atan( tan(수평 FOV ÷ 2) × 세로 ÷ 가로 )
- 새 화면비의 수평 FOV = 2 × atan( tan(수직 FOV ÷ 2) × 새 가로 ÷ 세로 )
- Hor+ 4:3 환산값 = 2 × atan( tan(수직 FOV ÷ 2) × 4 ÷ 3 )
각도는 도(°) 단위이며, 화면비는 16과 9처럼 가로와 세로를 따로 입력합니다.
원리
카메라가 피라미드 꼭짓점에서 평평한 화면을 바라본다고 생각해 보십시오. 화면 가로의 절반과 화면까지의 거리는 직각삼각형을 이루므로 tan(수평 FOV의 절반) = 가로의 절반 ÷ 거리이고, 세로도 마찬가지입니다. 거리가 같으므로 절반 각도의 탄젠트 비는 가로와 세로의 비와 같습니다. 각도 자체는 비례하지 않기 때문에 90°에 9/16을 곱하는 식으로는 계산할 수 없습니다. 요즘 게임은 대부분 수직 시야각을 고정하고 넓은 화면에서 좌우를 더 보여 주는 Hor+ 방식을 씁니다.
예제 풀이
기본값은 16:9 화면의 수평 FOV 90°, 새 화면비 21:9입니다.
- tan(45°) = 1이므로 tan(수직/2) = 1 × 9 ÷ 16 = 0.5625
- 수직 FOV = 2 × atan(0.5625) ≈ 58.72°
- 21:9 수평 FOV = 2 × atan(0.5625 × 21 ÷ 9) = 2 × atan(1.3125) ≈ 105.39°
- 4:3 환산값 = 2 × atan(0.5625 × 4 ÷ 3) = 2 × atan(0.75) ≈ 73.74°
| 수평 FOV (°) | 수직 FOV (°) |
|---|---|
| 22.5 | 12.7683386 |
| 45 | 26.23128755 |
| 67.5 | 41.1975094 |
| 90 | 58.71550709 |
| 112 | 80.18407759 |
| 135 | 107.2656486 |
| 180 | 180 |
결과 해석
시야각이 넓을수록 더 많은 장면이 보이고 움직임이 빠르게 느껴지지만 표적은 작아 보입니다. 좁으면 화면 중앙이 확대된 듯 보입니다. 두 게임의 같은 FOV가 다르게 느껴진다면 한쪽은 수평, 다른 쪽은 수직 기준인지, 어느 화면비 기준인지 확인해 보십시오. 예를 들어 CS2의 고정값인 4:3 기준 90°는 16:9 화면에서 수평 약 106.26°이며, 수직 FOV는 똑같이 73.74°입니다.
흔한 실수
- 탄젠트를 쓰지 않고 화면비에 비례해 단순 곱셈하는 경우
- 게임마다 다른 수평·수직 기준을 혼동하는 경우
- 화면과 관계없이 4:3 기준으로 FOV를 정하는 게임이 있다는 점을 잊는 경우
- 해상도를 넣을 때 가로와 세로 순서를 바꾸는 경우
자주 묻는 질문
Vert− 방식은 무엇인가요?
수평 시야각을 고정하고 넓은 화면에서 위아래를 잘라 내는 방식입니다. Hor+와 반대이며 요즘은 드뭅니다.
시야각이 마우스 감도에 영향을 주나요?
한 바퀴 도는 거리(cm/360)는 그대로지만 화면 속 물체 크기가 달라져 미세 조준의 느낌이 달라집니다.
해상도 숫자를 그대로 넣어도 되나요?
네. 2560과 1080처럼 넣어도 비율만 맞으면 결과는 같습니다.
출처: Standard perspective projection geometry (pinhole camera model)