명절에 먼 곳에서 터지는 불꽃놀이를 본 적이 있으신가요? 불빛이 터지고 나서 한 박자 늦게 “펑” 소리가 도착하는 순간을 기억하실 겁니다.
소리는 빛과 달리 초당 약 343m라는 유한한 속도로 이동하기에 멀리서 일어난 사건일수록 눈에 보이는 시점과 귀에 들리는 시점 사이에 간격이 생기기 마련입니다. 게임 속에서도 마찬가지인데요. 이번 글에서 이의 원인에 대해서 자세히 알아봅시다.
게임에서는 다를까?
현실에서는 당연한 이 물리적 현상이 게임 오디오에서는 종종 생략됩니다. 캐릭터가 총을 쏘는 순간과 그 소리가 스피커에서 나오는 순간을 똑같이 처리하는 구조가 흔하기 때문이라고 할 수 있습니다.
플레이어와의 거리가 10m든 500m든 상관없이 총소리가 즉시 재생된다면 눈으로 보는 사건과 귀로 듣는 소리 사이의 시차가 아예 존재하지 않는 셈이죠. 이게 정말 문제가 될 정도로 큰 차이인 것인지 그리고 단순히 늦게 들리는 것 말고 다른 단점은 없는 것인지 직접 계산해서 체크해보았습니다.
순서까지 뒤바뀔 수 있다
거리에 따른 지연 자체는 계산이 매우 단순합니다. 초당 343m 기준으로 50m 거리는 0.146초, 100m는 0.292초, 200m는 0.583초, 300m는 0.875초, 500m는 1.458초가 걸립니다. 그런데 이 숫자를 여러 발의 총성에 동시에 적용해보니까 예상하지 못했던 부작용이 발생하더라고요.
다섯 발의 총성이 0.1초 간격으로 A,B,C,D,E 순서로 발사됐다고 가정해봅시다. 각각의 거리가 300m, 50m, 150m, 400m, 20m라면 실제로 플레이어 귀에 도착하는 순서는 발사 순서와 전혀 다른 B>E>C>A>D가 됩니다. 가장 먼저 발사한 A가 오히려 네 번째로 들리고 세 번째로 쏜 C보다 마지막에 쏜 E가 더 먼저 들리는 것입니다.

이게 우연한 조합인지 확인하기 위해서 6발의 총성이 5초 사이에 무작위 거리(10~500m)에서 발사되는 상황을 2만 번 시뮬레이션해봤습니다.
그 결과 전체 시행의 75.1%에서 발사 순서와 청취 순서가 적어도 한 쌍 이상 뒤바뀌었고 뒤바뀐 쌍의 평균 개수는 1.32쌍 많을 때는 한 번에 8쌍까지 뒤섞이는 것을 체크할 수 있었습니다.
역사에도 쓰인 원리
소리의 도착 시차로 거리를 역산하는 방식은 게임을 위해 새롭게 발명된 것은 아닌데요. 1차 세계대전 당시 사용된 “포성 음원 측정” 기법이 정확히 이 원리를 사용했습니다.
여러 지점에 마이크로폰을 배치하고 포성이 각 지점에 도착하는 시간차를 측정한 뒤에 초당 330m의 음속을 곱해 거리 차이를 구하고 코사인 법칙을 두 번 적용하여 적의 포 위치를 역산해내는 방식이었습니다.
실제 기록에 남은 계산 사례에서는 이런 방식으로 약 1,621m 떨어진 포의 위치를 정확히 짚어냈다고 합니다. 소리가 유한한 속도로 움직인다는 사실 하나만으로 눈에 보이지 않는 위치까지 확인할 수 있다는 것을 군대는 100년도 더 전에 실전에 써먹은 셈이라고 할 수 있습니다.
개발자들도 다루고 있다
게임 오디오 쪽에서도 이 문제는 드물지 않게 나타납니다. 언리얼 엔진 개발자 커뮤니티 포럼에서는 리스너까지의 거리를 구해서 그만큼 소리 재생을 늦추는 기능을 직접 구현했다는 글들이 여럿 올라와 있는데 한 답변은 이 방식을 리스너까지의 거리를 구한 뒤 그만큼 소리를 지연시킨다고 짧게 요약해서 말했습니다. 복잡한 물리 엔진이 없어도 거리 하나만 알면 되는 비교적 간단한 계산이라서 실제로 여러 개발자가 각자 비슷한 방식으로 직접 만들어 쓰고 있다는 의미입니다.
다 적용하는 것은 아니다
하지만 이 지연을 모든 총 소리에 예외 없이 적용하는 게 항상 좋은 선택이라고 할 수는 없습니다. 앞서 확인할 수 있었듯이 여러 발이 겹치면 청취 순서 자체가 뒤바뀌게 되는데 이건 몰입감을 높여줄 수도 있지만 반대로 어느 방향에서 누가 먼저 총을 발사했는지 순간적으로 헷갈리게 만들 수도 있기 때문입니다.
특히 경쟁적인 슈팅 게임에서는 “누가 먼저 총을 쐈는가?”가 판정에 직결되는 아주 중요한 문제이기 때문에 플레이어 근거리 전투음처럼 즉각적인 반응이 중요한 소리에는 지연을 일부러 없애고 원거리 폭발음이나 배경 전투음처럼 분위기 요소에만 이 지연을 적용하는 절충이 흔히 쓰이고 있다고 합니다.
먼저 쐈지만 네 번째로 들렸다
이번 계산에서 A,B,C,D,E 다섯 발 중 가장 먼저 방아쇠를 당긴 것은 A였지만 플레이어 귀에는 그중 네 번째로 도착했습니다.
소리가 유한한 속도로 이동한다는 단순한 물리 법칙 하나가 총을 쏜 순서와 소리를 들은 순서를 완전히 다르게 만들어버린 것이라고 할 수 있습니다. 화면 속에서 벌어지는 일과 스피커에서 들리는 일 사이에는 생각보다 훨씬 자주 이런 시차와 순서 뒤바뀜이 숨어있었다는 것이 이번 글의 결론입니다.