투척물 궤적은 단순한 라인이 아니라 충돌 박스의 계단과 모서리에서 발생하는 에너지 손실을 동반한 충돌 해석이다. 버전 업데이트 시 중력보다 먼저 변하는 것은 이러한 '보이지 않는 모서리'이며, 이는 기본 투척 라인의 민감도를 결정한다. 이 글은 충돌 박스의 구조, 기본 라인의 세 가지 의존성, 버전별 재훈련 방법, 그리고 버전에 강한 투척 직관을 기르는 방법을 기술적으로 분석한다.
서론
많은 플레이어가 투척물을 연습할 때 '여기 서서, 여기 조준하고, 점프투척'이라는 하나의 라인을 외운다. 이 라인은 현재 버전에서는 유효하지만, 다음 버전에서는 '반 칸 차이'로 무용지물이 될 수 있다. 문제는 기억력이 아니라, 결과만 기억하고 기하학을 기억하지 않는다는 점이다. 투척물 궤적의 본질은 에너지 손실을 동반한 충돌 해석이며, 벽면은 평면이 아니라 계단, 모서리, 충돌 박스의 조각들로 구성된다. 버전이 바뀌면 가장 먼저 변하는 것은 중력이 아니라 이러한 '보이지 않는 모서리'인 경우가 많다.
1. 충돌 박스의 보이지 않는 모서리: 왜 튕기는 지점이 손을 떠나는 지점보다 민감한가
먼저 사실을 명확히 하자. CS2의 투척물 충돌 감지는 눈에 보이는 텍스처 표면이 아니라 단순화된 충돌 기하학을 사용한다. 텍스처의 벽돌 틈, 부조, 장식선은 충돌에 참여하지 않으며, 실제로는 베이킹된 충돌 박스가 참여한다. 충돌 박스는 성능을 위해 단순화되었기 때문에 물리 세계의 벽면은 매끄럽지 않고 여러 평면이 모여 만들어진 '계단'이다.
이 계단 사이의 경계가 바로 보이지 않는 모서리다. 투척물이 모서리를 스칠 때 입사각과 반사각 계산은 순간적으로 다른 기준면으로 바뀐다. 눈에 보이는 것은 '한 번 튕겼다'이지만, 물리적으로는 법선 방향의 급변이다. 손을 떠나는 지점이 반 칸만 달라져도 모서리에 맞는 위치가 달라지고, 반사 후 낙하 지점은 두세 몸 길이 차이가 날 수 있다. 이것이 동일한 기본 투척 라인이 버전 업데이트 후 어떤 사람에게는 '아직 쓸만하다'고 느껴지고, 어떤 사람에게는 '완전히 틀렸다'고 느껴지는 이유다. 서 있는 위치가 다르면 부딪히는 모서리도 다르다.
더 숨겨진 것은 반발 계수다. 재질이 다른 충돌면은 엔진 내에서 서로 다른 에너지 손실 파라미터를 가지며, 목재, 금속, 콘크리트의 튕긴 후 속도 감쇠는 일치하지 않는다. 버전 업데이트에서 특정 표면의 물리 파라미터를 조정하거나 특정 맵의 충돌 박스를 다시 베이킹하면, 기억 속의 '한 번 튕겨서 연막에 딱 들어감'이 '한 번 튕겨서 벽에 박힘'으로 바뀔 수 있다. 이는 미신이 아니라 파라미터 변화다.
2. 기본 투척 라인의 세 가지 의존성: 손을 떠나는 지점, 모서리, 낙하 지점
기본 투척 라인은 겉보기에는 손을 떠나는 지점에만 의존하는 것 같지만, 실제로는 최소 세 가지 의존성이 있다.
첫 번째는 손을 떠나는 지점과 시점이다. 서 있는 발 위치, 앉기 상태, 마우스의 상하 각도가 투척물 초기 속도 벡터의 방향과 크기를 결정한다. 점프투척의 타이밍은 추가로 캐릭터의 수직 속도가 더해지며, 이 항목은 틱 샘플링에서 연속적이지 않기 때문에 동일한 점프투척도 네트워크 조건에 따라 미세한 차이가 발생한다.
두 번째는 충돌 경로상의 모서리다. 손을 떠나는 지점에서 낙하 지점까지 투척물은 한 번 또는 여러 번 튕길 수 있다. 각 튕김은 정보 손실이다. 대략적으로 튕긴다는 것만 알 뿐, 어느 모서리를 스칠지는 모른다. 기본 투척 라인의 가치는 이 경로를 재현 가능한 동작으로 압축한다는 데 있지만, 재현 가능성의 전제는 모서리가 변하지 않았다는 것이다.
세 번째는 낙하 지점 판정이다. 연막의 전개는 부피이고, 섬광의 폭발은 타이머이며, 화염의 확산은 화염 단위 집합이다. 낙하 지점이 반 칸 차이 나면 연막이 틈을 하나 덜 막을 수 있고, 섬광이 0.몇 초 일찍 터질 수 있다. 이러한 차이는 연습 맵에서는 보이지 않지만, 실전에서는 '내가 먼저 연막 가장자리를 본다' 또는 '내가 먼저 눈이 멀었다'로 나타난다.
세 가지 의존성 중 손을 떠나는 지점은 가장 기억하기 쉽고, 낙하 지점은 가장 검증하기 쉽지만, 중간의 모서리는 가장 무시되기 쉽다. 그리고 버전 업데이트에서 가장 자주 바뀌는 것이 바로 이 중간 층이다.
3. 버전별 재훈련: 기억을 뒤엎는 것이 아니라 색인을 재구축하는 것
'버전별 재훈련'이라는 말을 들으면 많은 사람이 모든 투척 라인을 처음부터 다시 만들어야 한다고 생각한다. 그럴 필요도 없고 현실적이지도 않다. 더 합리적인 방법은 색인을 재구축하는 것이다. '서 있는 위치 - 조준점 - 낙하 지점'의 선형 기억을 '손을 떠나는 지점 - 예상 튕김 횟수 - 핵심 모서리 - 낙하 지점 허용 오차'의 구조화된 기억으로 다시 쓰는 것이다.
구체적으로 어떻게 할까? 첫째, 연습 맵에서 각 기본 투척 라인을 두 구간으로 나눈다. 손을 떠나는 지점에서 첫 튕김까지, 첫 튕김에서 낙하 지점까지. 이 두 구간의 허용 오차를 각각 기록한다. 만약 첫 구간의 허용 오차가 매우 작고 두 번째 구간의 허용 오차가 매우 크다면, 이 라인은 모서리에 민감하다는 뜻이므로 버전 업데이트 후 우선적으로 재검증해야 한다.
둘째, 각 라인에 '대체 가능한 낙하 지점'을 표시한다. 같은 연막이라도 종종 두세 가지 경로가 있으며, 버전 조정 후 하나가 무효화되면 다른 하나는 여전히 사용 가능할 수 있다. 대체 경로를 미리 근육 기억에 새겨두는 것이 임시로 라인을 찾는 것보다 훨씬 신뢰할 수 있다.
셋째, 버전 재검증 체크리스트를 만든다. 매번 큰 버전 업데이트 후에는 모서리에 민감한 라인을 먼저 테스트하고, 그 다음 허용 오차가 큰 라인을 테스트한다. '아직 쓸만한 것 같다'는 느낌에 의존하지 말고, 낙하 지점 판정으로 말하게 하라. 연막에 틈이 있는지, 섬광이 눈을 멀게 하는지, 화염이 충분히 타는지.
4. 전이 가능한 투척 직관: 라인 암기에서 면 읽기로
진정으로 버전에 강한 것은 특정 라인이 아니라 면을 읽는 능력이다. 벽을 보면 충돌면의 방향, 모서리의 위치, 튕긴 후 속도 감쇠 방향을 대략적으로 판단할 수 있다. 이러한 직관은 반복적인 '의도적 빗나가기'에서 온다. 연습 맵에서 의도적으로 투척물이 모서리를 스치게 하고, 반사각의 변화를 관찰하며, 재질에 따른 튕김 거리를 기록한다.
면을 읽는 능력이 생기면 버전 업데이트는 더 이상 '내 라인이 망했다'가 아니라 '이 벽의 모서리가 변했으니 다른 방식으로 스치면 된다'가 된다. 기본 투척 라인은 여전히 연습해야 하지만, 연습의 목적은 정답을 외우는 것이 아니라 버전에 따라 전이 가능한 기하학적 직관을 구축하는 것이다. 벽은 평면이 아니라 계단이고, 투척 라인은 주문이 아니라 경로다. 경로는 변하지만 기하학은 거짓말하지 않는다.