読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

Excelでデータを管理してUnity iOS/Androidで使うワークフローをノーコーディングで使えるようにした

Unity ゲームの作り方・チュートリアル・サンプル リソース・メモリ管理 エディタ拡張・エディタ機能 ScriptableObject Excel ビジュアルスクリプト・ノーコーディング

以前紹介した「Excelでデータを管理して(中略)ワークフロー」に「助かりました!」の声があったのが嬉しかったので、それのソースコードを作成する部分を自動化した。(我ながら単純!!)

これで、すごく簡単にXLSファイルのデータをUnityに持ってくる事ができるようになった。

で、今回はソースコードオープンソースとして公開する事にした。
エディタ拡張をする程でも無い部分は、こういった機能を活用して欲しい。
一応アセットストアにも出そうと思う

Unity-Excel-Importer-Maker


使い方

  1. Unity-Excel-Importer-MakerのDownload Zipを選択してファイルをダウンロード。ダウロードしたファイルのAssets/Terasurwareフォルダをプロジェクトにインポートする。

  2. XLSファイルをD&Dでプロジェクトにインポートする。
    残念ながらファイル名が日本語だったり、頭に数字が入っているファイルは使えない。注意。

    import excel

  3. 先ほどインポートしたXLSファイルを選択し、右クリック>Create XLS Importerを選択する。

    create xls importer

  4.   XLSを解析してデータを注入するクラスを作るので、パラメータの型と名称を設定してCreateを選択。数値の初期値はDoubleとなっているので、必要な場合はIntとしておく。

    push create button

  5. これでインポーターが作られるので、2でインポートしたファイルを右クリック>ReImportすれば、excelファイルの隣にScriptableObjectが生成される。

    以降はxlsファイルの値を変更する度にScriptableObjectの値が変更される。

    ファイルを移動させたい場合、移動させたい場所へScriptableObjectとxlsファイルを移動させ、再度インポーターを作れば移動できる事も確認した。

    scriptable object

ちなみに変数名はヘッダー、値は2行目、クラス名はシート名から拝借する。そのシート名とヘッダーに日本語が入っていると正常に動作しないので注意。またインポーター名はxlsファイルから拝借しているので、これも日本語が使えない(インポーターをファイル毎に分けているのは、複数のxlsファイルをインポートするため)。

 importer settings


とりあえずノーコーディングでココまで出来る。

ツィート数が10回行ったらxlsxも対応するかも