이번 프로젝트는!
AR컨텐츠 들을 대학교 공간 내에서 플레이 할 수 있도록 하기 위해 개발하기 시작하였습니다.
개발 목적
프로젝트의 목적으로는 크게 아래 2가지를 생각하고 개발하였습니다.
1. 대학교 공간과 사용자가 AR기능들을 이용하여 상호작용을 할 수 있도록 하는 환경 구축
2. 추가적으로 학교생활을 도와줄 수 있는 부가 기능들
2가지의 큰 목적을 가지고 개발할 기능들을 정리해 보았습니다.
1. 카메라를 이용한 AR 길찾기
2. 캠퍼스 공간상의 액터 설치를 통한 공간 데코 컨텐츠
3. AR기술을 이용한 간단한 미니게임
4. 부가기능들
- 유저 로그인
- GPT를 이용한 학교 정보 챗봇 개발
- 수업 및 일정관리 시간표 기능
- 학교 중요 공지등을 제공하기 위한 웹 기능
- 건물별 정보 제공 기능
위의 기능들을 개발하기위해 아래와 같은 환경들을 사용하여 구축하였습니다.
- 기본 틀은 아래 포켓몬고를 모티브로 개발하였습니다. -
프로젝트 완성 기능들
맵 구성 및 사용자 환경 구성
- MapBox의 기능들을 이용해서 맵을 구성
- 각 건물의 정보들은 json데이터를 이용해서 정리 및 위도 경도에 맞게 위치시킴
- 현재 사용자의 모바일 GPS를 통해 위도,경도에 맞는 위치에 캐릭터를 위치시킴
- 하단버튼을 통해 회전모드, 이동모드를 설정가능 (기본적으로 드래그를 통해 지도 조작 가능)
유저 관리 기능
- 최초 접속시 자신의 정보를 설정 가능
- 사용자의 캐릭터를 앱 내부 재화인 GNU 코인을 통해 변경 가능
수업 /일정 관리 기능
- 일정과 메모 데이터를 json으로 따로 저장하여 관리
- 추가/삭제/ 수정 등의 기능들 사용 가능
길찾기 기능
- 특정 지점(건물 등)의 좌표들을 json데이터로 관리
- 거리 순으로 다익스트라 알고리즘을 이용하여 길찾기 구현
AR 컨텐츠
- AR컨텐츠로는 액터를 설치하여 공간을 꾸밀 수 있는 "Deco" 컨텐츠와 앱 내부 재화를 구할 수 있는 미니게임 2가지로 이루어져있습니다.
- Deco 컨텐츠의 경우 하단의 조이스틱과 버튼들을 이용하여 설치 할 수 있고 자세한 내용은 아래 글에 정리되어있습니다.
- 미니게임은 아래의 영상과 같은 컨텐츠들로 구성해 보았습니다.
GPT를 이용한 챗봇
- 앱 내부에 생성형 AI인 ChatGPT를 앱에 탑재하여 접근성을 향상시키고, TTS를 접목시켜 사운드를 통해 정보를 제공받을 수 있도록 구성해보았습니다.
- 구체적인 내용은 아래 글에 정리되어 있습니다.
웹뷰를 이용한 공지 기능
- 학교 공지와 식단 등을 크롤링하여 데이터베이스에 저장후 웹서버를 통해 사이트를 구성하여 보았습니다.
- 유니티에서 GREE에서 배포하고 있는 웹뷰를 통해 구성한 사이트를 유니티 상에서 확인할 수 있도록 개발하였습니다.
- 구체적인 내용은 아래 글에 정리되어 있습니다.
개발 중 발생한 문제
프로젝트를 진행함에 있어 여러가지 문제를 만나 처음 계획한 대로 모두 구현하지는 못하였습니다.
그 중 가장 큰 문제는
휴대폰 내에서 GPS위치를 받아와 유니티 환경상의 정확한 위치에 매칭 시키는 것
- 아래 처럼 휴대폰 자체에서 GPS 위도 경도를 불러오는 방법을 채택하여 개발 하였으나, 틱 단위로 최신화 하는 과정에서 좌표들이 계속해서 변경되며 정확한 위치를 표현하는데에 문제가 있음을 발견하였습니다.
- 기존 개발 계획은 공간상에 투영하여 사용자가 좀 더 쉽게 사용할 수 있도록 개발할 계획이였으나, GPS가 정확하지 않아 액터들을 정확한 위치에 생성하는 것이 어려워 지도상에 경로를 표현하는 방법으로 구현하였습니다.
- 마찬가지로 학교 내부의 공원같은 공간에 액터들을 배치하고 그 위치를 데이터베이스에 저장하여, 학생들이 공간을 꾸밀 수 있게끔 구현하려 하였으나, 정확한 위치를 잡을 수 없기에 간단히 기능들로만 구현하였습니다.
문제 해결책들
GPS의 정확한 위치를 잡을 수 없어서 발생한 문제들을 해결하기 위한 해결책으로는
1. QR코드 활용
2. 비콘의 무선 통신을 이용한 위치 추적 & 공간 정보에 대한 정보 학습을 통한 위치 추정
크게 2가지가 있을것 같습니다.
QR코드의 경우 이미 유니티 상에서 QR을 생성하고 읽어오는 기능이 존재하기에 구현하기에는 그렇게 어렵지 않을 것 같습니다. 하지만 특정위치에서 모바일을 통해 QR을 읽어들여야만 시작할 수 있다는 단점이 있습니다.
비콘을 통한 위치 추적은 정확도와 활용도를 생각하면 최적의 방법이라고 생각되지만 건물 내부에서 벗어나는 순간 비용과 활용도가 크게 증가 할 것으로 예상됩니다.
공간정보를 학습하여 추적하는 방법 또한 건물 외부를 포함하는 순간 비용적 측면에서 불가능 할 것으로 예상됩니다.
추후 개발예정
1. 추후에 프로젝트를 좀 더 심화해서 개발할 경우 QR코드를 이용해서 기존 계획의 방향대로 개발할 수 있을것 같습니다.
2. 개발하다보니 어플리케이션으로써 약간의 난잡함을 느낄수 있었습니다.
- 불필요한 기능들이 존재들과 개발하고자 했던 기능들에 대한 부족
- 눈에 확 띄지않는 UI에 대한 문제
위 2가지의 문제를 해결하여 추가 개발하게 되면 좀 더 나은 어플리케이션으로 개발 가능 할 것같습니다.
'공부공부 > 개발경험들! (프로젝트...)' 카테고리의 다른 글
첫 구글 플레이 스토어 게임 출시 "Just Cube" (0) | 2024.07.06 |
---|---|
MMORPG 구현 포트폴리오(2인) (0) | 2023.03.10 |
유니티(Unity) AR 포트폴리오 (5) - 유아 영어 교육용 프로그램 제작 - 완성 (0) | 2022.11.29 |
유니티 VR 프로젝트 (포트폴리오?) (0) | 2022.08.28 |
1차 포트폴리오 마무리 (0) | 2022.06.20 |
댓글