夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

Microsoft Maps-SDK for Unityのプロジェクトに機能を提供する。

本日はMaps SDK for Unity枠です。

本日私がMicrosoft Maps-SDK for Unityのプロジェクトにプルリクエストを出していた機能がマージされましたのでMicrosoft Maps-SDK for Unityへのプロジェクトの貢献の仕方をまとめます。

Microsoft Maps-SDK for Untiyとは?

 Maps-SDKMicrosoftによって提供されているBingMapの機能をUnityで使用するためのAPIとそれを含んだツールです。

 MixedRealityデバイスを想定して提供されているため、HoloLens 2はもちろん、初代HoloLens、MRTKを使用したVR(Quest)、それらを使用したスマートフォンARなどで使用することができます。

Map-SDKは以下のGitHubで提供されています。

github.com

Maps-SDK for Unityは非常に優れた地図ソリューションを提供しますが、なかなか情報もユーザーも少ないと感じていました。

筆者自身Maps-SDK for Unityを触って、いくつかの機能を作成してきましたが、サンプルが充実するとより面白いツールになると感じ今回機能をプロジェクトに提供することにしました。

GitHubへの提供の流れ

①イシューの作成

GithubリポジトリからIssueを作成します。

f:id:Holomoto-Sumire:20211109214846p:plain

f:id:Holomoto-Sumire:20211109215011p:plain
現時点でマージされてしまっているのでClose表記が出ています。

github.com

②テンプレートが表示されます。

ここではバグの報告、質問、そして機能のリクエストが並んでいます。

f:id:Holomoto-Sumire:20211109215108p:plain

今回は機能のリクエストで作成しました。

③プロジェクトをForkします。

f:id:Holomoto-Sumire:20211109215306p:plain

ForkすることでMicrosoftのプロジェクトを自身のプロジェクトとして分岐することができます。

f:id:Holomoto-Sumire:20211109215614p:plain

④forkしたプロジェクトをローカルブランチへクローンし作業を行います。

今回は自己位置周辺のマップを表示する機能を作成しました。

⑤コミット&プッシュする

機能の開発が完了したら

git push ブランチ名

でプッシュします。

この際にコミットメッセージとして[#(MSのMap SDK for Unityで作成したイシュー番号)]をつけることでMicrosoft/MapsSDKのイシューとリンクされます。

f:id:Holomoto-Sumire:20211109220017p:plain

Microsoft/Maps-SDK for Unityのリポジトリでプルリクエストを作成

プルリクエストを作成します。

github.com

Microsoftのプロジェクトリーダーが作成した機能に関してレビューを行います。

今回は次の点を指摘されました。

コミットの一部にMapsSDKの開発者キーが入っちゃってるからこれ消して

コードの変数名の書き方ルールがあるから直して

シーンでMapが動かせず壁にめり込んでしまっていたからほかのシーンを参考に移動できるようにして

今回はサンプルシーンでしたのでほかのユーザーのコードの可読性や視認性、ユーザビリティに関する点を指摘され、修正しました。

1か月ほど前にPR出して、レビューアーからのレビューが1か月ほど待たされましたが、その後はスムーズにレビューが行われマージされました。

こちらが筆者が作成、提供したサンプルシーンです。MapsSDKをインポートするとサンプルシーンとして提供されます。

github.com

初めてのオープンソースのプロジェクトへの貢献でしたが、普段好んで使用しているプロジェクトに貢献できたということは光栄に思っています。