히트박스

덤프버전 :


파일:다른 뜻 아이콘.svg
은(는) 여기로 연결됩니다.
버튼형 컨트롤러에 대한 내용은 조이스틱 문서
조이스틱번 문단을
조이스틱# 부분을
, 피자에땅의 세트메뉴에 대한 내용은 피자에땅 문서
피자에땅번 문단을
#s-번 문단을
피자에땅# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
참고하십시오.





Hitbox / Hit Mark

1. 개요
2. 히트박스란?
3. 대전 격투 게임에서의 히트박스
3.1. 히트박스 해석시의 주의사항
4. 슈팅 게임에서의 히트박스
5. 예시


1. 개요[편집]


게임에서 위치, 공격, 피탄 등을 판별하기 위해 오브젝트나 캐릭터를 덮어서 그려놓은, 평소에는 보이지 않는 박스(사각형)를 말하며, , 스페이스 인베이더에서 시작해서 충돌 감지가 필요한 모든 게임에 변용될 정도로 아주 오래된 아이디어이다. 2D 대전 격투 게임에서는 캐릭터 성능을 좌우하는 기준으로 쓰기도 한다.

히트박스가 겹치는지 매 순간 검사하는 알고리즘을 충돌 감지 또는 충돌 판정(Collision Detection/衝突判定)이라 하며 각각의 판정이 닿는 순간 어떠한 일이 발생하게 설정해둔 것이다. 여기서 충돌 판정을 줄여서 판정이라고도 하며[1], 이러한 판정에는 여러가지 종류가 있다.


2. 히트박스란?[편집]


다음과 같은 상황을 예로 들어 생각해보자.
  • 인간형 플레이어 캐릭터
  • 인간형 적이 칼로 플레이어를 내려친다.
이 상황에서 '칼에 맞았다'라는 걸 프로그램이 어떻게 판단할까?

상식적으로 생각해봤을 때 '칼날이 플레이어의 몸체가 차지하는 공간을 지나갔다.'가 정답일 것이다. 물론 틀린 말은 아니며 충분히 구현 가능하다. 하지만 인간형 물체가 굴곡져 있는지라 이를 기준으로 복잡한 범위를 설정하면 계산할 양이 많아진다. 게다가 극도로 현실적인 시뮬레이션을 구현하려는 게 아닌 이상 '맞았다', '안 맞았다'를 대략적으로 판단만 하면 겉보기에는 사실적으로 보이게 되므로 굳이 굴곡까지 다 고려하는 방법은 쓸데없는 연산을 늘릴 뿐이다. 따라서 몸체 위에 적당히 네모난 박스를 씌우고 이 박스들이 움직이면서 충돌했느냐에 따라 칼에 맞았는지 안 맞았는지 판단하는 것이다.

앞서 언급했듯 퐁이나 스페이스 인베이더 같은 단순한 게임의 경우 사각형 하나만 써도 되고 액션 게임이나 FPS 등 정교한 판단을 요구하는 경우 부위별로 히트박스를 여러개 만들기도 한다. 물론 히트'박스'라고 그 범위가 사각형이나 직육면체일 필요는 없으며, 굳이 공간에 한정할 필요도 없다. 그 사례로 벡터 기반의 게임은 사각형이 아닌 다른 도형을 히트박스로 사용하기도 하고, 리듬 게임에서는 시간차와 입력 위치를 히트박스로 사용하기도 한다. 심지어는 직접 '박스'를 그려넣지 않아도 일반적인 로직으로 구현할 수 있는데, 히트박스 자체가 판정 로직을 '단순화한 가상의 물체'로 정의한 것이기 때문에 이런 게 가능한 것이다.


캐릭터가 아슬아슬하게 적의 공격을 회피하는 정교한 히트박스를 연출하는 움짤류를 히트박스 포르노라고 하는듯하다.


3. 대전 격투 게임에서의 히트박스[편집]


파일:attachment/daimon-3c1.png
파일:attachment/daimon-3c2.png
파일:attachment/SVC쿄레기.jpg

사기판정의 예인 KOF 98 다이몬 고로두상치기의 히트박스[2]와 쓰레기 판정의 예인 SVC 쿠사나기 쿄의 앉아 B의 히트박스.

공격 판정, 피격 판정, 밀어내기 판정, 장풍 판정, 반격 판정, 가드 판정(가드 포인트) 등으로 나누어지며 스샷에서는 공격 판정은 빨간색, 피격 판정은 파란색, 밀어내기 판정은 하늘색으로 되어 있다.[3] 위의 예를 보면 고로의 경우 공격 판정(빨간색)이 피격 판정(파란색)보다 멀리 있기에 고로의 공격 판정이 자신의 피격 판정에 닿지 않게 하면서 자신의 공격 판정을 고로에게 맞추려면 사정거리가 길거나 하단을 노려야 할 것이다. 하지만 두상치기는 보통 대공으로 사용되기에 고로가 유리할 수 밖에 없다. 반면 쿄의 경우 피격 판정(파란색)이 공격판정(빨간색)을 둘러싸는 형태로 바깥쪽에 있기 때문에 약점을 드러내놓고 싸우는 격이다. 섣불리 내밀다간 공격이 나가더라도 얻어맞게 된다. 또한 각 판정의 색은 사용하는 툴이나 설정에 따라 바뀔 수 있기에 절대적인 것이 아니지만 일반적인 상식에 최대한 맞추어서 툴이 제작되는 경향은 있다.

3D방식의 대전 격투 게임에서는 히트박스가 3D 폴리곤의 형태로 나타나지만, 스트리트 파이터 4를 필두로 한 2D 시절의 게임성을 그대로 가지고 있는 게임의 경우 대부분 그래픽만 3D로 구현하고 2D 히트박스를 사용하며 횡이동 등이 없기 때문에 3D 대전 격투 게임이 아니라 '2D방식의 대전 격투 게임'으로 분류한다.[4]

2D 대전 격투 게임에는 기본적으로 3가지 종류의 피격 판정이 있으며 특수한 피격 판정까지 합하면 4~5개쯤 나오며 스트리트 파이터 4는 가드 판단 판정(이 범위에 들어가야 뒤로 입력했을 때 가드 모션이 뜸), 장풍 무적 피격 판정(타격에는 히트하는 피격 판정이지만 장풍은 지나가는 피격 판정) 등 정말 복잡하기 그지없는 히트박스를 보여준다.

  • 중심축(Axis) - 캐릭터의 현재 위치를 특정하기 위해, 히트박스의 위치를 고정하기 위해 사용하는 축. 보통 발 아래 중심부에 위치한다.[5] 캐릭터들의 위치관계의 기준이 되므로 역가드공격의 기준이 되며 잡기판정의 피격 범위로 쓰일 때도 있다.
  • 공격 판정(빨간색) - 타격 공격판정. 이곳과 상대의 피격판정을 닿게 하면 때리는 것으로 인식이 된다. 넓을 수록 유리하며 이것이 화면 전체에 있는 것이 화면 전체판정.
  • 피격 판정(파란색) - 타격 피격판정. 이곳과 상대의 공격판정이 닿으면 플레이어가 맞는 것으로 인식이 된다. 작을수록 유리하며 이것이 없어지거나 작아질 때가 있는 데 이것이 흔히 말하는 무적시간이다. 간혹 특수한 공격으로만 공격이 가능한 피격판정도 존재한다.[6] 또한 카운터 히트를 유발하는 특수한 피격판정인 '피 카운터 피격판정'도 있다.[7] 머리 피격판정 등 종류에 따라 피격시의 모션이나 반응을 차별화하는 것이 가능하다.[8]
  • 잡기 판정(노란색) - 잡기 공격판정. 이 판정이 상대의 특정범위에 닿으면 잡는 것으로 인식한다.[9] 보통은 점프해서 잡기를 무효화 하는 방법으로 피하지만 공중에 뜬 상대만 잡는 잡기판정도 있고, 점프한 지 얼마 되지 않았을 때는 잡지를 못 피하도록 설정된 게임도 있다.[10] 상대가 쓰러진 상태 등 판정이 상대에게 닿더라도 잡지 못하게 막아놓은 경우도 있다.
  • 잡힘 판정 - 잡기 피격판정. 이 판정이 따로 있는 경우 밀어내기 판정 대신에 상대의 잡기판정의 피격 범위로 사용되며, 이 범위가 사라진 상태를 잡기무적의 한 종류로 분류한다.[11]
  • 밀어내기 판정(하늘색/흰색/초록색) - 충돌 판정[12], 몸 판정이라고 하는 사람도 있는데, 충돌 판정은 충돌 감지(Collision Detection)의 일본어 번역 '衝突判定'와 겹치고, 몸 판정은 피격 판정과 혼동이 있을 수 있다. 일본어로는 押し合い判定(밀어내기 판정). 캐릭터들이 겹쳐질 수 없도록 하는 판정인데, 이 판정은 서로 겹쳐지려 했을 때 경계선까지 서로를 밀어내며[13] 보통 앉아 있는 것과 서 있을 때의 크기가 다르다. 잡기판정의 피격 부분으로 쓰이거나, 무적상태를 공격할 수 있는 공격에 대해서 피격 판정 대신 쓰일 때도 있다.[14] 또한 역가드 공격을 쓸 때 상대의 머리 뒤로 갈 수 있느냐 없느냐를 결정하는 요소가 된다. 밀어내기 판정이 충돌하는 순간은 도트 그래픽과 히트박스가 일치하지 않을 때가 있으니 주의해야 한다(실제 판정이 아닌 약간 틀어진 판정이 화면이 표시됨.).
  • 장풍 판정 - 장풍 전용 피격판정. 장풍 또는 장풍 상쇄 가능 기술 등에 붙어있는 판정으로 장풍판정끼리 닿으면 서로의 기술이 소멸된다. 장풍의 종류에 따라 우선순위/강약이 있는 경우(예를 들면 한쪽이 왕장풍일 경우)에는 우선순위가 높은 장풍이 상대의 장풍을 뚫고 지나간다. 공격이 아닌 '장풍이 닿았는지'를 판단하는 장풍 상쇄 판정을 따로 설정하는 경우가 있는데, 타격 공격 판정과 이걸 합치면 훌륭한 장풍 상쇄 기술이 탄생한다.[15]
  • 반격 판정 : 여기에 공격판정이 닿으면 반격 동작이 나간다. 기본기/필살기 구분, 지상/공중 구분, 하단/상중단 구분, 모든 것을 반격가능 등으로 반격이 가능한 기술의 속성이 지정된 경우가 많으며, 이 조건을 만족하더라도 반격 판정에 닿지 않은 채 피격 판정을 공격받은 경우는 반격에 실패한다.
  • 기타 - 가드 포인트 등의 판정 범위를 표시하는 히트박스.

참고로 판정이 완전한 좌우 대칭이 아닐 경우 1P의 위치일 때와 2P의 위치일 때 중심축 포함해서 도트 그래픽을 기준으로 1도트씩 틀어지게 된다. 같은 공격을 해도 1P쪽이 상대쪽으로 1도트 더 뻗어있어서 사정거리가 긴 셈이다. 그래서 1P와 2P의 차이가 클 것 같지만 2P쪽은 반대로 피격 판정이 우측으로 물러나있는 셈이라 사실은 큰 차이가 없다. 1P에서 측정한 히트박스를 좌우 반전한다고 해서 2P의 것이 되지 않으니 주의.


3.1. 히트박스 해석시의 주의사항[편집]


흔히 돌아다니는 히트박스짤은 공격하는 순간만을 보여주기 때문에 전후과정이 생략되어 있다. 하지만 실제 동작과 성능은 그 전후과정을 포함한 것이기 때문에, 실제 그 기술이 좋다 나쁘다를 따지려면 전체동작의 히트박스를 전부 봐야되고, 모션간에 얼마나 지속되는지도 봐야 한다. 그러므로 제대로 된 공략이라면 이렇게 모든 과정의 히트박스가 다 나와있거나#, 동영상, 움짤을 활용해 전체동작을 보여준다.

격투게임에서 제일 중요한 것은 무엇보다 발동속도와 리치, 그리고 거둬들이는 속도이며, 그 다음으로 볼 것은 공격판정이 어디에 치우쳐 있나를 결정하는 일명 '타점', 그리고 공격판정의 지속시간이다. 발동이 빠르면 상대보다 먼저 때릴 수 있고, 리치가 길면 더 먼 곳의 상대를 견제할 수 있으며, 거둬들이는 속도가 빠르면 빈틈을 덜 잡히기에 안전하다. 타점의 경우에는 판정 자체가 엄청 넓으면 좋지만, 그런 기술은 잘 없고, 어디 치우쳐져 있으면 그 쪽으로 얼마든지 쓸만하고, 그 다음으로는 상대방이 앉았을 때 닿느냐 아니냐의 문제를 고려하게 된다. 지속시간의 경우 굳이 날카롭게 사용할 이유도 없으며, 점프기본기라면 그 자체만으로 상대방에게 상당한 압박감을 안겨줄 수 있다. 실질적으로 '판정이 좋다'라는 것은 전체적인 성능평가에서 굉장히 후순위에 있다. 극단적인 예로 준비동작 중에 무적이 하나도 없다가 공격하는 순간에 전신 무적이 1프레임만 있는 기술이 있다고 치자. 이 기술의 판정을 공격하는 순간만 떼어서 보면 피격 판정이 아예 존재하지 않기 때문에 엄청 좋은 기술로 보이지만 무적은 1프레임 밖에 없고 전후로 무방비이므로 무적시간이 의미가 없고 써봐야 씹히기만 할 것이다.[16]

게임의 화면 표시와 실제 판정 계산의 타이밍이 완전히 일치하지 않을 때가 있으며 히트박스 툴은 이를 여과없이 보여줄 때가 있는데, 이로 인해 동작과 히트박스가 어긋날 때가 있다.[17] 화면과 다른 실제 판정인 것이니 맞는 것 아닌가?라는 의문을 품을 수 있으나 어차피 게임 전체가 1프레임씩 틀어져있는 상황이라, 공략 등에 사용하려면 동작에 맞춰서 역산을 하는 것이 이치에 맞다.


4. 슈팅 게임에서의 히트박스[편집]


파일:attachment/hitmark_dariusgx.png
다라이어스 외전의 예.
노란 부분이 히트박스이며, 2.7버전에서 1P C + 2P C로 디버그 모드로 들어간 뒤 Hit Mark를 ON으로 설정하여 확인할 수 있다.

파일:attachment/c0015828_23373218.jpg
스트라이커즈 1945 II 기체들의 피탄 판정

피탄 판정 역시 히트박스의 일종이다.

대전 격투 게임과는 달리 각 플레이어별(적 포함)로 탄환 판정과 피탄 판정으로 나뉘는데, 자신의 탄환이 상대방의 기체에 닿으면 그것에 대해 조건 처리를 하면 된다. 이 히트박스가 그래픽과 거의 맞지 않는 것이 탄막 슈팅 게임. 이 경우 플레이어의 기체와 적 탄환에 히트박스를 가급적 작게 만들어, 보기와 달리 요리조리 회피가 가능한 탄막을 구현한다. 그래서 탄막 슈팅 게임만큼은 '보이는 게 다'가 아니다. 처음 보는 사람은 "사람이 깨라고 만든 거야?"라고 생각하지만, 앞서 말했듯이 히트박스가 작아서 끄트머리가 살짝 닿는 정도는 허용되므로 다른 의미로 '깨라고 만든 셈'이다.

건 슈팅 역시 히트박스를 활용한다. 덕헌트 등에 쓰였던 재퍼가 대표적인 예.


5. 예시[편집]


좋은 히트박스의 예는 다음과 같다.

파일:attachment/daimon-j-d.png
KOF 98의 다이몬 고로 점프 D. 통칭 발로 쏘는 장풍.

파일:dlpVXHM.png
KOF 2002 김갑환의 점프 A. 통칭 김가불. 공격 판정이 중심축의 좌측까지 넘어와있어서 지옥을 보여준다. 밀어내기 판정도 작아서 상대와 접촉했을 때 밀려서 상대 등뒤로 넘어가더라도 공격 판정이 상대에게 닿는다. 히히 정가드일까 역가드일까 나도 몰라!

파일:attachment/shoryuken.png
스트리트 파이터 2승룡권(상승 중일 때). 이쪽은 무적기라 준비동작 포함해서 피격판정과 잡힘판정이 사라지는 구간이 존재하고[18] 공격판정도 아스트랄하게 넓다. 이에 대한 내용은 매직 리치 참조.

구려터진 히트박스의 예는 다음과 같다.

파일:external/c2down.cyworld.co.kr/download?fid=6422171e14a0060031c8171ea54ad622&name=%EC%95%89%EC%95%84%EC%95%BD%EB%B0%9C.gif

기본기가 가장 구리기로 악명이 높은 KOF 2002 쿄의 히트박스. 쿄레기 문서 참조.

파일:external/f98e2d54d6c1e7ddf6edc06e3d51285246caf1bcfe0d16a2840c076bc8645b1e.jpg
많은 격투 게임이 사각형의 히트박스를 채용하고 있지만 마블 VS 캡콤 3나 스매시브라더스 시리즈는 원형의 히트박스를 사용한다.[19]

파일:qIfvv.png
FPS 게임에서의 히트박스의 예시. 사진 속 캐릭터는 CS:GOGIGN이다.
파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-12-27 22:00:46에 나무위키 히트박스 문서에서 가져왔습니다.

[1] 몸을 서로 밀어낸다는 뜻의 밀어내기 판정과는 구분된다. 공격 판정/피격 판정도 충돌 판정의 하나인 것.[2] 그림만 보면 이게 왜 사기판정인가?라고 생각할 수 있지만 두상치기는 발동속도가 매우 빠르고 피격 판정이 앉아있는 자세에서 대각선뒤로 쭉 물러났다가 원을 그리듯이 회전하는 느낌으로 이동하기 때문에 공중에 있는 상대가 고로를 공격하기 매우 힘들다. 1타 발동속도 4프레임, 2타 발동 8프레임. 중심축은 1타 기준 머리 좌측 외곽선, 2타 기준 오른팔 팔꿈치의 좌측 외곽선 근처에 있으며 준비동작의 피격 모션 우측 경계선이 1타 모션의 가슴의 중앙부분 근처까지 물러나있다. 전체를 gif로 만들면 공격이 갑자기 쑥 튀어나오는 느낌으로 보일 것이다.[3] 간혹 빨간색, 파란색 등이 사격형 안에 꽉 차있는 스샷도 있는데 유저들이 편의를 위해 직접 편집해서 비워진 부분을 채우거나, 툴에 따라서 채우기 옵션을 지원하는 경우가 있어서 그런 것이다. 보통은 테두리만 나온다.[4] 스매시브라더스 시리즈는 횡이동 등이 없는 2D의 게임성을 가지고 있지만 초반에는 대부분의 판정을 3D로 구현을 했다. 이와 관련된 해프닝으로 대난투 스매시브라더스 DX요시의 잡기 히트박스는 요시의 혀를 따라가는데, 하필이면 혀의 Z축까지 옮겨가는 바람에 분명 통과했는데도 안 잡히는 경우가 허다했다. 현재는 모두 잘 정렬되어 2D 히트박스와 별 다를 바는 없다.[5] 1도트 단위로 체크하는 게임에서는 캐릭터의 크기가 짝수가 아니라 몸의 정 중앙에 오지 못할 때도 있어 1P와 2P의 중심축 위치가 1도트 다른 경우가 있지만, 히트박스의 위치도 이에 맞춰서 보정이 들어가 1P와 2P의 히트박스는 완전히 대칭을 이루게 된다.(중심축만 틀어진 상태)[6] 다운 공격, 절대판정, 액티브 스트라이커 등에 사용하게 된다. 스파3 서드에서는 공격시 휘두르는 팔이나 다리에 발생하는 특수한 피격판정이 있는데, 장풍에는 히트하지 않지만 다른 공격에는 맞는다.[7] 이 부분에 공격이 맞으면 평소보다 큰 대미지를 입게 된다. 스파2의 류의 기절 시, 타이거 어퍼컷 사용 시에 발생한다.[8] 복부에 맞으면 배를 움켜쥐고 비틀거리고, 머리에 맞으면 머리를 뒤로 젖히는 등의 연출이 가능하다.[9] 게임마다 구현방법이 다르다. KOF 94~95의 경우 기본잡기는 잡기 피격판정, 커맨드잡기는 상대의 중심축이 잡기판정 안에 들어와야 잡힌다.[10] 용호의 권 2가 대표적인 예.[11] 예를 들면 KOF에서는 쓰러졌다가 일어난 직후, 방어 동작 중에 이 판정이 사라진다.[12] 해외 유저들이 쓰는 영어 용어 중 Collision Box를 번역한 것.[13] 그렇기 때문에 두 캐릭터가 서로 가까이 다가갈 경우 스쳐 지나가지 않고 제자리에서 이동 모션을 취한다. 그리고 잡기 한 세트 벨트스크롤 액션 게임은 근접할 경우 자동으로 잡기가 실행되는데 역시 원리는 같다. 그리고 거기서도 잡기 공격 한 세트[14] 스파3의 슈퍼 아츠, KOF XV절대판정 기술은 상대가 피격 판정이 없어도(무적) 밀어내기 판정을 공격한다.[15] KOF의 황물기, 독물기가 이에 해당한다.[16] 반대 예시로 좋은 것이 KOF 2002 빌리 칸의 앉아A인데 공격하는 순간의 판정만 떼어서 보면 대단히 구려보이는데도 불구하고 작중에서 가장 악랄한 견제 기본기로 악명높다.[17] 예를 들면 스파2의 경우 주먹이 나간 순간보다 1프레임 느리게 공격판정이 표시되고, KOF의 경우 1프레임 빠르게 표시될 때가 있다. 동작과 히트박스가 바뀌는 순간이 문제인 것이라 천천히 움직일 때는 히트박스 내용과 동작이 일치될 때까지 기다린 후 확인하면 되는데, 점프나 이동 등 1프레임 단위로 움직이는 상황에서는 개판이 된다. KOF 94의 경우 딥스위치를 이용한 디버그 모드에서 히트박스를 볼 때도 화면보다 1프레임 빠르게 표시되는데, 95부터 동작에 타이밍을 맞춰서 히트박스가 변화하도록 개선되었다.[18] 때문에 둘이 동시에 승룡권을 쓰면 서로 때리지 못하고 공중에서 서로 몸만 부대끼다가 내려오고, 시전에 약간의 시간차가 있으면 먼저 쓴 쪽이 격추당한다.[19] 다만 스매시브라더스의 경우 초대작은 육면체 히트박스를 사용했다. 원형으로 바뀐 건 DX 부터.