Skip to content

newbie10001/APP_IoT_PerfectShot_macgyvers_2021

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

퍼펙트 샷 : 만발의 법칙

Logo

퍼펙트 샷 : 만발의 법칙

언제 어디서나 실전보다 실전 같은 사격훈련

목차

  1. 개요
  2. 소개
  3. 시연 영상
  4. 기능 설명
  5. 기기 구성/필수 조건 안내
  6. 기술 스택
  7. 설치 안내
  8. 프로젝트 관리 및 개발 문서
  9. 팀 정보
  10. 저작권 및 사용권 정보

개요 (Abstract)

어느 한 병사가 있었습니다. 이번에 사격훈련을 가는데, 만발을 맞히면 포상을 준다고 합니다. 분명 좋은 소식일텐데도 이 사람은 고민에 빠졌습니다. '어떻게 하면 사격을 연습할 수 있을까?'

thinking_soldier

실제로 총을 쏴볼 수도 없고, 그렇다고 빈 총의 방아쇠를 당겨봤자 내가 잘 쏘고 있는지도 모릅니다. 결국 사격훈련 당일에서야 자신의 실력을 확인하고 그때에만 연습을 하는 수밖엔 없죠.

i got an idea

'생활관에서도 사격 연습을 할 수 있게 만들 수 있을까?'

💡 모바일 가상현실 사격훈련


그러자 우리 모두가 가지고 있는 휴대폰으로 사격 연습을 하면 좋겠다는 생각이 들었습니다. 퍼펙트샷 : 만발의 법칙은 이를 실현시키기 위해 시작한 프로젝트입니다. 시공간의 제약 없이, 안전하게 저비용으로 우리 모두가 사격 연습을 할 수 있도록 도움을 주는 앱을 만들고 있습니다.

sniper

이 앱을 통해 연습하는 모두가 특등사수가 되었으면 좋겠습니다 🔥

소개 (Introduction)

소총에 휴대폰을 거치한 모습
우선, 총에 휴대폰을 매달아서 진행합니다.

정조준하여 휴대폰의 화면을 겨냥한 사진
앱에 있는 표적을 쏘아 맞히는 것이 목표입니다.

블루투스 컨트롤러 사진 넘어가는gif
컨트롤러를 연결하여 방아쇠를 당기는 gif
블루투스 컨트롤러를 이용하여 방아쇠를 당겼을 때 발사가 되도록 할 수 있습니다. 이렇게 하면 더욱 실감 나는 연습이 가능합니다.

(진동 모듈을 부착한 사진) (진동모듈을 부착한 채 반동을 제어하는 사진)
진동 모듈을 통해서 반동 제어를 연습할 수 있습니다.

응시모드실거리사격 블루투스 컨트롤러가 없으시다구요? 걱정마세요. 그런 당신을 위해 응시모드가 있습니다. 조준하고 있으면 발사가 됩니다! 오조준 시에도 발사되기 때문에 잘 보고 있어야겠죠?



다음은 영점사격과 실거리사격입니다. 사격실력에 최대한 많은 도움을 주기 위해 노력하였습니다. 사격을 그 자체로 연습할 뿐만 아니라 사용자 스스로를 피드백시키기 위해서 탄착 지점을 표시합니다.

영점사격 실거리사격
영점사격지 실거리결과
탄착지점을 확인하고 크리크 수정을 할 수 있습니다 자신이 몇 발을 어떻게 어디를 맞혔는지 다 나옵니다🙆‍♂️



victory
이 앱만 있으면 만발에 한 걸음 더 가까워지겠죠?

소개 영상 (Video Clips)

영점 사격

영점사격

실거리 사격

실거리사격

시연 영상

시연영상

기능 설명 (Functions)

1. 가늠쇠 동기화

가늠쇠 동기화하는 장면 gif 가늠쇠동기화화면
가늠쇠 동기화라 함은, 게임 내의 카메라 중앙 지점을 현실 총의 가늠쇠에 맞추는 것을 말합니다. 이러한 카메라의 움직임을 반영하기 위해, 카메라 렌즈 시프트 값을 저장하여 사용합니다.

2. 탄도학

탄도학이미지

탄도학을 구현하였습니다. 총알 오브젝트를 920m/s로 발사합니다. 총구는 가늠쇠 오브젝트의 0.055유닛(현실의 5.5cm에 해당합니다) 밑에 있으며, 아주 미세하게 위쪽을 향하고 있습니다. 덕분에 25m 지점에서 아주 조금 밑, 250m에서 정면을 맞히는 완곡한 포물선을 그리게 됩니다.

3. 크리크 수정

크리크수정하는 크리크 수정은 가늠쇠 동기화를 더 정확하게 교정하는 과정입니다.
현실에서는 총과 사수 간의 오차를 잡는 과정입니다만, 총의 오차를 구현할 수는 없기에 앱 내에서는 카메라 렌즈시프트를 수정하는 과정으로 구현하였습니다.
주의해야 할 점은, 카메라 렌즈시프트 값과 크리크 값은 독립적으로 다루어져야 한다는 것입니다.

4. 영점 사격 / 실거리 사격

영점 사격은 상술한 크리크 수정을 도와주기 위한 사격 과정입니다. 사격에 대한 피드백도 제공합니다

영점사격지 호흡불량, 격발불량 등을 피드백해주며, 영점사격지를 확인하여 자신의 탄착군이 어디에 형성되어있는지를 알 수 있습니다.
실거리타겟 실거리결과 실거리 사격은 100m, 200m, 250m 표적을 순서에 따라 사격하는 사격 과정입니다. 이 표적들은 실제로 해당 거리에 위치해 있습니다. 이에 유념하여 사격해야겠죠? 또한 결과창을 보여주여 탄착지점을 알려주니 이를 보고 사격 실력을 향상시킬 수 있겠네요.

5. 응시 모드

응시모드사격 블루투스 컨트롤러가 없어도 사격을 실시할 수 있는 모드입니다. 옵션 창에서 활성화시킬 수 있으며, 응시하고 있으면 발사됩니다.

6. 블루투스 컨트롤러 연결

블루투스를 연결하는 gif 블루투스 컨트롤러를 연결할 수 있습니다. 블루투스 매니저, 블루투스 컨트롤러로 구성되는데, 아두이노 HC-06, HC-05 모델을 기준으로 제작하였기 때문에 호환성을 위해서 해당 모델을 사용하시길 권장드립니다.

7. 사로 통제

사로통제 사로 통제도 구현하였습니다. 사격장에서 실수하지 않을 수 있겠죠?

기기 구성 / 필수 조건 안내 (Prerequisites)

해당 프로젝트는 아두이노로 제작한 블루투스 컨트롤러를 이용합니다. 현재로서는 안드로이드 기기만 지원하지만, 추후 iOS를 지원하도록 할 것입니다.

  • 최소 사양 : 안드로이드 운영체제 4.4(KitKat) 이상
  • 아두이노 블루투스 모듈 hc-05, hc-06 기종 권장

기술 스택 (Technique Used)

📱 App

  • Unity 3D (C# Script)

🕹 IoT

  • Arduino

설치 안내 (Installation Process)

✔ 유니티 프로젝트 이어서 하기

$ git clone git주소
유니티 허브에서 프로젝트 추가 버튼 누르기
.\APP (Android)\PerfectShotVR 등록

몇몇 기능은 에셋스토어에서 유료구매하였습니다. 따라서 완전한 개발환경을 갖추기 위해서는 다음 에셋을 구매해주시기 바랍니다.

Releases에서 시험용 앱을 다운로드 받을 수 있습니다

📝 프로젝트 관리 및 개발 문서 (Project Management)

팀 정보 (Team Information)

⚙ 맥가이버즈

우리는 상상을 현실로 만듭니다. 상상도 못한 방식으로요.

🔨 최성민 : 팀장, 앱 개발, 프로젝트 총괄 (JadenChoi2k, jkya02@gmail.com)

🔧 마승훈 : 팀원, 컨트롤러 개발, 모델링 및 디자인 담당 (sseungh, ink0513@unist.ac.kr)

저작권 및 사용권 정보 (Copyleft / End User License)

This project is licensed under the terms of the MIT license.

라이선스 비교표(클릭)

Github 내 라이선스 키워드(클릭)

[참조] Github license의 종류와 나에게 맞는 라이선스 선택하기(클릭)

About

전군장병용 모바일 VR 사격훈련 시스템

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published