UnityアセットのGame Data Editor使い方の続きです。
前回はエディタ内の画面でデータを作成する方法を説明しました。
今回はGoogle Spreadsheetを使用してデータを作成する方法を説明します。
今回も前回と同様、クイズゲームの問題を例に説明します。
使い方(Google Spreadsheetを使用した場合)
今回も公式サイトに詳しく説明があるので、英語を読むのが苦でない方はこことかここを見ると良いと思います。
Spreadsheetを使う場合は、全体的な流れは下記のようになります。
- Google Spreadsheetでデータを作成する
- Googleアカウントを認証する
- Spreadsheetをインポートする
- スクリプト上でデータを呼び出す
2は最初に一度やっておけば、データの更新が発生した場合は、
3をやるだけでデータを使えるようになります。
自分は試してないですが、Excelなどのローカルデータを使用した方法も
ほぼ同様の手順で使用できると思います。(もちろんその場合2は不要)
1.Google Spreadsheetでデータを作成する
Google SpreadsheetをGame Data Editorでインポートするためには、
決まったフォーマットでデータを記入する必要があります。
詳細な内容は公式サイトを参照してください。ここでは、必要最低限の内容のみ説明します。
前回のクイズ問題は、下記のデータを必要としていました。
- 画像のURL(例:犬の画像) – string型
- クイズの説明文 – string型
- 問題文1(例:犬) – stringリストの0番目
- 問題文2(例:猫) – stringリストの1番目
これをGoogle Spreadsheet上に表現すると、下記の画像のようになります。
ごちゃごちゃしてて申し訳ないですが一個ずつ説明します。
①Spreadsheetのファイル名は、インポート時に識別できれば英語でも日本語でも何でも大丈夫です。
②Spreadsheetのシート名は、Schema名として使用されるので、ここではQuizとします。
ジャンルデータなど、複数のデータを管理したい場合は、別シートを作って記入することで作成できるはず。
③カラムAに GDE_FIELD_NAMES と記入した行は、各データを取り出す際のフィールド名を記入する行となります。
具体的にはスクリプト上で、 quiz.ImageURL などと呼び出す際の名前になります。
④カラムAに GDE_FIELD_TYPES と記入した行は、各データの型名を記入する行となります。
公式サイトのフォーマットに従い、stringなどと入力していけば良いのですが、
配列などのリスト構造にしたい場合は、“list_型名”と入力する必要があります。
例では問題文1・2がstringのリスト構造なので、”list_string”としました。
⑤その他のカラムAには、データ名を記入します。日本語もOKでした。
⑥その他のカラムには、型名に従ったデータの中身を記入します。
リスト構造のカラムは、1カラムに「“データ1″,”データ2”」のような形で記入する必要があります。
とりあえずこれだけあればデータはインポート可能です。
2.Googleアカウントを認証する
次に、Googleアカウントの認証を行います。
まず、事前にWebブラウザ上でGoogleアカウントにログインしておきます。
そして、Unityエディタ上で、Window -> Game Data Editor -> Import Spreadsheet を選択します。
Import Google SpreadSheetを選択します。
Go to Google Authenticate URL を選択します。
承認する を選択します。
表示されるコードをコピー(CTRL+Cなど)します。
Unity上のEnter Access Code from Google: にコピーしたコードを入力し、Set Code ボタンを押します。
続いて、データのインポートを行います。
3.Spreadsheetをインポートする
手順1で作成したSpreadsheetの名前をプルダウンメニューから選び、Downloadボタンを押下します。
Unityのコンソールに何もエラー無く下記の画面が表示されればインポート完了です。Closeで閉じます。
4.スクリプト上でデータを呼び出す
前回の手順4と同様なので割愛します。
おわりに
様々なアイテムなどが登場するようなゲームだと、Spreadsheet上でデータを管理したい場合が結構あると思うので、そういう用途では割と便利だと思います。今月(2015年6月)のLevel11でセールしてるので、Pro版を持ってる方で興味が湧いたら買ってみると作者さんが喜ぶと思います。
先月辺りに、「来月からLevel11に誰でも$19払えば加入できるようになるよ!」と言うツイートを見た気がするのですが、サイト(英語版)にはJuly 1stと書いてありますね。なので来月からか。残念。