Unity AssetStoreまとめ

アセットストア日替わりタイムセールの記事を書いていきます。

G2U GoogleスプレッドシートのデータをUnityに取り込むエディタ ゼロから始める解説付き

f:id:assetsale:20160612222423j:plain f:id:assetsale:20160612011530j:plain

今日のアセット

G2U

$25 => $15    40%OFF

 

GoogleスプレッドシートのデータをUnityに取り込み、Staticクラス化してどこからでもアクセス可能なデータとして扱えるエディタです。

 

「アイテムショップ」や「ガチャテーブル」、「ローカライズ(多言語対応)」等のデータをエクセルやスプレッドシートで作ってる人にオススメ!

G2Uは、スプレッドシートに対して直接データを参照&代入できます。

 

と言っても、使い心地がわからないと中々手が出せないと思うので、

2016年6月12日 最新バージョン(2.1.9)の使い方を少しだけ解説します。

 

説明範囲

 

スプレッドシートを用意して

f:id:assetsale:20160612212121p:plain

それをコンソールに出力するまで

f:id:assetsale:20160612212204p:plain

 

大体の流れ

  1. 決められたフォーマットに従いスプレッドシートを作成する。
  2. 以下、Unityエディタでの操作
  3. Googleアカウントと連携(初回のみ)
  4. スプレッドシートのファイルを指定
  5. 生成方法を指定。今回は「Object Database」を設定します。
  6. HierarchyにGoogle2uDatabaseが生成される
  7. 空のゲームオブジェクトから6で生成された値を参照しコンソールに出力

 

1.決められたフォーマットに従いスプレッドシートを作成する。

 

f:id:assetsale:20160612212121p:plain

スプレッドシートのファイル名:必ずアルファベットで。今回は「G2U test」と指定

1行目:変数名

2行目:データ型(文字列ならstring、数値ならint、floatなど)

A3、A4、A5:数値だけを入れるとエラーになりますので、アルファベットで

「ID_WAPONx」等、他と被らないように連番にするか名前を入れます。

B3、B4、B5:stringを指定(B2)してるので日本語でも英語でも自由に入れましょう。(武器名)

C3、C4、C5:int型なので整数を入れる。(攻撃力)

シート名:必ずアルファベットにすること!デフォルトの「シート1」はエラー対象です。

※今回はシート名は適当に「test1」としました。他のシートも画像の様に作っておけば参照できます。

 

2.Googleアカウントと連携(初回のみ)

 

f:id:assetsale:20160612214442p:plain

Window->Google2Uを選択し、エディタウィンドウを開く。

f:id:assetsale:20160612214531p:plain

↑既にログインした状態。(余裕があれば後でキャプチャし直します)

ログインを押すと、ブラウザが開きGoogleドライブへのアクセス権限を取得します。

連携用のIDが発行されるので、それをGoogle2Uに入れると認証完了です。

 

・OAuth TokenにIDを入れる↓

f:id:assetsale:20160612215010p:plain

 

3.スプレッドシートのファイルを指定

 

f:id:assetsale:20160612215233p:plain

「Account Workbooks」にドライブ内のファイルがずらっと表示されます。

非表示にしたいファイルは目玉アイコンを押せば非表示に出来ます。

ここで、「test1」「shop」「item」「gacha」とあるのは、シート名です。

 

5.生成方法を指定。今回は「Object Database」を設定します。

「test1」を「Object Database」に切り替えて右下のフロッピーアイコンをクリックするとHierarchyに「Google2uDatabase」が現れます。

f:id:assetsale:20160612220403p:plain

黄色のペンは直接編集する機能です。(ちょっと寄り道)

f:id:assetsale:20160612215719p:plain

スプレッドシートで編集するのが面倒な人用。

セルを選択すればテキストボックスに「木の棒」とか表示されるので編集後「Update」をクリックすることでスプレッドシートが書き換わります。

 

7.空のゲームオブジェクトから6で生成された値を参照しコンソールに出力

 

f:id:assetsale:20160612220403p:plain

「G2U Test」と適当な名前で空のゲームオブジェクトを作りました。

そこに以下スクリプトをアタッチします。

G2Utest.cs

 

using UnityEngine;
using System.Collections;
using Google2u;

public class G2Utest : MonoBehaviour {
  private test1 _test1;
  public GameObject g2uObject;
    void Start () {
      _test1 = g2uObject.GetComponent<test1>();      
       Debug.Log(_test1.Rows.Count);  // 全ての要素数を取得 [3]
       Debug.Log(_test1.Rows[1]._Name); // 2番目のName(string)を取得 [ただの棒]
       Debug.Log(_test1.Rows[1]._ATK); // 2番目のATK(int)を取得 [7]
       Debug.Log(_test1.GetRow("ID_WEAPON3")._Name);  // IDで指定して名前を取得 [銀の剣]
    }
}

 

後は、「G2U Test」に「Google2uDatabase」をセットするだけで完了です。

f:id:assetsale:20160612221244p:plain

 

実行後、コンソールに表示されれば成功です。

f:id:assetsale:20160612212204p:plain

3 :  .Rows.Count  (要素数のカウント)

ただの棒 : _test1.Rows[1]._Name (配列でNameを参照)

7 : _test1.Rows[1]._ATK   (配列でATKを参照)

銀の剣 : _test1.GetRow("ID_WEAPON3")._Name (ID名で参照Nameを参照)

 

G2U(アセットストア)

ドキュメント

 

peroon's diary様

・データ作成、取得について

LINQでのアクセス方法例、JSON形式で出力、スプレッドシートの翻訳関数についての詳しい情報はこちら

15ドルの計算結果 (1ドル 106.9400 円)
15ドル は、 1,604円

定価25ドルなら、2,673円