ニコニコ動画ゲームアツマール用WebGL作成手順

2021/03/16

Unity WebGL

Unityでニコニコ動画のゲームアツマール用にWebGLを作成する手順です。
・アツマールへ投稿

アツマール用プラグイン導入

アツマール独自機能を使う場合必要です。

以下導入プラグイン

アツマールプラグイン


以下は山田様が作成されたセーブ用のプラグインです。
セーブする場合は必要になります。

PlayerPrefsAtsumaru


Pluginsフォルダに上記から取得したファイルを入れます。


入れるファイルは合計4つです。

独自機能実装

アツマール用の機能実装です。
セーブ処理とランキング(スコアボード)の処理です。
他の機能を使う場合は以下のAPIリファレンスを参照。
APIリファレンス

セーブ

PlayerPrefsと同じ要領で使えます。
アツマール用に使うときはPlayerPrefsAtsumaruにします。
PlayerPrefsAtsumaru.SetInt("HighScore", HighScore);
PlayerPrefsAtsumaru.Save();

セーブする時はPlayerPrefsAtsumaru.Save();を最後に必ずつけます。

読み込みはGetIntを使用

HighScore = PlayerPrefsAtsumaru.GetInt("HighScore", 0);


配列を使うときはforなど使ってやります。

for (int i = 0; i < Array.Length; i++)
{
        PlayerPrefsAtsumaru.SetInt("Array" + i, i);
}


ランキング(スコアボード)

以下でスコアなどを送信
Atsumaru.scoreboards.setRecord("1", score.ToString());//スコア送信
以下で表示
Atsumaru.scoreboards.display("1");
setRecordの引数はString型で一つ目にboardId、二つ目に整数の文字列型を指定します。
displayにはsetRecordで設定したboardIdをString型で入れます。
テストはアツマールに非公開で投稿して確認できます。

API設定でスコアボードの設定ができます。
1回送信するとスコア管理に表示されます。


一回だけ自分で送信してボードを作っておいた方が無難かと。
リセットを押せば、テスト用のスコアを消せます。

アツマールへ投稿

ビルドしてzip形式でアップロードします。
ビルド設定で解像度はCanvasで指定した解像度と合わせます。


ビルド後はそのままだと画面表示がおかしくなるので
index.htmlを開いて「<style=~」のところを
「"width: 100%; height: calc(100vw * 0.75);"」に変更します。

indexの設定は以下を参考にさせて頂きました。

投稿時に設定するゲーム表示サイズは
推奨される816x624に設定すると、うまく表示されました。


投稿する時はzip形式にしてアップロードします。