今回はUnity公式チュートリアル 2Dシューティング をベースにした ニフクラ mobile backend のサンプルに挑戦してみました。
ニフクラ mobile backend は富士通クラウドテクノロジーズ株式会社が提供する mBaaS。
mBaaS(mobile backend as a Service)とは?スマートフォンアプリでよく利用される汎用的な機能をクラウドから提供するサービスです。
クラウド上に用意された機能をAPIで呼び出すだけで利用できるので、サーバー開発・運用不要でよりリッチなバックエンド機能をアプリに実装することができ、工数削減によるコストカット・スピードアップに貢献します。
出典:mBaaSとは ニフクラ mobile backend
OS/Android に対して、プッシュ通知を配信。
ログイン・ログアウト・権限管理・メールアドレス認証など、アプリ内の会員を管理。
Twitter、Facebook のログイン認証機能を瞬時にアプリへ導入でき、OAuth 認証情報の利用で、アプリ内で各 SNS のデータへのアクセスも可能。
アプリで利用されるデータを保存・共有することができるデータベース機能。データやクラス単位でアクセス制限が可能。
画像やテキスト、音楽などさまざまな種類のファイルを保存することができ、データストアと同様に、ACL(ユーザーごとのアクセス制御情報定義リスト)でのアクセス制限を設定可能。
スマートフォンの GPS機能などを利用した位置情報を保存・管理する機能。2点間の検索や点と半径の指定による検索など複雑な演算処理が可能。
サーバーサイドにスクリプトの設置機能。クライアント側に持たせたくないロジックをクラウド側で処理させてチート対策やクライアントアプリの軽量化が可能。
公式サイトにはサービスの使用方法のドキュメントやサンプル、チュートリアルが用意されています。
Unity サンプル&チュートリアル一覧 ニフクラ mobile backend
ニフクラ mobile backend のサンプル&チュートリアルの中から、Unity公式チュートリアル 2Dシューティングにランキングとゴースト機能を追加するチュートリアルを試してみました。
Unityの公式サイトに掲載されている 2Dシューティング は初級チュートリアルとして12のステップで構成されています。
チュートリアルを実際に行って変更した部分や気になった点、改造した内容について記事を書いています。
スライド資料の共有Webサービスの SlideShare に公式資料が公開されています。
シューティングゲームにランキングとゴースト機能を追加しましょう!~Unity×クラウドをつかって~
ニフクラ mobile backend の公式チュートリアルページに詳しい手順が掲載されています。
イントロダクション (Unity) クイックスタート ニフクラ mobile backend
用意されているサンプルプロジェクトを GitHub – NIFCloud-mbaas_NCMB2dst_comp からダウンロード。
ダウンロードしたZIPファイルを解凍してUnityで開きます。サンプルプロジェクトが作成されたUnityのバージョンが5.3.2なので異なるUnityのバージョンで開くとプロジェクトを開くための確認ダイアログが表示されます。
今回使用したUnityのバージョンはUnity 2018.2.10f1 です。[Console]ウィンドウにアラートはたくさん表示されますが、エラーはありませんでした。
プロジェクトにはエディタのレイアウト設定ファイルが含まれているので、レイアウトはこのようになっていました。
イントロダクション (Unity) クイックスタート ニフクラ mobile backend の内容を参考に新しくアプリを作成しました。
Unityのエディタに戻り、シーン Stage が開かれていることを確認して [Hierarchy]ウィンドウ > NCMBSettings を選択。
[Inspector]ウィンドウ > NCMBSettings Application Key と Client Key フィールドに、ニフクラ mobile backend で作成したキーをそれぞれ入力。
ゲームを再生して動作確認。ゲームオーバーになると名前入力画面が表示され、スタート画面に戻ってから[Leader Board]ボタンをクリックするとランキングが表示されました。
動作確認ができたので、最後にSDKファイルを最新版に更新してみました。
記事執筆時のSDKの最新バージョンは 4.0でした。
あらかじめダウンロードした最新版のSDKのZIPファイルを解凍してUnity のプロジェクトにインポートします。
インポートファイル一覧が表示されます。更新されるファイルが確認できます。
インポートすると[Console]ウィンドウに大量のエラーメッセージが!
使用されているネームスペースがあるのでなんとかかんとか…という内容。同じファイル名のスクリプトが別フォルダに存在するようです。
インポートした最新版のSDKではスクリプトファイルは NCMB > Script フォルダにありますが、元のサンプルプロジェクトでは NCMB > Scripts フォルダにあります。
元のNCMB > Scripts フォルダを削除します。削除すると元に戻せませんよ!とダイアログが出ましたが[Delete]をクリック。
NCMB > Scripts フォルダを削除したので、シーン Stage で使用していた NCMBSettings も削除されています。[Hierarchy]ウィンドウで NCMBSettings を選択。使用していたスクリプト NCMBSettings を削除したので [Inspector]ウィンドウはこのように表示されています。
新しくインポートした NCMB > Script フォルダにあるスクリプト NCMBSettings ファイルを割り当て直します。キー情報は保存されていたようなので、入力し直さなくても大丈夫でした。
今回の内容をWebGLでビルドしてみました。サウンドはミュートしています。
画像クリックで再生(ファイルサイズ:約7MB)