동작 인식 FIT-TAG 센서 기반 사이클링 피트니스 게임
실내 자전거와 자체 개발한 FIT-TAG 센서를 Unity와 연동하여 즐길 수 있는 인터랙티브 피트니스 게임입니다. 플레이어의 실제 자전거 주행 속도와 움직임이 캐릭터에 실시간으로 반영되며, Cinemachine을 활용한 카메라 연출과 다양한 지형 연출을 통해 실제 여행을 하는 듯한 몰입감을 제공합니다. 콘텐츠는 미션형 지도 기반으로 구성되어 있으며, 첫 번째 여행지는 아시아의 소도시를 배경으로 설계되어 힐링과 운동의 경험을 동시에 제공합니다.
| 구분 | 내용 |
|---|---|
| 개발 기간 / 역할 | 2022.08 ~ 2023.01 (총 6개월) 팀 프로젝트 (개발인원 3명) 맵 구현 · 카메라 연출 · UI/로컬라이징 · 최적화 담당 |
| 기술 스택 | Unity3D (C#) Cinemachine – 카메라 연출 BLE (FIT-TAG 센서) – 실시간 속도/가속도 반영 Unity UI – HUD, 랭킹/결과 UI 구현 Localization – 한국어/영어 지원 MeshBaker – 메쉬 병합 및 최적화 플랫폼 – Android |
| 주요 기여 | - 기존 프로젝트 분석 및 버그 수정 - 아시아 맵 구현 및 DollyCart 기반 스테이지 연출 - Cinemachine Virtual Camera 활용한 카메라 연출 - 랭킹 시스템 및 로컬/글로벌 UI 구축 - 영어 버전 로컬라이징 및 UI 적용 - MeshBaker 활용 성능 최적화 - QA 및 테스트 진행 |
CYCLING_TOUR/
├── AsiaMap/ # 게임 진행용 맵 기능 및 카메라 이동
├── Sensor/ # FIT-TAG 센서 통신 및 캐릭터 연동
├── Lobby/ # 시작 로비 및 사운드 설정
├── UIManager/ # 각종 UI 뷰 관리
├── GameFinish/ # 종료 후 결과 및 리워드 화면
├── Server/ # 서버 연동 관련 관리 모듈
├── Scripts/
│ ├── FadeEffect.cs # 씬 전환용 페이드 효과
│ ├── AspectRatioEnforcer.cs # 화면 비율 고정
│ └── CSVReader.cs # 설정용 CSV 데이터 파서
| 기능 구분 | 설명 |
|---|---|
| Cinemachine 기반 카메라 이동 | - 캐릭터 주행 속도에 따른 카메라 자동 전환 - 특정 구간(산악/자갈/모래) 진입 시 시네마틱 연출 |
| FIT-TAG 센서 연동 | - BLE 통신으로 실내 자전거 속도 → 캐릭터 이동 속도에 실시간 반영 - 가속/감속, 회전 등 실제 운동 데이터를 직관적으로 전달 |
| 아시아 맵 콘텐츠 | - 소도시·자연 지형 포함 - 체크포인트, 결승선, 보상 아이템 배치 |
| 파일명 / 모듈 | 역할 및 설명 |
|---|---|
L_ESP32BLEApp.cs – 센서 연동 |
- ESP32 BLE 장치 연결 및 데이터 수신 - 가속도(12bytes), Quaternion(16bytes) 데이터 처리 - Man_Move / Woman_Move 스크립트로 전달 |
Man_Move.cs – 캐릭터 이동 |
- 센서 입력값 기반 가속/감속 구현 - 임계값 이상 시 전방 이동 및 애니메이션 실행 |
CM_VCamCtrl.cs – 카메라 제어 |
- 속도/지형에 따른 가상 카메라 우선순위 전환 - Cinemachine Virtual Camera 활용 |
AsiaMap_UIManager.cs – 맵 상태 관리 |
- 산악, 자갈, 모래 등 지형 상태 체크 - UI와 연동해 난이도 및 진행 상황 표시 |