본문 바로가기
유니티 최고/유니티 구현

유니티(Unity) MapBox를 이용한 지도 구축

by Lee_story_.. 2023. 3. 30.
728x90

ar 프로젝트 진행중에 현재 지역의 지도를 구현해야 할 일이 생겨 시도 해보기로 했습니다!

 

구글맵 api도 있지만 먼저 map box부터 먼저 시도해보겠습니다.

 

 

가장 먼저 맵 박스 회원가입을 해줍시다!

 

그다음 아래의 링크로

 

Install the Maps SDK for Unity | Mapbox

Download Maps SDK for Unity Start by clicking the download link below, then go to Assets > Import Package > Custom Package, then select the package file to import. Please note that Unity 2017.1.0 or greater is required to install the Mapbox Maps SDK for Un

www.mapbox.com

 

들어와 sdk를 다운받아 임포트해줍시다.

 

 

임포트하면 오류날꺼에요.... 그전에 

파운데이션과 코어부터 설치해줍시다.

 

 

 

그래도 오류가 날텐데.... 여기서는

 

 

The type or namespace name 'ARBackgroundRenderer' could not be found · Issue #1753 · mapbox/mapbox-unity-sdk

Unity version 2020.2.2 trying to import Mapbox but it won't get imported with the error: The type or namespace name 'ARBackgroundRenderer' could not be found. Is there any way to fix it? I already ...

github.com

이분의 파일을 받아 

 

수정에 수정해주고...

 

그래도 에러나는 부분은 주석 처리 해줬습니다...

 

만약 heading 부분에서 오류가 난다면 이번엔 

이분...

 

Import error: The name 'heading' does not exist in The current context · Issue #1569 · mapbox/mapbox-unity-sdk

Note: If this is a bug or support ticket, please provide the following information: Unity version: 2019.3.5f1 Scripting Runtime Version: Scripting Backend: Api Compatibility Level: Mapbox SDK versi...

github.com

개정 코드를 복붙하면 됩니다!

 

 

이렇게 고치고 나면 자동으로 컴파일 되면서

 

 

위 처럼 뜨게 되는데 이제 토큰을 입력해주러 갑시다.

(로그인 된 상태에서?)

 

Account | Mapbox

 

account.mapbox.com

 

 

토큰을 만들거나 퍼블릭 토큰을 사용하시면 됩니다!

 

 

이제 여기서 첫번째 location based Game 을 눌러보면 

지도와 캐릭터가 움직이네요!

 

 

 

가이드도 따로 있으니 한번 보시는것도 좋을것 같습니다

 

Location based games | Maps SDK | Unity

An overview of location based game use cases.

docs.mapbox.com

 

 

이제 저의 위치에 대한 지도를 띄워 보겠습니다.

 

 

locationProvider >> editor location provider 에  arrayProvider를 넣어줍시다.

 

 

 

그다음 아래처럼 원하는 위치를 넣어줍시다.

 

정해진 위치의 지도가 나오네요!

 

 

 

이번엔 맵의 특정위치에 표시를 해주겠습니다. 

이것 또한 mapbox에서 제공해주는 spawn on map에서 해결가능한데

 

빈오브젝트(eventsp)에다 해당 함수를 넣어주고

표시할 좌표값과 프리팹을 제공해주면 됩니다.

 

 

이것 외에도 

 

 

map - image - data source 변경을 통해 여러 모드로 변경가능하고

 

 

map - map layers 에서의 값을 수정하고 

add feature 해주면 

 

 

기본적인 건물들을 지어 줍니다..

 

더 많은 기능이 있는것 같지만!

일단 여기 까지만 진행 하겠습니다! 

 

 

틀린점이 있다면 댓 달아주세요!

 

 

 

댓글