블록
두 팔의 가드 형태를 유지하는 기존 엔진의 지속 동작.
목적과 상태
EvaluateBlock은 두 팔이 가드 형태를 이루는 증거를 평가합니다. 기존 엔진에 구현되어 있지만 현재 Runner에는 블록 명령이 없습니다. 물리적인 충돌이나 보호 동작의 효과를 측정하지 않습니다.
입력과 관절
코어 어깨·골반과 양쪽 팔꿈치·손목이 필요합니다. PoseNormalizer는 몸통 중심에 대한 손목 위치와 양 손목 간 거리를 보정 시 어깨 너비로 정규화하고 팔꿈치 각도를 계산합니다. 두 팔 모두 사용 가능해야 블록 증거가 유효합니다.
형태와 기본 임계값
| 변수 | 기본값 | 의미 |
|---|---|---|
BlockMinimumWristTorsoY | 0.15 | 몸통 기준 손목 높이 하한 |
BlockMaximumWristTorsoY | 1.5 | 높이 상한 |
BlockMaximumWristTorsoX | 0.9 | 수평 거리 제한 |
BlockMaximumWristDistance | 0.85 | 양 손목 간 거리 제한 |
BlockMaximumElbowAngle | 135° | 팔꿈치 형태 조건 |
BlockEvidenceThreshold | 0.75 | 시작 증거 기준 |
BlockReleaseThreshold | 0.45 | 해제 증거 기준 |
거리 값은 어깨 너비 비율입니다. 증거 점수는 인식 정확도 확률이 아닙니다.
시간 규칙과 상태
블록 증거가 시작 기준 이상으로 0.12 s 유지되면 Started를 내보냅니다. 증거가 해제 기준 이하로 0.10 s 유지되면 Ended를 내보냅니다. 팔 증거를 잃으면 진행 중인 블록은 Cancelled가 됩니다.
후보 단계에서 펀치 준비 플래그를 내리므로 블록과 펀치의 상호작용도 중요합니다. 시작·종료 조건의 차이는 반복 트리거를 줄이는 이력 효과를 만듭니다. 별도의 고정 쿨다운 동작으로 설명하지 않습니다.
오탐과 알려진 한계
손을 얼굴 가까이 올리는 다른 동작, 부분 가림, 화면 밖 손목, 2D 투영 차이는 형태 점수에 영향을 줄 수 있습니다. 몸통과 양팔의 신뢰도 경계를 유지해야 합니다.
검증
기존 엔진과 해당 테스트 소스를 확인했습니다. 이 웹 작업에서는 신체 동작이나 게임의 블록 반응을 검증하지 않았습니다. 현재 상태는 코드 구현입니다.