Application 기술 스택
- Platform: PC, Nintendo Switch (Unity 6)
- Server: Platform 미정 (C++ 개발 중)
플레이 key
- 좌우 이동: AD(1p), ←→(2p)
- 점프: W(1p), ↑(2p)
- 라켓 휘두르기:
- Swing (클리어): G(1p), .(2p)
- Action Swing (클리어를 제외한 스매시, 드롭샷 등 특별한 타구): H(1p), /(2p)
타구 결정하기
라켓을 스윙하는 순간의 캐릭터 위치, 셔틀콕 위치, 네트와의 상호작용을 통해 타구를 결정한다.
-
셔틀콕을 때리는 높이(y좌표)
- 네트의 윗쪽 부분보다 낮은 위치에서 셔틀콕을 스매시로 치면 네트를 넘길 수 없기에 스매시가 나가면 안 된다. 네트보다 높은 위치에서는 스매시 동작 가능. 다만 스매시를 한다고해서 무조건 셔틀콕이 상대방 코트로 넘어가는 것이 보장되는 것은 아니다. 계산된 위치에따라 네트에 걸릴 수도 있다.
-
셔틀콕과 네트와의 거리(x좌표)
- 거리가 멀면 스매시나 드롭샷이 좀더 높은 위치에서 시작되거나 X축 각도가 더욱 수평에 가까워야 한다.
- 현재 short service line을 두어 라인보다 안에서 라켓을 휘두르면 푸시 또는 헤어핀이 되도록 설계
-
힘의 세기(chargeGuage)
- 타구의 종류를 결정하는 척도
- 키를 꾹 누르고 있으면 차지(셔틀콕의 비거리에 영향), 떼면 휘두르기를 구현하자. 차지 중엔 캐릭터의 이동 속력을 좀 느리게 할 수도 있겠다. 차지를 오버해서 모아 너무 세면 홈런 될 수도.
-
정확도

개발 중 이미지
- 셔틀콕을 칠 수 있는 정확도 box 형태. box를 벗어난 스윙은 셔틀콕에 맞지 않는다.
- 대략 정확도의 기준점이 되는 위치가 있다. 그 기준점에 맞추면 적절히 날아간다.
- 캐릭터를 기준으로 기준점 안쪽(캐릭터와 기준점 사이)으로 맞으면 타구의 각도가 더 커져서 날아간다. 타구가 좀더 높게 뜨기 때문에 반격 당하기 쉽다.
- 캐릭터를 기준으로 기준점 바깥쪽으로 맞으면 타구의 각도가 더 작아진다. 네트에 걸리기 쉽다.

-
타구는 크게 2가지로 분류된다. 기본 스윙과 액션 스윙이다.
-
기본 스윙은 클리어로 구현
- 클리어: 네트의 어느 위치 및 높이에서도 구사할 수 있다.
-
액션 스윙은 스매시, 드롭샷, 드라이브, 푸시, 헤어핀으로 이루어져 있다.
네트의 살짝 위를 지나도록 보내는 기술
- 스매시: 셔틀콕을 때린 순간의 높이가 네트의 높이보다 높고 세기가 임계점 이상으로 강할 때
- 드롭샷: 셔틀콕을 때린 순간의 높이가 네트의 가장 높은 곳과 네트 높이의 중간 지점의 사이에서 때리는 세기가 임계점 이하로 약할 때
- 드라이브: 셔틀콕을 때린 순간의 높이가 네트의 가장 높은 곳과 네트 높이의 중간 지점의 사이에서 때리는 세기가 임계점 이상으로 강할 때
- 푸시: 쇼트 서비스 라인의 안쪽에 들어와 있고 셔틀콕을 때린 순간의 높이가 네트의 높이보다 높을 때 세기를 구분하지 않는다(아래로 찍는 각도가 스매시보다 더 가파르다).
- 헤어핀: 쇼트 서비스 라인 안쪽에서 세기를 구분하지 않는다.


출처 - 나무위키 (https://namu.wiki/w/배드민턴)