コイカツでMODを作るうえでは必ず使うことになるであろう、SB3Utility。
もとからあるunity3dをコピーして、それをもとにデータを書き換えていくことが多いと思いますが、今作ろうとしているものと関係ないデータは削除しておきたいところ。
でも、Animatorというタブの中にあるデータは、どういうわけかremoveを実行しても削除することができません。
広告
Animatorを削除しようとしたときの挙動。
前回の記事にて、チアトップスの改造品を作ったので、そのチアトップスが入っていた「abdata/chara/co_top_00.unity3d」を開いてみます。
Animatorタブを開くと多数のデータが存在していますが、チアトップスに関係あるのは「p_o_top_cheer」およびそれに「_low」がついたものだけです。
その他のデータを残しておくと容量を圧迫してしまうので、削除したいと思いました。
というわけで、削除したいデータを選択した状態で、「Assets」→「Attention!」→「Remove」を実行します。
(余談ですが、いちいちAttentionに分けてるのがめんどくさい。ショートカットコマンドもなし。)
しかし、Removeを実行しても「Removing Animators is not implemented yet.」というエラーがログに表示されて、削除を実行することができませんでした。
この英文をそのまま翻訳にかけてみると「アニメーターの削除はまだ実装されていません。」という結果が表示されました。
つまり、現状ではどうあがいても、Animatorの中のデータは一度作られると削除できないようです。
それじゃ、このままデータを圧迫したまま泣き寝入りでしょうか?
空のファイルにコピーする。
Animatorの削除もできなければ、SB3utilityではunity3dの新規作成をすることもできません。
そこで代わりとなる方法として、Animatorが何もないファイルに、必要なデータだけコピーするという方法があります。
まずはAnimatorがないファイルを何か探しましょう。
charaフォルダの中のunity3dではたいていAnimatorが入っているので、listフォルダからunity3dをコピーしていきます。
今回はlistフォルダの「00.unity3d」をcharaフォルダにコピーして、「test.unity3d」に改名します。
listからコピーしてきたファイルを開くと、そもそもAnimatorが存在していないので、削除できないことに悩まされることがありません。
Animator以外のデータはありますが、それは全くいらないので、全部removeしてしまいます。
次に、必要なデータを、実質空となったtest.unity3dにコピーする作業を行います。
コピー元となるファイルのAnimatorタブから、必要なデータを選択して「Assets」→「Mark for Copying」を実行します。
もう一度コピー先のファイルに戻り、「Assets」→「Paste All Marked」を実行します。
すると、Animatorだけでなく、そのデータと関連する他のタブのデータも、自動的に貼り付けすることができました。
これで、実質空のファイルにデータをコピーしたことにより、余分なAnimatorを取り除くことができました。
なお、先程のコマンドで必要なデータをすべてコピーしてこれるとは限らないので、その都度選択するデータを切り替えてコピーを実行しましょう。
ただ、もし貼り付けを実行して余分なAnimatorがついてきてしまっても、削除することはできないので、事前に保存して復旧できるようにしておきましょう。