以下の内容はhttps://mochimoffu.hateblo.jp/entry/2020/02/20/003000より取得しました。


Unityの話~画像リソース資料をUnityEditorスクリプトで、簡単に出力できるようにした~

仕事でUnityプロジェクトでアプリケーションを作っていると、ゲームの説明資料を作ったり、画像素材リスト資料を作ったり、いわゆる雑務が発生する。

以前の職場では、表計算ソフト(いわゆるExcel)で資料を作っていたが、画像が更新されるたびにインポートをし直す手間がかかり、何とかならないかなーと思っていた

そして今の法人に移り、資料作成の頻度が上がってきたタイミングで、もう少し良い方法が無いか探した結果、AsciiDocを試験的に運用してみることにした。

mochimoffu.hateblo.jp


これは、PDFをその都度書き出すので、画像ファイルは差し替えれば反映されるので、格段に資料作成コストが下がった。

そして今回、どうせ一人Unityプロジェクトで、ディレクトリ構成なども自分で設計しているのだから、UnityEditorからadocファイル書き出せば、そのまま資料作成できるんじゃね?という発想を実現させた話をする。

github.com


〇達成したい事の明確化
達成したい事としては

1. Resources以下の、UIで使用する画像をリストアップ
2. 画像表示で、どのような画像か視覚的に理解できること
3. ファイルパス+名前表示がされること
4. サイズ表示されること
5. 表示される順番は自分で定義できる事

これを、PDF化できれば良い。

ディレクトリ設計
筆者は、Resources/Image以下に、シーン毎とその他でディレクトリ階層を作った。

メタデータ
ディレクトリ情報などをスクリプトから読み込むのは簡単だが、その並び順の制御となると、若干めんどくさい。
これは、別の外部データに設定を書いて、それを参照することによって成し遂げた。
シーンの順序は、
Meta/SceneMetaData.txt
ここに記載されている通りにすることにした。
本来であれば、これもUnityから出力すべきだが、今回は手を抜いた。

〇設計
1.ディレクトリ階層リストを取得する
2.メタデータと照合して、シーン名順にディレクトリ階層を走査できるようにする
3.各ディレクトリ階層に存在するファイルを全部取得
4.ファイル名がわかれば画像を読み込めるので、サイズを取得
5.ここまで取得した情報を、AsciiDoc形式のマークアップ言語としてジェネレートする
6.予め用意しておいたAsciiDocをビルドするbatファイルを起動する
7.出力終わり

〇出力結果

f:id:mochimoffu:20200108235222g:plain
こんな動きをするプロジェクトがあったとして



こんなファイルが出力される

drive.google.com


〇備考
PDFファイルの前半は、シーン遷移の説明がされており、ここでは詳細を説明していないが、
簡単に言えば、スクリーンショット撮影機能とメタデータを組み合わせて、前半はシーン遷移の説明をするAsciiDocマークアップをジェネレートしているだけだ。


〇総評
資料としての見やすさを考えるのであれば、HTML形式のドキュメントに出力した方が良い気もしてきたが、
1ファイル(容量でかくなるけど…)で完結する点においては、この手段も悪くないように思える。
この機能が運用しやすいかどうかは、しばらく使ってみて所感を得ようと思う。




以上の内容はhttps://mochimoffu.hateblo.jp/entry/2020/02/20/003000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14