발로란트에서 감도 0.4를 쓰던 사람이 CS2로 넘어가면 몇을 써야 할까? 정답은 1.27이다. 이 숫자는 어디서 나올까. 감도 변환기를 직접 만들면서 정리한 원리를 공유한다.
감도 숫자는 게임마다 의미가 다르다
게임 설정의 “감도 1.0”은 절대적인 값이 아니다. 게임 엔진마다 마우스 카운트 1개당 화면이 회전하는 각도, 즉 yaw 값이 다르기 때문이다.
| 게임 | yaw (도/카운트) |
|---|---|
| 발로란트 | 0.07 |
| CS2 / CS:GO | 0.022 |
| 오버워치 2 | 0.0066 |
| 에이펙스 레전드 | 0.022 |
같은 감도 1.0이라도 발로란트는 오버워치보다 카운트당 10배 이상 크게 회전한다. 그래서 감도 숫자를 그대로 옮기면 완전히 다른 손맛이 된다.
유일하게 게임과 무관한 값, cm/360
기준이 되어야 하는 건 마우스를 실제로 몇 cm 움직여야 화면이 360° 도는가다. 이 값은 물리 세계의 길이라서 게임과 무관하다.
cm/360 = (360 × 2.54) / (yaw × 감도 × DPI)
- DPI: 마우스가 1인치 이동할 때 보내는 카운트 수
- yaw × 감도: 카운트 1개당 회전 각도
- 2.54: 인치 → cm 변환
예를 들어 DPI 800, 발로란트 감도 0.4라면:
cm/360 = (360 × 2.54) / (0.07 × 0.4 × 800) = 40.82cm
마우스를 약 40.8cm 움직여야 한 바퀴 돈다는 뜻이다.
변환은 cm/360을 고정하는 것
게임 A에서 게임 B로 감도를 옮긴다는 건 cm/360을 같게 만드는 것이다. 수식을 정리하면 DPI가 같을 때:
감도_B = 감도_A × (yaw_A / yaw_B)
발로란트 0.4 → CS2라면 0.4 × (0.07 / 0.022) = 1.2727. 시중의 모든 감도 변환기가 내부적으로 이 한 줄을 계산한다.
구현할 때 주의할 것
부동소수점 표시 자릿수. 게임마다 설정에 입력 가능한 소수 자릿수가 다르다. CS2는 소수점 이하를 길게 받지만 일부 게임은 2자리에서 반올림된다. 반올림된 값으로 역산한 cm/360을 함께 보여줘야 사용자가 오차를 인지할 수 있다.
DPI는 변환에 영향이 없다는 것. 두 게임에서 같은 DPI를 쓴다면 변환 비율은 yaw 비율만으로 결정된다. DPI는 cm/360의 절대값을 바꿀 뿐이다. 이걸 UI에서 설명하지 않으면 “DPI를 입력했는데 왜 결과가 안 변하죠?”라는 질문을 받게 된다 (받았다).
줌/조준경 감도는 별도 문제. 배율이 들어가면 시야각(FOV) 보정 방식(모니터 거리 계수 등)이 게임마다 달라서 단순 yaw 비율로는 안 된다. 이건 다음 글에서 다룬다.
이 원리로 만든 도구들: 게임별 감도 변환기, cm/360 · DPI 계산기