本日はMaps SDK for Unity枠です。
本日私がMicrosoft Maps-SDK for Unityのプロジェクトにプルリクエストを出していた機能がマージされましたのでMicrosoft Maps-SDK for Unityへのプロジェクトの貢献の仕方をまとめます。
〇Microsoft Maps-SDK for Untiyとは?
Maps-SDKはMicrosoftによって提供されているBingMapの機能をUnityで使用するためのAPIとそれを含んだツールです。
MixedRealityデバイスを想定して提供されているため、HoloLens 2はもちろん、初代HoloLens、MRTKを使用したVR(Quest)、それらを使用したスマートフォンARなどで使用することができます。
Maps-SDK for Unityは非常に優れた地図ソリューションを提供しますが、なかなか情報もユーザーも少ないと感じていました。
筆者自身Maps-SDK for Unityを触って、いくつかの機能を作成してきましたが、サンプルが充実するとより面白いツールになると感じ今回機能をプロジェクトに提供することにしました。
〇GitHubへの提供の流れ
①イシューの作成
②テンプレートが表示されます。
ここではバグの報告、質問、そして機能のリクエストが並んでいます。
今回は機能のリクエストで作成しました。
③プロジェクトをForkします。
ForkすることでMicrosoftのプロジェクトを自身のプロジェクトとして分岐することができます。
④forkしたプロジェクトをローカルブランチへクローンし作業を行います。
今回は自己位置周辺のマップを表示する機能を作成しました。
⑤コミット&プッシュする
機能の開発が完了したら
git push ブランチ名
でプッシュします。
この際にコミットメッセージとして[#(MSのMap SDK for Unityで作成したイシュー番号)]をつけることでMicrosoft/MapsSDKのイシューとリンクされます。
⑥Microsoft/Maps-SDK for Unityのリポジトリでプルリクエストを作成
プルリクエストを作成します。
Microsoftのプロジェクトリーダーが作成した機能に関してレビューを行います。
今回は次の点を指摘されました。
コミットの一部にMapsSDKの開発者キーが入っちゃってるからこれ消して
コードの変数名の書き方ルールがあるから直して
シーンでMapが動かせず壁にめり込んでしまっていたからほかのシーンを参考に移動できるようにして
今回はサンプルシーンでしたのでほかのユーザーのコードの可読性や視認性、ユーザビリティに関する点を指摘され、修正しました。
1か月ほど前にPR出して、レビューアーからのレビューが1か月ほど待たされましたが、その後はスムーズにレビューが行われマージされました。
こちらが筆者が作成、提供したサンプルシーンです。MapsSDKをインポートするとサンプルシーンとして提供されます。
初めてのオープンソースのプロジェクトへの貢献でしたが、普段好んで使用しているプロジェクトに貢献できたということは光栄に思っています。