참고
알쓸신잡 05 - [ 시야와 사거리 ] (https://www.ygosu.com/community/st1/145524)
알쓸신잡 06 - [ 유닛과 건물의 크기 ] (https://www.ygosu.com/community/st1/152825)
이 글은 그동안 딱히 이렇다할 실험이나 정보글이 없었던 시야의 개념에 대한 글입니다
내용이 좀 어려울 수 있으니 적당히 걸러 보시기 바랍니다
1. 시야 범위
<유닛들의 시야 값>
출처 : 알쓸신잡 시야와 사거리 편
위 표에 나와있는 것처럼 유닛은 모두 각각 고유한 시야 값을 가지고 있고
그 시야 값[Sight]에 따른 시야 범위[Sight range]를 가지고 있습니다
시야가 2 인 마린으로 예를 들어서 설명하면
우선 마린의 중심좌표가 어느 그리드에 속해 있는지가 중요한데
이 마린의 중심좌표는 오른쪽 아래의 그리드(주황색 테두리)에 속해있고
마린이 속한 그리드를 중심으로 상하좌우 3칸까지의 마름모꼴 영역이 마린의 '시야 범위'이고 (마린의 시야값 +1 칸)
이 시야 범위는 그리드 단위의 영역이며 일반적으로 상하좌우대각 대칭입니다
※ 여기서 주목할 점은 마린의 크기와 시야 범위는 아무 상관 없다는 것
시야 값만 같다면 저글링처럼 작은 유닛이든 커맨드센터처럼 큰 유닛이든 시야 범위는 동일합니다
앞서 말한 대로 시야 범위는 유닛이 속한 그리드가 기준이기 때문에 마린의 좌표가 중심 그리드 안에 있기만 하면
그 안에서는 움직이더라도 시야 범위는 변하지 않습니다
<지상 유닛 시야 범위>
- 지상 유닛은 시야가 0이어도 아무것도 보이지 않는 것이 아니고 시야가 존재합니다
- 지상 유닛의 시야 범위는 상하좌우대각 대칭입니다
<공중 유닛 시야 범위>
- 공중 유닛은 시야가 0이면 그 유닛 자신 포함 아무것도 보이지 않습니다
- 유닛의 시야 범위는 기형적인 모습을 하고 있습니다 지상 유닛의 시야 범위와 비교하면
시야 1~3 까지는 좌, 우, 하 방향의 시야가 1칸 짧고 4~11 까지는 좌, 하 방향의 시야가 1칸 짧습니다
2. 적 발견 조건
위 내용을 종합해보면,
시야 값이 5라는 것은 시야 값 5에 해당하는 시야 범위 내에 적 유닛이 들어오면
그 유닛을 볼 수 있다는 뜻이 됩니다
이 시야 범위 내에 들어온다는 것의 판정, 즉 '적 발견 조건'을 알아보기 전에
'적 공격 조건'에 대해서 간단히 알아보면
1) 적 유닛이 내 시야 범위 안에 있을 것
2) 적 유닛이 내 공격 범위 안에 있을 것
1번 조건은 적을 공격하기 위해서는 우선 시야가 확보돼야 한다는 기본 조건이고
2번 조건은 말 그대로 적 유닛이 내 공격 범위 안에 들어와야 한다는 것으로 위 사진에서처럼
사거리가 2인 마린의 히트박스와 마린의 오른쪽에 있는 저글링의 히트박스 사이의 거리가 2만큼 떨어져 있다면 공격이 가능하다는 것을 뜻합니다
이러한 '적 공격 조건'과 다른 '적 발견 조건'의 가장 큰 특징은 시야의 판정이
적 유닛의 히트 박스[Hit box]가 아닌 생산 박스[Placement box]에 의해 결정된다는 것입니다
스타하면서 처음 써보는 단어라 뭐라 칭할지 몰라서 일단 생산박스라고 했는데
생소한 개념이니 짚고 넘어갑시다
2-1. 충돌 크기과 생산 크기
유닛 크기, 충돌 크기 등 : 유닛의 가로세로 실제 크기
피격 박스, 충돌 박스, 히트 박스 등 : 유닛의 충돌, 피격 등을 판정하는 가상의 사각형 박스
생산 크기, 건설 크기 등 : 건물의 경우 건설하는 데 필요한 공간
생산 박스, 건설 박스 등 : 유닛의 시야를 판정하는 가상의 사각형 박스
건물을 건설하는 데 필요한 공간은 가로세로 32px 크기의 그리드 단위로 이루어져 있는데,
예를 들면 커맨드센터를 짓는 데는 가로 4칸, 세로 3칸의 공간이 필요하므로 커맨드 센터의 생산크기는 128x96 이고
리파이너리는 128x64, 서플라이는 96x64, 터렛은 64x64 등등 입니다
한편 유닛의 생산크기는 일부 유닛을 제외하면 대부분 충돌크기와 동일한데,
건물과 같이 유닛의 생산크기도 생산건물에서 생산할 때 필요한 공간이라던가의 의미가 있을 거라고 생각되지만
수치를 바꿔가면서 생산, 수송, 리콜, 커널 등 공간이 필요할만한 실험을 해봐도
시야를 판정하는 것 외에 의미를 찾지 못했습니다..
어쨋든 중요한 것은 대부분 유닛의 생산크기는 충돌크기와 동일하지만
생산박스와 충돌박스에는 차이가 있다는 것 입니다
충돌 크기와 생산 크기가 동일한 마린으로 충돌 박스와 생산 박스의 차이를 비교해봅시다
충돌 박스는 유닛의 중심좌표에서 각 변까지의 거리가 유닛의 상하좌우 크기만큼인 사각형이고
생산 박스는 유닛의 중심좌표를 중심으로 하는 가로와 세로의 크기가 생산 크기만큼인 사각형입니다
이게 무슨차이냐 하겠지만 생산 크기가 짝수일 경우 생산 박스가 한 쪽으로 치우쳐질 수 밖에 없는데
생산 박스는 무조건 왼쪽/위쪽으로 치우쳐지기 때문에 마린의 경우 위쪽으로 1px 치우쳐져서
충돌 박스와 크기는 같지만 위치가 1px 위에 있게 되는 것입니다
시야의 판정은 1px 차이로도 갈리기 때문에 이 차이는 매우 중요합니다
+ 추가 예)
- 위쪽 크기가 아래쪽 크기보다 많이 작은 저글링은 충돌박스가 생산박스보다 상당히 아래쪽에 있다
- 유닛크기가 짝수이면서 왼쪽, 위쪽의 크기가 오른쪽, 아래쪽 크기보다 1px씩 작은 드라군은
충돌박스가 생산박스보다 1px씩 오른쪽 아래에 위치한다.
2-2. 적 발견 조건 [32px 이하]
(상하좌우 각 방향 별로 마린의 시야 끝, 즉 마린의 시야 안에 있으면서 가장 멀리 떨어져있는 프로브의 위치를 나타낸 사진)
적 발견 조건은 간단 합니다
"적 유닛의 생산 박스 가장 왼쪽 위 픽셀이 내 시야 범위의 경계를 포함하여 안쪽에 있는 것"
위 사진에서 처럼, 프로브의 생산 박스 가장 왼쪽 위의 픽셀 1칸(빨간 점)이 하늘색 시야 범위의 경계를 포함해서
안쪽에 있는 것이 가로세로 생산크기가 32px 이하인 적에 대한 발견 조건 입니다
2-3. 적 발견 조건 [33px 이상]
만약 크기가 엄청 큰 적도 위의 조건으로 시야를 판정한다면
시야가 1인 공중 유닛의 바로 밑에 있는, 시야 범위를 모두 뒤덮는 젤나가 신전도 못 보는 등 상식적으로 불가능한 상황이 나오게 됩니다
때문에 적 유닛의 생산 크기가 33px 이상이면 판정 조건이 바뀝니다
1) 가로 생산 크기만 33px 이상일 경우
(마린의 시야 왼쪽 끝에 있는 38x32 크기의 울트라)
울트라처럼 가로 생산 크기가 33px 이상 64px 이하인 유닛은 시야를 판정하는 기준 픽셀이 오른쪽으로 33px 길이로 늘어나고,
이 33px 길이의 픽셀 중 하나라도 시야 범위 안에 들어가면 발견 조건을 만족합니다
같은 식으로 가로 생산 크기가 65px 이상 96px 이하인 유닛은 기준 픽셀이 오른쪽으로 65px 길이로 늘어나고
97px 이상 128px 이하인 유닛은 97px 길이로 늘어나고.... 등등 단계별로 유닛의 크기가 커질수록 기준 픽셀도 커지게 됩니다
(마린의 시야 양쪽 끝에 있는 프로브, 울트라, 배틀크루져)
각각 가로 생산 크기가 23px, 38px, 80px 인 프로브, 울트라, 배틀크루져로 비교해보면
가로의 생산 크기가 커질수록 적 유닛이 한 칸씩 더 왼쪽에 있어도 시야 범위 안에 들어오는,
마린의 시야 범위가 왼쪽으로 한 칸씩 늘어나는 것과 같은 효과가 됩니다
2) 세로 생산 크기만 33px 이상일 경우
1) 과 같이 기준 픽셀이 아래쪽으로 늘어납니다
3) 가로, 세로 생산 크기 모두 33px 이상일 경우
가로와 세로 생산 크기 모두 33px 이상일 경우에는 위 1) 2) 에서의 기준 픽셀을 각각 한 변으로 하는 사각형 내부가 기준이 됩니다
가로세로의 생산 크기가 44px 인 뮤탈의 시야 판정 픽셀은 사진처럼 가로세로 33px 인 사각형 내부가 되는데
위에서 말한것처럼 이것은 시야 범위가 왼쪽과 위쪽으로 한 칸씩 확장되는 것과 같은 효과가 됩니다
※ 사실 생산박스의 기준 픽셀이 시야 범위 내에 들어오는 것으로 시야를 판정하는 것 자체가
제가 실험한 결과를 토대로 제 생각이 닿는 선에서 그나마 직관적으로 볼 수 있게 정한 조건이라서
더 편리하게 계산할 수 있는 판정 조건이 있을지도 모르고, 실제로는 이런식으로 프로그래밍되지도 않았을 겁니다
(이런쪽으론 문외한이라;)
3. 시야의 비대칭성
이 짤만 봐도 알겠지만 기준 픽셀이 왼쪽 위에 있기 때문에 왼쪽/위쪽 방향보다 오른쪽/아래쪽 방향의 시야 판정이 더 좋습니다
이러한 시야 판정의 차이 때문에 우리가 일반적으로
'오른쪽, 아래쪽 방향 시야가 더 넓다', '왼쪽, 위쪽에 있는 유닛의 시야가 더 넓다' 라고 말하는
시야의 비대칭이 생기는 것입니다
극단적으로 비교해보면
왼쪽 위에 있는 드라군은 기준 픽셀이 시야 범위 밖에 있기 때문에 보이지 않지만
오른쪽 아래에 있는 드라군은 기준 픽셀이 시야 범위 안에 있기 때문에 보이게 됩니다
또한 이렇게 같은 유닛이어도 왼쪽 유닛에게는 오른쪽 유닛이 보이지만
오른쪽 유닛에게는 왼쪽 유닛이 안 보이는 상황이 나오는데
이런식으로 시즈탱크는 시야보다 공격사거리가 길기 때문에 스스로 각재기가 가능합니다
(하지만 시즈모드시 포신이 왼쪽위로 향해있기 때문에 서로 시야확보된 상태에서 동시에 시즈모드를 하면 오른쪽/아래 탱크가 이깁니다)
※ 건물의 경우 시야 범위도 그리드 단위이고 건물의 건설 단위도 그리드 단위이기 때문에 발생하는
시야의 대칭/비대칭이 있는데 귀찮아서 그냥 넘길게요
4. 특수한 상황에서의 시야
위에서 알게 된 시야의 개념으로 그동안 애매했었던, 특수한 상황에서의 시야 값을 정확하게 측정할 수 있습니다
4-1. 옵티컬 플레어에 걸린 유닛의 시야
블라인드 상태인 유닛의 시야는 2 가 되고
디텍팅 기능을 잃습니다
4-2. 피격시 받는 시야
적 유닛에게 피격시 적 유닛의 중심 그리드를 기준으로 1 의 시야를 제공받습니다
단, 클로킹이나 버러우된 유닛에게 피격시에는 시야를 받지 않습니다
4-3. 시야 차폐 지형에서의 시야
화이트아웃에도 있는 시야 차폐 타일은 타일 너머의 시야를 차단하는 역할을 하는데
이러한 차폐 타일이 깔린 지형 위에 있는 지상 유닛의 시야는 0 과 같습니다
4-4. 버러우된 유닛의 시야
변화 없음
4-5. 건설중인 건물의 시야
모든 건설중인 건물의 시야는 4 입니다
센터 건물은 미네랄 필드와 베스핀 가이져에서부터 상하좌우대각 3칸 떨어진 곳에 지을 수 있는데
건설크기가 가로 4칸인 센터 건물 특성상 중심 그리드가 오른쪽에 치우쳐져 있어서 사진처럼 위/아래/오른쪽에 있는
미네랄 필드와 베스핀 가이져만 시야 확보가 가능합니다
따라서 멀티에 미네랄이 왼쪽에만 배치돼있다면 지어지고 있는 센터 건물만으로는 시야 확보가 안 되기 때문에
일꾼을 붙일 때 가스를 찍거나 따로 시야를 확보해서 보내야 합니다
실제로 투혼에서 센터제외 12개의 멀티중 미네랄이 왼쪽에만 배치된 1시 앞마당과 11시 앞마당, 9시 멀티만
미네랄의 시야 확보가 불가능 합니다
※ 테란의 경우 커맨드센터를 짓는 SCV의 시야로 미네랄을 볼 수 있습니다
※ 레어, 하이브, 그레이트 스파이어로 변이 중인 건물은 변이 전 건물의 시야를 따라갑니다
4-6. 공중에 떠있는 건물의 시야
공중에 떠있는 테란 건물은 공중유닛이며 공중시야를 가집니다
또한 건물을 띄우면 건물의 좌표가 위쪽으로 42px 만큼 이동하기 때문에 중심 그리드와 시야 범위 또한
위쪽으로 한 칸 이동합니다
같은 시야 값이라도 왼쪽과 아래쪽 시야 범위가 지상 유닛보다 짧은 공중 유닛의 특성과
건물을 띄우면 시야 범위 전체가 위쪽으로 한 칸 이동되는 특성 때문에
제자리에서 배럭을 띄우기만 해도 방향별로 시야 확보가 달라집니다
4-7. 시야업된 유닛의 시야
글 최상단에 있는 시야표에 나와있는 것처럼 시야 업그레이드가 있는 유닛들은
시야 업그레이드시 시야가 2 증가한다고 알려져 있는데
실제로는 시야를 11 로 바꿔줍니다
고스트, 옵저버, 오버로드 : 9→11
스카웃 : 8→11
4-8. 디텍팅 시야
클로킹이나 버러우된 유닛을 탐지할 조건은 다음과 같습니다
1) 적 유닛이 내 시야 범위 안에 있을 것
2) 적 유닛이 내 디텍팅 범위 안에 있을 것
디텍팅 범위라는 것은 공격 범위와 똑같아서 결국 디텍팅 조건은 공격 조건과 완전히 똑같게 됩니다
즉 10의 공격 사거리로 공격이 가능하다는 것은 10의 디텍팅 시야로 디텍팅이 가능하다는 것을 뜻합니다
적이 내 디텍팅 범위 안에 있더라도 시야가 없으면 2번 조건만 만족하기 때문에 디텍팅할 수가 없는데
4-2 에서 말한 대로 클로킹이나 버러우된 유닛에게는 공격 받더라도 시야를 받지 못하기 때문에
이렇게 언덕 위의 러커에게 공격받더라도 캐논은 러커를 디텍팅하지도 공격하지도 못합니다
그리고 시야 값과 디텍팅 시야 값이 같은 공중유닛인 베슬, 옵저버, 오버로드의 경우
시야의 비대칭성과 왼쪽 시야가 짧은 공중유닛의 특성 때문에 아래와 같은 특수한 상황이 나오기도 합니다
베슬의 오른쪽 끝에 있는 다크는 베슬의 시야 범위 안에는 있지만 디텍팅 범위 밖에 있기 때문에 꾸물거리는 것만 보이고 디텍팅은 되지 않습니다
베슬의 왼쪽 끝에 있는 다크는 베슬의 디텍팅 범위 안에는 있지만 시야 범위 밖에 있기 때문에 따로 시야 확보를 해야 다크를 디텍팅할 수 있습니다
4-9. 시야업된 디텍팅 시야
시야 업그레이드가 있으면서 디텍팅 기능이 있는 옵저버와 오버로드는
시야 업그레이드시 디텍팅 시야 또한 11로 늘어나게 되는데
이상하게도 디텍팅 시야 11은 디텍팅의 판정이 달라져서 적 유닛의 충돌박스가 아닌
중심좌표를 기준으로 판정하기 때문에 실제로는 11보다 짧다고 생각하면 됩니다
4-10. 스캔의 시야
스캔은 스캔을 찍은 좌표에(유닛에 찍을 경우 유닛의 중심좌표) 좌/우/상 13px, 하 17px 크기의
시야 10, 디텍팅 시야 10인 공중유닛 'Scanner Sweep' 이 있는 거라고 생각하면 됩니다
같은 시야 10, 디텍팅 시야 10인 공중유닛 베슬과 비교해보면
시야 범위는 베슬과 같지만 충돌 크기가 더 작기 때문에 디텍팅 범위는 베슬보다 약간 더 좁습니다
![]() |
![]() |
심심한 사람만 읽어라.. 베스트 댓글