Categories: Unity

Unity:ニフクラ mobile backend のサンプル「シューティングゲームにランキングとゴースト機能を追加」に挑戦

今回はUnity公式チュートリアル 2Dシューティング をベースにした ニフクラ mobile backend のサンプルに挑戦してみました。

ニフクラ mobile backend について

ニフクラ mobile backend は富士通クラウドテクノロジーズ株式会社が提供する mBaaS。

mBaaSとは?

mBaaS(mobile backend as a Service)とは?スマートフォンアプリでよく利用される汎用的な機能をクラウドから提供するサービスです。
クラウド上に用意された機能をAPIで呼び出すだけで利用できるので、サーバー開発・運用不要でよりリッチなバックエンド機能をアプリに実装することができ、工数削減によるコストカット・スピードアップに貢献します。
出典:mBaaSとは ニフクラ mobile backend

ニフクラ mobile backend の無料で利用できる機能

プッシュ通知

OS/Android に対して、プッシュ通知を配信。

会員管理・認証

ログイン・ログアウト・権限管理・メールアドレス認証など、アプリ内の会員を管理。

SNS連携

Twitter、Facebook のログイン認証機能を瞬時にアプリへ導入でき、OAuth 認証情報の利用で、アプリ内で各 SNS のデータへのアクセスも可能。

データストア

アプリで利用されるデータを保存・共有することができるデータベース機能。データやクラス単位でアクセス制限が可能。

ファイルストア

画像やテキスト、音楽などさまざまな種類のファイルを保存することができ、データストアと同様に、ACL(ユーザーごとのアクセス制御情報定義リスト)でのアクセス制限を設定可能。

位置情報検索

スマートフォンの GPS機能などを利用した位置情報を保存・管理する機能。2点間の検索や点と半径の指定による検索など複雑な演算処理が可能。

スクリプト

サーバーサイドにスクリプトの設置機能。クライアント側に持たせたくないロジックをクラウド側で処理させてチート対策やクライアントアプリの軽量化が可能。

ニフクラ mobile backend のサンプル&チュートリアル

公式サイトにはサービスの使用方法のドキュメントやサンプル、チュートリアルが用意されています。
Unity サンプル&チュートリアル一覧 ニフクラ mobile backend

Unity公式チュートリアルの2Dシューティングにランキングとゴースト機能を追加

ニフクラ mobile backend のサンプル&チュートリアルの中から、Unity公式チュートリアル 2Dシューティングにランキングとゴースト機能を追加するチュートリアルを試してみました。

Unity公式チュートリアル 2Dシューティング について

Unityの公式サイトに掲載されている 2Dシューティング は初級チュートリアルとして12のステップで構成されています。

  1. スプライトとスプライトアニメーションの作成
  2. プレイヤーの移動
  3. プレイヤーから弾を撃つ
  4. 敵を作成しよう
  5. 当たり判定とアニメーションイベントとレイヤー
  6. 背景を作る
  7. Wave型の仕組み作り
  8. 音をつける
  9. プレイヤーの移動制限と様々な修正
  10. タイトルを付ける
  11. エネミーのHP、弾の攻撃力、アニメーションの追加
  12. Waveを5個にする、スコアの実装

Unity公式チュートリアル 2Dシューティングの制作記事

チュートリアルを実際に行って変更した部分や気になった点、改造した内容について記事を書いています。

ニフクラ mobile backend のチュートリアルのスライド資料

スライド資料の共有Webサービスの SlideShare に公式資料が公開されています。
シューティングゲームにランキングとゴースト機能を追加しましょう!~Unity×クラウドをつかって~

Unity で ニフクラ mobile backend を使うための最初の手順

ニフクラ mobile backend の公式チュートリアルページに詳しい手順が掲載されています。

イントロダクション (Unity) クイックスタート ニフクラ mobile backend

  1. クイックスタートについて
  2. アプリの新規作成
  3. SDKのダウンロード
  4. SDKをインストールする
  5. SDKの読み込み
  6. APIキーの設定とSDKの初期化

サンプルプロジェクトをダウンロードしてUnityで開く

用意されているサンプルプロジェクトを GitHub – NIFCloud-mbaas_NCMB2dst_comp からダウンロード。

ダウンロードしたZIPファイルを解凍してUnityで開きます。サンプルプロジェクトが作成されたUnityのバージョンが5.3.2なので異なるUnityのバージョンで開くとプロジェクトを開くための確認ダイアログが表示されます。

[Continue]ボタンをクリックすると再びダイアログボックスが表示。プロジェクトのビルド設定が MacStandalone でサポートされていない。ビルド設定を WindowsStandalone に切り替えるかUnityを終了するか?と尋ねられます。[Switch Target] をクリックして継続します。

今回使用したUnityのバージョンはUnity 2018.2.10f1 です。[Console]ウィンドウにアラートはたくさん表示されますが、エラーはありませんでした。

プロジェクトにはエディタのレイアウト設定ファイルが含まれているので、レイアウトはこのようになっていました。

ニフクラ mobile backend にログインした新しいアプリを作成

イントロダクション (Unity) クイックスタート ニフクラ mobile backend の内容を参考に新しくアプリを作成しました。

NCMBSettings コンポーネントにキーを設定

Unityのエディタに戻り、シーン Stage が開かれていることを確認して [Hierarchy]ウィンドウ > NCMBSettings を選択。
[Inspector]ウィンドウ > NCMBSettings Application Key と Client Key フィールドに、ニフクラ mobile backend で作成したキーをそれぞれ入力。

ゲームを再生して動作確認。ゲームオーバーになると名前入力画面が表示され、スタート画面に戻ってから[Leader Board]ボタンをクリックするとランキングが表示されました。

ニフクラ mobile backend SDKを最新版に更新

動作確認ができたので、最後にSDKファイルを最新版に更新してみました。

SDKのダウンロード

記事執筆時のSDKの最新バージョンは 4.0でした。

SDK のアセットをUnityにインポート

あらかじめダウンロードした最新版のSDKのZIPファイルを解凍してUnity のプロジェクトにインポートします。
インポートファイル一覧が表示されます。更新されるファイルが確認できます。

インポートすると[Console]ウィンドウに大量のエラーメッセージが!
使用されているネームスペースがあるのでなんとかかんとか…という内容。同じファイル名のスクリプトが別フォルダに存在するようです。

インポートした最新版のSDKではスクリプトファイルは NCMB > Script フォルダにありますが、元のサンプルプロジェクトでは NCMB > Scripts フォルダにあります。

元のNCMB > Scripts フォルダを削除します。削除すると元に戻せませんよ!とダイアログが出ましたが[Delete]をクリック。

[Console]ウィンドウのエラーメッセージが無事消えました!

NCMBSettings コンポーネントの再設定

NCMB > Scripts フォルダを削除したので、シーン Stage で使用していた NCMBSettings も削除されています。[Hierarchy]ウィンドウで NCMBSettings を選択。使用していたスクリプト NCMBSettings を削除したので [Inspector]ウィンドウはこのように表示されています。

新しくインポートした NCMB > Script フォルダにあるスクリプト NCMBSettings ファイルを割り当て直します。キー情報は保存されていたようなので、入力し直さなくても大丈夫でした。

WebGL

今回の内容をWebGLでビルドしてみました。サウンドはミュートしています。
画像クリックで再生(ファイルサイズ:約7MB)

corevale