SparePages

ツクール2000→ウディタ→ツクールMV・MZと乗り換えてのゲーム制作とかの備忘録

ウディタのプロジェクト内の未使用素材を洗い出すツールを作ったメモ

wp20260102aツール名は「未使用素材検出ツール for WOLF RPG Editor ※非公式」

■テキスト出力機能を利用して未使用素材を洗い出せないか?
ゲーム制作においては公開時に不要なデータを削除してファイル容量を小さくすることが一般的です。
例えば、RPGツクールMVでは上記も踏まえてか(途中のバージョンから)「□未使用ファイルを含まない」オプションが追加されました。
ウディタにおいても、デフォルト素材や試しに入れた素材、複数パターン用意したうえで没になった素材など、実際には使用していないファイルがプロジェクト内に残りがちですが、この未使用素材を自動で除去する機能はおそらく無いのかなーと思っています。
(さらっと検索した限りでは見つからなかったので、恐らくないはずです)

話は少しそれますが、ウディタにはVer3ぐらいから、構成管理用途でゲームデータをテキスト出力する機能が追加されました。
この機能を使うことで、ゲーム内で参照されている素材をある程度検知することができるのでは🤔と考え、今回のツールを作るに至りました。

■ツールの概要
ツールで行っていることは大きくは次の3つです。
・プロジェクトフォルダ内の素材ファイルを一覧で取得
・テキスト出力されたゲームデータを検索し、各素材のファイル名の記述の有無をチェック
・チェック結果を一覧に追加表示
この結果を見ながら、どこからも参照されていない(=未使用)素材を手動で削除or退避することで、不要ファイルを整理しましょうねという感じのツールになっています。
(なお、ツール側で不要素材ファイルの削除まで行わないのは、ツールの処理に何かしらの不具合があって取り返しがつかなくなることを避ける目的です)
チェック結果の一覧はCSV出力することができるため、Excelで各ファイルのチェック結果を記載していったり、フィルター&コマンド加工してMOVEコマンドとかでまとめて整理する運用を想定しています。

■ 課題:コメント内の記述も「×:参照有」と判定されてしまう
自身でツールを使っていて気になった点としては、テキスト検索の都合上…
・コメントアウトされたイベント
・メッセージイベント
にファイル名の記述があった場合でも、参照あり判定がされてしまうことです。
(例:「title2.png」というファイルが実際に使用されていなくても、昔実装したときのイベントがコメントアウトされていると参照あり判定になる)
実際にその素材を本当に使っているかはサクラエディタなどでGREPして該当箇所を特定のうえウディタ側で判断をする想定でしたが、ツールとエディタを行き来するのが意外と面倒でした。

wp20260102b

そこで、当ツールのVer1.01からは、チェック結果一覧の行をダブルクリックすると詳細画面が表示できるように微改善を行いました。
(この文を書いていて、もしかしたらチェック時に条件を増やせば余計な参照あり判定を減らせそうな気がしてきましたが、考えないことにします。。)

■まとめ
当ツールを使っていくなかでまだ改善点は出てくるかと思いますが、とりあえずは手作業で各素材の利用有無をいちから確認するのは大変だったため、今回ツールを作成した次第でした。
ダウンロードはこちらから行えます(フリーウェアなのでツール利用による一切の責任は負いません🙆‍♂️)。

-ツール