2019-2 ComputerGraphics Team project로써,
Unity, Vuforia, Arduino 그리고 Bluetooth를 활용한 Coin Dozer 증강현실 앱을 제작했습니다.
Unity와 Arduino를 이용한 혼합현실 Contents 제작하는 것으로 써 제작 목표는 아래와 같습니다.
- 카메라를 통해 타겟 이미지를 인식하고 오브젝트 출력
- 오브젝트 텍스쳐 맵핑
- 오브젝트간의 상호작용
- 아두이노의 센서와 블루투스 통신 모듈을 이용해 현실세계와 게임 속 변화를 실시간으로 적용 (Mixed Reality 구현)
우선 유니티, 뷰포리아, 아두이노를 활용해 진행하는 프로젝트입니다. 따라서 유니티, 뷰포리아, 안드로이드 스튜디오,아두이노의 설치가 필요합니다.
유니티는 Unity 2018.4.11f1 (64-bit)버전을 사용하였으며 안드로이드를 타켓 플랫폼으로 빌드하였습니다.
Minimum API Level은 20
Scripting Runtime Version Setting은 .NET 4.x Equivalent
Api Compatibility Level은 .NET 4.x를 세팅했습니다.
XR Setting을 통해 Virtual Reality Supported를 활성화 하고 Vuforia도 활성화 했습니다.
아두이노는 1.8.10ver를 기반으로 제작하였으며 아두이노 우노를 사용해 제작했습니다.
안드로이드 스튜디오는 안드로이드 기반 블루투스 작동을 위해 유니티에서 사용 가능한 jar파일 제작에 사용하였습니다.
Coin Dozer 오락기를 제작하는 것으로, 유럽 등지의 오락실에 있는 게임기로 간단하게 돈넣고 돈따는 오락기라고 할 수 있습니다.
Coin Dozer 오락기의 동작 과정은 아래와 같습니다.
- 오락기 내부 floor에 동전들이 겹겹이 쌓여있음.
- 동전을 넣으면 Back panal 쪽 하단에서 pusher floor가 앞,뒤로 움직이며 floor에 쌓여있는 동전을 밈.
- User가 동전을 투입.
- 기기내 어딘가에 user의 동전이 쌓이며 pusher에 의해 밀리며 다른 동전이 떨어지게 만듬.
제작할 코드와 문서들입니다.
- [💻] 뷰포리아 이미지 타겟 생성
- [💻] 코인 오브젝트 생성
- [💻] 코인 도저 기기 오브젝트 생성
- [💻] 안드로이드 블루투스 jar 제작
- [💻] 아두이노 회로도 제작 및 부품 연결
- [💻] 블루투스 연결/해제 버튼 생성
- [💻] 유티니에서 블루투스 제어 기능 활성화
- [📗] 유니티내 코인도저 움직임 구현
- [📗] 아두이노에서 코인입력이 오면 앱 내에서 Clone
- [📗] 앱 내에서 코인이 배출구에 빠지면 아두이노 제어를 통해 오프라인 내 동전 배출
- [🔨] 코인 텍스쳐 맵핑
- [🔨] 코인 도저 오브젝트 텍스쳐 맵핑
- [🔨] 아두이노를 설치할 수 있는 동전 박스 제작 및 설치
- [🔒] 테스팅
위 이미지는 이해를 돕기위한 이미지로 실제 안드로이드와 통신하기 보다, 안드로이드 스튜디오에서 제작한 Plugin을 Unity에 import해 사용하고 데이터를 전달한다고 할 수 있습니다.
위 이미지 클릭시 동영상이 재생됩니다.